C语言程序设计复习题(选择题)新

C语言程序设计复习题(选择题)新
C语言程序设计复习题(选择题)新

第二部分选择题

1.假设整型变量a为2,使b的值为0的表达式是( )。

A)b=a/2 B)b=6-(--a) C)b=a%2 D)b=a>30:1

提示正确答案为C

2. 假设x=,a=7,y=,则表达式:x+a%3*(int)(x+y)%2/4的值为()。

A) B)2.75 C)3 D) 提示正确答案为A

3. 假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&&b+c/2的值是( )。

A)true B)false C)0 D) 1 提示正确答案为D

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

A)7 B)8 C)6 D)2 提示正确答案为B

5. 设整型变量x的值为5,y的值为2,则值为1的表达式是( )。

A)!(y==x/2) B)y!=x%3 C)x>0&&y<0 D)x!=y||x>=y

6.已知a=12,表达式a+=a-=a*=a的值为()。

A)144 B)-12 C)0 D)24 提示正确答案为C

6. 在下面C语言的函数说明语句中,正确的是()。

A) int fun(int x, int y);

B) int fun(int x,y);

C) int fun(x,y);

D) int fun(int x; int y); 提示正确答案为A

7. 设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为( )。

A) int B) float C) double D) 不能确定提示正确答案为C

8. 若有int k=5; float x=;则表达式(int)(x+k)的值是()。

A)5 B) C)7 D)6 提示正确答案为D

9. 表达式k=(12<10)4:12:3的值为()。

A) 1 B) 2 C) 3 D) 4 提示正确答案为B

10. 下列哪组运算符的优先级相同且运算次序从左到右()。

A)()[ ] -> . B)++ -- +=

C) < & | ^ D)&& || 提示正确答案为A

11. 已知:int x=1, y=2, z=0; 则执行:z=x>y10:20, z的值为()。

A)10 B)20 C)1 D)2 提示正确答案为B

12. 若已定义x和y为double类型,则表达式x=2,y=x+10/4 的值是( ) 。

A) 2 B) 4 C) D) 提示正确答案为C

13. sizeof(''a''+10)的值为()类型。

A)int B) float C) double D)char 提示正确答案为A

14. 已知:int x=1, y=2, z; 则执行:z=x>y++x:++y, z的值为( )。

(A) 1 (B) 2 (C) 3 (D) 4 提示正确答案为C

15. C语言中,运算对象必须是整型数的运算符是()。

A)% B)/ C)%和/ D)* 提示正确答案为A

16. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( )。

A)1 B)2 C) D) 提示正确答案为C

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

A)1 B)6.0 C) D)6 提示正确答案为C

18. 在以下一组运算符中,优先级最高的运算符是( )。

A)<= B)= C)% D)&& 提示正确答案为C

19. 若有以下定义:

| char a;int b;

float c;

double d;

则表达式a*b+d-c值的类型为( )。

A)float B)int C)char D)double 提示正确答案为D

20. 假设有int x=11; 则表达式(x++*1/3) 的值是()

A) 3 B) 12 C) 11 D) 0 提示正确答案为A

21. 以下关于运算符优先顺序的描述中,正确的是()。

A)关系运算符<算术运算符<赋值运算符B)逻辑运算符<关系运算符<算术运算符

C)算术运算符<关系运算符<赋值运算符D)赋值运算符<关系运算符<算术运算符提示正确答案为D

22. sizeof (double)是一个()。

A)整型表达式B)实型表达式C)不合法的表达式D)函数

提示正确答案为A

23. 下面对变量赋初值正确的是()

A)int a=b=c=1; B)int a=1,b=c=2;

C)int a=1,b=1,c=1; D)int a=b=1,c=2; 提示正确答案为C

24. 在C语言中,若以下变量均为int型,则下面程序段的输出结果是()。

s=6,u=6; u=s++;u++;

printf("%d",u);

A)7 B)6 C)5 D)4 提示正确答案为B

25. 若有定义:int x=3;double y; 则执行语句y=(double)x;后,变量x的数据类型为()。

A)int B)char C)flaot D)double 提示正确答案为A

26. 若有定义double x,y; 则表达式x=1,y=x+3/2的值为()。

A)1 B)2 C) D) 提示正确答案为C

27. 若有定义int x,y,t; 则执行语句: x=y=3,t=++x||++y;后,y的值为()。

A)不定值B)4 C) 3 D)1 提示正确答案为C

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

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

A) 4 B) 16 C) 32 D) 52 提示正确答案为C

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

A)7 B)8 C)6 D)2 提示正确答案为B

30. 设int a=1,则执行完循环While(a++<5);a的值是:

A)6 B)5 C)1 D)-264 提示正确答案为A

31. 在下列for循环中,其循环次数是()。

for(x=1,y=0;(y!=123)&&(x<4); x++);

A)4 B)3 C)1 D)无数多次提示正确答案为B

32. 设x和y均为int型变量,则执行下面的循环后,y的值为()。

for(y=1,x=1;y<=50;y++)

{if (x>=10) break;

if (x%2==1) {x+=5;continue;}

x-=3;

}

