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

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

第二部分选择题

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

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

提示正确答案为C

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

A)2.5 B)2.75 C)3 D)9.5 提示正确答案为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=1.2;则表达式(int)(x+k)的值是()。

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

9. 表达式k=(12<10)?4:1?2: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>y?10: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) 4.0 D) 4.5 提示正确答案为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)2.0 D)2.5 提示正确答案为C

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

A)1 B)6.0 C)1.0 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)2.0 D)2.5 提示正确答案为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);

若输入的数据为:12345678,则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)12.000000 (B)345.000000 (C)12345.000000 (D)0.000000 提示正确答案为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=5.2;

则以下符合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 3.1415926中,用宏名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 "stdio.h"

#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) 0123456789 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>y?x: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 语言程序设计(第三版)习题库 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++语言程序设计复习题

《C++程序设计》复习题 一、选择题 1.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( ) A、类 B、对象 C、函数体 D、数据块 2.面向对象的程序设计语言必须具备的关键要素是( ) A、抽象和封装 B、抽象和多态性 C、抽象、封装、继承和多态性 D、抽象、封装和继承性 3.类的构造函数被自动调用执行的情况是在定义该类的( ) A、成员函数时 B、数据成员时 C、对象时 D、友元函数时 4.设有函数模板 template Q Sum(Qx,Qy){ return(x)+(y); } 则下列语句中对该函数模板错误的使用是( ) A、Sum(10,2); B、Sum(5.0,6.7); C、Sum(15.2f,16.0f); D、Sum(″AB″,″CD″); 5.已知类A是类B的友元,类B是类C的友元,则( ) A、类A一定是类C的友元 B、类C一定是类A的友元 C、类C的成员函数可以访问类B的对象的任何成员 D、类A的成员函数可以访问类B的对象的任何成员 6.静态成员函数没有( ) A、返回值 B、this指针 C、指针参数 D、返回类型 7.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( ) A、都是虚函数 B、只有被重新说明时才是虚函数 C、只有被重新说明为virtual时才是虚函数 D、都不是虚函数 8.下面叙述不正确的是( ) A、派生类一般都用公有派生 B、对基类成员的访问必须是无二义性的 C、赋值兼容规则也适用于多重继承的组合 D、基类的公有成员在派生类中仍然是公有的 9.在C++中实现封装是借助于( )

C语言选择题题库

C语言程序设计题库说明 一本题库适用对象 计算机应用技术计算机软件软件技术计算机网络技术与计算机控制技术等专业 二本题库包含有175道选择题 三本题库所有题目均附有答案

一、选择题 下列各题ABCD四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡的相应位置上,答在试卷上不得分。 1、不合法的整数是()。 A)0x35 B)43.6 C)0532 D)-346 2、下列合法的字符常量是()。 A)“f” B)x C)65 D)‘\Xab’ 3、设有整型变量x,单精度变量y=,表达式x=float(y*3+((int)y%4))执行后,x的值为()。 A)17 B)17.500000 C) D) 4、在C语言中,负整数在内存中以()形式释放。 A)补码 B)BCD码 C)反码 D)十进制数 5、在C语言中,要求参加运算的数必须是整数的运算符是()。 A)/ B)!C)% D)= = 6、()是C语言中非法的数据类型关键字。 A)float B)singed C)integer D)Char

