c语言程序设计复习提纲
C 语言程序设计复习提纲一、 题型与分数分布1、 单项选择题(每小题 1 分,共 10 分)例:0618 是( D )A、字符型常量 B、整型常量 C、浮点型常量 D、非法常量2、 多项选择题(每小题 2 分,共 10 分)例:设有说明:int a=1,b=3,c=0;下面表达式的值为 1(对于逻辑表达式代表非 0)的有( B、C、D ) 。A、++a+c B、(b>a)int i=017;( 7 )1、i>>=14、 判断改错题 (每小题 2 分,共 10 分)判断下面各题是否正确,如果有错,请改正。例:int *p=解:错误。正确形式为:int x,*p=5、 简答题(每小题 4 分,共 20 分)例:请写一个 C 表达式,用短整型变量 u 的高字节为结果的高字节,用短整型变量 v 的高字节为结果的低字节拼成一个两字节的整数作为结果。解:所求表达式为: uint main(void){ int k=0;while(++k,10-f1(k)) ; return 0;} int f1(int k){ static long s=0;s+=k;printf(“k=%d,s=%ld\n“,k,s);return s;}请写出程序的运行结果:解:程序的运行结果如下:k=1,s=1k=2,s=3k=3,s=6k=4,s=107、 完善程序(每空 2 分,共 20 分)例:下面是一个求字符串长度的函数的部分程序。请在①处开始的下划线处填入合适内容来完善该程序。int f1(char *s){char *t=s;while( ① )t++;return (t-s);}① *t 二、 复习提纲和复习范围第 1 章1、 了解二进制数、八进制数、十六进制数、原码、反码和补码的定义、掌握二进制数、八进制数、十六进制数、原码、反码和补码的表示方法;掌握整数和字符的内存存储形式;熟练掌握不同进制数之间的相互转化。第 2 章2、 掌握标识符、各种类型常量的表示,包括转义序列的作用,整常量的前缀及后缀等。3、 掌握运算符与各种表达式;熟练掌握包括位运算、以及与数组、指针、结构、嵌套结构相关的各种表达式计算,以及表达式书写。4、 熟练掌握各种运算符的优先级、结合性。第 3 章5、了解基本的标准输入与输出的概念;掌握字符串的输入/输出(gets,puts) 。6、熟练掌握单个字符的输入/输出(getchar,putchar) ;熟练掌握格式输入/输出(scanf,printf) ,包括%c,%d,%s,%f%x 的用法。第 4 章7、了解 C 语句的分类;掌握各种语句的语法、语义以及使用。8、熟练掌握流程控制中的复合语句、if 语句、switch 语句、while 语句、for 语句、do-while、break语句的使用。掌握 continue 语句的使用。9、熟练掌握多重循环,以及单重循环、多重循环涉及的各种基本算法(如打擂台,求素数,字符金字塔等) 。第 5 章10、理解函数的定义;掌握声明和调用,尤其是函数调用过程中指针参数的传递。11、掌握变量的存储类型。外部变量的作用域和缺省初值、区分外部变量的声明和定义12、熟练掌握 static 变量的特性、使用方法。13、掌握递归函数与递归调用,递归的执行过程,递归算法的特点。第 6 章14、了解编译预处理的概念。15、理解 assert 宏。16、掌握简单宏定义;熟练掌握带参数的宏定义。第 8 章17、理解数组的概念,数组的存储结构;掌握数组元素的运算。18、熟练掌握一维数组的声明、初始化及使用;熟练掌握一维数组作为函数参数的使用方法。19、熟练掌握字符数组的声明、初始化、使用;20、熟练掌握字符串操作各种函数,数字串与数之间转换的各种函数的设计、使用。21、理解多维数组的说明、初始化、使用、存储结构。22、熟练掌握字符数组、二维数组作为函数参数的使用方法。23、熟练掌握二分查找、选择法排序、冒泡法排序的算法,函数设计与调用。第 9 章24、理解地址、变量的地址、以及指针的概念。25、掌握基本类型指针的声明、初始化;指针的算术运算和赋值运算;了解指针的关系运算。26、熟练掌握指针作为函数的参数。27、熟练掌握数组的指针表示。尤其是一维数组元素、多维数组元素的指针表示。28、掌握指针数组的声明、初始化及使用。29、熟练掌握带参数的 main 函数的设计及使用。30、掌握函数指针的声明、初始化及使用。32、熟练掌握指针函数的声明、初始化及使用。33、熟练掌握指向一维数组的指针的声明、初始化及使用。34、熟练掌握用指针编写字符串操作函数(不包括 strok 函数) 。35、掌握 typedef 的使用。36、熟练掌握复杂说明的解释以及根据复杂说明的解释写出对应的复杂声明。第 10 章37、理解结构类型、结构变量、自引用结构、字段结构、联合的概念。38、掌握结构类型的声明,结构变量的声明、初始化及使用。理解嵌套结构。39、熟练掌握结构变量中成员的引用;掌握嵌套结构变量中成员的引用。40、熟练掌握结构类型指针的声明、初始化及使用。41、了解结构类型作为函数的参数和返回值。42、熟练掌握结构数组指针的声明、初始化及使用。尤其是用结构的指针访问结构数组元素的成员,以及相关表达式的求值。43、了解联合的声明、初始化及使用;了解字段结构的声明、初始化及使用;理解动态数组设计。44、熟练掌握动态存储分配,以及单向链表的创建、遍历、查找、排序(不要求交换指针域) ;熟练掌握单向链表结点的插入与删除。第 11 章45、了解文件、文本文件、二进制文件、设备文件的概念;理解流、标准流式文件、FILE 指针等概念。46、熟练掌握流式文件的顺序输入和输出。包括文件的打开与关闭、文件的重定向、基于字符、基于字符串文件的读写、以及文件的直接输入和输出。47、了解文件的格式读写。48、了解流式文件的随机读写。三、 考试方式闭卷笔试