A)2 B)4 C)6 D)8 提示正确答案为C

33. 执行下面程序段的结果是()。

int x=23;

do

{ printf("%2d",x--);

}while (!x);

(A)打印出321 (B)打印出23 (C)不打出任何内容(D)陷入死循环

提示正确答案为B

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

A)从左起输出该字符串,右补空格B) 按原字符长从左向右全部输出

C) 右对齐输出该字串,左补空格 D) 输出错0信息

提示正确答案为B

35. putchar函数可以向终端输出一个()。

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

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

提示正确答案为D

36. 请读程序片段:int i=65536; printf("%d\n",i);

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

A) 65536 B) 0 C) 有语法错0,无输出结果D) -1

提示正确答案为B

37. 在下列程序段中:

int x, y ;

scanf("%3d*2d%d",&x,&y);

若输入的数据为:,则x、y的值分别为()。

A) 123,456 B)123,678 C)12345 678 D)无法得到正确的值

提示正确答案为B

38. 有如下程序,输入数据12 345后,y的值是( )。

#include <>

main()

{ int x;

float y;

scanf("%3d%f",&x,&y); }

(A) (B) (C) (D) 提示正确答案为B

39. 有如下程序,若要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是()。

main()

{int a1,a2;

char c1,c2;

scanf("%d%d",&a1,&a2);

scanf("%c%c",&c1,&c2);

}

(A)1020AB (B)10 20AB

(C)10 20 AB (D)10 20AB 提示正确答案为D

40. 执行下列程序段后,变量a,b,c的值分别是()。

int x=10,y=9;

int a,b,c;

a=(--x==y++)--x:++y;

b=x++;

c=y;

(A)a=9,b=9,c=9 (B)a=9,b=10,c=9

(C)a=1,b=11,c=10 (D)a=8,b=8,c=10 提示正确答案为D

41. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是( )。

(A) 3 (B) 0 (C) 9 (D) -12 提示正确答案为D

42. 在下列选项中,不正确的赋值语句是()。

A)t/=5; B)n1=(n2=(n3=0));

C)k=i==j; D)a=b+c=1; 提示正确答案为D

43. 设x为int型变量,则执行以下语句后,x的值为( )。

x=10;x+=x-=x-x;

A)10 B)20 C)0 D)-20 提示正确答案为B

44. 若有int a=1,b=2,c=3,d=4;则表达式:

a++

A)4 B)3 C)2 D)1 提示正确答案为C

45. 以下选项中( )是正确的C语言赋值语句。

A)x=3,y=5 B)a=b=6 C)i--;D)y=int(x);提示正确答案为C

46. 设有如下的变量定义:

int i=8,k,a,b;

unsigned long w=5;

double x=1,42,y=;

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

A)a=a-=(b=4)*(a=3) B)x%(--3)

C)a=a*3=2 D)y=float(i) 提示正确答案为A

47. 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的语句是( )。

A)c=b=a;B)(a=c)‖(b=c);C)(a=c)&&(b=c);D)a=c=b;提示正确答案为C

48. 在C语言的if语句中,用作判断的表达式为( )。

A)关系表达式B)逻辑表达式C)算术表达式D)任意表达式

提示正确答案为D

49. 以下程序的运行情况是( ).

#inlcude<>

void main( )

{int x=3,y=0,z=0;

if (x=y+z) printf("****");

else printf("####");}

A)有语法错0不能通过编译B)输出****

C)可以通过编译, 不能通过连接, 不能运行D)输出####

提示正确答案为D

50. 若有定义int x,y;下面选项中合法的if语句().

A)if(a==b)x++; B)if(a=

(C)if(a<>b)x++; (Dif(a=>b)x++; 提示正确答案为A

51. 运行下列程序并用键盘输入53,48,32 后,在屏幕上的内容是()。

main ()

{

int i,j,k;

scanf ("%d,%d,%d",&i, &j, &k);

if (i>50) printf("%d",i);

else if (i>40) printf("%d",j);

else if (i>30) printf("%d",k);

else printf("Error");

}

A)53 B)48 C)32 D)Error 提示正确答案为A

52. 若有int i=10,j=0; 并执行下列程序段:

switch ( i )

{

case 9:i+=1; break;

case 10:

case 11: i-=2; break;

default: j+=3; break;

}

则变量i的正确结果是()。

A)13 B)10 C)11 D)8 提示正确答案为D

53. 若int i=10,执行下列程序:

switch ( i )

{ case 9:i+=1;

case 10:

case 11:i-=1;

default:i+=1;

}

则变量i的正确结果是( )。

(A)10 (B)11 (C)12 (D)9 提示正确答案为A

54. 以下程序段的运行结果是()。

int a=7,b=8,c=9;

if(a>b)

a=b,b=c;c=a;

printf("%d,%d,%d\n",a,b,c);

A)7,8,7 B)7,9,7 C)8,9,7 D)7,8,9 提示正确答案为A

55. 两次运行以下程序,若从键盘上分别输入6和4,则输出结果是()。

main( )

{int x;

scanf("%d",&x);

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

A)7和5 B)7 C)7和4 D)6和4 提示正确答案为B

