C语言程序设计复习题.docx

上传人:b****8 文档编号:10941837 上传时间:2023-02-23 格式:DOCX 页数:32 大小:32.32KB
下载 相关 举报
C语言程序设计复习题.docx_第1页
第1页 / 共32页
C语言程序设计复习题.docx_第2页
第2页 / 共32页
C语言程序设计复习题.docx_第3页
第3页 / 共32页
C语言程序设计复习题.docx_第4页
第4页 / 共32页
C语言程序设计复习题.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

C语言程序设计复习题.docx

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

C语言程序设计复习题.docx

C语言程序设计复习题

一、选择题:

1、以下能正确定义数组并正确赋初值的语句是(D)。

A、intN=5,b[N][N];B、inta[1][2]={{1},{3}};

C、intc[2][]={{1,2},{3,4}};D、intd[][2]={{1,2},{3,4}};

2、执行下面的程序时若从键盘上输入6,则输出结果是(D)。

main()

{intx;

scanf("%d",&x);

if(x++>5)printf("%d\n",x);

else     printf("%d\n",x--);}

A、7          B、6           C、5            D、4

3、下列四组选项中,不合法的用户标识符的选项是(D)。

A、P_0       B、_A   C、temp_123    D、b-a

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

x=(i=4,j=16,k=32)

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

5、下列选项中哪个是合法的标识符(B)。

A、intB、_a2C、b#D、7b

6、下列选项定义了整型变量a和b,并为这两个变量赋初值为5,不正确的语句是(B)。

A、inta=5,b=5;B、inta=b=5;

C、inta,b;D、inta=5,b;

a=5;b=5;b=5;

7、若变量已正确定义并赋值,下面不符合C语言语法的表达式是(A)。

A、a=a+7;B、a=7+b+c,a++C、int12.3%4D、a=a+7=a+b

8、执行下面的程序时若从键盘上输入6,则输出结果是(C)。

main()

{intx;

scanf("%d",&x);

if(x-->5)printf("%d\n",x);

else     printf("%d\n",++x);}

A、7          B、6           C、5            D、4

9、设有程序段intk=10;

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

则下面描述中正确的是(B)。

A、while循环10次B、循环体一次也不执行

C、循环是无限循环D、循环体只执行一次

10、以下对数组的定义方式哪个是正确的?

(A)

A、#definesize10B、intn=2;

inta[size];inta[n];

C、charname(-10);D、floatweight[10.3];

11、以下对二维数组a的正确说明是(C)。

A、inta[7][];B、floata[7,7];

C、doublea[7][7];D、floata(7)(7);

12、以下程序的运行结果是(A)。

main()

{intx=1,a=0,b=0;

switch(x)

{case0:

b++;

case1:

a++;

case2:

a++;b++;

}

printf(“a=%d,b=%d\n”,a,b);

}

A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2

13、下列字符中,ASCⅡ码值最小的是(A)。

A、AB、aC、ZD、x

14、设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为1的表达式是:

(C)

A、!

c&&1B、a>=bC、!

a||b+c&&b-cD、!

a||!

b

15、设有定义inta,b;当执行scanf(“%d,%d”,&a,&b);语句时,若要求a、b的值分别为2、3,则正确的输入格式为(D)。

A、a=2,b=3B、a=2b=3C、23D、2,3

16、若有定义inti=3,j=3;printf("%d,%d",++i,j++);其运行结果为(A)。

A、4,3B、3,3C、4,4D、3,4

17、以下不正确的语句是(B)。

A、if(x>y);

B、if(x=y)&&(x!

=0)x+=y;

C、if(x!

=y)scanf(“%d”,&x);elsescanf(“%d”,&y);

