工信部C语言考试题及答案

更新时间:2023-08-18 21:26:01 阅读量: 资格考试认证 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 以下叙述中正确的是

B: 静态(static)类别变量的生存期贯穿于整个程序的运行期间

2. 设有如下说明

typedef struct

{ int n; char c; double x;}STD;

则以下选项中,能正确定义结构体数组并赋初值的语句是

A: STD tt[2]={{1,'A',62},{2, 'B',75}};

3. 以下叙述中不正确的是

D: C语言中,顺序读写方式不适用于二进制文件

4. 以下叙述中正确的是

A: 构成C 程序的基本单位是函数

5. 以下选项中合法的用户标识符是

B: _2Test

6. 设有定义:long x=-123456L;,则以下能够正确输出变量x 值的语句是( )。 B: printf(“x=%1d\n”,x);

7. 若有以下程序:

main()

{ int k=2,i=2,m;

m=(k+=i*=k);printf(“%d,%d\n”,m,i);

}

执行后的输出结果是( )。

C: 6,4

8. 有以下程序段

int n=0,p;

do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);

此处do—while 循环的结束条件是

D: P 的值等于12345 或者n 的值大于等于3

9. C 语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是

B: int

10. 有以下程序

float fun(int x,int y)

{ return(x+y); }

main()

{ int a=2,b=5,c=8;

printf(“%3.0f\n”,fun((int)fun(a+c,b),a-c));

}

程序运行后的输出结果是( )。

B: 9

11. 以下叙述中错误的是

D: 不可以用FILE 定义指向二进制文件的文件指针

12. 设有如下定义:

struck sk

{ int a;

float b;

}data;

int *p;

若要使P 指向data 中的a 域,正确的赋值语句是( )。

C: p=&data.a;

13. 以下有4 组用户标识符,其中合法的一组是

C: f2_G3

14. x、y、z 被定义为int 型变量,若从键盘给x、y、z 输入数据,正确的输入语句是 B: scanf(“%d%d%d”,&x,&y,&z);

15. t 为int 类型,进人下面的循环之前,t 的值为0

while( t=l )

{ }

则以下叙述中正确的是( )。

B: 循环控制表达式的值为1

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

main()

{ int num= 0;

while(num<=2)

{ num++; printf(“%d\n”,num);

}

}

B: 1

2

3

17. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 B: 单向值传递

18. 以下函数值的类型是( )。

fun ( float x )

{ float y;

y= 3*x-4;

return y;

}

A: int

19. 以下程序的输出结果是

main()

{ char c=’z’;

printf(“%c”,c-25);

}

A: a

20. 以下选项中,非法的字符常量是

C: “n”

21. 假定int 类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x 在内存中所占 字节数是( )。

D: 20

22. 以下数组定义中不正确的是

D: int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

23. 下列叙述中正确的是

D: C 语言所有函数都是外部函数

24. 以下所列的C 语言常量中,错误的是( )。

B: 1.2e0.5

25. 以下程序执行后sum 的值是( )。

min()

{ int i , sum;

for(i=1;i<6;i++) sum+=i;

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

}

C: 不确定

26. 有以下程序段

int x=3

do

{ printf(“%d”,x-=2); }

while (!(--x));

其输出结果是

C: 1 -2

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

fun(int x, int y, int z)

{ z=x*x+y*y; }

main()

{ int a=31;

fun(5,2,a);

printf(“%d”,a);

}

C: 31

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

main()

{ int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;

p=a;

printf(“%d\n”,*p+9);

}

C: 10

29. 设有以下说明语句

struct ex

{ int x ; float y; char z ;} example;

则下面的叙述中不正确的是( )。

B: example 是结构体类型名

30. 有如下程序

main( )

{ float x=2.0,y;

if(x<0.0) y=0.0;

else if(x<10.0) y=1.0/x;

else y=1.0;

printf(“%f\n”,y);

}

该程序的输出结果是( )。

C: 0.500000

31. 有如下程序

main0

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

if(a<b)

if(b<0) c=0;

else c++

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

}

该程序的输出结果是

C: 2

32. 有如下程序

main( )