56. 下面程序的输出是()。

main( )

{int y=9;

for(;y>0;y--)

if(y%3==0)

{printf(“%d”,--y);continue;}

}

A)741 B)852 C)963 D)875421 提示正确答案为B

57. 假定所有变量均已正确说明,下列程序段运行后x的值是( )。

a=b=c=0;x=35;

if(!a)x--;

else if(b)

if(c) x=3;

else x=4;

A)34 B)4 C)35 D)3 提示正确答案为B

58. 下面程序的运行结果是()。

main( )

{int k=3;

if (k++>3) printf("%d\n",k++);

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

A)5 B) 4 C)3 D)2 提示正确答案为C

59. 下面程序的输出结果为( ) 。

main( )

{int x=0,a=10,b=20,c=15;

if (a>b) if(b

else x=2;

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

A)0 B)1 C)2 D)不确定提示正确答案为A

60. 下列程序的输出结果是()。

#include <>

main( )

{int a,b,c;

a=1;b=2;c=3;

a=(c=a>b)&&(b=c

printf("%d,%d,%d\n",a,b,c);

}

A)1,2,3 B)0,2,0 C)1,2,0 D)1,0,0 提示正确答案为B

61. 如果有#define f(x,y) x+y及int a=2,b=3;则执行printf("%d",f(a,b)*f(a,b)) 后的值为( )。

A)36 B)25 C)11 D)13 提示正确答案为C

62. 若#include后面的文件名用双引号括起来,寻找被包含文件的方式是()。

A)先按系统设定的标准方式查找,再在当前目录中查找

B)先在当前目录中查找,再按系统设定的标准方式查找

C)只在当前目录中查找

D)只按系统设定的标准方式查找提示正确答案为B

63. 在宏定义#define PI 中,用宏名PI代替一个()。

A)单精度数B)双精度数C)常量D)字符串提示正确答案为D

64. 执行下面的程序

#define SQR(X) X*X

main()

{ int a=10,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

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

后,a的值是( )。

(A)10 (B)9 (C) 1 (D)0 提示正确答案为C

65. 下面程序的输出结果是()。

#include ""

#define SUB(x,y) (x)*y

main( )

{int a=3,b=4;printf("%d\n",SUB(a,b+1));}

A)12 B)16 C)15 D)13 提示正确答案为D

66. 下列程序执行后的输出结果是( ) 。

#define MA(x) x*(x-1)

main ( )

{ int a=1,b=2;

printf("%d\n",MA(1+a+b));}

A) 6 B) 8 C) 10 D)12 提示正确答案为B

67. 设有以下宏定义:

#define N 3

#define Y(n) (N+1*n)

则执行语句:z=2*(N*Y(5+1));后,z的值为( )。

A)30 B)72 C)48 D)54 提示正确答案为D

68. 以下程序的输出结果是()。

#define M(x,y,z) x*y+z

main( )

{ int a=1,b=2,c=3;

printf("%d\n", M(a+b,b+c,c+a)); }

A) 19 B) 17 C) 15 D) 12

提示正确答案为D

69. 一个C程序的组成部分可以是()。

A) 一个主函数和一至若干个其他函数

B) 一至若干个主函数

C) 一个主程序和一至若干个其他函数

D) 一个主程序和一至若干个子程序提示正确答案为A

70. 以下叙述正确的是()。

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

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

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

D)在对一个C程序进行编译的过程中,可发现注释中的拼写错提示正确答案为C

71. C语言规定,C程序执行的开始处为()。

A) 源程序中排列在最前面的函数

B) 一个指定的系统库函数

C) 用户指定的一个特定函数

D) 程序的主函数提示正确答案为D

72. 一个C程序的执行是从( )。

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

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

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

D)本程序文件的第一个函数开始,到本程序main函数结束提示正确答案为A

73. 一个C语言程序是由()组成。

A) 一个函数B) 一个或若干个函数

C) 一个过程(D) 一个过程或若干个过程提示正确答案为B

74. 下列说法中提示的是( )。

A) 程序的执行总是从主函数开始。

B) 主函数可以调用任何非主函数的其它函数

C) 任何非主函数可以调用其它任何非主函数

D) 程序可以从任何非主函数开始执行提示正确答案为D

75. C程序的基本单位是()。

A)函数B)过程C)语句D)子程序提示正确答案为A

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

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

C)可以任意 D)必须在最后提示正确答案为C

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

A) define B) getc C) include D) while

IF char scanf go

type printf case pow 提示正确答案为A

78. 以下叙述不正确的是()。

A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数

C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面

提示正确答案为D

79. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

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

C) 必须为字母或下划线 D) 可以是字母、数字和下划线中任一种字符

提示正确答案为C

80. 执行下面程序后,a的值是()。

#include <>

void main ()

{ int a;

printf(“%d\n”,(a=3*5,a*4,a+5));

}

A)65 B)20 C)15 D)10 提示正确答案为B

81. 以下程序的输出结果为()。

#include <>

main( )

{ int i;

for (i=0;i<10; i++);

printf("%d",i);

}

A) 0 B) 123456789 C) 09 D) 10 提示正确答案为D

