《C程序设计》课程复习资料.docx

上传人:b****6 文档编号:4770547 上传时间:2022-12-08 格式:DOCX 页数:29 大小:33.57KB
下载 相关 举报
《C程序设计》课程复习资料.docx_第1页
第1页 / 共29页
《C程序设计》课程复习资料.docx_第2页
第2页 / 共29页
《C程序设计》课程复习资料.docx_第3页
第3页 / 共29页
《C程序设计》课程复习资料.docx_第4页
第4页 / 共29页
《C程序设计》课程复习资料.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

《C程序设计》课程复习资料.docx

《《C程序设计》课程复习资料.docx》由会员分享,可在线阅读,更多相关《《C程序设计》课程复习资料.docx(29页珍藏版)》请在冰豆网上搜索。

《C程序设计》课程复习资料.docx

《C程序设计》课程复习资料

C程序设计复习资料

一、填空(每空2分,共20分)

1.在程序中从变量中取值,实际上是通过变量名找到相应的①,从其②中读取数据。

()内存地址,存储单元

2.C语言规定①只能由字母、数字和②三种字符组成。

()标识符,下划线

3.将一个字符常量放到一个字符变量中,是将该字符的①放到存储单元中。

()相应的ASCII码

4.在使用C语言①时,要用预编译命令②将有关的”头文件包括到用户的源文件中。

()库函数,#include

5.在printf(“%10.4s”,“Chinese”)中,%10.4s指定输出数据①,但只输出字符串中②。

()域宽为10,前4个字符

6.printf(“%7.2f”,123.456)中,%7.2f指定输出数据①,其中有②。

()域宽为7,2位小数

7.break语句可以使流程跳出①,还可以用来跳出②。

()switch结构,循环体

8.continue语句只结束①,而不是终止②的执行。

()本次循环,整个循环

9.在定义数组时,数组长度必须用①括起来;在对全部数组元素赋初值时,可以不指定②。

()方括号,数组长度

10.在定义函数时,函数说明部分包括①、②和函数名以及函数参数、参数类型。

()函数类型,函数属性

11.形式参数是①函数名后面括弧中的变量名,实际参数是②函数名后面括弧中的变量名。

()函数定义时,函数调用时

12.局部变量只在①有效,全局变量的有效范围为②。

()本函数范围内,从定义变量的位置开始到本文件结束

13.变量从①角度可分为局部变量和全局变量,而静态存储变量和动静态存储变量是从角度②来分的。

()作用域(即空间),生存期(即值存在的时间)

14.C语言把文件看作是一个①,根据数据的组织形式文件可分为②。

()字符流(或字节流),ASCII文件和二进制文件

15.C语言编译系统在给出逻辑运算结果时,以①,以②。

()数值1代表”真”,0代表”假”

16.C语言编译系统在判断一个量是否为“真”时,是将①认作为“真”。

()一个非零的数值

17.使用全局变量,降低了函数的①和程序的②。

()通用性,清晰性

18.只有①和②可作为寄存器变量。

()形式参数,局部自动变量

19.在调用一个函数的过程中又出现①调用该函数本身,称为②。

()直接或间接地,函数的递归调用

20.实参变量对形参变量的数据传递是①,即②。

()值传递,单向传递

21.C程序是由①构成的,这种特点容易实现程序的②。

()函数,模块化(或结构化)

22.函数的①是通过函数中的②获得的。

()返回值,return语句

23.一个C程序总是从①开始执行的;每个②的最后必须有一个分号。

()main函数,语句和数据定义

24.用数组名作函数参数,在调用函数时是①把传递给形参。

()数组的首地址

25.一个好的、有使用价值的源程序都应当加上必要的①,以增加程序的②。

()注释,可读性

26.表达式(a=3*5,a*4),a+5的值为①。

()20

27.在C语言中,要求对所有用到的变量作①,即“先定义,后使用”。

()强制类型定义

28.C规定以字符’\0’作为①。

()字符串结束标志

29.一个unsigned型变量在内存中分配的字节数和比特数为①,最小取值范围为②。

()2和16,0~65535

30.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-'3'的值为①。

102

31.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为①。

()整型或int型

32.若a是int型变量,则计算表达式a=25/3%3后a的值为①。

()2

33.若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为①,n的值为②()10,6

34.当a=3,b=2,c=1时,表达式f=a>b>c的值是①。

()0

35.假设m是一个三位数,从左到右用a,b,c表示各位的数字,则从左到右各个数字是bac的三位数的表达式是①。

()b*100+a*10+c

