福建省高等学校计算机等级考试二级C语言选择题试题库_第1页
福建省高等学校计算机等级考试二级C语言选择题试题库_第2页
福建省高等学校计算机等级考试二级C语言选择题试题库_第3页
福建省高等学校计算机等级考试二级C语言选择题试题库_第4页
福建省高等学校计算机等级考试二级C语言选择题试题库_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、福建省高等学校计算机等级考试(二级C语言)选择题试题库答案试题C 1.  在C语言源程序中,以下叙述正确的是(  )。 A. main函数必须位于文件的开头     B. 每行只能写一条语句     C. 程序中的一个语句可以写成多行 D. 每个语句的最后必须有点号 C 2.  关于C语言的源程序的叙述中,错误的是(  )。 A

2、. C语言的源程序由函数构成 B. main函数可以书写在自定义函数之后      C. 必须包含有输入语句 D. 一行可以书写多个语句 C 3.  关于C语言数据类型的叙述,正确的是(  )。 A. 枚举类型不是基本类型 B. 数组不是构造类型 C. 变量必须先定义后使用 D. 不允许使用空类型 C 4.  C程序中

3、main函数的位置( )。 A. 必须在最开始 B. 必须在系统库函数后面 C. 可以在自定义函数后面 D. 必须在最后 B 5.  C语言的函数体由( )括起来。 A. ( ) B.    C.    D.  /* */ D 6.  关于C语言的叙述中,不正确的是( )。

4、60;A. C程序可由一个或多个函数组成 B. C程序必须包含一个main()函数 C. C程序的基本组成单位是函数 D. 注释说明只能位于一条语句的后面 D 7.  以下叙述不正确的是(  )。 A. C程序的执行总是从main函数开始 B. 一个C源程序必须包含一个main函数 C. C语言程序的基本组成单位是函数 D. 在编译C程序源程序时,可发现注释中的拼写错误 C 8.

5、0; 结构化程序设计的三种基本结构是(  )。 A. 函数结构、分支结构、判断结构 B. 函数结构、嵌套结构、平行结构 C. 顺序结构、分支结构、循环结构 D. 分支结构、循环结构、嵌套结构 C 9.  对于C语言源程序,以下叙述错误的是(  )。 A. 可以有空语句 B. 函数之间是平等的,在一个函数内部不能定义其它函数 C. 程序调试时如果没有提示错误,就能得到正确结果&#

6、160;D. 注释可以出现在语句的前面 D 10.  下面关于C语言用户标识符的描述,正确的是(  )。 A. 不区分大小写 B. 用户标识符不能描述常量 C. 类型名也是用户标识符 D. 用户标识符可以作为变量名 D 11.  以下(  )是正确的变量名。 A. 5f B. if C. f.5 D. _f5 D 12

7、.  以下(  )是正确的常量。 A. E-5 B. 1E5.1C. 'a12' D. 32766L D 13.  以下(  )是正确的变量名。 A. a.bee B. -p11 C. int D. p_11 C 14.  以下(  )是正确的字符常量。单引号括起来 A. 