82. C语句for(; ;){ ……}是指()。

A)无意义B)无限循环C)循环执行1次D)循环执行0 提示正确答案为B

83. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A)缩进位置相同的if (B)在其之前未配对的if

C)在其之前最近的未配对的if (D)同一行上的if 提示正确答案为C

84. 在下列程序中,调用f(8)的值是().

int f( int n)

{ if(n==1) return(1);

else if(n==2) return(2);

else return(f(n-1)+f(n-2));

}

A) 13 B) 21 C) 55 D) 34 提示正确答案为D

85. 在C语言的函数概念中,以下叙述正确的是()。

A) 函数没有被调用时,形参不会占据内存单元

B) 函数调用时,形参和与其对应的实参再不同名时才各占独立的存储单元

E) 形参在函数调用时不占存储单元

F) 函数没有被调用时,形参也要占据内存单元提示正确答案为A

86. 在C语言的函数概念中,以下叙述正确的是()。

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

B) 函数调用时,形参和与其对应的实参再不同名时才各占独立的存储单元

C) 形参在函数调用时不占存储单元

D) 函数没有被调用时,形参也要占据内存单元提示正确答案为A

87. 以下对C语言函数的有关描述,正确的是( )。

A)在C中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B)C函数既可以嵌套定义又可以递归调用

C)函数必须有返回值,否则不能使用函数

D)C程序中有调用关系的所有函数必须放在同一个源程序文件中提示正确答案为A

88. 以下对C语言函数的有关描述,正确的是( )。

A) 在C中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B) C函数既可以嵌套定义又可以递归调用

C) 函数必须有返回值,否则不能使用函数

D) C程序中有调用关系的所有函数必须放在同一个源程序文件中提示正确答案为A

89. 在一个void类型函数的定义中,函数体中有return;语句,该语句()。

A) 是错0的 B) 表示向主调函数返回程序控制

C) 在执行时不予理睬 D) 在执行时会中断程序运行提示正确答案为B

90. 下列程序的输出结果是().

viod f(int *m)

{while((*m)--);

printf("%d",++(*m));}

main( )

{int x=50,*p=&x;

f(p);}

A)0 B)1 C)49 D)50 提示正确答案为A

91. 下述函数的功能是( )。

int fun(char *x)

{char *y=x;

while(*y++);

return y-x-1;

}

A)将字符串x连接到字符串y的后面B)求字符串的存放位置

C)比较两个字符串的大小 D)求字符串的长度提示正确答案为D

92. 以下程序的输出结果是()。

int m=4,n=6;

max( int x,int y)

{int max;

max=x>yx:y; return(max);

}

main( )

{int m=10;

printf("%d",max(m,n));

}

A)4 B) 10 C)6 D)5 提示正确答案为B

93. C语言中,以下叙述错的是()。

A) 函数被调用时,系统才为形参分配内存 B) 实参和对应形参的数据类型必须一致

C) 实参可以是变量、常量或表达式 D) 形参可以是变量、常量或表达式

提示正确答案为C

94. C语言中,函数调用时若实参是数组名,则传递给被调函数对应形参的是()。

A) 整个数组 B) 数组元素的个数

C) 数组占用的内存单元个数 D) 数组在内存中存放的首地址提示正确答案为D

95. C语言中,以下叙述错的是()。

A) 函数被调用时,系统才为形参分配内存 B) 实参和对应形参的数据类型必须一致

C) 实参可以是变量、常量或表达式 D) 形参可以是变量、常量或表达式

提示正确答案为C

96. C语言中,以下叙述中错的是()。

A) 同一程序中,全局变量和局部变量可以同名

B) 局部变量的作用域被限定在其所定义的局部范围中

C) 同一程序中,全局变量和局部变量不能同名

D) 全局变量的作用域从定义处开始到本源程序文件结束提示正确答案为C

97. 在C程序中,同一程序中的各函数之间()。

A) 既允许直接递归调用也允许间接递归调用

B) 既不允许直接递归调用也不允许间接递归调用

C) 允许直接递归调用但不允许间接递归调用

D) 允许间接递归调用但不允许直接递归调用提示正确答案为A

98. C语言中,以下叙述错的是()。

A) 函数调用可以是单独的语句 B) 函数调用可以出现在表达式中

C) 函数调用可以作为函数的实参 D) 函数调用可以作为函数的形参

提示正确答案为D

99. 在C语言中,函数调用时如果相应的形参和实参都是简单变量,则主调函数和被调函数之间传递数据的方式是()。

A) 单向地址值传递 B) 双向地址值传递

C) 单向数值传递 D) 双向数值传递提示正确答案为C

100. 在C程序的函数调用时,主调函数中的实参和被调函数中的形参()。

A) 个数、次序必须相同,但数据类型可以不考虑

B) 个数、次序和对应参数的数据类型都应该相同

C) 个数、次序和数据类型均可以不相同

D) 对应参数数据类型应相同,但个数和次序可以不考虑提示正确答案为B

101. C程序在()可以使用表达式。

A)函数内部B)函数外部C)程序的任何地方D)变量出现的地方提示正确答案为C