{ int i,sum;

for(i=1;i<=3;sum++) sum+=i;

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

}

该程序的执行结果是

C: 死循环

33. 有如下程序

main( )

{ int x=23;

do

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

while(!x);

}

该程序的执行结果是

B: 23

34. 有如下程序

main( )

{ int n=9;

while(n>6) {n--;printf(“%d”,n);}

}

该程序段的输出结果是

B: 876

35. 若fp 是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是( )。 C: 非零值

36. 下列变量定义中合法的是

A: short _a=1-.le-1;

37. 以下循环体的执行次数是( )。

main()

{ int i,j;

for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);

}

C: 1

38. 以下叙述正确的是

D: 用do-while 语句构成的循环,在while 后的表达式为零时结束循环。

39. 执行下面的程序段后,变量k 中的值为( )。

int k=3, s[2];

s[0]=k; k=s[1]*10;

A: 不定值

40. 下列程序的运行结果是( )。

#include <stdio.h>

main()

{ int a=2,c=5;

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

B: a=2,b=5

41. 设有数组定义: char array [ ]="China"; 则数组 array 所占的空间为( )。 C: 6 个字节

42. 在C 程序中,可把整型数以二进制形式存放到文件中的函数是( )。

A: fprintf 函数

43. 下列描述中不正确的是

C: 可以对整型数组进行整体输入、输出

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

main( )

{ int x=10,y=10,i;

for(i=0;x>8;y=++i)

printf("%d,%d ",x--,y);

}

D: 10 10 9 1

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

main( )

{ int n=4;

while(n--)printf("%d ",--n);

}

A: 2 0

46. C 语言的基本单位是

A: 函数

47. 算法具有五个特性,以下选项中不属于算法特性的是

A: 简洁性

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

main( )

{ int i;

for(i='a';i<'i';i++,i++) printf("%c",i+32);

printf(" \n");

}

B: aceg

49. 当执行以下程序段时( )。

x =-1 ;

do {x=x*x; } while(! x);

A: 循环体将执行一次

50. 在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出为

#include<stdio,h>

main()

{ char ch;

while((ch=getchar())!=''\n'')

{ if(ch>=''A'' && ch<=''Z'') ch=ch+32;

else if(ch>=''a'' && ch<=''z'') ch=ch-32;

printf("%c",ch);

}

printf("\n");

}

B: abcDEF

51. 若有定义:int x,*pb; 则以下正确的赋值表达式是( )

C: pb=&x;

52. 若有以下定义:

char a; int b;

float c; double d;

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

D: double

53. 给出以下定义:

char x[ ]="abcdefg";

char y[ ]={''a'',''b'',''c'',''d'',''e'',''f'',''g''};

则正确的叙述为

C: 数组X 的长度大于数组Y 的长度

54. 假定a 和b 为int 型变量,则执行以下语句后b 的值为

a=1; b=10;

do

{ b-=a; a++; }

while (b--<0) ;

D: 8

55. 设j 为int 型变量,则下面for 循环语句的执行结果是

for( j=10;j>3;j--)

{ if(j%3)j--;

--j; --j;

printf("%d ",j);

}

B: 7 4

56. 以下说法中正确的是

C: C 语言程序总是从main 函数开始执行;

57. main()

{ int x,i;

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

{ x=i;

if(++x%2==0)

if(x%3==0)

if(x%7==0)

printf("%d,i);

}

}

输出结果是( )。

D: 41

58. 有以下程序

#include <stdio.h>

main()

{ int a,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

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

}

输出结果是( )。

A: 2,1

59. 下面程序中调用scanf 函数给变量a 输入数值的方法是错误的,其错误原因是( ) main()

{ int *p,q,a,b;

p=&a;

scanf(“%d”,*p);

}

B: *p 表示的是变量a 的值,而不是变量a 的地址

60. 若有int k=2,*ptr1,*ptr2;且ptr1 和ptr2 均已指向变量k,下面不能正确执行的语句是( )

B: ptr2=k;

61. 能将高级语言源程序转换成目标程序的是

C: 编译程序

62. 变量的指针,其含义是指该变量的

B: 地址

63. 在C 语言提供的合法的关键字是

D: default

64. 在C 语言中,合法的字符常量是

B: ''\x43''

65. 合法的数组定义是

D: char a[]={0,1,2,3,4,5};

66. 若有以下定义和语句:

int u=010,v=0x10,w=10;

printf("%d,%d,%d\n",u,v,w);

则输出结果是:

A: 8,16,10

67. 若有以下定义:

char s[20]="programming",*ps=s;

则不能代表字符o 的表达式是

A: ps+2

68. 若有以下定义:

float x;int a,b;

则正确的switch 语句是

C: switch (a+b)

{ case 1:printf("\n");

case 1+2:printf("**\n");

}

69. 若有以下的定义:

int a[]={1,2,3,4,5,6,7,8,9,10}, *p=a;

则值为3 的表式是

A: p+=2, *(p++)

70. 若有以下说明:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则数值为6 的表达式是

C: *p+=5

71. C 源程序文件的扩展名为

C: .c

72. 若有说明,double *p,a;则能通过scanf 语句正确给输入项读入数据的程序段是 D: p=&a; scanf("%le",p);

73. 设有下面的程序段:

char s[]=”china”; char *p; p=s;

则下列叙述正确的是( )

C: *P 与s[0]相等

74. C 语言中最简单的数据类型包括

B: 整型、实型、字符型

75. C 语言中,运算对象必须是整型数的运算符是

A: %

76. 下述对C 语言字符数组的描术中错误的是

C: 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

77. 定义如下变量: int n=10; 则下列循环的输出结果是

while(n>7)

{ n--;

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

D: 9

8

7

78. 若调用一个函数,且此函数中没有return 语句,则正确的说法是( ) 该函数: D: 返回一个不确定的值

79. 下面说法中不正确的是( )

在C 语言中

B: 形参可以是常量、变量或表达式;

80. 下面的程序

main()

{ int x=3;

do {

printf("%d\n",x-=2);

}while(!(--x));}

B: 输出的是1 和-2

81. 以下说法中正确的是

D: C 源程序经编译和连接后才可直接运行产生结果;

82. C 语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是

B: int 型

83. C 语言规定,函数返回值的类型是由

D: 在定义该函数时所指定的函数类型所决定;

84. 下面函数调用语句含有实参的个数为( )

func((exp1,exp2),(exp3,exp4,exp5));

B: 2

85. 下面各语句行中,能正确进行赋字符串操作的语句行是

C: char *s; s="ABCDE";

86. 若x 是int 型变量,且有下面的程序片段:

for(x=3; x<6; x++) printf((x%2)?("**%d"):("##%d\n"),x);

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

D: **3##4

**5

##5

87. 以下错误的描述是( )

函数的调用可以

D: 作为一个函数的形参;

88. 请读程序:

#include<stdio.h>

int a[]={2,4,6,8};

main()

{ int i;

int *p=a;

for(i=0;i<4;i++) a[i]=*p++;

printf("%d\n",a[2]);

上面程序的输出结果是

A: 6

89. 请读程序:

#include<stdio.h>

main()

{ int mun=0;

while(num<=2)

{ num++; printf("%d\n",num);}

}

上面程序的输出结果是

B: 1

2

3

90. 以下一维数组a 的正确定义是( )

D: #define size 10;

long a[size];

91. 若使用一维数组名作函数参数,则以下正确的说法是

C: 在被调函数中,不需要考虑形参数组的大小;

92. 以下正确的描述是

B: 只能在循环体内和switch 语句体内使用break 语句;

93. 以下正确的描述是

C: 只能用continue 语句来终止本次循环;

94. 下正确的说法是( )。

如果在一个函数中的复合语句中定义了一个变量,则该变量

A: 只在该复合语句中有效

95. 已知:int x,y; float z; 则以下输入语句错误的是

D: scanf ("%d%d%6.2f",&x,&y,&z);

96. 下列描述中不正确的是

C: 可以对整型数组进行整体输入、输出

97. 合法的数组定义是

D: char a[]={0,1,2,3,4,5};

98. 若有定义和语句:

char s[10];

s="abcd";

printf("%s\n",s);

则结果是(以下u 代表空格)

D: 编译不通过

99. 以下不正确的说法是

D: 在函数内的复合语句中定义的变量在本函数范围内有效;

100. 若有以下定义和语句

char c1=''b'',c2=''e'',c3=''1'';

printf("%d,%c,%d\n",c2-c1,c2-''a''+''A'',c3-''0'');

则输出结果是:

B: 3,E,1

101. 以下定义语句中正确的是( )。

C int a=10,*b=&a;

102. 下列字符串不是标识符的是

D: M.D.JOHN

103. 表达式(int)2.5 的值是

A: 2

104. 在C 程序中,main()函数的位置是

C: 可以任意;

105. 使用fopen()以文本方式打开或建立可读可写文件,要求:若指定的文件不存在,则新 建一个,并使文件指针指向其开头,若指定的文件存在,打开它,将文件指针指向其结尾。 正确的"文件使用方式"描述是

B: "w+"

106. 凡是函数中未指定存储类别的局部变量,其隐含的存储类型是

A: 自动(auto)

107. 将字符A 赋给字符变量c,正确的表达式是______。

C: c=''\101''

108. 数据流图中带有箭头的线段表示的是

D: 数据流

109. 以下叙述中正确的是

C: 简单C 语句必须以分号结束

110. 计算机能直接执行的程序是

D: 可执行程序

111. 以下关于数组的描述正确的是

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

112. 以下关于宏的叙述中正确的是

C: 宏替换没有数据类型限制

113. 以下对一维数组a 进行不正确初始化的是

A: int a[10]=(0,0,0,0);

114. 以下对字符数组进行不正确初始化的是

A: static char word[]='cool\0';

115. 以下关于C 语言的叙述中正确的是

A: C 语言中的注释不可以夹在变量名或关键字的中间

116. 以下C 语言用户标识符中,不合法的是

D: aR

b

117. 若有定义:double a=22;int i=0,k=18;,则不符合C 语言规定的赋值语句是 C: i=a%11;

118. 有以下程序

#include

main()

{ char a,b,c,d;

scanf(“%c%c”,&a,&b);

c=getchar(); d=getchar();

printf(“%c%c%c%c”,a,b,c,d);

}

当执行程序时,按下列方式输入数据(从第1 列开始,代表回车,注意:回车也是一个字符) 12

34

则输出结果是

C: 12

3

119. 以下关于C 语言数据类型使用的叙述中错误的是

D: 若只处理”真”和”假”两种逻辑值,应使用逻辑类型

120. 若a 是数值类型,则逻辑表达式(a==1)||(a!=1)的值是

A: 1

121. 以下叙述不正确的是

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

122. 以下选项中与if(a==1)a=b; else a++;语句功能不同的switch 语句是

B: switch(a==1)

{case 0:a=b;break;

case 1:a++;

}

123. 有如下嵌套的if 语句

if (a<b)

if(a<c) k=a;

else k=c;

else

if(b<c) k=b;

else k=c;

以下选项中与上述if 语句等价的语句是

C: k=(a<b)?((a<c)?a:c):((b<c)?b:c)

124. 有以下程序

#include <stdio.h>

main()

{in i,j,m=1;

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

{for(j=3;j>O;j--)

{if(i*j)>3)break;

m=i*j;

}

}

printf("m=%d ",m);

程序运行后的输出结果是

A: m=6

125. 有以下程序

#include <stdio.h>

main()

{int a=l;b=2;

for(;a<8;a++) {b+=a;a+=2;}

printf("%d,%d ",a,b);

}

程序运行后的输出结果是

D: 10,14

126. 下列语句组中,正确的是

A: char *s;s="Olympic";

127. 下列选项中,能正确定义数组的语句是

D: #define N 2008

int num[N];

128. 若有定义int(*Pt)[3];,则下列说法正确的是

D: 定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组 129. 有以下程序

#include <stdio.h>

main()

{int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;

for(i=0;i<5;i++) s=s+a[b[i]]);

printf("%d ", s);

}

程序运行后的输出结果是

C: 11

130. 若有以下定义和语句

char s1[10]="abcd!",*s2=" 123\\";

printf("%d %d ", strlen(s1),strlen(s2));

则输出结果是

A: 5 5

131. 设有定义:

struct complex

{ int real,unreal;} data1={1,8},data2;

则以下赋值语句中错误的是

B: data2=(2,6);

132. 若有说明语句 char a[]=”It is mine”; char *p=”It is mine”;

则以下不正确的叙述是( )

D: a 中只能存放10 个字符;

133. 有以下程序

#include <stdio.h>

main()

{ FILE *fp;char str[10];

fp=fopen("myfile.dat","w");

fputs("abc",fp);fclose(fp);

fpfopen("myfile.data","a++");

fprintf(fp,"%d",28);

rewind(fp);

fscanf(fp,"%s",str); puts(str);

fclose(fp);

}

程序运行后的输出结果是

C: abc28

134. 以下不是死循环的语句为()

A: for(y=1,x=1;x>=++y;x++)

135. 1. 在TC 中,以下程序运行后,输出结果是( ) 。 main( ){ char *s="abcde"; s+=2; printf("%s \n",s);}

A: A cde

136. 在C 语言中,若已定义x 和y 为int 类型,则表达式:x=1,y=x+3/2 的值是( ) B: 2

137. 在C 语言中,执行语句:for (j=2; j<=6; ++j,j++)printf("%d",j);后,输出结果是

( )。

C: 246

138. 在C 语言中,若定义 int a[4][5],则数组 a 有( )个元素。

A: A.20

139. 在TC 中, while(x)中的x 与下面条件表达式等价的是( )。

D: X!=0

140. 在C 语言中,假定a 和b 为int 型变量,则执行以下语句后b 的值为( )。 a=1; b=10; do { b-=a; a++; } while (b--<0);

D: 8

141. 在C 语言中, 下面程序段的运行结果是( )main(){char

a[]="lanuage",*p;p=a;while(*p!=''u''){printf("%c",*p-32);p++;}}

C: LAN

142. 在C 语言中,下列不正确的转义字符是( )

C: ''074''

143. 在C 语言中,下面有关for 循环的正确描述是( )

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

144. 在C 语言中,若a=21,则printf("%x",a);输出值为( )。

A: 15

145. 在C 语言中,执行下面两个语句后,输出的结果为( )。 char c1=97, c2=98;printf("%d %c",c1,c2);

B: 97 b

146. 数字字符0 的ASCII 值为48, 若有以下程序main(){char

a=''1'',b=''2'';printf("%c,",b++);printf("%d\n",b-a);}程序运行后的输出结果是

( )

C: 2,2

147. 在C 语言中,语句: int a=0,b=0; printf("%d",(a=2)&&(b=-2)); 的输出结果是 ( )。 D: 1

148. 在C 语言中,若i,j 已定义为int 类型,且内循环体不改变i,j 的值,则以下程序段中内循

环体的总的执行次数是( )。 for (i=5;i;i--) for(j=0;j<4;j++){R-}

A: 20

149. 在C 语言中,若i,j 已定义为int 类型,且内循环体不改变i,j 的值,则以下程序段中内循

环体的总的执行次数是( )。 for (i=1;i<=5;i++) for(j=0;j<4;j++){R-}

A: 20

150. 在C 语言中,设x=1, y=2, 执行表达式 (x>y)?x++:++y 以后x 和y 的值分别为

( )

B: 1 和3

151. 在C 语言中,以下程序的输出结果是( )。 main( ) { int a=12,b=12;

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

D: 11 13

152. 在C 语言语言中,退格符是 ( )

D: \b

153. 在C 语言中,能正确表示逻辑关系:"a≥10 或a≤-10"的C 语言表达式是( ) D: a>=10‖a<=-10

154. 在C 语言中,定义数组int a[2][4]={3,4,5,6,7,8,9,10},则a[0][2]的值为( )。 A: 5

155. 在C 语言中,以下程序的输出结果是( )。 main() {int a=10,b=10;

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

A: 10 10

156. 在C 语言中,以下程序的输出结果是( )。 main() {int a=10,b=10;

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

B: 9 10

157. 在C 语言中,定义数组int a[2][4]={3,4,5,6,7,8,9,10},则a[0][3]的值为( )。 B: 6

158. 在C 语言中,已知: int x=17 , y=7 ; 则执行以下语句后的输出为 ( )。 printf("%d\n", x%=(y%=2));

B: 0

159. 在C 语言中,已知: int x=15, y=6 , z; 则下列语句的输出结果是 ( )。 printf("%d\n", z=(x%y,x/y));

C: 2

160. 在C语言中,已知: int x=15 , y=5 ; 则执行以下语句后的输出为 ( )。printf("%d\n", x%=(y%=2));

A: 0

161. 在C 语言中,已知: int x=10, y=3 , z; 则下列语句的输出结果是 ( )。 printf("%d\n", z=(x%y,x/y));

D: 3

162. 在C 语言中,以下一组运算符中,优先级最高的运算符是( )

C: %

163. 在C 语言中,以下一组运算符中,优先级最低的运算符是( )

B: =

164. 在C 语言中,若x 和y 都是int 型变量,x=100,y=200,下列语句的输出结果是( )。 printf("%d\n",(x,y));

A: 200

165. 在C 语言中,执行下面语句后,输出的结果是( )。 int x=10,y=3;

printf("%d\n",y=x/y);

C: 3

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

A: %=

167. 在C 语言中,定义数组int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},则a[4]的值为( )。 C: 5

168. 在C 语言中,若a=21,则printf("%o",a);输出值为( )。

B: 25

169. 下列语句中符合C 语言语法的赋值语句是( )

D: a=0x7b+(c=a7);

170. C 语言程序是由( )组成的。

C: 函数

171. 在C 语言中,若a=021,则printf("%d",a);输出值为( )。

A: 17

172. 在C 语言中,若a=0x21,则printf("%d",a);输出值为( )。

C: 33

173. 在C 语言中,下列不正确的转义字符是( )

C: ''074''

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

B: %

175. 在C 语言中,以下一组运算符中,优先级最高的运算符是( )

B: %

176. 在TC 中,若已定义x 和y 为double 类型,则表达式:x=1,y=x+3/2 的值是( ) A: 2.000000

177. 在C 语言中, 设有如下定义: int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达 式:(m=a>b)&&(n=c>d)后,n 的值为( )

B: 2

178. 在C 语言中,设x=3, y=2, 执行表达式 (x>y)?x++:++y 以后x 和y 的值分别为

( )

B: 4 和2

179. 在C 语言中,以下哪个函数用于将字符输出到标准输出设备( )

A: putchar()

180. 下面叙述中不正确的是

C: C 程序在执行过程中对预处理命令行进行处理;

181. 在TC 中,下列关于switch 语句和break 语句的结论中,只有( )是正确的。 A: 在switch 语句中可以根据需要使用或不使用break 语句

182. 在C 语言中,设a=3,b=4,c=5,d=6,则表达式:b<a?a:c<d?a:d 的结果为( ) B: 3

183. 下面叙述中正确的是

C: 宏替换不占用运行时间,只占编译时间;

184. 在C 语言中,执行后的输出结果是( )main(){int

k=2,i=2,m;m=(k+=i*=i);printf("%d,%d

\n",m,i);}

185. 在C 语言中,有表达式 x=abs(8-10), 则x 的值为( )

B: 2

186. 1. 在TC 中,设p1 和p2 是指向同一个int 型一维数组的指针变量,k 为int 型变 量,则不能正确执行的语句是( )。

C: p2=k;

187. 1. 在TC 中,若有定义 int y=2; int z=5 ,x=-4; 则表达式y+=abs(x)+x+z 的值为 ()。

D: 7

188. 1. 在TC 中,设x,y,z,t 均为int 型变量,则执行以下语句后,t 的值为( ) x=y=z=1; t=++x||++y&&++z;

C: 1

189. 在TC 中,表达式: 10!=9 的值是( )

B: 1

190. 在TC 中,若有以下定义:char a; int b; float c; double d; 则表达式a*b+d-c 值的类型

为( )。

D: double

191. 1. 在TC 中,若 int x=2, y=2, z=2 ; 则表达式 z+=++x+y++的值为( )。 A: 7

192. 在C 语言中,表示关系 x<y<z 所对应的表达式是( )

B: (x < y) && (y < z)

193. 在C 语言中, 执行后的输出结果是( )main(){int

k=2,i=3,m;m=(k+=i*=k);printf("%d,%d\n",m,i);}

D: 8,6

194. 在C 语言中,能正确表示关系a≥10 或a≤0 的表达式是( )

D: a>=10 || a<=0

195. 在C 语言中,下列程序的结果是( )void fun(int *x, int *y){ printf("%d %d", *x, *y); *x=1;

*y=2;}main(){int x=1,y=2;fun(&y,&x);printf("%d %d",x, y);}

B: 2 1 2 1

196. 在C 语言中,定义 char a[]={''a'',''b'',''l'',''l'',''o''},已知字符''b''的ASCII 码为98,则

printf("%d\n",a[0]); 的值为( )。

A: 97

197. 在C 语言中,执行后的输出结果是( )main(){int

k=4,i=2,m;m=(k+=i*=i);printf("%d,%d

\n",m,i);}

A: 8,4

198. 在C 语言中,若w=1, x=2 , y=3, z=4; 则条件表达式: w>x ? w : y<z ? y:z 的结果为

( )。

B: 3

199. 在C 语言中,设a=1,b=2,c=3,d=4,则表达式: a<b?a:c<d?a:d 的结果为( )

200. 在TC 中,假定有以下变量定义: int k=7 ,x=12; 则能使其值为 3 的表达式是( ) D: (x%=k)-(k%=5)

201. 在C 语言中,执行后的输出结果是( )main(){int

k=3,i=2,m;m=(k+=i*=k);printf("%d,%d

\n",m,i);}

B: 9,6

202. 在C 语言中,若有以下程序片段: char str[]="abcd"; printf(%d\n",strlen(str)); 上面程序片段的输出结果是( )。

B: 4

203. 在C 语言中,若有以下定义: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c=''a'',d,g; 则结果数值为 4 的表达式是( )。

D: a[''d''-c]

204. 在C 语言中,设有 static char str[ ]="Beijing"; 则执行 printf("%d\n", strlen(strcpy(str, "China")));后的输出结果为( )。

A: 5

205. 在C 语言中,若有以下定义: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c=''a'',d,g; 则结果数值为 6 的表达式是( )。

D: a[''f''-c]

206. 1. 在TC 中,若x 和y 都是int 型变量,x=100,y=200,下列语句的输出结果是( )。 printf("%d\n",(x,y));

C: 200

207. 在C 语言中,合法的数组定义是( )。

D: char a[]={0,1,2,3,4,5};

208. 在C 语言中,若有以下定义: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},i=3;则结果数

值为 8 的表达式是( )。

C: a[2*i+1]

209. 在TC 中,已知: int x=10, y=3 , z; 则下列语句的输出结果是( ) 。 printf(“%d\n”, z=(x%y,x/y));

C: 3

210. 在C 语言中,表达式: 10!=9 的值是( )

D: 1

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

a=b=c=0;x=35; if(!a) x=3; else x=4;

D: 3

212. 在C 语言中,合法的数组定义是( )

A: char a[]={0,1,2,3,4,5}

213. 在C 语言中,若有以下定义: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},i=2;则结果数

值为 4 的表达式是( )。

D: a[i+1]

214. 在执行int a[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是

C: 4

215. 在C 语言中,若有以下定义char a; int b; float c; double d;

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

D: double

216. 在C 语__________言中,假定有以下变量定义: int k=7 ,x=12; 则表达式k+k/x*x 的值是( )

B: 7

217. 在C 语言中,设x,y,z 和k 都是int 型变量,则执行表达式:x=(y=4,z=16),k=32 后,x 的值为

( )

B: 16

218. 在语言中,以下叙述不正确的是

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

219. 在C 语言中,已知定义:int b[]={1,2,3,4},y,*p=b;执行y=(*p)++后,b[0]的值为( )。 B: 2

220. 在C 语言中,已知定义:int b[]={1,2,3,4},y,*p=&b[1];执行y=*p++后,b[1]的值为

( )。

B: 2

221. 在C 语言中,设p1 和p2 是指向同一个int 型一维数组的指针变量,k 为int 型变量,则不

能正确执行的语句是( )。

B: p2=k;

222. 在C 语言中,设 int a=10,则执行完语句 a+=a-=a*a 后,a 的值是( )

D: -180

223. 有如下定义:

int i,x[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是( )

for(i=0;i<3;i++) printf(“%d ”,x[i][2-i]);

C: 3 5 7

224. 在C 语言中,以下正确的说明语句是( )。

D: int *A[10];

225. 以下叙述中正确的是

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

226. 系统的标准输入文件是指( )。

A: 键盘

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

B: 0

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

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

229. 以下叙述中错误的是

A: 用户所定义的标识符允许使用关键字

230. 下列关于C 语言用户标识符的叙述中正确的是

B: 用户标识符中不可以出现中划线,但可以出现下划线

231. 以下关于C 语言标识符的描述中,正确的是

D: Area 与area 是不同的标识符

C: C 语言本身没有输入、输出语句

233. 下面说法正确的是

C: C 程序由函数构成

234. 以下叙述不正确的是

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

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

C: 可以任意

236. 以下不能定义为用户标识符的是

D: int

237. 以下不合法的用户标识符是

C: 4d

238. 下列四组选项中,均不是C 语言关键字的选项是

A: defineIFtype

239. fgetc 函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( ) C: 读或读写

240. 以下可作为函数fopen 中第一个参数的正确格式是( )

A: c:user\text.txt

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

C: 0

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

D: 输出的字符

243. 在C 程序中,可把整型数以二进制形式存放到文件中的函数是( )

A: fprintf 函数

244. 若fp 是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是() C: 非零值

245. 若要打开A 盘上的user 子目录下名为abc.txt 的文本文件进行读、写操作,下面符合此

要求的函数调用是( )

B: fopen("A:\\user\\abc.txt","r+")

246. 下述关于C 语言文件操作的说法,正确的是()

B: 对文件操作必须先打开文件

247. C 语言中可以处理的文件类型是()

C: 文本文件和二进制文件

248. 在执行fopen 函数时,ferror 函数的初值是()

A: 0

249. 以下不能定义为用户标识符的是

D: sizeof

250. 以下选项中合法的用户标识符是

B: _2Test

251. 以下选项中不合法的用户标识符是

A: abc.c

252. 以下选项中不合法的用户标识符是

C: 3abc

B: 可以把define 定义为用户标识符,但不能把if 定义为用户标识符

254. 一个C 程序的执行是从

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

255. C 语言程序的基本单位是

C: 函数

256. 以下选项中可作为C 语言合法整数的是

C: 0xffa

257. 以下选项中合法的实型常数是

C: .2E0

258. 以下选项中属于C 语言的数据类型是

C: 双精度型

259. 以下选项中合法的字符常量是

B: ‘\10’

260. 下面正确的字符常量是

C ‘W’

261. 下面不正确的字符串常量是

A ‘abc’

262. 在C 语言中,char 型数据在内存中的存储形式是

D: ASCII 码

263. 以下所列的C 语言常量中,错误的是

B: 1.2e0.5

264. 表达式3.6-5/2+1.2+5%2 的值是

D: 3.8

265. 有以下程序#include <stdio.h>main(){ int a1=3,a2=9;printf(R %d\nR , (a1,a2));}以下

叙述中正确的是

B: 程序输出9

266. 若有定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c 的值为

B: 1

267. 若变量a 是 int 类型,并执行了语句:a=R AR +1.6;则正确的叙述是

D: a 的值是字符’A’的ASCII 值加上1

268. 下列语句中,正确的语句是

C: x=+3==2;

269. 以下能正确地定义整型变量a,b 和c 并为它们赋初值5 的语句是

C: int a=5,b=5,c=5;

270. 若有说明语句:char c=R \72R ;则变量 c

A: 包含1 个字符

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

C: 32

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

B: 8

本文来源:https://www.bwwdw.com/article/i3pj.html

Top