8、"c" B. ''' C. 'W' D. "32a" A 15.  以下(  )是不正确的字符串常量。双引号括起来 A. 'abc'  B. "12'12" C. "0" D. " " B 16.  以下(

9、  )是错误的整型常量。 A. -0xcdf B. 018 /八进制数不能超过8 C. 0xe D. 011 B 17.  以下(  )是正确的浮点数。 A. e3 /e前面必须有数字,指数必须为整数 B. .62 C. 2e4.5 D. 123 A 18.  若有说明语句:char c='95' 则变

10、量c包含(  )个字符。 A. 1 ddd :表示1到3位八进制数所代表的字符 B. 2 xhh表示 1到2位十六进制数所代表的字符 C. 3 D. 语法错误 A 19.  若有定义:int a=2; 则正确的赋值表达式是(  )。 A. a-=(a*3) B. double(-a) /(double)(-a) C. a*3 D. a*4=3 C&

11、#160;20.  语句x=(a=3,b=+a);运行后,x、a、b的值依次为(  )。 A. 3,3,4 /逗号运算符及逗号表达式 B. 4,4,3 C. 4,4,4 D. 3,4,3 B 21.  语句a=(3/4)+3%2;运行后,a的值为(  )。 A. 0 B. 1 /注意除号/ 两边均为整型时,结果为整数(不含小数点) C. 2 D. 

12、3 A 22.  char型变量存放的是( )。/考查变量类型 A. ASCII代码值 B. 字符本身 C. 十进制代码值 D. 十六进制代码值 C 23.  若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为( )。 A. 3,3 /考查逗号表达式及逗号运算符 B. 4,4 C. 4,3 D. 3,4 B 

13、24.  若有定义:int a; 则语句a=(3 * 4)+ 2 % 3;运行后,a的值为( )。 A. 12 B. 14 C. 11 D. 17 A 25.  若有定义:int a,b; double x,则以下不符合C语言语法的表达式是(  )。 A. x%(-3) /%两侧均应为整型数据 B. 

14、;a+=-2 C. a=b=2 D. x=a+b B 26.  若有定义:int x=2,y=3;float i;,则以下符合C语言语法的表达式是(  )。 A. x=x*3=2 /x*3不是一个变量名 B. x=(y=1) C. i=float(x) /应改为i=(float)x D. i%(-3) /%两侧均应为整型数据C 27.  设double型变量a,b,c,e均有值

15、;对代数式(3ae)/(bc),不正确的C语言表达式是(  )。 A. a/b/c*e*3 B. 3*a*e/b/c C. 3*a*e/b*c /改为3*a*e/b/c D. a*e/c/b*3 B 28.  下面叙述正确的是(  )。 A. 2/3 与 2.0/3.0  等价 B. (int)2.0/3 与 2/3 等价 C.

16、 +5 与 6 等价 /单独写+5是错误的,可以写成a=+5 D. 'A'与"A"等价 A 29.  下面叙述中,错误的是(  )。 A. 其算术运算对象不包含函数 B. %(模运算符)的运算对象只能为整型量 C. 算术运算符的结合方向是"自左至右" D. 自加和自减运算符的结合方向是"自右至左" A 30. &

17、#160;下面叙述正确的是(  )。/+ -只能用于变量,而不能用于常量或表达式 A. 强制类型转换运算的优先级高于算术运算 B. 若a和b是整型变量,(a+b)+是合法的 C. 'A'*'B' 是不合法的 D. "A"+"B"是合法的 B 31.  若有定义:int k,i=2,j=4; 则表达式 k=(+i)*(j-) 的值是( )

18、。 A. 8 B. 12/注意前缀 后缀的区别 C. 6 D. 9 C 32.  设整型变量a为5,使b不为2的表达式是( )。 A. b=(+a)/3 B. b=6-(-a) C. b=a%2 /结果为1 D. b=a/2 C 33.  若有定义:int a=1,b=2,c=3; 则语句 +a|+b&&+c;运行后b的值

19、为( )。 A. 1 B. 0 C. 2 /注意运算的不完全性 D. 3 B 34.  若有定义:int i,j;则表达式(i=2,j=5,i+,i+j+)的值是(  )。 A. 7 B. 8 C. 9 D. 10 B 35.  若有定义:int a,b;则表达式(a=2,b=5,a*2,b+,a+b)的值是( 

20、60;)。 A. 7 B. 8 C. 9 D. 10 B 36.  若有定义:int m=5,n=3;则表达式(m+1,n+1,(-m)+(n-)的值是(  )。 A. 6 B. 7 C. 8 D. 9 B 37.  已知 int a;使用scanf()函数输入一个整数给变量a,正确的函数调用是(  )。&#

21、160;A. scanf("%d",a); B. scanf("%d",&a); C. scanf("%f",&a); D. scanf("%lf",&a); D 38.  已知 double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是(  )。 A. scanf("%ld",&a);

22、 B. scanf("%d",&a); C. scanf("%7.2f",&a); /输入数据时不能规定精度 D. scanf("%lf",&a); B 39.  已知 char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(  )。 A. scanf("%d",&a); B. scanf(&q

23、uot;%lf",&a); /字符型变量与整型等价,但不与浮点型等价 C. scanf("%c",&a); D. scanf("%u",&a); B 40.  putchar()函数的功能是向终端输出( )。/ char *str0;.;puts( str0); A. 多个字符 B. 一个字符 C. 一个实型变量值 D. 一个整型变量表达式 D 41.&

24、#160; getchar()函数的功能是从终端输入( )。 A. 一个整型变量值 B. 一个实型变量值 C. 多个字符 D. 一个字符 D 42.  若有定义:int x=1234,y=123,z=12;则语句printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为( )。 A. 123412312 C. 1234+1234+123

25、4 D. 1234+123+12 A 43.  已有如下定义和输入语句,int a; char c1,c2;scanf("%d%c%c",&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是(  )。 A. 10AB /输入数据时,遇空格、回车、TAB、及非法输入 或按规定的宽度结束 B. 10  A  B C. 10A&

26、#160; B D. 10  AB B 44.  已有如下定义和输入语句:int a,b;scanf("%d,%d",&a,&b); /“格式控制”字符串中除了格式说明还有其他字符,则输入/时应在相应位置输入若要求a、b的值分别为10和20,正确的数据输入是(  )。 A. 10  20 B. 10,20 C. a=10,b=20 D. 10;20 D

27、 45.  以下程序的运行结果是(  )。void main()  int a=65;  char c='A'  printf("%x,%d",a,c); A. 65,a B. 41,a C. 65,65 D. 41,65 A 46.  下面叙述中,(  )不是结构化程序设计中的三种基本结构之

28、一。 A. 数据结构 B. 选择结构  C. 循环结构 D. 顺序结构 A 47.  下面叙述中,(  )不是结构化程序设计三种基本结构的共同特点。 A. 先判断后执行 B. 单入口,单出口 C. 程序中没有执行不到的语句 D. 无死循环 A 48.  结构化程序设计不包括(  )。 A. 最优化 

29、B. 自顶而下,逐步细化 C. 模块化设计 D. 结构化编码 D 49.  以下运算符中优先级最高的是( )。 A. > B. | C. && D. + /初等运算符() 单目 算术 关系 逻辑(不含!) 赋值 逗号A 50.  若有定义:int x=3,y=4;则表达式 !x|y 的值为( )。 A. 1 

30、;B. O C. 3 D. 4 A 51.  若有定义:int i=7,j=8;则表达式 i>=j|i<j 的值为( )。 A. 1 B. 变量i的值 C. 0 D. 变量j的值 C 52.  若希望当a的值为奇数时,表达式的值为"真",a的值为偶数时,表达式的值为"假"。则不能满足要求的表达式是( 

31、60;)。 A. a%2=1 B. !(a%2=0) C. !(a%2) D. a%2 D 53.  若有定义: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) /考查运算符

32、优先级 A 54.  若有定义:int a=5,b=2,c=1;则表达式a-b<c|b=c的值是(  )。 A. 0 B. 1 C. 2 D. -1 A 55.  已知double a=5.2; 则正确的赋值表达式是(  )。 A. a+=a-=(a=4)*(a=3) B. a=a*3=2 C. a%3 D.&#

33、160;a=double(-3) A 56.  已知char a='R' 则正确的赋值表达式是(  )。 A. a=(a+)%4 B. a+2=3 C. a+=256- D. a='078' A 57.  已知int a='R' 则正确的表达式是(  )。 A. a%10 B. a=int(

34、3e2) C. 2*a=a+ D. a=a+a=a+3 与C 同属一类错误A 58.  设单精度型变量f、g的值均为2.0,使f为4.0的表达式是( )。 A. f+=g B. f-=g+2 C. f*=g-6 D. f/=g*10 B 59.  若有定义:float x=3.5;int z=8;则表达式 x+z%3/4 的值为( )。 A.

35、60;3.75 B. 3.5 C. 3 D. 4 A 60.  若有定义:int a=1,b=2,c=3,d=4,x=5,y=6;则表达式 (x=a>b)&&(y=c>d) 的值为( )。 A. 0 B. 1 C. 5 D. 6 A 61.  若有定义:int a=2,b=3; float x=3.5

36、,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是(  )。 /(float)(a+b)/2=2.5 A. 3.5 B. 3.0 C. 2.5 D. 2.0 C 62.  若有定义:int b=7; float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是(  )。 A. 2.5 /(b/2*(int)(a+c)/2)=10

37、注意运算顺序 B. 3.5 C. 4.5 D. 5.5 C 63.  若有定义:int a=6,b=2;char c1='a',c2='b'则表达式a+b%5+c2-c1的值是(  )。 A. 7 B. 8 C. 9 D. 表达式错误 B 64.  以下的if语句中,x的值一定被重新赋值的是(  )。

38、60;A. if(x=y) x+=y; B. if(x>y && x!=y ); /注意if语句后的空语句;   x+=y; C. if(x!=y)    scanf("%d",&x);  else    scanf("%d",&y);  D. if(x<y)

39、60;  x+;y+;  B 65.  C语言对if嵌套语句的规定:else总是与(  )配对。 A. 第一个if B. 之前最近的且尚未配对的if C. 缩进位置相同的if D. 之前最近的if B 66.  对于整型变量x,下述if语句(  )与赋值语句:     x=x%2=0?1:0;不等价。 A. if

40、60;(x%2!=0) x=0; else x=1; B. if (x%2) x=1; else x=0; C. if (x%2=0) x=1; else x=0; D. if (x%2=1) x=0; else x=1; B 67.  若有定义:int x=1,y=2,z=4;则以下程序段运行后z的值为( )。if(x>y)

41、60;z=x+y;else z=x-y; A. 3 B. -1 C. 4 D. 不确定  D 68.  若有定义:int a=1,b=2,c=3;则执行以下程序段后a,b,c的值分别为( )。if (a<b) c=a;a=b;b=c; A. a=1,b=2,c=3 B. a=2,b=3,c=1 C. a=2,b=3,c=3 D. a=2,b=

42、1,c=1 D 69.  以下程序段运行后变量a的值为( )。int x=6,y=5;int a;a=(-x=y+)?x:y+1; A. 0 B. 1 C. 6 D. 5 C 70.  以下程序的运行结果是(  )。/注意分支中有无break的区别void main()  int n='e'  switch(n-) 

43、60;    default: printf("error ");     case 'a':    case 'b': printf("good "); break;    case 'c': printf("pass "

44、;);    case 'd': printf("warn ");   A. error B. good C. error good D. warn C 71.  以下程序的运行结果是(  )。void main()  int n='c'  switch(n

45、+)      default: printf("error "); break;    case 'a':    case 'b': printf("good "); break;    case 'c': printf(&quo

46、t;pass ");    case 'd': printf("warn ");   A. pass B. warn C. pass warn D. error D 72.  以下程序的运行结果是(  )。void main( ) int n=5;  i

47、f(n+>=6)    printf("%dn",n);  else    printf("%dn",+n); A. 4 B. 5 C. 6 D. 7 B 73.  设有整型变量x,下述语句(  )不会出现死循环。 A. for(;x+=1); B. for(;(x=getchar(

48、)!='n'); C. while(1) x+; D. for(x=10;x-); B 74.  对于整型变量x,与while(!x)等价的是(  )。 A. while(x!=0) B. while(x=0) C. while(x!=1) D. while(x) A 75.  对于整型变量x和y,语句    for(x=0,y=0

49、;(y!=123)&&(x<4);x+) y+;  中的“y+;”被执行(  )。 A. 4次 B. 0次 C. 123次 D. 3次 B 76.  在c语言中while循环和do-while循环的主要区别是( )。 A. do-while循环体内可以使用break语句,while循环体内不能使用break语句 B. do-while的循环体至少无条件执行一次,wh

50、ile的循环体不是 C. do-while循环体内可以使用continue语句,while循环体内不能使用continue语句 D. while的循环体至少无条件执行一次,do-while的循环体不是 B 77.  以下程序段运行后,循环体运行的次数为( )。int i=10,x;for (;i<10;i+) x=x+i; A. 10 B. 0 C. 1 D. 无限 D 78.  

51、以下程序段运行后变量n的值为( )。int i=1,n=1;for (;i<3;i+)    continue;n=n+i; A. 4 B. 3 C. 2 D. 1 B 79.  以下程序的运行结果是(  )。void main()  int sum = 0, item = 0;  while

52、(item < 5)      item+;    sum += item;    if(sum=5)      break;    printf("%dn",sum); A. 10 B. 15 C. 5 D. 6

53、 C 80.  以下程序的运行结果是(  )。void main()  int sum = 0, item = 0;  while(item < 5)      item+;    sum += item;    if(sum>=6) &

54、#160;    break;    printf("%dn",sum); A. 10 B. 15 C. 6 D. 7 B 81.  以下程序的运行结果是(  )。void main()  int sum = 0, item = 0;  while(item&

55、#160;< 5)      item+;    if(item = 2)      continue;    sum += item;    printf("%dn",sum); A. 10 B. 13 C. 15

56、0;D. 1 A 82.  下列数组定义中,正确的是(  )。 A. int a5=0; B. int a=0 1 2; / int a=0 , 1,2; 注意元素与元素之间加逗号 C. int a5=0; / int a5=0; D. int a; /必须指明数组大小A 83.  下列数组定义中,正确的是( 

57、0;)。 A. int a10; B. int n=10,an; /下标必须是常量表达式 C. int N=10;int aN; D. int n;scanf("%d",&n); int an; A 84.  已知 int  a10;  则对a数组元素引用不正确的是(  )。  A. a10

58、 /10个元素的数组下标范围从0到9 ,故此题越界 B. a3+5 C. a10-10 /引用数组元素时,下标可以是整型常量或整型表达式 D. a5 B 85.  若有定义:int a3=0,1,2;则a1的值为( )。 A. 0 B. 1 C. 2 D. 3 A 86.  若有定义:int a5=1,2,3,4,5;则语句a1=a3+a2+2-a3-1;运行后a1的

59、值为( )。 A. 6 B. 5 C. 1 D. 2 D 87.  以下能对一维数组a进行正确初始化的语句是( )。 A. int a5=(0,0,0,0,0); B. int a5=0; /注意使用大括号 C. int a5=1,2,3,4,5,6,7;/多余2个 D. int a=0; /定义一个只有一个元素的一维数组,指为0D 88

60、.  下面程序段的运行结果是(  )。int i=0,a=3,4,5,4,3;do  ai+; while(a+i<5);for(i=0;i<5;i+)  printf("%d ",ai); A. 4 5 6 5 4 B. 3 4 5 4 3 C. 4 5 5 5 4 

61、;D. 4 5 5 4 3  C 89.  下面程序段的运行结果是(  )。int i=0,a=7,5,7,3,8,3;do ai+=2; while(a+i>5);for(i=0;i<6;i+)  printf("%d ",ai); A. 9 7 9 5 10 5 B. 9 5 9&#

62、160;3 10 3 C. 9 5 7 3  8 3 D. 7 5 7 3  8 3  A 90.  下面程序段的运行结果是(  )。int i=0,a=1,2,3,4,5;do   ai+=10;  while(a+i>2);for(i=0;i<5;i+)  pri

63、ntf("%d ",ai); A. 11  2  3  4  5 B. 1   2  3  4  5 C. 11 12 13 14 15 D. 11 12  3  4  5  C 91.&#

64、160; 设有如下程序段:int a33=1,0,2,1,0,2,1,0,1,i,j,s=0;for(i=0;i<3;i+)  for(j=0;j<i;j+)     s=s+aij;则执行该程序段后,s的值是(  )。 A. 0 B. 1 C. 2 D. 3 B 92.  有如下定义    int a3=1,2,3

65、,4,5,6,7,8; /考查二维数组的初始化则数组a的行数是(  )。 A. 2 B. 3 C. 4 D. 无法确定的 D 93.  以下数组定义中,正确的是(  )。 A. int a23=1,2,3,4,5,6,7;/多余1个 B. int a=1,2,3,4,5,6,7,8,9; /第二维长度不能省 C. int a2= 1,2,3,4,5

66、,6; D. int a4= 6; A 94.  若有定义:int a34=1,2,0,1,2,3;则a11的值为( )。 A. 0 B. 1,2 C. 1 D. 3 A 95.  若有定义:int a33;则表达式&a21-a的值为( )。 A. 7 /&a21-a 代表两者之间的元素个数,类似指向同种类型的指针相减 B.

67、0;8 C. 6 D. 9 C 96.  若有定义:int i=0,x=0;int a33=1,2,3,4,5,6,7,8,9;则以下程序段运行后x的值为( )。for (;i<3;i+) x+=ai2-i; A. 0 B. 12 C. 15 D. 18 D 97.  若有定义int a23;则对数组元素的非法引用是(  )。

68、60;A. a01/2 B. a11 C. a4-40 D. a03 C 98.  以下数组定义中,正确的是(  )。 A. int a2=1,2,3,4,5; B. int a2=0,; C. int a22=1,2,3; D. int a=1,2,3,4; D 99.  若有定义int a3=1,2,3,4,5,6

69、,7,8,9;则表达式sizeof(a)/sizeof(a0)的值为(  )。 A. 3 B. 4 C. 5 D. 9 A 100.  设有以下变量定义:   char str1="string",str28,*str3,*str4="string"(  )是正确的。 A. strcpy(str1,"China"); 

70、B. str2="China" C. strcpy(*str3,"China"); D. strcpy(str40,"China"); D 101.  有如下定义:   char str6= 'a','b','0','d','e','f'则语句:   printf("%s&

71、quot;,str);的输出结果是(  )。 A. ab B. abdef C. ab0 D. ab C 102.  设有如下数组定义:   char str8= "FuJian"则分配给数组str的存储空间是(  )个字节。 A. 6 B. 7 C. 8 D. 9 B 103. 

72、; 若有定义:char a="abcdef"char b="xyz"则以下程序段运行后屏幕输出为( )。strcpy(a,b);printf("%c",a2); A. c B. z C. 0 D. d C 104.  以下程序段运行后屏幕输出为( )。char a="abc0mis"printf("%d",strlen(a);&

73、#160;A. 5 B. 8 C. 3 D. 4 B 105.  若有定义:int a=2;则语句a=strcmp("miss","miss");运行后a的值为( )。 A. 1 /相等返回0 ,字符串1>字符串2,返回一个正整数,否则返回负整数 B. 0 /strcmp(str1,str2) C. -1 D. 2 B 106. &

74、#160;以下程序段运行后屏幕输出为(  )。    char str="abcd" 注意代表一个反斜杠字符    printf("%d",strlen(str); A. 4 B. 5 C. 6 D. 7 A 107.  以下程序段运行后屏幕输出为(  )。char str80;strcpy(str,&quo

75、t;hello");printf("%d",strlen(str); A. 5 B. 6 C. 7 D. 80 B 108.  若有定义:char str16="abcdm",*ps,*str2="abcdef"(  )是正确的。 A. strcpy(str1,str2);   B. 表达式strcmp(str1,str2)的值

76、大于0 C. str1=str2; D. 表达式strlen(str1)的值为6 A 109.  设有如下函数定义:int fun(char *str) char *p=str;  while ( *p != '0') p+;   return (p-str);则以下语句执行后的输出结果是(  )。/返回字符串个数printf("%

77、dn",fun("Student"); A. 7 B. 8 C. 9 D. 10 A 110.  以下程序的运行结果是(  )。int fun(int array44) int j;  for(j=0;j<4;j+) printf("%2d",array2j);  printf("n");main()&

78、#160;int a44=0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0;  fun(a); A. 2 0 0 5 B. 1 0 0 4 C. 0 1 2 0 D. 0 4 5 0 C 111.  如下fun函数的类型是(  )。fun(float x)double y; 

79、int z  y=x * x  z=(int)y   return(z);  A. void B. double C. int D. float B 112.  以下程序运行后屏幕输出为( )。#include<stdio.h>int f(int x,int y)  return(x+y);main() &

80、#160;int a=2,b=3,c;  c=f(a,b);  printf("%d+%d=%dn",a,b,c); A. 0 B. 2+3=5  C. 2+3=0 D. 3+2=5 D 113.  以下程序运行后屏幕输出为( )。 /考查全局变量与局部变量的区别及范围#include<stdio.h>int a=2,b=3;int max(int a,int

81、60;b)  int c;          c=a>b?a:b;  return(c);main()  int a=4;  printf("%d",max(a,b); A. 2,3 B. 2 C. 3 D. 4 B 114.  以下程序运行后屏幕输出为(

82、0;)。#include<stdio.h>void f(int i) /两个函数中的a不一样  int a=2;  a=i+;  printf("%d,",a);main()  int a=1,c=3;  f(c);  a=c+;  printf("%d",a); A. 4,3 B. 3,3 C. 4,5&

83、#160;D. 3,5 D 115.  若有如下函数定义: /注意静态变量的使用int fun() static int k=0; return +k;以下程序段运行后屏幕输出为(  )。int i;for(i=1;i<=5;i+) fun();printf("%d",fun(); A. 0 B. 1 C. 5 D. 6 D 116.

84、0; 下面程序的输出结果是(  )。#include <stdio.h>int global=100;fun()int global=5;return +global;void main() printf("%dn",fun(); A. 100 B. 101 C. 5 D. 6 B 117.  下列关于C语言函数的描述中,正确的是(  )。

85、60;A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和函数的调用都可以嵌套 D. 函数的定义和函数的调用都不可以嵌套 D 118.  若有以下宏定义,#define MOD(x,y) x%y则执行以下程序段后,z的值是(  )。int z,a=15,b=100;z=MOD(b,a); A. 100 B. 15 C. 1

86、1 D. 10 B 119.  以下叙述中,正确的是(  )。 A. “#define PRICE=30”定义了与30等价的符号常量PRICE B. 预编译处理命令行都必须以“#”开头 C. 宏名只能包含大写字母和数字字符 /可以包括小写字母 D. 在程序的一行上可以书写几个有效的宏定义 A 120.  以下叙述中,正确的是(  )。 A. 宏展开不占用运行时间,只占

87、用编译时间 B. 预编译处理命令行必须以分号结束 C. 一个源程序只能有一个预编译处理命令行 D. 使用带参数的宏定义时,应该说明每个参数的数据类型 C 121.  以下的叙述中不正确的是( )。 A. 宏展开不占用运行时间,只占用编译时间 B. 宏名无类型 C. 宏名必须用大写字母表示 D. 预处理命令行都必须以#号开始 A 122.  若有定义:#define PI

88、0;3,则表达式PI*2*2的值为( )。 A. 12 B. 4 C. 3 D. 不确定 C 123.  以下程序运行后,屏幕输出为( )。#define MIN(a,b) (a)<(b)?(a):(b)main()int x=2,y=3,z;     z=2*MIN(x,y);     printf("%d",

89、z); A. 2 B. 3 C. 4 D. 6 A 124.  下面程序的输出结果是( )。#include <stdio.h>#define SQR(x) (x*x)void main()  int a,b=3;  a=SQR(b+2);  printf("n%d",a); A. 11 B. 2

90、5 C. 不定值 D. 产生错误 C 125.  下面程序的输出结果是( )。#include <stdio.h>#define ONE 1#define TWO ONE+1#define THREE TWO+1void main()  printf("%dn",THREE-ONE); A. 产生错误 B. 1 C. 2

91、60;D. 3 B 126.  以下叙述中正确的是( )。 A. 预处理命令行必须位于C源程序的起始位置 B. 在C语言中,预处理命令行都以"#"开头 C. 每个C程序必须在开头包含预处理命令行:#include<stdio.h> D. C语言的预处理不能实现宏定义和条件编译的功能 D 127.  设有以下语句,则(  )是对a数组元素的不正确引用,其中0i10。  

92、;  int a10=0,1,2,3,4,5,6,7,8,9, *p=a; A. ap-a B. *(&ai) C. pi D. *(*(a+i) C 128.  对于基类型相同的两个指针变量之间,不能进行的运算是(  )。 A. < B. = C. + D. - B 129.  执行以下程序段的输出结果

93、是(  )。    int a=10,*p=&a;    printf("%d",+*p); A. 10 B. 11 C. 变量a的地址 D. 变量a的地址 + 1 A 130.  以下程序段运行后*(p+3)的值为( )。char a="good"char *p;p=a;

94、0;A. 'd' B. '0' C. 存放'd'的地址 D. 'o' C 131.  以下程序段运行后*(+p)的值为( )。char a5="work"char *p;p=a;  A. 'w' B. 存放'w'的地址 C. 'o' D. 存放'o&

95、#39;的地址 B 132.  若有定义:int *p,a=4; p=&a;则以下均代表地址的是( )。 A. a,p B. &a,p  C. &a,*p D. a,*p D 133.  若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是( )。 A. *p=&a;scanf("%lf"

96、,p); B. *p=&a;scanf("%lf",*p); C. p=&a;scanf("%lf",*p); D. p=&a;scanf("%lf",p); A 134.  在16位编译系统上,若有定义int a=10,20,30,*p=&a;当执行p+;后下列叙述错误的是( )。 A. p向高地址移了一个字节 B. p与a+1等价 C.

97、60;语句printf("%d",*p);输出20 D. p指向数组元素a1 B 135.  下面语句正确的是( )。 A. int *p; *p=20;   B. char *s="abcdef" printf("%sn",s); C. char str="abcd" str+;/数组名不能改变 D. char str='a','b','c'printf("%s",str); /%s输出字符串,必须以0结束D 136.  若有以下程序段,且0i4,0j3,则不能正确访问a数组元素的是(  )。int i,j,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论