102. 在C语言中,函数返回值的数据类型取决于()。

A) 函数的名字 B) return语句中表达式的数据类型

C) 在定义该函数时所指定的数据类型 D) 主调函数的数据类型提示正确答案为C 103. 在一个源程序文件中定义的全局变量,其作用域为()。

A) 整个源程序文件 B) 从定义处开始到本源程序文件结束

C) 整个主函数 D) 所处C程序的所有源程序文件中

提示正确答案为B

104. 如果程序中有static char c; 则编译程序会对其自动设置初值为()。

A) ''\n'' B) "\n" C) 0 D) ''\0'' 提示正确答案为D 105. 在C函数中,局部变量的隐含存储类型是( )。

A) auto B) static C) register D) extern 提示正确答案为A 106. C语言中规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )。

A)地址传递 B)单向值传递

C)有实参传给形参,再由形参传回给实参D)由用户指定传递方式

提示正确答案为B

108. 在C程序中,如果限定一个局部变量只能在所定义的范围中起作用,那么这个变量的存储类型()。

A) 只能是auto B) 只能是extern

C) 可以是auto或static D) 可以是extern或static 提示正确答案为C

109. 在C语言中,若定义函数时未说明函数的类型,则该函数的数据类型为()。

A) int B) float

C) char D) double 提示正确答案为A

110. 在下面C语言的函数说明语句中,正确的是()。

A) int fun(int, int); B) int fun(int x,y);

C) int fun(x,y); D)int fun(int x; int y); 提示正确答案为A 111. C语言中,函数调用时若实参是数组名,则被调函数对应形参()。

A) 可以是相应类型简单变量 B) 必须是相应类型数组名

C) 可以是相应类型数组名 D) 必须是相应类型的指针变量提示正确答案为C 112. C语言中,函数调用时若实参是数组名,则被调函数对应形参()。

A) 可以是相应类型简单变量B) 必须是相应类型的指针变量

C) 必须是相应类型数组名D) 可以是相应类型的指针变量

113. 在C语言中,下面关于数组的描述正确的是( )。

A)数组的大小是固定的,但可以有不同类型的数组元素

B)数组的大小是可变的,但所有数组元素的类型必须相同

C)数组的大小是固定的,所有数组元素的类型必须相同

D)数组的大小是可变的,可以有不同的类型的数组元素提示正确答案为C

114. C语言中,以下叙述中错的是()。

A) 主函数中定义的变量是全局变量

B) 同一程序中,全局变量和局部变量可以同名

C) 全局变量的作用域从定义处开始到本源程序文件结束

D) 局部变量的作用域被限定在其所定义的局部范围中提示正确答案为A

115. 在C语言中引用数组元素时,数组下标允许是()

A)只能是整型变量B)只能是整型表达式

C)整型常量或整型表达式D)任何类型的表达式提示正确答案为C 116. 已知:int a[3][4], p=a; p+=6; 那么与*p的值相同的是()。

A)*(a+6) B)*(&a[ 0 ]+6) C)*(a[1]+2) D)*(&a[ 0 ][ 0 ]+6) 提示正确答案为D

117. 定义如下变量和数组:

int i;

int 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)1 5 9 B)1 4 7 C)3 5 7 D)3 6 9

提示正确答案为C

118. 在下面关于一维数组的定义中,其中()有语法错。

A) int x[ ]={1,2,3,4,5};

B) int x[5]={0};

C) int x[ ];

D) int x[5]; 提示正确答案为C

119. 设有字符数组a,则正确的输入语句是()。

A) gets(''a''); B) scanf("%c",a);

C) scanf("%s",a); D) gets("a"); 提示正确答案为C

120. 有定义:int x,*p ;,能使指针变量p指向变量x的语句是()。

A) *p=&x; B) p=&x; C) *p=x; D) p=*&x; 提示正确答案为B 121. 有定义:int x,*p1=&x, *p2;,则能使得p2也指向x的语句是()。

A) *p2=&x; B) p2=p1; C) p2=*p1; D) p2=&p1; 提示正确答案为B

122. 有定义:int x,y=10,*p=&y;,则能使得x的值也等于10的语句是()。

A) x=p; B) x=&p; C) x=&y; D) x=*p; 提示正确答案为D 123. 有定义:int *p1,*p2;,则正确的赋值语句为()。

A) p1*=p2; B) p1/=p2; C) p1+=p2; D) p1+=3; 提示正确答案为D

124. 有定义:int *p1,*p2;,则正确的赋值语句为()。

A) p1=p2; B) p1/=p2; C) p1+=p2; D) p1*=p2; 提示正确答案为A

125. 有定义:int a[5][4], *p=a[ 0 ];,则*(p+2*4+3)等于()。

A) a[2][ 0 ] B) a[2][1] C) a[2][2] D) a[2][3] 提示正确答案为D

126. 有定义:int a[5][4], (*p)[4]=a;,数组a的首地址为100,*(p+2)+3等于()。

A)116 B) 118 C) 120 D) 122 提示正确答案为D

127. 有定义:int a[5][4], (*p)[4]=a;,则*(*(p+2)+3)等于()。