7、现已定义整形变量int i=1;执行循环语句while(i++<5);后i的值为()。 A)1 B)5 C)6 D)以上三个答案都不正确 8、下列语句的输出结果是()。 printf(“%f\n”,(float)(2+4)/2); A)有语法错误不能通过编译 B)3 C)D) 9、C语言中,整数-8在内存中的存储形式是()。 A)1111,1111,1111,1000 B)1000,0000,0000,1000 C)0000,0000,0000,1000 D)1111,1111,1111,0111 10、设C语言中,int类型数据占2个字节,则long类型数据占()个字节。 A)1 B)2 C)8 D)4 11、若变量a已说明为float类型,则能实现将a中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。 A)a=(a*100+/ B)a=(a*100+/100 C)a=(int)(a*100+/ D)a=(a/100+*

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

汇编语言程序设计练习题

汇编语言程序设计练习题 一、字符与串处理类 1.逆序输出字符串“BASED ADDRESSING”。 2.试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。 3.编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 4.从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示计数结果。 5.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。)放在STRING中,试编制一个程序测试字符串中是否存在数字。如有,则把CL的第5位置1,否则将该位置置0。 6.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。),将其中的小写英文字母变换为大写英文字母,其他字符保持不变。然后将变换后的字符串显示出来。 7.试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。 8.试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”, 若不相同则显示“NO MATCH”。 9.试编写一段程序,要求输入两个字符串,如两个字符串相等则显示“MATCH”, 否则显示“NO MATCH”。 10.试编写一段程序,要求在长度为100H字节的数组中,找出大于61H的无符号数的个数并存入字节单元UP中,找出小于2FH的无符号数的个数并存入字节单元DOWN中。 11.在内存区域0B800:0000-0B800:0FFFF(都是16进制数)内查找首地址为SOURCE的串(SOURCE的首字节为串长度),如果找到,则把AL的第0位置0,否则将该位置置1。 12.已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。试编制一个程序,把既在A中又在B中出现的整数存放于数组C中。 13.在附加段中,有一个首地址为LIST和未经排序的字数组。在数组的第一个字中,存放着该数组的长度,数组的首地址已存放在DI寄存器中,AX寄存器中存放着一个数。要求编制一个程序:在数组中查找该数,如果找到此数,则把它从数组中删除。 二、数字输入输出类 1. 试编制一个程序,把BX寄存器内的二进制数以十六进制数的形式在屏幕上显示出来。 2. 试编制一个程序,把BX寄存器内的二进制数以八进制数的形式在屏幕上显示出来。 3. 试编制一个程序,把BX寄存器内的二进制数以十进制数的形式在屏幕上显示出来。 4.从键盘上输入2个一位数,求出它们的和(假设和不超过1位)。 5.试编写一段程序,从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数。 6.试编写一段程序,从键盘接收一个0-65535间的十进制无符号数,并在终端上显示与它等值的二进制数。 7.试编写一段程序,从键盘接收一个-32768-32767间的十进制有符号数,并在终端上显示与它等值的二进制数。 8.编写一个程序,从键盘输入一个0~65535之间的10进制无符号数,然后以16进制

C语言题库_选择题(1)

本卷共有4道大 一、单项选择题(25道小题,共50分) 1、以下说法中正确的是(C)(2分) A、C语言程序总是从第一个的函数开始执行 B、在C语言程序中,要调用的函数必须在main()函数中定义 C、C语言程序总是从main()函数开始执行 D、C语言程序中的main()函数必须放在程序的开始部分 2、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)(2分) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 3、以下选项中,不合法常量的是(B)(2分) A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e0 4、C语言中最简单的数据类型包括(B)(2分) A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 5、能正确表示逻辑关系:“10≥=a≥=0”的C语言表达式是(D)(2分) A、10>=a>=0 B、a>=0 and a<=10 C、a>=0||a<=10 D、a>=0&&a<=10 6、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)(2分)A、6.500000B、6 C、5.500000 D、6.000000

7、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)(2分) A、INPUT x、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); 8、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是(D)(2分)A、把x和y按从大到小排列B、把x和y按从小到大排列 C、无确定结果 D、交换x和y中的值 9、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(A)(2分)A、0B、0.5 C、1 D、2 10、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是(B)。(2分) A、A B、a C、Z D、z 11、执行程序段int a=-1,b=4,k;k=(++a<0)&&!(b-- <=0);printf(“%d %d %d\n”,k,a,b);后的输出结果是(D )。 (2分) A、1 0 4 B、1 0 3 C、0 0 3 D、0 0 4 12、设intx=1, y=1;表达式(!x||y--)的值是(B)。(2分) A、0B、1 C、2 D、-1 13、程序段intx=3;do{printf(“%d”,x-=2);}while(!(--x));的输出结果是(C)。(2分) A、1 B、30 C、1-2 D、死循环

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语言程序设计》复习题库 1、计算下面公式的值。T=1/1!+1/2!+1/3!+……+1/m! 当m=5时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!)答案:1.717 #include main() {float T,m,i,n; T=0; for(m=1;m<=5;m++) {n=1; for(i=1;i<=m;i++) {n=n*i;} T=T+(1/n);} printf("%.3f",T);} 2、程序填空:用*号输出字母C的图案。 #include "stdio.h" #include "conio.h" main() { _____________ printf(" *\n"); _____________ _____________ getch(); } 3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。(注:所有变量用long数据类型定义!) 答案:1533459 #include main() {long a,b,c,d,s,n; s=0; for(n=1000;n<=9999;n++) {if(n%2==1) {a=n/1000%10; b=n/100%10; c=n/10%10; d=n%10; if((a+b+c+d)%15==0) s=s+n;} }