36.若s是int型变量,且s=6,则下面表达式s%2+(s+1)%2的值是①。

()1

37.若有定义:

intx=3,y=2;floata=2.5,b=3.5;则下面表达式(x+y)%2+(int)a/(int)b的值为①。

()1

38.若有以下定义intm=5,y=2;,则计算表达式y+=y-=m*=y后的y值是①。

()-16

39.在C语言中的实型变量分为两种类型,它们是①。

()单精度,双精度

40.当a=5,b=4,c=2时,表达式a>b!

=c的值是①。

()1

41.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为①。

()9

42.在一个C源程序中,注释部分两侧的分界符分别为①和②。

()/*,*/

43.在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为_____;一个double型数据在内存中所占的字节数为①。

()4,8

44.若x和n均是整型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为①。

()0

45.若有定义:

charc='\010';则变量c中包含的字符个数为①。

()-1

46.若有定义:

inta=2,b=3;floatx=3.5,y=2.5;则下面表达式的值(float)(a+b)/2+(int)x%(int)y为①。

()3.5

47.若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为①。

()-60

48.若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为①。

()6

49.若x和a均是int型变量,则计算表达式x=(a=4,6*2)后的x值为①,计算表达式x=a=4,6*2后的x值为②。

()12,4

50.若a为整型变量,则下面表达式(a=4*5,a*2),a+6的值为①。

()26

51.若有定义:

intb=7;floata=2.5,c=4.7;则下面表达式a+(int)(b/3*(int)(a+c)/2)%4的值为①。

()5.5

二、选择(每题2分,共20分)

1.若有定义:

inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()A

A)2.500000B)2.750000C)3.500000D)0.000000

2.下面正确的字符常量是()C

A)"c"B)'\\''C)'W'D)''

3.putchar函数可以向终端输出一个()D

A)整型变量表达式值B)实型变量值

C)字符串D)字符或字符型变量值

4.下面四个选项中,均是合法转义字符的选项是()A

A)'\'''\\''\n'B)'\''\017''\"'

C)'\018''\f''xab'D)'\\0''\101''xlf'

5.以下程序的输出结果是()C

main()

{printf("\n*s1=%15s*","chinabeijing");

printf("\n*s2=%-15s*","chi");}

A)*s1=chinabeijing*(换行)*s2=**chi*

B)*s1=chinabeijing*(换行)*s2=chi*

C)*s1=*chinabeijing*(换行)*s2=chi*

D)*s1=chinabeijing*(换行)*s2=chi*

6.C语言中的标识符第一个字符()C

A)必须为字母B)必须为下划线

C)必须为字母或下划线D)字母,数字和下划线中任一字符

7.下列四个选项中,均是C语言关键字的选项是()B

A)autoenumincludeB)switchtypedefcontinue

C)signedunionscanfD)ifstructtype

8.执行以下程序后,a,b的值分别为()C

main()

{inta,b,k=4,m=6,*p1=&k,*p2=&m;

a=p1==&m;

b=(-*p1)/(*p2)+7;

printf("a=%d\n",a);

printf("b=%d\n",b);}

A)-1,5B)1,6C)0,7D)4,10

9.若有说明语句:

charc='\72';则变量c()A

A)包含1个字符B)包含2个字符

C)包含3个字符D)说明不合法,c的值不确定

10.若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为()B

A)7B)8C)9D)10

11.在C语言中,要求运算数必须是整型的运算符是()D

A)/B)++C)!

=D)%

12.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为()B

A)DB)68C)不确定的值D)C

13.若x,i,j和k都是int型变量,则计算下面表达式x=(i=4,j=16,k=32)后,x的值为()C

A)4B)16C)32D)52

14.关于建立函数的目的,以下正确的说法是()B

A)提高程序的执行效率B)提高程序的可读性

C)减少程序的篇幅D)减少程序文件所占内存

15.以下对一维整型数组a的正确说明是()D

A)inta(10);B)intn=10,a[n];

C)intn;scanf("%d",&n);inta[n];

D)#defineSIZE10(换行)inta[SIZE];

16.在执行完以下C语句后,B的值是()B

charZ='A';

intB;

B=((241&15)&&(Z|'A'));

A)0B)1C)TRUED)FALSE

17.若调用一个函数,且此函数中没有return语句,则正确的说法是:

该函数()D

A)没有返回值B)返回若干个系统默认值

C)能返回一个用户所希望的值D)返回一个不确定的值

18.以下正确的说法是:

在C语言中()A

A)实参和与其对应的形参各占用独立的存储单元

B)实参和与其对应的形参共占用一个存储单元

