《C语言程序设计》专题复习资料
- 格式:doc
- 大小:147.01 KB
- 文档页数:16
第1章概述本章重点:掌握C语言程序的结构和书写规则,以及Turbo C V2.0的基本操作。
1.1 C语言概述1.C语言的诞生与发展(见教材)2.C语言的特点(见教材)3. 在C语言中,除实现顺序、选择和循环三种基本结构等的9条控制语句外,输入输出操作均由标准库函数(不是C语言的组成部分)来实现。
所以学习C语言,不仅要学习这9条控制语句和各种运算符,而且要学习并掌握常用标准库函数的使用。
9种控制语句:if( )……else……for(……)while(……)do……while(……)continuebreakswitchgotoreturn1.2 简单C程序介绍1.2.1C语言程序的总体结构一个完整的C语言程序,是由一个main()函数(又称主函数)和若干个其它函数结合而成的,或仅由一个main()函数构成。
[例1.1] 仅由main()函数构成的C语言程序。
/*功能:仅由main()函数构成的C语言程序示例*/main(){ printf(‚This is a C program.\n‛);}程序运行结果:This is a C program.[例1.2] 由main()函数和1个其它函数max()构成的C语言程序。
/*代码文件名:AL1_2.C*//*功能:由main()函数和1个其它函数max()构成的C语言程序示例*/int max(int x, int y){ return( x>y ? x : y ); }main(){ int num1,num2;printf(‚Input the first integer number: ‛);scanf(‚%d‛, &num1);printf(‚Input the second integer number: ‛);scanf(‚%d‛, &num2);printf(‚max=%d\n‛, max(num1, num2)); }程序运行情况:Input the first integer number:6←┘Input the second integer number:9←┘max=9 [例1.3] 改写[例1.2],交换main()函数和max()函数的前后位臵。
C程序设计复习资料含复习资料一、C 语言基础1、数据类型C 语言中有多种数据类型,包括整型(int)、浮点型(float、double)、字符型(char)等。
了解不同数据类型的取值范围和存储方式是编程的基础。
例如,整型可以分为短整型(short int)、整型(int)和长整型(long int),它们的存储空间和取值范围各不相同。
2、变量和常量变量用于存储程序运行过程中可以改变的值,常量则是固定不变的值。
在 C 语言中,变量需要先声明后使用,常量可以用宏定义或者使用关键字 const 来定义。
3、运算符和表达式C 语言中的运算符包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)等。
掌握这些运算符的优先级和结合性,能够正确编写表达式。
例如,表达式 a = 5 + 3 2 的计算结果是 11,因为乘法运算符的优先级高于加法运算符。
4、控制结构(1)顺序结构:程序按照语句的先后顺序依次执行。
(2)选择结构:包括 ifelse 语句和 switch 语句,用于根据不同的条件执行不同的代码块。
(3)循环结构:有 for 循环、while 循环和 dowhile 循环,用于重复执行一段代码。
二、数组和指针1、数组数组是一组相同类型的变量的集合,可以通过下标来访问数组中的元素。
例如,定义一个整型数组 int arr5 ={1, 2, 3, 4, 5},可以通过 arr0来访问第一个元素 1。
2、指针指针是 C 语言中非常重要的概念,它是一个变量,用于存储另一个变量的地址。
通过指针可以间接访问变量的值,并且能够实现动态内存分配。
例如,int p; 定义了一个指向整型的指针 p,通过 p =&a; 可以将指针 p 指向变量 a 的地址,然后通过 p 来访问变量 a 的值。
三、函数1、函数的定义和调用函数是一段独立的代码块,用于完成特定的任务。
函数可以有返回值,也可以没有返回值。
C语言程序设计(第四版)复习资料C语言程序设计(第四版)复习资料C语言程序设计是计算机科学与技术专业中非常重要的一门课程,通过学习C语言,可以培养同学们良好的编程思维和解决问题的能力。
为了帮助同学们更好地复习和掌握C语言程序设计知识,提供一份详细的复习资料是非常有必要的。
本文将针对教材《C语言程序设计(第四版)》进行复习资料的整理,帮助同学们系统地复习重点知识点和考点。
一、概述C语言是一种通用的、面向过程的高级计算机编程语言,它具有语法简洁、功能强大、性能高效等特点。
本教材分为六个部分:基本类型和函数、选择结构、循环结构、数组与指针、字符串和结构、高级特性。
通过学习这些内容,同学们可以初步掌握C语言的基本知识和编程技巧。
二、基本类型和函数在C语言中,有一些基本类型和函数是我们必须要了解和掌握的。
首先,我们需要了解整型、浮点型、字符型等基本数据类型的特点和使用方法。
其次,掌握C语言常用的输入输出函数,如printf()和scanf()函数,这是进行数据输入和输出的基础。
此外,还需要理解C语言中的运算符和表达式,并能正确地使用它们进行计算和逻辑运算。
三、选择结构选择结构是C语言中非常重要的一部分,通过选择结构可以实现根据不同条件执行不同的代码块。
在《C语言程序设计(第四版)》中,详细介绍了if语句、switch语句等选择结构的使用方法和注意事项。
在复习选择结构时,同学们需要理解条件表达式的含义和使用方法,并能灵活地运用选择结构解决实际问题。
四、循环结构循环结构是C语言中常用的一种结构,通过循环结构可以重复执行一段代码,直到满足退出条件为止。
在本教材中,详细介绍了while循环、do-while循环和for循环的使用方法和注意事项。
复习循环结构时,同学们需了解循环的基本原理,掌握循环控制变量的更新和循环体的编写技巧。
五、数组与指针数组和指针是C语言中非常重要的概念,同时也是较难理解和掌握的部分。
在《C语言程序设计(第四版)》中,详细介绍了数组的概念、数组的声明和使用方法,以及指针的概念、指针的声明和使用方法。
《C语言程序设计》课程期末复习资料一、单项选择题【1.1】以下不正确的C语言标识符是____。
A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。
A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。
A) print _3d oodb aBcB) i\am one_half start$it 3paiC) Pxq My->book line# His.ageD) str_l Cpp pow while【1.4】下面各选项组中,均是C语言关键字的组是。
A) auto,enum,include B) switch,typedef,continueC) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。
A) default B) register C) enum D) external【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型的常数是。
A) 32768 B) 0 C) 037 D) 0xAF【1.9】执行语句 printf("%x",-1);屏幕显示____。
A) -1 B) 1 C) -ffff D) ffff【1.10】已知 long i=32768;执行语句printf("%d",i);屏幕显示____。
C程序设计复习资料(含答案)C程序设计复习要点第一章概述1.C程序的构成与结构特点2.C程序上机调试过程与流程第二章数据类型、运算量与表达式1.数据类型的种类(基本数据类型和构造数据类型)2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字符3.变量的命名、定义方法与赋初值4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换●算术运算符、表达式及其构造(注意“/”和“%”特殊性)●自增、自减运算符及其简单表达式运算●赋值运算符及其表达式(注意复合赋值运算符的运算方法)●逗号运算符及其表达式第三章流程控制1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容)2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d, f, c, s),提醒注意:●格式输出中域宽和小数位数的控制●格式输入与输出中普通字符的原样输入和输出问题●熟悉并区别以下函数:putchar()、printf()、puts();getchar()、scanf()、gets()3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合性)4.关系表达式与逻辑表达式的构造(根据已知条件写表达式)5.if语句的三种形式:if …语句、if …else …语句、if 语句的嵌套●if 语句的格式与用法:简单if、嵌套if、并列if●逻辑关系与执行过程●嵌套规则(重点掌握if …else …if …else …if …else)6.switch语句的格式与用法7.*熟练使用if和switch语句阅读和编写较为简单的选择结构程序8.三种循环语句:while() …、do …while()、for()的格式、执行过程及其用法●循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改注意循环期间与结束时循环控制变量的取值问题9.结合例题理解和区别break与continue语句的作用及其用法10.本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公倍等11.*熟练使用三种循环语句并结合以上算法阅读和编写较为简单的循环结构及其嵌套程序第四章复杂数据类型1.一维、二维数组的定义、初始化及其引用方法(数据输入、输出、存储与处理)2.字符数组的定义、初始化及其引用(字符串输入、输出、存储与处理)3.常用字符串处理函数:gets()、puts()、strlen()、strcmp()、strcpy()4.数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、复制、求长度等5.*熟练使用数组并结合以上算法阅读和编写较为简单的程序6.指针的概念:指针、指针变量、指针运算(*、&、++、--、+、-)7.变量、数组和字符串指针的定义、指向与引用(仅限于一维数组)8.了解指针数组与二级指针的概念和定义9.*能够阅读并理解使用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求长度等)10.结构体与共用体的概念、定义与引用(仅限概念)第五章结构化程序设计与应用1.熟悉程序的三种基本结构:顺序、选择和循环2.*通过其中部分例题掌握选择、循环语句的使用以及循环和数组涉及的主要算法第六章函数与编译预处理1.掌握函数的定义、声明和调用方法及参数传递方式2.*结合相关例题掌握一般函数和递归函数的定义与使用3.熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期4.了解内部函数与外部函数的定义及调用规则5.掌握宏定义与宏展开(重点掌握带参数宏的定义与展开)6.了解文件包含的作用及其使用场合第七章文件1.了解文件的概念2.熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法特别提醒:以上带*部分主要涉及程序阅读、程序填空和编写程序,其余部分主要以选择和概念填空题出现3ae bc C语言程序设计参考题型说明:★本题仅反映考试的题型,作为考前复习参考。
一、选择题(每小题2分)1、以下说法正确的是 C 。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分2、下列符号中,可以作为变量名的是 C 。
A)+a B)12345e C)a3B D)5e+03、在C 语言中,下列类型属于构造类型的是 D 。
A)整型B)指针类型C)实型D)结构体类型4、设d为字符变量,下列表达式正确的是 B 。
A)d=678 B)d=‟a‟C)d=”d”D)d=‟gjkl‟5、C语言中,运算对象必须是整型数的运算符是 A 。
A)% B)\ C)% 和\ D)**6、表达式(double)(20/3)的值为 A 。
A)6B)6.0 C)2D)37、若已知a=10,b=20,则表达式!a<b的值为 C 。
A)10 B)20 C)1 D)08、printf函数中用到格式符"%4s",其中数字4表示输出的字符串占用4列。
如果字符串长度大于4,则按原字符串长从左向右全部输出;如果字符串长度小于4,则输出方式为 B 。
A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字符,左补空格D)输出错误信息9、为了表示关系x>=y>=z,应使用C语言表达式 A 。
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&(y>=z)10、以下不正确的i f 语句形式是 C 。
A)i f ( x > y && x != y ) ; B)i f ( x = = y ) x + = y ;C)if ( x != y ) scan f ( “%d”, &x) else scanf ( “%d”, &y); D)i f ( x < y ) { x++; y++;}11、程序段如下int k=1; while(!k==0) {k=k+1;printf("%d\n",k);} 说法正确的是 B 。
c语言程序设计复习资料C语言程序设计复习资料C语言是一门广泛应用于计算机科学领域的编程语言,它简洁高效的特性使得它成为了许多程序员的首选。
无论是初学者还是有一定编程基础的人,都需要不断巩固和复习C语言的知识。
本文将为大家提供一些C语言程序设计的复习资料,帮助大家巩固所学知识,提高编程能力。
一、基础知识回顾1. 数据类型:C语言中有多种数据类型,包括整型、浮点型、字符型等。
回顾这些数据类型的定义和使用方法,了解它们的特点和区别,对于编写正确的程序至关重要。
2. 运算符:C语言提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符等。
复习这些运算符的优先级和使用方法,能够帮助我们更加灵活地进行计算和判断。
3. 控制语句:控制语句是C语言中非常重要的一部分,包括条件语句、循环语句和跳转语句。
复习这些语句的语法和用法,能够帮助我们编写出更加高效和灵活的程序。
二、实践应用1. 编写简单的程序:通过编写一些简单的程序来巩固所学知识,比如实现一个计算器程序、编写一个简单的猜数字游戏等。
通过实践应用,我们能够更好地理解和掌握C语言的各种语法和特性。
2. 解决实际问题:将所学的知识应用到实际问题中,比如编写一个学生成绩管理系统、实现一个简单的文件管理程序等。
通过解决实际问题,我们能够更好地理解和掌握C语言的实际应用,提高编程能力。
三、深入学习1. 函数:函数是C语言中非常重要的一部分,它能够将程序分解为多个模块,使得程序更加模块化和可维护。
复习函数的定义和使用方法,了解函数的参数传递和返回值,能够帮助我们编写出更加复杂和可扩展的程序。
2. 数组和指针:数组和指针是C语言中非常重要的概念,它们能够帮助我们更好地处理和管理数据。
复习数组和指针的定义和使用方法,了解它们的特点和应用场景,能够帮助我们编写出更加高效和灵活的程序。
3. 结构体和文件操作:结构体和文件操作是C语言中比较高级的概念,它们能够帮助我们更好地组织和管理数据。
《C程序设计》复习资料知识点总结C语⾔《C程序设计》知识点都懂了,⼀定过!第1章 C语⾔概述1.1.C语⾔属⾼级语⾔,区分字母的⼤⼩写,以函数为基本单位采⽤模块化程序设计,可直接访问内存,进⽽对硬件进⾏操作。
1.2.⽤C语⾔编写和程序称作C源程序,简称C程序,C程序可由若⼲个⽂本⽂件组成,⽂件扩展名为C(使⽤C++编译器时默认扩展名为CPP)。
C源程序经编译、连接后得到扩展名为EXE的可执⾏⽂件(⽬标程序)。
预处理编译、连接执⾏若⼲个C程序⽂件----→C程序------→⽬标程序⽂件--→1.3.C程序从主函数开始执⾏,每个C程序有且仅有⼀个主函数,因此,每个C程序⽂件中⾄多有⼀个主函数。
1.4.C语句以分号结尾,⽤{}括起来的⼀组语句称作复合语句,复合语句可省略花括号之后的分号。
1.5.允许⼀⾏内写多个C语句,也允许⼀个C语句占⽤多⾏,但保留字和标识符不可拆⾏。
1.6.在C集成环境VC++ 6.0中,新建⼯程、保存当前程序⽂件、编译当前程序、执⾏当前程序的快捷键依次为:Ctrl+N、Ctrl+S、F7、Ctrl+F5。
第2章程序设计的灵魂——算法2.1. 解决问题的⽅法和步骤称作算法。
算法和数据结构是程序的两个主要要素。
2.2. 算法具有确定性、有穷性、有效性等特点。
2.3. 算法可⽤⾃然语⾔、流程图、N-S 图、计算机语⾔、伪代码等描述。
伪代码是⽤介于⾃然语⾔和计算机语⾔之间的⽂字和符号来描述算法。
2.4. 算法的基本结构分为:顺序结构、选择结构、循环结构。
↓↓↓↓←- --Y ┌条件┐N 条件┐N ││││条件┘Y --- ←┘↓N图2.2 顺序结构图2.3 选择结构图2.4 当循环图2.5 直到循环图直到循环2.5.由三种基本结构组成的程序称作结构化程序,结构化程序中的每个模块只有⼀个⼊⼝和⼀个出⼝。
结构化程序设计通常采⽤“⾃顶向下、逐步细化”的设计⽅法。
第3章数据类型、运算符与表达式3.1.C的数据类型如下所⽰:表3.1 C语⾔的数据类型3.2.字母或下划线开头,由字母、数字、下划线组成,超出32个字符部分被忽略(最好不超过8个字符)。
《C语言程序设计》综合复习资料要求掌握的章节:第1章、第3章~第8章、第10章(前4节)、第11章(前6节)重点章节:第3章~第8章、第10章(前4节)难点章节:第8章、第10章(前4节)考试题型:①选择题(填空题)(20%)②读程序题(40%)③编程序题(40%)第1章C语言概述一、选择题1.能将高级语言编写的源程序转换为目标程序的软件是A)汇编程序B)编辑程序C)解释程序D)编译程序2.在一个C程序中A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置3.C语言中用于结构化程序设计的三种基本结构是A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-while D)if、for、continue4.C语言程序的基本单位是A) 函数B) 过程C) 子例程D) 子程序二、填空题1.C语言程序总是从main函数开始执行。
2.C语言是种面向_____的程序设计语言,其程序的基本单位是函数。
.3.C语言中的函数由、两部分组成。
4.结构化程序设计中所规定的三种基本控制结构是顺序结构、选择结构和循环结构。
第3章数据类型、运算符与表达式一、选择题1.下列关于C语言用户标识符的叙述中正确的是A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.C语言中基本数据类型有A)整型、实型、逻辑型B)整型、字符型、逻辑型C)整型、实型、字符型D)整型、实型、字符型、逻辑型3.在计算机中,一个字节所包含二进制位的个数是A)2 B)4 C)8D)164.用8位无符号二进制数能表示的最大十进制数为A)127 B)128 C)255D)2565.在计算机系统中,存储一个汉字的国标码所需要的字节数为A) 1 B) 2 C) 3 D) 46.在C语言中,char型数据在内存中的存储形式是A)原码B)补码C)反码D)ASCII码7.十六进制数100转换为十进制数为A)256 B)512 C)1024 D)648.十六进制数7A转化成八进制数是A)123 B)122 C)173 D)1729.十进制数32转化成十六进制数是A)20 B)ff C)10 D)2110.与十进制数511等值的十六进制数为A) 1FF B) 2FF C) 1FE D) 2FE11.以下选项中可作为C语言合法整数的是A)10110B B)0386 C)0Xffa D)x2a212.以下选项中合法的实型常数是A) 5E2.0 B) E-3 C) .2E0 D) 1.3E13.依据C语言的语法规则,下列()是用户定义的合法标识符。
c语言程序设计(复习资料)总共50题共100分一、单选题(共20题,共40分)1. 假定一个二维数组的定义语句为“int a[3][4]={{3,4,{2,8,6;”,则元素a[2][1]的值为()。
(2分)A.0B.4C.6D.8★标准答案:A2. 以下说法中正确的是()。
(2分)A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++函数必须有返回值,否则不能使用函数D.C++程序中有调用关系的所有函数必须放在同一个程序文件中★标准答案:B3. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0; while(s<20) {i++; s+=i; (2分)A.4B.5C.6D.7★标准答案:C4. 虚函数的定义是在基类中进行的,定义时需要冠以关键字(2分)A.staticB.frendC.virtualD.public★标准答案:C5. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。
(2分)A.内联函数B.重载函数C.递归函数D.函数模板★标准答案:A6. 设x和y均为bool量,则x || y为假的条件是( )。
(2分)A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假★标准答案:C7. 若数组名作实参而指针变量作形参,函数调用时实参传给形参的是(2分)A.数组的长度B.数组第一个元素的值C.数组所有元素的值D.数组第一个元素的地址★标准答案:D8. 字符串”a+b=12\n”的长度为()。
(2分)A.6B.7C.8D.9★标准答案:C9. 程序中主函数的名字为()。
(2分)A.mainB.MAINC.MainD.任意标识符★标准答案:A10. 假定下列x和y均为int型变量,则不正确的赋值为()。
(2分)A.x+=y++B.x++=y++C.x=++yD.++x=++y★标准答案:B11. do语句能够改写为()语句。
C语言程序设计复习资料C语言程序设计复习资料一、选择题(常识概念)1.已知函数fread的调用形式为fread(buffer,size,count,fp),其中buffer 代表的是( B )。
A 存放读入数据项的存储区B 存放读入数据的地址或指向此地址的指针C 一个指向所读文件的文件指针D 一个整形变量,代表要读入的数据项总数2.以下程序的输出结果为( C )。
void main( ){int i=010, j=10;printf("%d, %d\n", i++, j--);}A 11, 9B 9, 10C 8, 10D 9, 93、下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是( D )A、*pxB、aC、&aD、px4.设i和k都是int类型,则for循环语句( D )。
for(i=0, k=-1; k=1; i++, k++)printf("****\n");A 循环结束的条件不合法B 循环体一次也不执行C 循环体只执行一次D 是无限循环5.以下程序的输出结果为( D )。
main( ){char c;int i;for(i=65; i<68; i++){c=i+32;switch(c){case 'a':case 'b':case 'c': printf("%c,",c); break;default: printf("end");}}}A a, b, c, endB a, a, a, endC a, a, a,D a, b, c,6、若用数组名作为函数调用的实参,传递给形参的是( C )A、数组第一个元素的值B、数组中全部元素的值C、数组的首地址D、数组元素个数7、下面定义语句中,错误的是( B )A、int a[ ]={1, 2};B、char *a[ ];C、char s[10]=“BASI”;D、int n=5,a[n];8、下面程序main(){int x, y, z;x = 2;y = x++;z = ++x;printf(“%d \t %d \t %d\n”, x, y, z); }运行后输出的数据是( A )A、4 2 4B、4 2 2C、2 4 4D、4 4 49、下列程序main(){ int x;int *p1, *p2;x = 10;p1 = &xp2 = p1;printf(“%d \t %d\n”,*p1,*p2);}运行后输出的数据是( A )A、10 10B、10 0D、0 1010、下列程序:#include”stdio.h”struct entry{ int datd;int *ip;};main(){ int i;struct entry v;v.ip = &iv.data = 100;*v.ip = 50;printf(“%d %d %d\n”, v.data, *v.ip, i));}运行后输出的数据是( A )A、100 50 50B、100 50 0C、50 50 50D、50 50 011、下列数据中,为字符串常量的是( C )A、‘M’B、‘$you’C、”hello”D、basic12、若y为int 型变量,则执行以下语句后,y的值是( C )y=8;y+=y-=y*y;A、64B、-56D、-4813.设a为int型变量,执行下列赋值语句后,a的取值分别是( B )。
《C语言程序设计》综合复习资料要求掌握的章节:第1章、第3章~第8章、第10章(前4节)、第11章(前6节)重点章节:第3章~第8章、第10章(前4节)难点章节:第8章、第10章(前4节)考试题型:①选择题(填空题)(20%)②读程序题(40%)③编程序题(40%)第1章C语言概述一、选择题1.能将高级语言编写的源程序转换为目标程序的软件是A)汇编程序B)编辑程序C)解释程序D)编译程序2.在一个C程序中A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置3.C语言中用于结构化程序设计的三种基本结构是A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-while D)if、for、continue4.C语言程序的基本单位是A) 函数B) 过程C) 子例程D) 子程序二、填空题1.C语言程序总是从函数开始执行。
2.C语言是种面向_____的程序设计语言,其程序的基本单位是。
.3.C语言中的函数由、两部分组成。
4.结构化程序设计中所规定的三种基本控制结构是、和。
第3章数据类型、运算符与表达式一、选择题1.下列关于C语言用户标识符的叙述中正确的是A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.C语言中基本数据类型有A)整型、实型、逻辑型B)整型、字符型、逻辑型C)整型、实型、字符型D)整型、实型、字符型、逻辑型3.在计算机中,一个字节所包含二进制位的个数是A)2 B)4 C)8 D)164.用8位无符号二进制数能表示的最大十进制数为A)127 B)128 C)255 D)2565.在计算机系统中,存储一个汉字的国标码所需要的字节数为A) 1 B) 2 C) 3 D) 46.在C语言中,char型数据在内存中的存储形式是A)原码B)补码C)反码D)ASCII码7.十六进制数100转换为十进制数为A)256 B)512 C)1024 D)648.十六进制数7A转化成八进制数是A)123 B)122 C)173 D)1729.十进制数32转化成十六进制数是A)20 B)ff C)10 D)2110.与十进制数511等值的十六进制数为A) 1FF B) 2FF C) 1FE D) 2FE11.以下选项中可作为C语言合法整数的是A)10110B B)0386 C)0Xffa D)x2a212.以下选项中合法的实型常数是A) 5E2.0 B) E-3 C) .2E0 D) 1.3E13.依据C语言的语法规则,下列()是用户定义的合法标识符。
C语言程序设计复习提纲基本的知识点1.C语言基础知识1.1.C语言的发展历史1.2.C语言的特点和优势1.3.C语言的语法规则和规范1.4.C语言的数据类型和变量1.5.C语言的运算符和表达式1.6.C语言的流程控制语句2.函数和模块化编程2.1.函数的定义和调用2.2.函数的参数传递和返回值2.3.函数的声明和定义2.4.函数库的使用和自定义函数的编写2.5.模块化编程的概念和实现方法2.6.头文件的使用和函数库的链接3.数组和指针3.1.数组的定义和操作3.2.一维数组和多维数组3.3.数组作为函数参数的传递3.4.字符串和字符数组3.5.指针的概念和基本操作3.6.指针和数组的关系4.文件操作和输入输出4.1.文件的打开和关闭4.2.文件读写操作和数据类型的转换4.3.格式化输入和输出4.4.错误处理和异常处理4.5.标准输入输出和文件输入输出的区别5.动态内存管理5.1.内存的分配和释放5.2.堆和栈内存的概念和区别5.3. 动态内存分配函数malloc、calloc、realloc和free的使用5.4.内存泄漏和悬空指针问题的预防5.5.内存管理的注意事项和最佳实践6.结构体和联合体6.1.结构体的定义和使用6.2.结构体的嵌套和成员的访问6.3.结构体作为函数参数的传递6.4.结构体的对齐和内存对齐原则6.5.联合体的概念和使用方法6.6.结构体和联合体的区别和应用场景7.指针和链表7.1.指针和内存地址的概念和操作7.2.指针的自增和自减运算7.3.指针的加法和减法运算7.4.链表的定义和基本操作7.5.单链表、双链表和循环链表7.6.链表的插入、删除和查找操作8.排序和算法8.1.冒泡排序和选择排序8.2.插入排序和快速排序8.3.归并排序和堆排序8.4.顺序和二分8.5.效率分析和优化策略9.数据结构和算法9.1.栈和队列的概念和操作9.2.树和图的概念和操作9.3.查找和排序算法的实现和分析9.4.动态规划和贪婪算法的应用9.5.算法复杂度的计算和比较总结:本次复习提纲主要包括C语言的基础知识、函数和模块化编程、数组和指针、文件操作和输入输出、动态内存管理、结构体和联合体、指针和链表、排序和算法、数据结构和算法等方面的内容。
C 语言程序设计复习提纲---基本的知识点2011.6.一、应知1.C程序的结构:(P5、笔记)例1:构成C程序的基本单位是什么?例2:一个C程序有几个main()函数?(P5)例3:一个C“语句”什么情况下用分号“;”结尾,什么情况下不用分号“;”结尾?(一个典型的例子是:函数定义P131与函数声明P137) (p5)2.C语言中的运算符及其运算优先级:算术运算符(P35) 自增自减运算符(P43)关系运算符(P41) 逻辑运算符(P43)条件运算符(P85) 复合运算符(P38)3.C语言中的表达式、表达式的求值及其与对应的数学表达式的相互转换:算术表达式(P36) 赋值表达式(P40)关系表达式(P41) 逻辑表达式(P43)A.表达式的求值例:例1:P33No23、P39、P45、P55No4、P55No8例2:若有int a=1,b=2,c=3;则表达式a<b && b<c 的值是什么? (Attion :p44)表达式a<b && b<c 即为:1<2 && 2<3→1 && 1→1B .C 语言表达式与对应的数学表达式的相互转换例:例1:∣x 2-y 2∣+ab b a b a ++: C 库函数例2:P55No.74. C 语言中标识符的命名规则:(P13、笔记)例1:-e ,e-03,1e3,e ,e1,(a+b)++,qwe ,if例2:P32No.55. C 语言中允许的基本数据类型:(P17)6. scanf 函数和printf 函数的正确使用方法7. C 语言中各语句的G.F.、PP 以及NE8. 字符常量与字符串常量的区别:(P28、P30、P177)9. C 程序的三种基本控制结构、执行过程及其相关语句10. break 语句和continue 语句的作用与区别:(P109、P110、笔记)11. 当型循环与直到型循环的区别:(笔记)12. 循环的三要素(笔记)13. 嵌套循环的执行过程:(笔记)14. 一维数组和二维数组的定义、初始化规则与引用:(P161~P172、笔记)15.函数的定义和函数的调用均可嵌套吗?(P131~p133、P135笔记)16.函数定义与函数说明的区别:(P130、P135、笔记)17.函数的三种调用方式:(笔记)18.递归调用的二个关键和二个阶段:(笔记)19.函数调用中的数据传递方式:(值传递和地址传递:P138~P143、笔记)20.地址、指针、指针变量、指针运算符、指针运算的基本概念:(P51~P54、P200~P205、笔记)21.编译预处理的基本概念⑴编译预处理命令不是C语言中的语句。
C语言程序设计复习资料C语言程序设计复资料总体上必须清楚的:1) 程序结构包括三种:顺序结构、循环结构(三个循环结构)、选择结构(if和switch)。
2) 读程序时要从main()入口开始,然后按照顺序往下读,碰到循环做循环,碰到选择做选择。
3) 计算机中的数据以二进制形式保存,数据存放的位置就是它的地址。
4) bit是指位,即0或1;byte是指字节,一个字节等于八个位。
5) 必须记住如何将二进制转换成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不在运行时进行。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中只有一个main函数。
3、在函数中不可以再定义函数。
4、算法必须有输出,但可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的优先级最低。
第一章1)合法的用户标识符考查:合法的用户标识符由字母、数字、下划线组成,不能包含其他元素。
第一个字符必须是字母或下划线,不能是数字。
关键字不能作为用户标识符,但If可以,因为它的第一个字母大写了。
2)实型数据的合法形式:2.333e-1是合法的,表示2.333×10^-1.记忆口诀:e前e后必有数,e后必须为整数。
3)字符数据的合法形式:1'是一个字符,占一个字节;"1"是一个字符串,占两个字节(包含一个结束符号)。
'0'的ASCII数值为48,'a'的ASCII 数值为97,'A'的ASCII数值为65.4)整型一般是两个字节,字符型是一个字节,双精度一般是4个字节:考试时可能会涉及到16位编译系统或32位系统,但不必在意。
掌握整型一般是两个字节,字符型是一个字节,双精度一般是4个字节即可。
5)转义字符的考查:在程序中,int a = 0x6d是将一个十六进制数赋值给变量a,注意0x必须存在。
第一部分《C语言程序设计》专题复习资料一.选择题1、C语言中字符型(char)数据在内存中的存储形式是:( )A)原码 B)补码 C)反码 D)ASCII码2、C语言中长整型(long)数据在内存中的存储形式是:( )A)原码 B)补码 C)反码 D)ASCII码3、C语言的运算符按运算对象的数目可以分为:()A)单目运算符 B)单目和双目运算符 C)单目、双目和三目运算符D)单目、双目、三目和四目运算符4、C语言中,int、char和short三种类型数据所占用的内存是()A)均为2个字节 B)由用户自己定义C)由机器的字长决定 D)任意的5、C语言中的简单数据类型包括()A)整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、逻辑型、字符型 D) 整型、实型、逻辑型、字符型6、在C语言中,十进制的47可以等价的写成()A)2f B)02f C)57 D)0577、将字符g赋值字符变量c,正确的表达式是()A)c=’g’ B)c=101B)C)c=’\147’ D)c=’0147’8、已知:char a; int b; float c; double d;执行语句c=a+b+c+d;后变量c的类型是()A)int B)char C)float D)double9、已知int j,i=1; 执行语句j=-i++后,j 的值是()A)1 B)2 C)-1 D)-210、已知int i, a; i=(a=2*3,a*5),a+6”后,变量i 的值是()A)6 B)12 C)30 D)3611、已知 int i=5;执行语句i+=++i;后, i的值()A)10 B)11 C)12 D)无答案12、字符串“\\\22a,0\n”的长度是()A)8 B)7 C)6 D)513、已知char a=’\70’;则变量a中包含的字符数为()个。
A)1 B)2 C)3 D)说明非法14、已知:int x=1, y=-1;则执行语句“printf(“%d\n , (x--&++y)”);”的输出结果是:()A) 1 B) 0 C) -1 D) 215、已知: int a=b=c=1 且均为int 型变量,则执行以下语句: ++a||++b&&++c后变量a的值为(),变量b的值为()A) 不正确 B) 0 C) 2 D) 1A) 1 B) 2 C) 不正确 D) 016、设a=2 ,b=3, 则执行表达式c=b*=a-1后,变量c的值是()A) 5 B) 3 C) 2 D) 417、要判断char型变量m是否为数字,可以使用以下表达式()A)0<=m&&m<=9 B) ‘0’<=m&&m<=’9’C)“0”<=m&&m<=”9” D) 以上答案均错误18、已知:#define N 3; 的宏定义,执行语句i=N*3后,i的值是()A) 3 B)6 C) 9 D) 以上答案均错误19、若有以下宏定义:#define X 5#define Y X+1#define Z Y*X/2则执行以下printf语句后,输出结果是()int a =Y;printf(“%d”,Z);printf(“%d\n”,--a);A) 7,6 B)12,6 C)12,5 D) 7,520、若有以下宏定义:#define N 2#define Y(n) ((N+1)*n)则执行以下”z=2*(N+Y(5))”,语句后,输出结果是()A)语句有错误 B)z=34 C) z= 70 D)z无定值21、若int k; 且有下面的程序片段,则输出结果是()k=3;if(k<0) printf(“####”);else printf(“&&&&”);A) ####B) &&&&C) ####&&&& D)有语法错误22、设有说明语句:int a=1 ,b=0 ;则执行以下语句后的输出为()switch(a){ case 1:switch(b){ case 0: printf(“**0**”);break;case1: printf(“**1**”);break;}case 2:printf(“**2**”);break;}A) **0** B) **0****2**C) **0****1****2** D) 有语法错误23、与语句“while(!x)”等价的是()A) while(x==0) B) while(x!=0)C) while(x!=1) D) while(~x)24、与语句“while(x)”中的x等价的是()A) x==0 B) x==1 C) x!=1 D) x!= 025、定义int I=1, 则执行语句“while(I++< 5) ; ”后,I的值是()A)3B)4C)5D)626、若有int I ,x; 则:“for(I=x=0;I<9&&x!=5;I++.x++)””控制的循环体执行的次数是()A)10B)9C)5D)627、若int a=5 ;则执行以下语句:do{ printf(“%2d”,a--);}while(!a); 后的打印结果是()A)5B)不打印任和内容C)4D)陷入死循环28、若int x=3;且有以下程序片段,则输出结果是()do{ printf(“%d”,x-=2);}while(!(--x));A)1 B) 3 0 C) 1 -2 D)死循环29、若int x;且有以下程序片段,则输出结果是()for(x=3;x<6;x++)printf((x%2)?”**%d” , ”##%d\n”,x);A)**3B)##3C)##3D)**3##4##4 **4 **4##5 **5**5 ##530、C语言程序由函数组成,它的________。
.A)主函数必须在其它函数之前,函数内可以嵌套定义函数B) 主函数必须在其它函数之后,函数内不可以嵌套定义函数C) 主函数可以在其它函数之前,函数内不可以嵌套定义函数D) 主函数必须在其它函数之后,函数内可以嵌套定义函数31、一个c语言程序的基本组成单位是()A)主程序B)子程序C)函数D)过程32、一个c程序的总是从()开始执行A主过程B) 主函数C)子程序D) 主程序33、c语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是()A)地址传递B)值传递C)由实参传递形参,并形参传回实参D)由用户指定传递方式34、错误的说明语句是()A)Char word[ ]={‘T’,’u’,’r’,’b’,’b’,’\0’};B)Char word[ ]={“Turbo\0”};C)Char word[ ]= “Turbo\0”;D)Char word[ ]=’ Turbo\0’;35、已知:char s[5], c, int b ; 则调用函数scanf的正确语句是()A)S canf(“%s%c”,s,c); B)Scanf(“%d%c”,&b,&c);C) Scanf(“%d%c”,b,&c); D) Scanf(“%s%c”,s,&c);36、要说明一个有10个int 元素的数组,应当选择语句()A)int a[10]B)int a[2,5] C)int a[ ] D)int *a[10]37、合法的数组的说明语句是()A)int a[ ]=”string”B)int a[5]={0,1,2,,4,3,5}C)char a=”string”D)char a[ ]={0,1,2,3,4,5}38、调用strlen(“abcd\0ef\0g”)后的返回值是()A) 4B) 5C) 8D) 939、已知:int I , x[3][3]={1,2,3,4,5,6,7,8,9,}则以下输出的结果是()for(I=0;I<3;I++)printf(“%d”,x[i][2-i]);A)15 9B)1 4 7C)3 5 7D)3 6 940、已知:char str[ ]=”ab\n\012\\\”; 则执行语句:printf(“%d”,strlen(str));后的结果是()A)3B)4C)6D)1241、以下对外部的一维数组a进行正确初始化的是()A) int a[10]=(0,0,0,0) ; B) int a[10]={ };C) int a[ ]={ 0 };D) int a[10]={10*1 };42、以下对外部的二维数组a进行正确初始化的是()A)int a[2][]={{1,0,1},{5,3,2}};B)int a[ ][3]={{1,0,1},{5,3,2}};C)int a[2][4]={{1,0,1},{5,3},{4}};D)int a[ ][3]={{1,0,1},{ },{5,3}};43、以下正确的语句是()A)int a[1][4]={1,2,3,4,5}B) float x[3][ ]={{1},{3},{2}}C) long b[2][3]={{1},{1,2},{1,2,3}}D) double y[ ][3]={0 }44、下面的程序段的运行结果是()char a[7]=”abcdef”, b[4]=”ABC”strcpy(a,b); printf(“%c”,a[5]);A)空格B) \0C) e D) f45、下面的程序段的运行结果是()char a[3],b[ ]=”china”;a=b; printf(“%s”, a);A)china B)ch C)chi D)程序出错46、下面的程序段的运行结果是()char c[ ]=”\t\v\\\0will\n”;printf(“%d”, strlen(c) );A)14B)3C)4D)不确定47、已知:char s[20]=”programming”, *ps=s;则不能引用字母o的表达式是()A) ps+=2B)s[2]C)ps[2]D) ps+=2, *ps48、已知:int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a; 则不能表示数组a中的元素的表达式是()A)*p B)a[10]C) *a D)a[p-a]49、已知:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*ptr)[3]=a; *p=a[0] ;则以下能够正确表示数组元素a[1][2]的值表达式是()A)*(ptr+1)[2]B)(*(*p+5) )C) *(ptr+1)+2 D) (*(*a+1)+2 )50、已知:char *p ,*q; 选择正确的语句是()A)p*=3B)p/=q C)p+=3D)p+=q51、已知:int a, *p=&a ,则为了得到变量a的值,下列错误的表达式是()A)*&p B)*p C)p[0]D)*&a52、已知int x[ ]={1,3,5,7,9,11}, *p=x; 则能够正确引用数组的语句是()A)*(p--)B) *(--p)C)*(++p)D) *(p++)53、在C语言的函数调用过程中,如果函数funA 调用了函数funB,函数funB又调用了函数funA;则()A)称为函数的直接递归B) 称为函数的间接递归C)称为函数的递归定义D) C语言中不允许这样递归形式54、下面的四个运算符中,优先级最低的是()A) ( ) B) .C) –>D)++55、已知:struct{ int I ; char c; float a;}test ;则sizeof(test)=( )A)4B)5 C)6 D) 756、已知:union{ int I ; char c; float a;}test ;则sizeof (test)=( )A)4B)5 C)6 D) 757、已知:union u_type{ int I ; char c;}temp ;执行“temp.i=266”则temp.ch的值为( ) A) 266B) 256C) 10D) 158、A) B) C)D)59、以下叙述正确的是()A.do….while语句构成的循环不能用其他语句构成的循环来代替B.do….while语句构成的循环只能用break语句退出C.用do….while语句构成的循环,在while后的表达式为零时结果循环D.用do….while语句构成的循环,在while后的表达式为非零时结果循环60、下列关于switch语句和break语句的说法中,正确的是()A.switch语句中使用break语句可以结束switch语句的执行B.switch语句中可以根据需要使用或不使用break 语句C.switch语句中不使用break语句也能结束某个case分支的执行D.switch语句中必须包含break语句,才能结束switch语句的执行61、10、以下对C语言字符数组的描述中错误的是()A.字符数组可以存放字符串B.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值C.字符数组中的字符串可以整体输入、输出D.不可以用关系运算符对字符数组中的字符串进行比较62、函数调用strcat(strcpy(str1,str2),str3)的功能是()A.将串str1复制到串str2中后再连接到串str3之后B.将串str1连接到串str2中后再复制到串str3之后C.将串str2连接到串str1之后再将串str1复制到串str3之中D.将串str2复制到串str1中后再将串str3连接到串str1之后63、下面不正确的字符串赋值或赋初值方式是()A.char *str,str=”string”;B.B.char str[7]={’s’,’t’,’r’,’i’,’n’,’g’};C.char str1[10]; str1=”string”;D.char str1[]=”string”,str2[20];strcpy(str2,str1); 64、C语言规定,程序中各函数之间()A.既允许直接递归调用,也允许间接递归调用B.既不允许直接递归调用,也不允许间接递归调用C.允许直接递归调用,不允许间接递归调用D.不允许直接递归调用,允许间接递归调用65、在C语言程序中,当调用函数时,下面说法正确的是()A.实参和形参各占一个独立的存储单元B.实参和形参可以共用存储单元C.可以由用户指定是否共用存储单元D.上面三种说法都不正确66、下列程序的作用是()。