A) a[2][0] B) a[2][1] C) a[2][2] D) a[2][3] 提示正确答案为D 128. 有定义:int a[]={1,3,5,7,9},*p=a;,则值为5的表达式是()。

A) p+=2, *p++ B) p+=2, *++p C) p+=2, (*p)++ D) a+=2, *a

提示正确答案为A

C语言程序设计试题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12AC C、sun D、A 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)

A、INPUTx、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main()

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

c语言程序设计试题答案

习题7 7.1选择题。 (1)下列对字符串的定义中,错误的是: A 。 A) char str[7] = "FORTRAN"; B) char str[] = "FORTRAN"; C) char *str = "FORTRAN"; D) char str[] = {'F','O','R','T','R','A','N',0}; (2)以下程序段的输出结果是:____D_________ char a[] = "ABCDE" ; char *p = NULL; for (p=a; p main() { static char a[5]; a = "abcde" ; printf("%s\n", a); }

B) #include <> main() { static char a[7]= "goodbye!"; printf("%s\n", a) ; } C) #include <> main() { char a[5] = "abcde"; printf("%s\n", a) ; } D) #include <> main() { static char a[]="abcde"; printf("%s\n", a) ; } (4)阅读下列函数,函数功能为___A_____。 void Exchange(int *p1, int *p2) { int p; p = *p1; *p1 = *p2; *p2 = p; } A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值 C)交换*p1和*p2的地址 D)可能造成系统故障

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计试题集

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言程序设计期末考试选择题题库

第一章1、一个C程序可能出现的错误有(A)A,以上都包括 B,逻辑错误 C,运行错误 D,语法错误 2、C程序中一般可以包含几个函数(D) A.1个 B.多个 C.0个 D.至少一个 3.C语言属于程序设计语言的哪个类别(B) A.机器语言 B.高级语言 C.面向对象语言 D.汇编语言 4.以下关于C语言描述错误的是(B) A.一个C程序总是从main函数开始执行 B.一个C程序可以包含多个main函数 C.每个语句的最后必须有一个分号 D.C语言的注释符是以"/*"开始并以"*/"结束

5、在调试过程中,逻辑错误是指(C) A.所书写的语句,不符合C的语法。 B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。 C.程序的运行结果不符合题目要求。 D.在exe文件的执行过程中,产生运行异常。 第二章 1、16位的二进制数可以表示的整数的范围是(C) A.[-32768,32768] B.[-32767,32768] C.[-32768,32767] D.[-32767,32767] 2、C语言中的实型数据包括(A) A.float和double B.int和float C.float和char D.int和double 3、以下不合法的字符常量是(C) A.'2' B.'A' C.'ab'

4、在以下各组标识符中,均是合法的C语言标识符是(A) A.abc,A_4d,_student,xyz_abc B.auto,12-a,a_b,ab5.x C.A_4d,_student,xyz_abc,if D.abc,a_b,union,scan 5、若有定义:chara;intb;floatc;doubled; 则表达式a*b+d-c值的类型为(A) A.char B.float C.double D.int 6、类型修饰符unsigned不能修饰(D) A.char B.longint C.int D.float 7、若有定义:doublex=1,y; 执行语句,则y的值是(B) A,1 B,2.0

C语言程序设计试卷及答案

C语言程序设计试卷及 答案 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

C语言程序设计 一、单项选择题(共15小题,每题4分,共60分) 1、下列有关C语言的叙述中错误的是()。 A)C语句必须以分号结束B)任何一个C程序中有且只有一个主函数 C)复合语句在语法上可被看作一条语句D)C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A)MAINB)_HJC)2ongD)LINE1 3、以下能正确定义一维数组的是()。 A)inta[5]={0,1,2,3,4,5};B)inta[5]=”012345”; C)chara[]=”012345”;D)chara[5]={0,1,2,3,4,5}; 4、以下关于main()函数的说法,正确的是。 A)main()必须是程序的第一行B)main()可以有参数 C)一个程序可以有多个main()D)main()可以被用户自定义的函数调用 5、设charstr1[10]=“ABCDE”,str2[10]=“xyz”; 则执行语句printf(“%d”,strlen(strcpy(str1,str2)));后的输出结果是()。 A)9B)8C)5D)3 6、若用数组名作为函数调用的实参,则传递给形参的是()。 A)数组的首地址B)数组第一个元素的值C)数组中全部元素的值D)数组元素的个数 7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()。 A)void?B)double?C)int?D)char 8、下面不能正确进行字符串赋值操作的语句是()。

C语言程序设计习题集(3)

指针 一单项选择题(每题2分,共40分) 1 以下叙述中错误的是_B__。 A 在程序中凡是以“#”开始的语句行都是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX是合法的宏定义命令行 D C程序对预处理命令行的处理是在程序执行的过程中进行的 2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的是__B_。 A 宏定义行中定义了标识符N的值为整数100 B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义: #define N 2 #define y(n) ((N+1)*n) 则执行下列语句:z=4*(N+y(5));后的结果是_B__。 A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果是_A__。 #define F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果是_C__。 #define f(x) (x*x) main() { int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句: static int a[]={2,4,6,8} static int *p[]={a,a+1,a+2,a+3}; int **q; q=p; 则表达式**(q+2)的值是_A__。 A 6 B 2 C 4 D 8 8 下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该__C_。 A *px B a C px D &a 9 若指针px为空指针,则_B__。。