printf("%ld",s);} 4、/*下面程序的功能是:计算并输出700以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注:只有一处错误!)*/ 答案:6591 #include void main() { int total=0, mc=1, k=700; 改成mc=0 int pm[10],count=0; while( (k>=2) && mc<=10 ) { if ((k%13==0) || (k%17==0)) { pm[mc] = k; mc++; } k--; } for( k=1;k<=10;k++ ) total += pm[k-1]; printf(" %d\n",total); } 5求x = 1+1/5+1/7+1/9+…的近似值,直到最后一项的绝对值小于10-5为止。 5、#include 6、#include 7、main() 8、{ 9、 float x,t; 10、x=1,t=5; 11、do 12、{x=x+1/t; 13、t=t+2;}while(abs(1/t)>0.0001); 14、printf("%f",x); 15、} 16、 6、计算如下公式的A20值。 A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ......(按四舍五入保留10位小数)。答案:0.6180339850 #include main() { double n,x; x=1; for(n=2;n<=20;n++) x=1/(1+x);

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语言程序设计期末考试复习题及答案[1]

C语言考试期末考试复习题及答案 一、选择题 (1) 一个C语言程序总是从(C )开始执行 A) 书写顺序的第一个函数 B) 书写顺序的第一条执行语句 C) 主函数main() D) 不确定 (2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D ) A) ‘x’&&’y’B) x||y+z&&y-z C) x<=y D) !((x

C语言试题与答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系

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. 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.

JAVA语言程序设计复习题

山东理工大学成人高等教育JAVA语言程序设计复习题 一、选择题 1、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的()。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 2、下列哪个是JAVA应用程序主类中正确的main方法声明()。 (A)public void main(String args[]) (B)public static void main(String args[]) (C)static void main(String args[]) (D)public static void Main(String args[]) 3、设有数组的定义double[] a = new double[4],则下面对数组元素的引用错误的是()。 (A)a[0]; (B)a[a.length]; (C)a[3]; (D)int i=1; a[i]; 4、Java语言使用的字符码集是( )。 (A) ASCII (B) BCD (C) DCB (D) Unicode 5、覆盖与重载的关系是()。 (A) 覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 (B) 覆盖方法可以不同名,而重载方法必须同名 (C) final修饰的方法可以被覆盖,但不能被重载 (D) 覆盖与重载是同一回事 6、下面关键字中,哪一个不是用于异常处理语句()。 (A)try (B)break (C)catch (D)finally 7、类与对象的关系是()。 (A)类是对象的抽象(B)对象是类的抽象 (C)对象是类的子类(D)类是对象的具体实例 8、下面哪一个是Java中不合法的标识符()。 (A)$persons (B)twoNum (C)_myVar (D)*point 9、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10、如下的程序,下列选项中与构造方法ConstOver重载的构造方法是( )。 public class ConstOver{ public ConstOver(int x, int y, int z){ } } A、ConstOver( ) { } B、Protected int ConstOver ( ) { } C、Private ConstOver (int z, int y, byte x) { } D、public Object ConstOver(int x, int y, int z) { } 11、已知类关系如下: class Employee; class Manager extends Employee; class Director extends Employee; 则以下关于数据的语句正确的是:()。 A、Employee e=new Manager(); B、Director d=new Manager(); C、Director d=new Employee(); D、Manager m=new Director(); 12、( )下面代码定义的接口中,方法MyMethod()的修饰属性为: interface InterfaceDemo{ int MyMethod();}

C语言单项选择题

单项选择题(本大题共20小题,每小题1分,共20分) 1.C++源程序文件扩展名为(A) A..cpp B..h C..1ib D..obj 5.对使用关键字new所开辟的动态存储空间,释放时必须使用(C)A.free B.create C.delete D.realse 6.从本质上看,引用是被引用变量的(B) A.拷贝 B.别名 C.复制 D.克隆 7.在函数调用时,如某一默认参数要指明一个特定值,则有(B) A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值 C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值 8.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是(C) A.int m=max(22,max(59,70));B.int m=max(max(22,59),70); C.int m=max(22,59,70);D.int m=max(59,max(22,70)); 9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是(B) A.int m=min(min(15,26),min(15,47)); B.int m=min(15,26,47); C.int m=min(15,min(47,26)); D.int m=min(min(47,26),16); 13.函数int&min(int&,int&)返回参数中较小者,设有两整型变量int a=10;int b=15; 在执行语句min(a,b)--;之后,a,b值分别为(B) A.9,14 B.9,15 C.10,14 D.10,15 16.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15;则执行swap(a,b)后,a、b值分别为(C) A.10,10 B.10,15 C.15,10 D.15,15

相关文档
最新文档