C)只有当实参和与其对应的形参同名时才共占用存储单元

D)形参是虚拟的,不占用存储单元

19.以下正确的函数定义形式是()B

A)doublefun(intx,inty)B)doublefun(intx;inty)

C)doublefun(intx,inty);D)doublefun(intx,y);

20.下列四组选项中,均不是C语言关键字的选项是()A

A)defineIFtypeB)getccharprintf

C)includescanfcaseD)whilegopow

21.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式()B

A)从左起输出该字符串,右补空格

B)按原字符长从左向右全部输出

C)右对齐输出该字串,左补空格

D)输出错误信息

22.系统的标准输入文件是指()A

A)键盘B)显示器C)软盘D)硬盘

23.以下运算符中优先级最低的是()C

A)&&B)&C)||D)|

24.当说明一个结构体变量时系统分配给它的内存是()A

A)各成员所需内存量的总和

B)结构中第一个成员所需内存量

C)成员中占内存量最大者所需的容量

D)结构中最后一个成员所需内存量

25.以下正确的叙述是()D

A)在C程序中,每行中只能写一条语句

B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C)在C程序中,无论是整数还是实数,都能被准确无误地表示

D)在C程序中,%是只能用于整数运算的运算符

26.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为()A

A)char

B)char=int

C)char

D)char=int=longint<=float

27.一个C语言程序是由()B

A)一个主程序和若干子程序组成B)函数组成

C)若干过程组成D)若干子程序组成

28.C语言规定,在一个源程序中,main函数的位置()C

A)必须在最开始B)必须在系统调用的库函数的后面

C)可以任意D)必须在最后

29.以下叙述正确的是()C

A)在C程序中,main函数必须位于程序的最前面

B)C程序的每行中只能写一条语句

C)C语言本身没有输入输出语句

D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误

30.若执行fopen函数时发生错误,则函数的返回值是()A

A)地址值B)0C)1D)EOF

31.在16位IBM-PC机上使用C语言,若有如下定义

structdata

{inti;

charch;

doublef;

}b;

则结构变量b占用内存的字节数是()D

A)1B)2C)8D)11

32.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()B

A)7B)8C)6D)2

33.一个C程序的执行是从()A

A)本程序的main函数开始,到main函数结束

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C)本程序的main函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第一个函数开始,到本程序main函数结束

34.以下能对二维数组a进行正确初始化的语句是()B

A)inta[2][]={{1,0,1},{5,2,3}};

B)inta[][3]={{1,2,3},{4,5,6}};

C)inta[2][4]={{1,2,3},{4,5},{6}};

D)inta[][3]={{1,0,1}{},{1,1}};

35.在位运算中,操作数每右移一位,其结果相当于()B

A)操作数乘以2B)操作数除以2

C)操作数乘以4D)操作数除以4

36.在位运算中,操作数每左移一位,其结果相当于()A

A)操作数乘以2B)操作数除以2

C)操作数除以4D)操作数乘以4

37.设有以下语句:

charx=3,y=6,z;

z=x^y<<2;

则z的二进制值是()A

A)00010100B)00011011C)00011100D)00011000

38.下面程序段的运行结果是()C

intn=0;

while(n++<=2);printf("%d",n);

A)2B)3C)4D)有语法错

39.fscanf函数的正确调用形式是()D

A)fscanf(fp,格式字符串,输出表列);

B)fscanf(格式字符串,输出表列,fp);

C)fscanf(格式字符串,文件指针,输出表列);

D)fscanf(文件指针,格式字符串,输入表列);

40.已知函数的调用形式:

fread(buffer,size,count,fp);其中buffer代表的是()C

A)一个整数,代表要读入的数据项总数

B)一个文件指针,指向要读的文件

C)一个指针,指向要读入数据的存放地址

D)一个存储区,存放要读的数据项

41.当顺利执行了文件关闭操作时,fclose函数的返回值是()C

A)-1B)TRUEC)0D)1

42.请读程序片段:

C

intx=20;

printf("%d\n",~x);

上面程序片段的输出结果是()

A)02B)-20C)-21D)-11

43.表达式0x13^0x17的值是()A

A)0x04B)0x13C)0xE8D)0x17

44.sizeof(float)是()B

A)一个双精度型表达式B)一个整型表达式

C)一种函数调用D)一个不合法的表达式

45.若有说明inta[3][4];则a数组元素的非法引用是()D

A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]

46.若有说明inta[3][4];则对a数组元素的正确引用是()C

A)a[2][4]B)a[1,3]C)a[1+1][0]D)a

(2)

(1)