C语言程序设计 复习题库

一、填空 1. break 语句通常用于switch // 循环中。 2. C 语言对数组下标的引用一般从0 开始。 3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 4. C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在 math.h 头文件中。 5. C 程序的运行需要经过编译和链接两步进行。 6. C 程序中用/**/ 括起来的内容是程序的注释语句。 7. C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数 名和函数参数。 8. C 语言提供的三种逻辑运算符是& ,// ,!。 9. C 语言源程序经过编译后,生成文件的后缀名是.c 。 10. C 语言源程序经过连接后,生成文件的后缀名是.exe 。 11. C 语言中,关系表达式和逻辑表达式的值是1//0 。 12. C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。 13. C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。 14. C 语言中函数返回值的类型是由函数类型决定的。 15. C 源程序的基本单位是函数。 16. int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b 的值为 4 。 17. int x=1,y=1,z=1; x+=y+=z; 则表达式xb>c 的值是0 。 19. 定义一个指针p,它指向一个有 6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。 20. 定义一个指针数组p ,它有 4 个元素,每个指针指向一个整型数据,定义语句为int *p[4]; 。 21. 赋值语句是由= 加上一个分号构成。 22. 构成数组的各个元素必须具有相同的类型。 23. 关系表达式x+y>5 的相反表达式为x+y !>5 。 24. 函数strlen("1234\0xy") 的值为:9 。 25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。 26. 函数体用{ 开始,用} 结束。 27. 结构化设计中的三种基本结构是顺序,选择,循环。

c语言程序设计期末试题B(含答案)

c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include main( ) { int a = 1, b = 2, c = 3; printf(“%d”, c>b>a); } A) 2 B) 1 C) 0 D) 3 3.以下正确的叙述是() A) 在C语言中,main函数必须位于文件的开头 B) C语言每行中只能写一条语句 C) C语言本身没有输入、输出语句 D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误 4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是() A)scanf("%d",pa); B)scanf("%d",a); C)scanf("%d",&pa); D)scanf("%d",*pa); 5.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是() A) 0 B) 0.5 C) 1 D) 2 6. D 7. D 8. A 9. C 10. D 6.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是() A) a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D)a>=10‖a<=0 7.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是() main( ) { int a,b,c,d; scanf(“%d,%d,%d%d”,&a,&b,&c,&d); … } A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言程序设计模拟试题1附答案

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。

C语言程序设计试题与答案D

绝密★启用前学院 学年第二学期期末考试 级专业()《 C语言程序设计》试卷D 一、单项选择题(本大题共15小题,每小题2分,共30分) 1、以下正确的C语言自定义标识符是() A._la B.2a_ C.do D.a.12 2、在C语言中,错误 ..的常数表示是() A.0L B.-0x6aL C.′6′D.1.234E3.5 3、设int a,x=2;执行语句a=x>0?3*x:(x=10);后,变量x的值是() A.1 B.2 C.6 D.10 4、设有以下程序段: int x=2,y=2,z=0,a; a=++x||++y&&z++; printf(″%d,%d,%d\n″,x,y,z); 执行后输出的结果是() A.2,2,0 B.3,3,1 C.3,2,0 D.3,2,1 5、逗号表达式a=2*6,a*3,a+5的值是() A.12 B.17 C.36 D.41 6、设int a[2][3]={{1},{2,3}};,则元素a[1][0]的值是() A.0 B.1 C.2 D.3 7、C语言中,错误 ..的int类型的常数是() A.1E5 B.0 C.037 D.0xaf 8、在C语言中,′a′和″a″存储所占用的字节数分别是() A.1,1 B.1,2 C.2,1 D.2,2 9、设int x;,则以下语句中错误 ..的输入是() A.scanf (″%d″,x); B.scanf (″%d″,&x); C.scanf (″%o″,&x); D.scanf (″%x″,&x); 10、在C语言中,运算符″=″和″==″的功能分别是() A.关系运算和赋值运算B.赋值运算和关系运算 C.都是关系运算D.都是赋值运算 11、设int x[]={1,2,3,4,5},*p=x;,则值为3的表达式是() A.p+=2, *p++ B.p+=2, *++p C.p+=2, p++ D.p+=2, ++*p 12、设for(i=0, j=10; (j>0)&&(i<4); i++, j--);,该语句的循环次数是() A.0 B.3 C.4 D.无限 13、设函数定义如下: float f1 (float a, float b) { return (a+b); } 若有float x=1.1, y=2.2;,则以下语句中正确的函数调用是() A.printf (″%f″, f1(x)); B.printf (″%f″,f1(&x, y)); C.printf (″%f″,f1(*x,*y)); D.printf (″%f″,f1(x, y)); 14、若有说明:int i,j=7,*p=&i;则与i=j;等价的语句是()。 A. i=*p; B. *p=*&j; C. i=&j ; D. i=**p; 15、设char str1[10]=″ABCDE″,str2[10]=″XYZ″;则执行语句: printf(″%d″,strlen(strcpy(str1,str2))); 后的输出是()。 A. 3 B. 5 C. 8 D. 9 二、填空题(本大题共10小题,每小题2分,共20分) 16、一个C语言程序的基本组成单位是___________________。 17、求字符串的有效长度的系统函数名是___________________。 18、设float a [4][5];,则数组a中第一维下标的最大值是___________________。 19、设int a; float b; char c; long d; double e; , 则表达式a/c-b+d-e值的类型是 ______________。 20、设int a=2;,则执行a+=a*=15;后,变量a的值是__________。 21、一个C语言程序的执行起点是__________。 22、设double y[4][5];,则数组y中元素的个数是__________。 23、设int x=7,y=3,则表达式x%y+x/y的值是__________。 24、一个short型变量所占内存的字节数是____________________。

