《C语言程序设计》复习大纲.docx
- 文档编号:23827495
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:17
- 大小:30.06KB
《C语言程序设计》复习大纲.docx
《《C语言程序设计》复习大纲.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》复习大纲.docx(17页珍藏版)》请在冰豆网上搜索。
《C语言程序设计》复习大纲
《C语言程序设计》复习大纲
(此课程为考查课,开卷考试)
第一章C语言程序设计初步
1、从编写一个C程序到完成运行一般经过以下几个步骤:
编辑、编译、连接、执行。
2、标识符命名规则:
由英文字母、数字和下划线组成;长度不大于32个字符;必须以英文字母或下划线开头;不能和关键字重名;区分大小写;命名要“见名知意”。
3、C语言的输入输出功能是由C的库函数提供的。
4、C程序是由函数组成的,一个完整的程序必须有一个main函数,即主函数,程序总是从main函数开始执行的,不论main函数在整个程序的什么位置。
第二章程序设计基础知识
1、算法的特性:
有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
第三章C数据及其表达式
1、C语言中基本数据类型有:
整型、字符型、实型、枚举型。
2、C语言中有四种基本常量:
整形常量、实型常量、字符常量和字符串常量。
两种特殊常量:
转义字符常量和符号常量。
3、一个整型常量以2个字节存储,一个长整型数占4个字节。
4、字符常量用单引号括起来,字符串常量用双引号括起来;每个字符串结尾都有一个字符串结束标志’\0’,’a’和”a”最大的区别就是”a”实际上是两个字符:
’a’和’\0’;而’a’只是一个字符本身。
5、逗号表达式的一般形式为:
表达式1,表达式2;逗号表达式的计算过程是:
先求解表达式1,再求解表达式2。
整个逗号表达式的值是表达式2的值。
6、++i,--ii的值先增1(或减1),然后再参与其他运算;
i++,i--先参与其它运算,然后使i值增1(或减1)
第四章顺序结构程序设计
1、程序分为顺序结构、选择结构或分支结构、循环结构。
2、C语言的语句大体上分为五种类型:
1、函数调用语句;2、表达式语句;3、控制语句;4、空语句;5、复合语句。
3、语句在最后必须出现分号,分号是语句中不可缺少的一部分。
4、putchar(c)的功能是向屏幕输出一个字符;printf(“格式化字符串”,输出项表)的功能是按用户指定的格式,把指定的数据显示到屏幕上。
5、格式字符:
%d—按整数数据的实际长度输出
%c—输出一个字符
%s—按字符串原样输出
6、getchar()的功能是从键盘输入一个字符到计算机的内存,它一次只能接受一个字符;scanf(“格式化字符串”,地址表列)的功能是等待用户从标准输入设备上输入数据,然后按用户指定的格式将该值赋给指定的变量。
7、变量的地址是由地址运算符“&”后跟变量名组成的。
如&m、&n分别表示变量m和变量n的地址。
赋值表达式“m=567”中m为变量名,567为变量的值,&m是变量m的地址。
8、scanf函数本质上是给变量赋值,被赋值的变量要求写成变量的地址。
9、abs(x)等价于|x|;sqrt(x)等价于
;pow(x,y)等价于xy.
10、在顺序结构程序中,一般包括:
、程序开头的编译预处理命令,如:
#include
、顺序结构程序的函数体中主要包括:
变量类型的说明、提供数据语句、运算部分、输出部分
、良好的源程序书写风格,如所有语句首行左对齐等。
、为程序加上注释说明部分。
/*…*/
第五章选择结构程序设计
1、C语言一般用关系表达式或逻辑表达式表示条件,用if语句或switch语句实现选择结构。
2、C语言提供6个关系运算符:
<小于、<=小于等于、>大于、>=大于等于、==等于、!
=不等于。
3、6个关系运算符的优先级关系为(“<”=”<=”=”>”=”>=”)>(“==”=”!
=”)。
4、关系运算符与其它运算符的优先级关系:
算术运算符<关系运算符<赋值运算符。
5、关系运算符结合性为左结合,即运算方向是从左至右。
6、C语言用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。
例如:
有n1=3,n2=4,n3=2
、求“n1>n2”的值:
因为3<4,故该表达式的值为0。
、求“(n1>n2)!
=n3”的值:
因为n1>n2的值为0,而n3的值为2,0不等于2,故该表达式的值为1。
、求“n1 因为n1 7、C语言提供三种逻辑运算符: &&逻辑与(相当于同时);||逻辑或(相当于或者);! 逻辑非(相当于否定)。 8、&&: 当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。 ||: 当且仅当两个运算量的值都为“假”时,运算结果为“假”,否则为“真”。 ! : 当运算量的值为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。 9、逻辑运算符的优先级关系为: ! <&&<|| 10、逻辑运算符与其它运算符的优先级关系为: ! <算术运算符<关系运算符<&&<||<赋值运算符。 11、条件运算符是一个三目运算符,一般形式为“表达式1? 表达式2: 表达式3”,如果表达式1的值为真,则以表达式2的值作为整个条件表达式的值,否则以表达式3的值作为整个条件表达式的值。 12、条件运算符与其它运算符的优先级关系为: ! <算术运算符<关系运算符<逻辑与<逻辑或<条件运算符<赋值运算符。 13、switch语句的一般形式是: switch(表达式) { case常量表达式1: 语句组1;break; case常量表达式2: 语句组2;break; … case常量表达式n: 语句组n;break; default: 语句组n+1; } case后的常量表达式必须是整形、字符型;且值必须各不相同;case语句块里必须加上break语句;default子句可以省略不用;switch多路分支结构可以用if语句来实现。 第六章循环结构程序设计 1、while语句的一般形式是“while(表达式){循环体语句;}”,其特点是先判断表达,后执行语句。 2、循环条件表达式中必须至少包含一个能够改变表达式值的变量,这个变量称为循环变量;在循环体中,必须有能够改变循环变量值的语句,且特环变量值的改变应保证最终能跳出循环;循环体如果包含一个以上的语句,应用花括号括起来,以复合语句形式出现。 3、do-while语句用来实现“直到型”循环结构,一般形式为: “do语句while(表达式)”,其特点是先执行语句,后判断表达式。 4、for语句的一般形式是“for(表达式1;表达式2;表达式3){语句;}”,表达式1用于提供循环的初始值,表达式2提供了循环的条件,表达式3用于改变循环的条件。 若没有表达式2则会陷入死循环。 5、break语句的形式为“break;”,break语句只能用于switch结构或循环结构,而且在循环语句嵌套使用的情况下,break语句只能跳出(或终止)它所在的循环,而不能同时跳出(或终止)多层循环。 6、continue语句的形式为: “continue;”,continue语句的功能是结束本次循环的执行,但不退出循环结构。 7、continue语句只结束本次循环,而不是终止整个循环的执行;而break语句则是结束循环,不再进行条件判断。 第七章数组 1、数组是同一类型的且顺序排放的数据的集合,它在内存中是一片连续的存储区域。 数组的长度一定;数组元素的类型相同;数组元素的值可以改变。 2、一维数组的定义形式为“类型说明符数组名[常量表达式]”,当定义数组长度为n时,可用的数组元素下标从0到n-1。 3、在C语言中没有直接用来存放字符串的变量,如果想保存并使用字符数据,必须使用字符数组。 字符数组的定义形式为: “char数组名[常量表达式]”。 4、chare[]={“Iamaboy”}的长度是11而不是10,这是因为在C语言中系统在字符串常量的末尾自动加一个’\0’作为结束符,它和前面的字符共同构成字符串的实际长度。 5、字符串输入函数gets、输出函数puts是将整个字符串一次性输入或输出。 gets函数一般形式为: gets(字符数组),puts函数一般形式为: puts(字符数组)。 6、字符串连接函数: strcat(字符数组1,字符数组2);它的功能是连接字符数组2中的字符串到字符数组1,组成新的字符串存放在字符数组1中。 使用时要保证字符数组1足够大,以便容纳被连接的新字符串。 7、字符串比较函数: strcmp(字符串1,字符串2);它的作用是自左向右逐个比较两个字符串的字符,直到出现不同字符,或遇到’\0’为至。 若字符串1==字符串2,返回0;若字符串1>字符串2,返回一个正整数;若字符串1<字符串2,返回一个负整数。 8、字符串长度测定函数: strlen(字符数组),它的功能是测试字符串的长度,函数返回值为字符串的实际长度,不包括’\0’。 9、strlwr(字符串)是将字符串中大写字母转换成小写字母;strupr(字符串)是将字符串中小写字母转换成大写字母。 第八章函数 1、在C语言中,子程序的功能是由函数完成的。 一个C源程序是由一个主函数和若干个其他函数构成,由主函数调用其他函数,其他函数之间也可以互相调用。 一个函数可以多次调用其他函数,一个函数也可以被多个函数多次调用。 2、C语言中的函数分为两类: 库函数和用户自定义函数。 3、在调用库函数时,只需按要求给出相应的调用参数,而不必关心库函数具体是如何操作的,但要先用“#include”命令把库函数说明所在的头文件包含进来。 4、一个C源程序可由一个或若干个C源文件构成,每个C源文件由若干个函数构成。 5、在C源程序中,有且只能有一个main()主函数,程序必须从main()主函数开始执行,主函数中所有语句执行完,则程序结束。 6、所有函数都是平等、并列的,因而函数不能嵌套定义,但函数之间可以嵌套调用。 7、函数定义的一般形式为: 类型说明符函数名(形参列表) { 说明部分 语句部分 } 类型说明符定义了函数通过return语句返回值的类型,若缺省,则默认为整形;函数名是唯一标识一个函数的名字,命名规则同变量名完全相同;函数名后面的一对圆括号是必需的,里面的形参列表是以逗号分隔的前面带有类型说明符的变量表列,若为空,则表明此函数为无参函数。 8、函数的返回值是通过return语句返回的,return语句的一般形式是: “return(表达式);”或“return表达式”。 一个函数体中允许出现多个return语句,但只能有一个return语句被执行;若不想让函数返回任何值,则应该用关键字“void”将函数的返回值类型定义为“空类型”。 9、函数的参数主要用于在调用函数和被调用函数之间进行数据传递,在函数定义时,函数名后面圆括号内的参数称为形参,在函数调用时,函数名后面圆括号内的参数称为实参。 在函数调用时,将实参的值传递给对应的形参,也就是将实参的值通过形参传到了函数体内,实参向形参的数据传递方式是值传递,在函数执行过程中,形参的值可能被改变,但这一改变对原先与它对应的实参没有影响。 调用函数时,提供的实参与被调用函数的形参的个数相同,其位置顺序要一一对应。 10、在函数体内或复合语句内定义的变量称为局部变量。 局部变量只在定义它的函数体或复合语句中有效并使用。 在函数外部定义的变量称为全局变量,全局变量可被本文件中所有函数共用,它的有效范围是从定义变量的位置开始到本源文件结束。 第九章指针 考试内容不涉及。 第十章结构体和共用体 1、C语言中“结构体”类型是不同类型的有序集合,一般形式如下: struct结构体名 { 成员表 };其中,struct是定义结构体类型的关键字;结构体名是此结构体类型的名字;成员表是由一系列的变量定义组成的。 2、对结构体变量的使用可以通过对其每个成员的引用来实现,一般形式为: 结构体变量名.成员名;其中“.”是结构体成员运算符,它在所有运算符中优先级最高。 第十一章文件 考试内容不涉及。 第十二章位运算 考试内容不涉及 第十三章编译预处理 1、文件包含是指一个源文件将另一个源文件的全部内容包含进来,一般形式为: #include“被包含文件名”或#include<被包含文件名>。 2、被包含文件名可以用双引号或尖括号括起来,一般只调用系统函数时,用尖括号相括,而要包含其它文件时,则用双引号相括。 第十四章屏幕管理与菜单设计 考试内容不涉及。 一、单选题(共40小题,每小题1.5分,共60分) 1、构成C语言的基本单位是___B____。 A、过程 B、函数 C、语句 D、命令 2、设x为整型变量,能正确表达数学关系“5 A、5B、x>5&&x<10 C、x==6||x==7||x==8||x==9 D、! (x<=5)&&(x<10) 3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为__D___。 A、&&、||、! B、||、&&、! C、&&、! 、|| D、! 、&&、|| 4、执行下面程序段的结果是__B___。 main(){intx=1,a=0,b=0;switch(x){case0: b++;case1: a++;case2: a++;b++;}printf("a=%d,b=%d",a,b);} A、a=1,b=1 B、a=2,b=1 C、a=1,b=0 D、a=2,b=2 5、如果一个函数被说明为static,那么__B___。 A、该函数只能被main函数调用 B、该函数能被当前文件的函数调用,但不能被其他文件的函数调用 C、该函数不能被当前文件的函数调用,可以被其他文件的函数调用 D、任何文件的函数都可以调用该函数 6、下面关于局部变量的描述中,错误的是__D___。 A、函数的局部变量的有效范围只能在本函数 B、函数的形式参数也是局部变量 C、局部变量的名称不能和函数同名称 D、不同的函数中不能定义相同名称的局部变量 7、引用数组元素时,数组下标可以是__D___。 A、整型常量 B、整型变量 C、整型表达式 D、以上均可 8、C语言规定: 在一个源程序中,main函数的位置____C____。 A、必须在最开始 B、必须在系统调用的库函数的后面 C、可以任意 D、必须在最后 9、在c语言中,char型数据在内存中的存储形式是___D___。 A、补码 B、反码 C、原码 D、ASCII码 10、判断char型变量s是否为小写字母的正确表达式是__C____。 A、'a'<=s<='z' B、(s>='a')&(s<='z') C、(s>='a')&&(s<='z') D、('a'<=s)and('z'>=s) 11、设函数fun的定义形式为: fun(charch,floatx){…}则以下对函数fun的调用语句中正确的是___B___。 A、fun(“abc”,3) B、t=fun(‘D’,5)C、fun(‘ab’,3)D、fun(‘78’,1) 12、函数求sum(intn)的功能是计算自然数1到n的和,即1+2+…+n。 main(){printf("Thesum=%d\n",sum(10));}intsum(intn){ints=0,i;for(i=0;i<=n;i++)_____B_____}请从备选答案中选择一答案,补全程序。 A、s=s+n;returns; B、s=s+i;returns; C、returns; D、returns+=I; 13、定义如下的结构体描述同学信息structStudent{unsignedlongid;charname[30];charclass[30];}s;假设此同学的序号为1002,姓名为黎明,班级为冶金3班,则描述正确的为___C__。 A、id=1002;name=黎明;class=冶金3班; B、id=1002;name=”黎明”;class=”冶金3班”; C、s.id=1002;s.name=”黎明”;s.class=”冶金3班”; D、s.id=1002;s.name=黎明;s.class=冶金3班; 14、设有以下程序段,执行后的输出结果是___B__intx=100,y=200;printf("%d",(x,y)); A、100B、200C、100,200 D、编译出错 15、以下关于循环的描述中,错误的是__D___。 A、可以用for语句实现的循环一定可以用while语句实现 B、可以用while语句实现的循环一定可以用for语句实现 C、可以用do…while语句实现的循环一定可以用while语句实现 D、do…while语句与while语句的区别仅仅是关键字while的位置不同 16、下面的描述错误的是__C__。 A、函数可以有多个形式参数 B、函数可以没有返回值 C、函数内可以嵌套定义函数 D、函数可以被其他函数调用 17、函数返回值的类型是由__A__决定的。 A、定义函数时指定的返回类型 B、函数中return语句的表达式类型 C、主调函数的实际参数类型 D、主调函数的返回值类型 18、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是___B___。 A、7 B、8 C、6 D、2 19、若输入字符串: abcde<回车>,则以下while循环体将执行___A___次。 while((ch=getchar())=='e')printf("*"); A、1次 B、死循环 C、0次 D、5次 20、有如下程序voidmain(){inta=2,b=-1,c=2;if(a)if(b<0)c=0;elsec++;printf("%d\n",c);}该程序的输出结果是___A___。 A、0 B、1C、2 D、3 21、程序中对fun函数有如下说明voidfun();下面说明是错误的是___B___。 A、fun函数无返回值 B、fun函数的返回值可以是任意的数据类型 C、fun函数没有形式参数 C、void可以省略 22、下列描述中,正确的是__A___ A、所有的输入/输出都是通过调用库函数处理的B、所有的输入/输出都是通过输入/输出语句实现的 C、getchar和putchar可以省略#include D、在输入/输出格式中的*表示跳过数据的含义 23、以下关于switch语句和break语句的描述正确的是__D___ A、在switch语句中必须使用break语句 B、break语句只能用于switch语句体中 C、break语句只能用于循环语句中 D、在switch语句中可以使用break语句 24、下面关于局部变量的描述中,错误的是__D___ A、函数的局部变量的有效范围只能在本函数 B、 函数的形式参数也是局部变量 C、局部变量的名称不能和函数同名称D、 不同的函数中不能定义相同名称的局部变量 25、一个c程序的执行是从________正确答案是: A A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 26、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为________x=(i=4,j=16,k=32) 正确答案是: C A、4 B、16 C、32D、52 27、有以下程序intfun(intx,inty){if(x B A、函数调用出错 B、8 C、9 D、7 28、下面说法不正确的是_____正确答案是: D A、C语言能编写操作系统 B、C语言是函数式的语言 C、数据类型多样化D、书写格式自由、不规范 29、 C语言中的数据的基本类型包括_______ C A、 整型、实型、字符型的逻辑型 B、 整型、实型、字符型和结构体 C、 整型、实型、字符型和枚举型 D、整型、实型、字符型和指针型 30、下列算术运算符中,只能用于整型数据的是_____D A、- B、+ C、/ D、% 31、如果在一个函数的复合语句中定义了一个变量,则该变量____A A、 只在该复合语句中有效 B、 在该函数中任何位置有效 C、 定义错误,因为不能在其中定义变量 D、在本程序的源文件范围内均有效 32、下列程序段的输出结果是____A inta=10,b=0; if(a>15) b=1; elseif(a<2) b=2; else b=3 printf("%d",b); A、3B、2C、1D、0 33、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______C Ac=b=a;B(a=c)‖(b=c); C(a=c)&&(b=c);Da=c=b; 34、下列表达式中,错误的是______C A.2>1? a: bB.i+++jC.4.0%2.0D.x*=y+8 35、判断变量ch是英文字母的表达式为________。 C A、('a'<=ch<='z')||('A'<=ch<='Z')B、(ch>='a'&&ch<='z')&&(ch>='A'&&ch<='Z') C、(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')D、('A'<=ch<='z')&&('A'<=ch<='z') 36、下列选项中,不能用作标识符的是________。 D A、_1234_B、_1_2C、int_2_D、2_int_ 37、有以下程序 main() { inti=0,x=0; for(;;) { if(i==3||i==5)continue; if(i==6)break; i++; s+=i; } printf("%d\n",s); }程序运行后的输出结果是________。 D A、10B、13C、21D、程序进入死循环 38、.s1和s2已正确定义并分别指向两个字符串。 若要求: 当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是________。 D A、if(s1>s2)S;B、if(strcmp(s1,s2))S; C、if(strcmp(s2,s1)>0)S;D、if(strcmp(s1,s2)>0)S; 39、C语言源程序文件的后缀是________。 A A、.cB、.objC、.exeD、.bas 40、C语言程序中可以对程序进行注释,注释部分必须用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 复习 大纲