47.设有程序段()C

intk=10;

while(k=0)k=k-1;

则下面描述中正确的是________

A)while循环执行10次B)循环是无限循环

C)循环体语句一次也不执行D)循环体语句执行一次

48.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()C

A)intB)floatC)doubleD)不确定

49.在C语言中,char型数据在内存中的存储形式是()D

A)补码B)反码C)原码D)ASCII码

50.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()B

A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0

C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0

51.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为()C

A)0--255B)0--32767C)0--65535D)0--2147483647

52.设有说明:

charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为()D

A)floatB)charC)intD)double

53.若x=2,y=3则x&y的结果是()B

A)0B)2C)3D)5

54.表达式~0x13的值是()A

A)0xFFECB)0xFF71C)0xFF68D)0xFF17

55.以下叙述中不正确的是()C

A)表达式a&=b等价于a=a&b

B)表达式a|=b等价于a=a|b

C)表达式a!

=b等价于a=a!

b

D)表达式a^=b等价于a=a^b

56.fwrite函数的一般调用形式是()B

A)fwrite(buffer,count,size,fp);

B)fwrite(fp,size,count,buffer);

C)fwrite(fp,count,size,buffer);

D)fwrite(buffer,size,count,fp);

57.若有以下程序段:

()C

intx=1,y=2;

x=x^y;y=y^x;x=x^y;

则执行以上语句后x和y的值分别是

A)x=1,b=2B)x=2,y=2C)x=2,y=1D)x=1,y=1

58.sizeof(float)是()C

A)一种函数调用B)一个不合法的表达式

C)一个整型表达式D)一个浮点表达式

59.若调用fputc函数输出字符成功,则其返回值是()D

A)EOFB)1C)0D)输出的字符

60.在C语言中,要求运算数必须是整型的运算符是()B

A)^B)%C)!

D)>

61.若a=1,b=2则a|b的值是()D

A)0B)1C)2D)3

三、简答(每题6分,共30分)

1.P97简述条件表达式的一般形式,用流程图说明其运算规则。

●1.一般格式:

表达式1?

表达式2:

表达式3

●2.运算规则:

如果“表达式1”的值为非0(即逻辑真),则运算结果等于“表达式2”的值;否则,运算结果等于“表达式3”的值。

2.P110简述for语句的一般形式,用流程图说明其运算规则。

1.一般格式:

for(表达式1;表达式2;表达式3){循环体}

2.for语句的执行过程

(1)求解表达式1。

(2)求解表达式2。

如果其值非0,执行(3);否则,转至(4)。

(3)执行循环体语句组,并求解表达式3,然后转向

(2)。

(4)执行for语句的下一条语句。

3.P122简要说明一维数组的定义。

定义形式:

数据类型数组名[常量表达式]

如:

inta[10];floatx[5];说明:

(1)数组名,与变量名一样,必须遵循标识符命名规则。

(2)常量表达式必须用方括号括起来,指的是数组的元素个数(又称数组长度),常量表达式可以包括常量和符号常量,不能包含变量;

(3)数组元素的下标,是元素相对于数组起始地址的偏移量,所以从0开始顺序编号。

(4)数组名中存放的是一个地址常量,它代表整个数组的首地址。

(5)同一数组中的所有元素,按其下标的顺序占用一段连续的存储单元。

4.(P146)简要说明函数的形参和实参。

在定义函数时函数名后括弧中的参数称为形参,在主调函数中调用一个函数时函数名后括弧中的参数称为实参。

说明:

(1)形参变量只有在被调用时,才分配内存单元;调用结束时,即刻释放所分配的内存单元。

(2)实参可以是常量、变量、表达式、函数等。

(3)实参与形参的类型应相同或赋值兼容;

(4)实参对形参的数据传送是单向的,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。

(5)实参和形参占用不同的内存单元,即使同名也互不影响。

5.(P151)举例说明函数的调用方式。

在C语言中,可以用以下几种方式调用函数:

(1)函数语句,如printstar();,C语言中的函数可以只进行某些操作而不返回函数值,这时的函数调用可作为一条独立的语句。

(2)函数表达式,如c=2*max(a,b);,函数作为表达式的一项,出现在表达式中,以函数返回值参与表达式的运算。

这种方式要求函数是有返回值的。

(3)函数实参,如printf(“%d”,max(a,b));,函数作为另一个函数调用的实际参数出现。

这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。

6.(P151)函数调用需要具备哪些条件?

(1)被调用的函数必须是已经存在的函数(库函数或用户自己定义的函数);

(2)如果使用库函数,一般还应该在

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1