C语言程序设计考试题库

一、判断题 1、所谓常量,就是在程序运行过程中其值可以改变的量。() 2、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。() 3、在C语言中do-while 语句和for循环均是先执行循环体语句,再判断表达式。() 4、在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。() 5、C语言中所有字符串都是以‘\0’结束的。() 6、do-while构成的循环语句中的循环体最少执行1次。() 7、数组名在C语言中表示的是数组的首地址。() 8、使用gets()函数输入字符串时可以在字符串中输入空格。() 9、算术运算符中‘/’的优先级高于‘%’。() 10、char a[5];该语句表明数组a中的第五个元素为a[5]。() 11、C语言源程序文件的扩展名均为.c。() 12、char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。() 13、C语言程序区分大小写,字符常量必须定义为大写。() 14、若int i=10,j=2;则执行i*=j+8;后i的值为28。() 15、若int x=100,y=200;则语句printf("%d",(x,y));输出结果为100。() 16、c语言中的标识符只能由字母,数字和下划线三种字符组成。() 17、函数getchar()的作用是:输出一个字符。() 18、一个C语言程序总是从第一个函数开始执行。() 19、在c语言中,char型数据在内存中是以ASCII码形式存储的。() 20、在C语言中switch语句必须使用break语句。() 二、选择题 1、以下说法正确的是()。 A、C语言程序总是从第一个函数开始执行。 B、C语言程序中要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

C语言程序设计试题集及答案

单项选择题 (002) 阅读程序题 (018) 程序填空题 (039) 编写程序题 (070) 一、单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123C) %d D) \n

【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodbs tart$it line# pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 (超过了范围) B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) –ffff D) ffff 【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768C) 1 D) 32768 【1.11】已知long i=65539; 执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。

C语言程序设计复习题

《C语言程序设计》复习题 一、判断题(本大题共60个小题) 1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。 2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。 3.注释内容太多会影响程序的执行效率。 4.变量要“先定义,后使用”。 5.字符常量'a'与字符串常量"a"没有区别。 6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。 7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。 8.表达式5/2+5.0/2+7%6 的值为5.5。 9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。 10.设int a=12; 则表达式a/=a+a的值是0.5。 11.在C语言中,运算符!比&&的优先级高。 12.在C语言中,运算符的优先级最小的是逗号运算符。 13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。 14.以下程序运行结果是:1,7,0 void main() { int x=1,y=1,z=10; if(z< 0) if(y> 0) x=3; else x=5; printf(" %d," ,x); if(z=y< 0) x=3; else if(y==0) x=5; else x=7; printf(" %d,%d" ,x,z); } 15.该程序运行结果是:BCother void main()

{ char x=‘B’; switch(x) { case ‘A’: printf(“A”); case ‘B’: printf(“B”); case ‘C’: printf(“C”); default: printf(“other”); } } 16.下面程序段运行时输出结果是a=2,b=8 void main() { int x=1,y=1,a=2,b=7; switch(x) { case 1: switch(y) { case 0: a++;break; case 1: b++;break; } case 2: a++;b++;break; case 3: a++;b++; } printf("a=%d,b=%d\n",a,b); } 17.下面程序,当输入为:"abc?" 时,执行结果是:abc void main() { char c; c=getchar(); while (c!='?' ) { putchar(c); c=getchar();} }

C语言程序设计的试题及答案

C语言程序设计的试题及答案 C语言程序设计的试题及答案C语言程序设计的试题及答案第一章基础知识 一、填空 1.每个C程序都必须有且仅有一个________函数。 2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3.软件是程序,以及______、使用和维护所需要的所有文档。 4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6.C语言是由________组成的。 7.C语言的函数可分为主函数ain、标准库函数和_________。 8.一个函数是由两部分组成的,即:________和函数体。 9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自

动化、管理信息系统、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。 13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14.C程序的执行均是由执行_________开始。15.函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C语句组成的执行部分。 16.C语言程序中一条简单语句是以________字符作为结束符的。 17.C语言是结构化、________的程序设计语言。 18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19.用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.第一个系统体现结构化程序设计思想的教学工具语言是_______语言。

相关文档
最新文档