D、if(x

18、在调用函数时,如果用数组名作为函数调用的实参,传递给形参的是(A)。

A、数组的首地址B、数组的第一个元素的值

C、数组中全部元素的值D、数组元素的个数

19、若有定义chararray[]="hello";则数组array所占存储空间的字节数为(C)。

A、4B、5C、6D、7

20、C语言规定:

源程序中main函数的位置(C)。

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

C、可以任意D、必须在后面

21、以下叙述不正确的是(D)。

A、一个C程序可由一个或多个函数组成

B、一个C程序必须包含一个main函数

C、C程序的基本组成单位是函数

D、在C程序中,注释说明只能位于一条语句的后面

22、下列选项中哪个是合法的标识符(C)。

A、3daysB、charC、_aboveD、a>b

23、设intn=3;则有表达式++n,n的结果是(C)。

A、2B、3C、4D、5

24、从循环体内某一层跳出,继续执行循环外的语句是(A)。

A、break语句   B、return语句

C、continue语句  D、空语句

25、下面for循环的正确描述是(A)。

A、for循环体语句中,可以包含多条语句,但必须用花括号括起来

B、for循环只能用于循环次数已经确定的情况,不能用于无限循环

C、for循环是先执行循环体语句后判断表达式

D、在for循环中,不能用break语句结束循环

26、下列实型常量用指数形式表示正确的是(A)。

A、123E2B、.e4C、e-5D、1.2E-3.5

27、a是int类型变量,c是字符变量。

下列输入语句中错误的是(B)。

A、scanf("%d,%c",&a,&c);B、scanf("%d%c",a,c);

C、scanf("%d%c",&a,&c);D、scanf("d=%d,c=%c",&a,&c);

28、执行下列语句后输出结果是(C)。

inti,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、147B、159C、357D、369

29、设有inta=1,b=2,c=3,d=4,m=2,n=2;

执行(m=a>b)&&(n=c>d)后n的值(D)。

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

30、C语言中while和do-while循环的主要区别是(A)。

A、do-while的循环体至少无条件执行一次

B、while的循环控制条件比do-while的循环控制条件严格

C、do-while允许从外部转到循环体内

D、do-while的循环体不能是复合语句

31、下列运算符中优先级最高的是(B)。

A、

=

32、执行以下程序段后的输出结果是(C)。

main()

{inta=4;floatb=9.5;

printf(“a=%d,b=%4.2f\n”,a,b);}

A、a=%d,b=%f\nB、a=%d,b=%f

C、a=4,b=9.50D、a=4,b=9.5

33、下列选项定义了整型变量a,b和c,并为这三个变量赋初值为2,不正确的语句是(A)。

A、inta=b=c=2;B、inta=2,b=2,c=2;

C、inta,b,c;D、inta=2,c=2,b;

a=2;b=2;c=2;b=2;

34、在C语言中,要求运算对象必须是整型的运算符是(D)。

A、/B、+C、==D、%

35、若t为double类型,表达式t=1,t+5,t++的值是(C)。

A、1B、6.0C、2.0D、1.0

36、在调用函数时,如果实参是简单变量,则它与对应形参之间的数据传递方式是(A)。

A、单向值传递

B、地址传递

C、由实参传给形参,再由形参传给实参

D、传递方式由用户指定

37、不能把字符串“Hello!

”赋给数组b的语句是(B)。

A、charb[10]={'H','e','l','l','o','!

'};        

B、charb[10];b="Hello!

";

C、charb[10];strcpy(b,"Hello!

");          

D、charb[10]="Hello!

";

38、以下正确的函数声明形式是(C)。

A、floatfun(intx,inty)

B、floatfun(intx;inty);

C、floatfun(int,int);

D、floatfun(intx,y);

39、以下对二维数组a的正确说明是(C)。

A、inta[3][];B、floata[3,4];

C、doublea[3][4];D、floata(3)(4);

40、下列关于C语言中注释的叙述中错误的是(D)。

A、注释部分可以出现在程序中任意合适的地方

B、以“/*”开头并以“*/”结尾的字符串为C语言的注释符

C、程序编译时,不对注释作任何处理

D、程序编译时,需要对注释进行处理

41、下列各组字符序列中,全部为合法标识符的一组是(D)。

A、X.O,sum,_aboveB、class,lotus_1,2day

C、#md,month,student_n1D、D56,r_1_2,st_1

42、表达式“!

5||6&&8”的值是(A)。

A、1       B、0   C、5     D、8

43、若定义inta[5];则对a数组元素的引用错误的有(C)。

A、a[3]B、a[5-2]C、a(0)D、a[0]

44、假设所有变量均为整数,则表达式(a=2,b=5,b++,a+b)的值是(B)。

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

45、下面不正确的字符常量是(A)。

A、“C”B、‘?

’C、‘W’D、‘\101’

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

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

47、以下程序的输出结果是(D)。

main( )

{ int x=11,y=11;

printf("%d,%d\n",x--,--y);}

A、11,11 B、10,10C、10,11 D、11,10

48、以下不正确的描述是(B)

A、break语句能够用于循环语句和switch语句

B、continue语句的作用是结束整个循环的执行

C、在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行

D、在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环

49、C语言程序是由(D)组成。

A、过程B、子程序

C、主程序和子程序D、函数

50、执行以下程序段后的输出结果是(B)。

intx=7,y=8,z=9;

if(x>y)x=y;y=z;z=x;

printf(“x=%d,y=%d,z=%d\n”,x,y,z);

A、x=7,y=8,z=7B、x=7,y=9,z=7

C、x=8,y=9,z=7D、x=8,y=9,z=8

51、执行以下程序段后的输出结果是(C)。

main()

{intn=3;

while(n--!

=0);

printf(“%d\n”,n);

}

A、0   B、1   C、-1   D、死循环

52、逻辑运算符两侧运算对象的数据类型是(D)。

A、只是0或1B、只能是0或非0正数

C、只能是整型或字符型数据D、可以是任何合法的数据类型

53、下面能正确表示八进制数的是(D)。

A、0x16  B、029 C、-114 D、033

54、C语言中主函数的个数是(A)。

A、1      B、2   C、3     D、任意个

55、以下描述中正确的是(D)。

A、while、do-while、for循环中的循环体语句都至少被执行一次

B、do-while循环中,while(表达式)后面的分号可以省略

C、while循环体中,一定要有能使while后面表达式的值变为“假”的操作

D、do-while循环中,根据情况可以省略while

56、下面正确的字符常量是(B)。

A、'abc'   B、'a'   C、"a"   D、"ab2"

57、下列实型常量用指数形式表示正确的是(B)。

A、.e6B、123E4(C、e-6D、2.1E-5.3

58、以下程序的输出结果是(B)。

main()

{inti,a[10];

for(i=9;i>=0;i--)a[i]=10-i;

printf("%d%d%d",a[3],a[6],a[9]);}

A、258   B、741   C、852   D、369

59、设有以下程序段,则下面描述中正确的是(B)。

intk=2;

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

A、while循环2次B、循环体一次也不执行

C、循环是无限循环D、循环体只执行一次

60、下列实型常量用指数形式表示正确的是(B)。

A、3EB、1.23E4C、ED、1.2E-3.4

61、设x,y和z均为int型变量,则执行语句“x=(y=(z=10)+5)-5;”后,x,y和z的值是(A)。

A、x=10B、x=10C、x=10D、x=10

y=15y=10y=10y=5

z=10z=10z=15z=10

62、以下程序的输出结果是(D)。

main( )

{ int x=5,y=5;

printf(“%d,%d\n”,--x,y++);

}

A、4,6 B、6,5 C、5,5 D、4,5

63、若用数组名作为函数调用的实参,传递给形参的是(A)

A、数组的地址B、数组中第一个元素的值

C、数组中的全部元素的值D、数组元素的个数

64、下列四组选项中,属于C语言合法标识符的选项是(C)。

A、2ab       B、@f   C、_a12   D、?

b

65、执行以下语句后,则x,y和z的值分别为(B)。

intx=1,y=2,z=3;

if(x>y)z=x;x=y;y=z;

A、x=1,y=2,z=3B、x=2,y=3,z=3

C、x=2,y=3,z=1D、x=2,y=3,z=2

66、以下叙述正确的是(C)。

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

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

C、C语言本身没有输入输出语句,输入输出需要调用库函数

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

67、已知各变量的类型说明如下:

   intk,a,b;

   unsignedlongw=5;

   doublex=1.42;

则以下不符合C语言语法的表达式是(A)。

A、x%(-3)   B、w+=-2   C、k=(a=2,b=3,a+b)  D、a+=a-=(b=4*3)

68、设有定义inta,b;当执行scanf(“%d,%d”,&a,&b);语句时,若要求a、b的值分别为3、5,则正确的输入格式为(C)。

A、a=3,b=5B、a=3b=5C、3,5D、35

69、判断char型变量ch是否为小写字母的正确表达式是(  C    )。

A、‘a’<=ch<=‘z’           B、(ch>=‘a’)&(ch<=‘z’)

C、(ch>=‘a’)&&(ch<=‘z’)   D、(‘a’<=ch)AND(‘z’>=ch)

70、下列选项中,正确的字符常量是(C)。

A、“F”B、’\\’’C、’W’D、””

71、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行。

B、在C语言程序中,要调用的函数必须在main()函数中定义

C、C语言程序总是从main()函数开始执行

D、C语言程序中的main()函数必须放在程序的开始部分

72、以下程序的运行结果是(A)。

main()

{intk=4,a=3,b=2,c=1;

printf(“%d\n”,k

k:

c

c:

a);

}

A、1B、2C、3D、4

73、以下选项中可作为C语言合法整数的是(C)。

A、10110BB、0386C、0xffaD、x2a2

74、以下叙述错误的是(D)。

A、一个C源程序可由一个或多个函数组成。

B、一个C源程序必须包含一个main函数。

C、C程序的基本组成单元是函数。

D、在C程序中,注释说明只能位于一条语句的后面。

75、下列运算符中优先级最低的是(A)

A、?

:

B、&&C、+D、!

=

76、设有定义inta,b;当执行scanf(“%d%d”,&a,&b);语句时,若要求a、b的值分别为12、24,则正确的输入格式为(D)。

A、a=12,b=24B、a=12b=24C、12,24D、1224

77、下列运算符中,不属于关系运算符的是( C )。

A、=C、!

D、!

=

78、若定义inta[10];则对a数组元素的正确引用的有(D)。

A.a[10]B.a[5.5]C.a(9)D.a[5-5]

79、已知字母A的ASCⅡ值为65,且c2为字符型,则执行以下语句后,c2中的值为(A)。

printf(“%c”,c2=’A’+’6’-‘3’);

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

80、能正确表示逻辑关系:

“a<10并且a>0”的C语言表达式是(C)。

A、a<10anda>0B、a<10|a>0C、a<10&&a>0D、a<10||a>0

81、字符串“Aabc”的长度为(C)。

A、1B、5C、4D、6

82、下列程序段运行后,x的值是(D)。

inta=1,b=0,x=4;

if(a==0)++x;

elseif(b!

=0)x=7;

elsex=13;

A、4B、5C、7D、13

83、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=0、n=0,则逻辑表达式(m=ad)运算后,表达式的值为(B)。

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

84、以下选项中,符合C语言标识符命名规则的是( B )。

A、Aa_!

B、abcC、forD、3a

85、若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是( C )。

A、A%2==1B、!

(A%2==0)C、!

(A%2)D、A%2

86、以下程序段运行后,循环体执行(A)。

intn=3;

while(n==0)

{n/=5;

n--;}

printf(“%d”,n);

A、0次B、1次C、2次D、3次

87、结构化程序设计语言的基本结构中不包括( D )。

A、顺序结构B、选择结构C、循环结构D、指针结构

88、C语言程序中,主函数有(A)。

A、1个B、可以一个都没有C、可以有多个D、2个

89、设n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)。

.

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

90、当x、y、z的值分别为3、4、5时,执行以下各语句:

if(x>z){x=y;y=z;z=x;}

else{x=z;z=y;y=x;}

则x,y,z的值为(B)。

A、554B、545C、345D、544

91、下面有关for循环的正确描述是(D)。

A、for循环只能用于循环次数已经确定的情况

B、for循环是先执行循环体语句,后判定表达式

C、在for循环中,不能用break语句跳出循环体

D、for循环体语句中,可以包含多条语句,但要用花括号括起来

92、以下不正确的叙述是(D)。

A、在C程序中,逗号运算符的优先级最低

B、在C程序中,APH和aph是两个不同的变量

C、若变量a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

93、关于C程序循环语句说法不正确的是(A)。

A、只能构成单个循环B、while语句中可以有continue语句

C、可以进行多重循环嵌套D、for语句中可以有break语句

94、一个C程序的执行是从(A)。

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

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

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

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

95、下面不正确的字符串常量是(A)。

A、'abc'   B、"12'12"   C、"0"   D、""

96、有以下程序

main()

{intx,i;

for(i=1;i<100;i++)

{x=i;

if(x%2==0)

if(x%3==0)

if(x%7==0)

printf("%d",x);

}}(B)。

A、3981   B、4284  C、2668   D、2870

97、若有定义chararray[]="CHINA";则数组array所占存储空间的字节数为(C)。

A、4B、5

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

当前位置:首页 > 高等教育 > 其它

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

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