C语言复习题库

上传人:鲁** 文档编号:508676394 上传时间:2023-04-11 格式:DOC 页数:86 大小:509KB
返回 下载 相关 举报
C语言复习题库_第1页
第1页 / 共86页
C语言复习题库_第2页
第2页 / 共86页
C语言复习题库_第3页
第3页 / 共86页
C语言复习题库_第4页
第4页 / 共86页
C语言复习题库_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《C语言复习题库》由会员分享,可在线阅读,更多相关《C语言复习题库(86页珍藏版)》请在金锄头文库上搜索。

1、C语言复习提纲第一章1.程序设计语言:机器语言、汇编语言、高级语言.2.高级语言翻译成机器语言的两种方式:编译方式、解释方式.3.算法+数据结构=程序4.结构化程序设计的三种基本结构:顺序结构、分支选择结构、循环结构5.算法的表示方法:自然语言、传统的程序流程图、N-S流程图.6.结构化程序设计的32字原则:7.C语言的产生与发展:UNIX操作系统8.C语言的特点P13页:9.C语言由函数组成,有且仅有一个main函数.10.函数:说明部分、函数体.11.一条复杂语句分行书写,用反斜杠续行.12.注释用/*/第二章1.单字符输入/出:getchar、putchar字符变量.2.字符串:gets

2、、puts.3.格式化输入: scanf;格式控制符:%c、 %d 、 %o 、 %x、 %s、 %fu 若输入long型、double型应加l,如%ld、 %lo、 %lfu 格式%s输入字符串不包含空格,且对应地址表列是字符数组名.u 默认分隔符:空格、回车、Tab键也可按域宽截取u 格式控制符间不宜加其它字符,如加入其它字符,输入时应原样输入,否则数据接收错误.如:scanf;输入数据时两数据间要有逗号;scanf; %d间有两个空格,则输入数据时至少有两个空格.u 输入函数中%f格式不能带小数,如:scanf是错误的.u %c格式输入单字符,空格字符和转义字符都作为有效字符接收.u %

3、*d表示跳过它对应的输入数据.4.格式化输出:printf;u 格式控制符部分可加入其它字符,原样输出.如:提示语或使输出结果清楚显示u 输出列表:可以是变量、常量、表达式、函数调用等.u 转义字符:P19页,以斜杠开始,作为一个字符,如求字符串长度:jkgkbl0knlj,长度为7.u 注意:输出 long 、double型数据,用%ld、%lfu 可设定输出宽度,m和n,如:%5d、%6.2f、%.2fu 负号表示域内向左对齐,如:%-12d第三章1.常量:u 整型常量:235、0235、-0x235前可加负号,长整型:-12l、-065l、0x55l等.u 实型常量:小数形式、指数形式.

4、u 字符常量:用单引号,如c注意转义字符.u 字符串常量:用双引号,如hglhg、a,内存占用为实际长度加1.u 符号常量:无参宏#define.2.变量:u 标识符命名规则:4条P37页.u 各种类型变量的长度.u 数据类型转换:自动、强制.u 注:强制类型转换只得到所需类型的结果值,原变量或表达式的类型仍为原类型.如3.各种运算符运算规则与其优先级P51页.4.补充-逻辑表达式的优化运算:u &运算:只要算出第一个表达式为0,第二个表达式不再运算.u |运算:只要算出第一个表达式为1,第二个表达式不再运算.如:int i=0,j=0,a=6;if 0|0 a+;printf; 结果i为1,

5、j为0,a为7.5.其它运算符:条件运算、逗号运算、长度运算符形式:sizeof 表达式 或sizeof 第四章1.if、while、for中的表达式,一般是逻辑或关系表达式,也可以是任意类型表达式.如while.2.如果有多条语句,必须用大括号括起,构成复合语句.3.switch语句中case后面只能是常量值;若执行完某case后的语句没遇到break,则继续执行下一个case 语句.4.循环程序:注意循环变量的初值、修正值、循环条件等,以与循环中用到的某些变量赋初值,如求累加和变量.5.一般是先判断条件,再执行循环体;但dowhile语句是先执行一遍循环体,再判断条件.6.break、co

6、ntinue语句.7.本章主要是算法构思.先考虑好需要那些变量,即数据结构,再考虑怎样求解问题第五章1.数组定义:int a10;或int aN;数组长度必须是常量值,不能是变量,可以是在程序开始前定义的符号常量,进行长度定义.2.下标引用:0N-1,切记不能引用到N.3.数组初始化时可省略长度定义.4.数组定义后如没有给任何一个元素赋初值,对于static类型,各元素初值为0;对于auto类型,各元素值不定.5.数组不能整体赋值.数组中各元素值的输入/出,应使用循环程序逐个输入/出;字符数组例外gets、puts.6.数组中的两种排序方法:u 冒泡法:外循环为i=0;in-1;内循环为j=0

7、;jn-1-i;循环中比较aj和aj+1两个元素,并互换.考试内容u 选择法:外循环为i=0;in-1;内循环为j=i;jn;内循环开始前,先赋初值min=i;循环中比较amin和aj两个元素,不互换,只让min=j;内循环结束后再进行互换, ai和amin互换.不做考试内容,但是希望同学们记住这种好的排序方法7.二维数组:按行存放;赋初值的5种情况P83页.8.字符数组:通常定义较长长度,如:char s50; 通常用于存放字符串,结束标志为0.可用字符串常量为其初始化,如:char s=sdkhg; 也可由键盘输入,如gets;输出用puts;注意:char s5=a,d,f,g,w;此种

8、形式不是字符串,无字符串结束标志,仅仅是普通一维字符数组,不能用puts输出,只能用%c格式逐个输出.字符数组的输入/出还有两种形式:%c、%s.9.字符串函数:strcpy、 strcat、 strcmp、 strclen、 strupr、 strlwr第六章1.函数定义:int func;如定义时没指明函数类型,如:fun;默认是int型,返回值不确定.2.声明:函数定义在前,使用在后,可省略函数声明,反之需要在使用前声明.函数声明的几种变通形式.u 函数声明后加分号,而函数定义后没有分号.3.函数调用:函数名实参表;u 实参与形参个数、类型、位置一致.u 形参与实参占据不同的存储单元;形

9、参只在函数调用时才为其分配存储单元,函数调用结束后释放.u 实参与形参之间是传值调用,单向传递关系,形参值改变,不会影响实参值.u 补充:函数可嵌套调用,不可嵌套定义.u 嵌套调用:一个函数内部又调用另外一个函数.u 递归调用:一个函数调用它自身.考试不作要求4.数组作为函数参数:void func;u 传递的是实参数组的首地址.调用时实参是数组名,如func;5.多维数组: void func;.6.从作用域角度,变量分为:全局变量、局部变量.u 局部变量:在函数内部定义,只能在该函数中使用,包括函数的形参和复合语句中定义的变量,main函数中定义的变量也是局部变量,不能被其它函数使用.u

10、不同函数内定义的同名变量,互不影响,因其作用域不同,内存空间独立.u 全局变量:在函数外部定义,作用域从定义开始到本文件结束.其间的所有函数都可以使用它,可在各函数间传递值,但容易带来副作用,降低模块独立性.7.变量的存储类别:auto、static、register、extern.8.局部变量的存储类别:auto、static、register.u auto型的生存周期时函数被调期间,两次调用之间不保留值.void func static int a=1; a+=n; printf;main int b=2; func; func; 程序运行结果为3,5,u static型的生存期是整个程序

11、运行期间,保留上一次调用后的值,且只赋一次初值在程序运行前初始化,默认初值为0.如:9.全局变量的存储类别: static、extern.u 全局变量总是存放在静态存储区间,生存期是整个程序运行期间,只赋一次初值,在程序运行前初始化,默认初值为0.u 用extern对全局变量加以声明,可以将其作用域扩充到整个文件或其它文件.例:P113页、P114页.u 定义全局变量时加上static,可将其作用域限制在本文件中,不能被其它文件使用.例:P114页.10.函数的作用域是全局的,可被其它函数调用.u 函数存储类别:static、extern.默认为extern型.#define SQR x*xm

12、ain int a,k=3; a=+SQR; printf; 替换后的表达是为a=+k+1*k+1结果为9u 如:static int func;则函数不被其它文件使用,所以两文件中的同名静态函数,互不干扰.第七章1. 预处理命令以#开头,末尾不加分号.在程序编译之前处理.2.宏替换:将函数中出现宏名的地方用宏体进行替换.u 宏体可以是数字、也可以是组成C表达式或语句的其它字符,还可以引用已定义的其它宏名.u 宏的作用域:定义宏之后到本源文件结束,可用#undef提前结束.u 无参宏:#define PI 3.14注意:函数中双引号内的宏名不替换,如 printf;u 有参宏:#define

13、宏名 宏体u 引用:宏名u 注意有参宏如果宏体和参数没用括号括起,可能有副作用.u 分析有参宏的程序时,必须先将宏替换后的表达式写到纸上,再分析结果.u 文件包含:#include 搜索系统标准目录#include 文件名 先搜索当前目录, 找不到再搜索系统标准目录第八章1.指针的基本概念:指针地址;2.指针常量:某已知变量的地址,或数组名等,:int a,b5;此时&a和b就是指针常量固定值.3.指针变量:如int a,*p=&a; char s9,*q=s;u 赋值:必须赋地址值,如int a,*p; p=&a;如p=2001;是错误的.4.间接访问:*p=5;等同于a=5;5.指针作为函数的参数,传递的是实参变量的地址, 如:void funcu 调用时用某变量的地址常量,或指向该变量的指针作为实参,如主调函数中有定义int a,*q;q=&a;则可用&a或q作为实参进行调用,即func;或func;都是将变量a的地址传递给形参指针p,使指针p指向变量a.函数中使用*p就是对a的间接访问,就可以改变a的值,或者将结果放入a中.但形参变量本身改变,反过来不会影响实参指针值. 6.指针与一维数组:int a1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号