工信部C语言考试题及答案.docx
- 文档编号:30009184
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:74
- 大小:44.95KB
工信部C语言考试题及答案.docx
《工信部C语言考试题及答案.docx》由会员分享,可在线阅读,更多相关《工信部C语言考试题及答案.docx(74页珍藏版)》请在冰豆网上搜索。
工信部C语言考试题及答案
1.以下叙述中正确的是
B:
静态(static)类别变量的生存期贯穿于整个程序的运行期间
2.设有如下说明
typedefstruct
{intn;charc;doublex;}STD;
则以下选项中,能正确定义结构体数组并赋初值的语句是
A:
STDtt[2]={{1,'A',62},{2,'B',75}};
3.以下叙述中不正确的是
D:
C语言中,顺序读写方式不适用于二进制文件
4.以下叙述中正确的是
A:
构成C程序的基本单位是函数
5.以下选项中合法的用户标识符是
B:
_2Test
6.设有定义:
longx=-123456L;,则以下能够正确输出变量x值的语句是()。
B:
printf(“x=%1d\n”,x);
7.若有以下程序:
main()
{intk=2,i=2,m;
m=(k+=i*=k);printf(“%d,%d\n”,m,i);
}
执行后的输出结果是()。
C:
6,4
8.有以下程序段
intn=0,p;
do{scanf(“%d”,&p);n++;}while(p!
=12345&&n<3);
此处do—while循环的结束条件是
D:
P的值等于12345或者n的值大于等于3
9.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是
B:
int
10.有以下程序
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf(“%3.0f\n”,fun((int)fun(a+c,b),a-c));
}
程序运行后的输出结果是()。
B:
9
11.以下叙述中错误的是
D:
不可以用FILE定义指向二进制文件的文件指针
12.设有如下定义:
strucksk
{inta;
floatb;
}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()
{intnum=0;
while(num<=2)
{num++;printf(“%d\n”,num);
}
}
B:
1
2
3
17.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是
B:
单向值传递
18.以下函数值的类型是()。
fun(floatx)
{floaty;
y=3*x-4;
returny;
}
A:
int
19.以下程序的输出结果是
main()
{charc=’z’;
printf(“%c”,c-25);
}
A:
a
20.以下选项中,非法的字符常量是
C:
“n”
21.假定int类型变量占用两个字节,其有定义:
intx[10]={0,2,4};,则数组x在内存中所占
字节数是()。
D:
20
22.以下数组定义中不正确的是
D:
intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
23.下列叙述中正确的是
D:
C语言所有函数都是外部函数
24.以下所列的C语言常量中,错误的是()。
B:
1.2e0.5
25.以下程序执行后sum的值是()。
min()
{inti,sum;
for(i=1;i<6;i++)sum+=i;
printf(“%d\n”,sum);
}
C:
不确定
26.有以下程序段
intx=3
do
{printf(“%d”,x-=2);}
while(!
(--x));
其输出结果是
C:
1-2
27.以下程序的输出结果是()。
fun(intx,inty,intz)
{z=x*x+y*y;}
main()
{inta=31;
fun(5,2,a);
printf(“%d”,a);
}
C:
31
28.下面程序的输出结果是()。
main()
{inta[]={1,2,3,4,5,6,7,8,9,0,},*p;
p=a;
printf(“%d\n”,*p+9);
}
C:
10
29.设有以下说明语句
structex
{intx;floaty;charz;}example;
则下面的叙述中不正确的是()。
B:
example是结构体类型名
30.有如下程序
main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x<10.0)y=1.0/x;
elsey=1.0;
printf(“%f\n”,y);
}
该程序的输出结果是()。
C:
0.500000
31.有如下程序
main0
{inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec++
printf("%d\n",c);
}
该程序的输出结果是
C:
2
32.有如下程序
main()
{inti,sum;
for(i=1;i<=3;sum++)sum+=i;
printf(“%d\n”,sum);
}
该程序的执行结果是
C:
死循环
33.有如下程序
main()
{intx=23;
do
{printf(“%d”,x--);}
while(!
x);
}
该程序的执行结果是
B:
23
34.有如下程序
main()
{intn=9;
while(n>6){n--;printf(“%d”,n);}
}
该程序段的输出结果是
B:
876
35.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()。
C:
非零值
36.下列变量定义中合法的是
A:
short_a=1-.le-1;
37.以下循环体的执行次数是()。
main()
{inti,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中的值为()。
intk=3,s[2];
s[0]=k;k=s[1]*10;
A:
不定值
40.下列程序的运行结果是()。
#include
main()
{inta=2,c=5;
printf("a=%d,b=%d\n",a,c);}
B:
a=2,b=5
41.设有数组定义:
chararray[]="China";则数组array所占的空间为()。
C:
6个字节
42.在C程序中,可把整型数以二进制形式存放到文件中的函数是()。
A:
fprintf函数
43.下列描述中不正确的是
C:
可以对整型数组进行整体输入、输出
44.以下程序的输出结果是()。
main()
{intx=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d,%d",x--,y);
}
D:
101091
45.以下程序的输出结果是()。
main()
{intn=4;
while(n--)printf("%d",--n);
}
A:
20
46.C语言的基本单位是
A:
函数
47.算法具有五个特性,以下选项中不属于算法特性的是
A:
简洁性
48.以下程序的输出结果是()。
main()
{inti;
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
main()
{charch;
while((ch=getchar())!
=''\n'')
{if(ch>=''A''&&ch<=''Z'')ch=ch+32;
elseif(ch>=''a''&&ch<=''z'')ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
B:
abcDEF
51.若有定义:
intx,*pb;则以下正确的赋值表达式是()
C:
pb=&x;
52.若有以下定义:
chara;intb;
floatc;doubled;
则表达式a*b+d-c值的类型为
D:
double
53.给出以下定义:
charx[]="abcdefg";
chary[]={''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:
74
56.以下说法中正确的是
C:
C语言程序总是从main函数开始执行;
57.main()
{intx,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
main()
{inta,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.若有intk=2,*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的语句是()
B:
ptr2=k;
61.能将高级语言源程序转换成目标程序的是
C:
编译程序
62.变量的指针,其含义是指该变量的
B:
地址
63.在C语言提供的合法的关键字是
D:
default
64.在C语言中,合法的字符常量是
B:
''\x43''
65.合法的数组定义是
D:
chara[]={0,1,2,3,4,5};
66.若有以下定义和语句:
intu=010,v=0x10,w=10;
printf("%d,%d,%d\n",u,v,w);
则输出结果是:
A:
8,16,10
67.若有以下定义:
chars[20]="programming",*ps=s;
则不能代表字符o的表达式是
A:
ps+2
68.若有以下定义:
floatx;inta,b;
则正确的switch语句是
C:
switch(a+b)
{case1:
printf("\n");
case1+2:
printf("**\n");
}
69.若有以下的定义:
inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;
则值为3的表式是
A:
p+=2,*(p++)
70.若有以下说明:
inta[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.设有下面的程序段:
chars[]=”china”;char*p;p=s;
则下列叙述正确的是()
C:
*P与s[0]相等
74.C语言中最简单的数据类型包括
B:
整型、实型、字符型
75.C语言中,运算对象必须是整型数的运算符是
A:
%
76.下述对C语言字符数组的描术中错误的是
C:
可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
77.定义如下变量:
intn=10;则下列循环的输出结果是
while(n>7)
{n--;
printf("%d\n",n);
}
D:
9
8
7
78.若调用一个函数,且此函数中没有return语句,则正确的说法是()该函数:
D:
返回一个不确定的值
79.下面说法中不正确的是()
在C语言中
B:
形参可以是常量、变量或表达式;
80.下面的程序
main()
{intx=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
inta[]={2,4,6,8};
main()
{inti;
int*p=a;
for(i=0;i<4;i++)a[i]=*p++;
printf("%d\n",a[2]);
}
上面程序的输出结果是
A:
6
89.请读程序:
#include
main()
{intmun=0;
while(num<=2)
{num++;printf("%d\n",num);}
}
上面程序的输出结果是
B:
1
2
3
90.以下一维数组a的正确定义是()
D:
#definesize10;
longa[size];
91.若使用一维数组名作函数参数,则以下正确的说法是
C:
在被调函数中,不需要考虑形参数组的大小;
92.以下正确的描述是
B:
只能在循环体内和switch语句体内使用break语句;
93.以下正确的描述是
C:
只能用continue语句来终止本次循环;
94.下正确的说法是()。
如果在一个函数中的复合语句中定义了一个变量,则该变量
A:
只在该复合语句中有效
95.已知:
intx,y;floatz;则以下输入语句错误的是
D:
scanf("%d%d%6.2f",&x,&y,&z);
96.下列描述中不正确的是
C:
可以对整型数组进行整体输入、输出
97.合法的数组定义是
D:
chara[]={0,1,2,3,4,5};
98.若有定义和语句:
chars[10];
s="abcd";
printf("%s\n",s);
则结果是(以下u代表空格)
D:
编译不通过
99.以下不正确的说法是
D:
在函数内的复合语句中定义的变量在本函数范围内有效;
100.若有以下定义和语句
charc1=''b'',c2=''e'',c3=''1'';
printf("%d,%c,%d\n",c2-c1,c2-''a''+''A'',c3-''0'');
则输出结果是:
B:
3,E,1
101.以下定义语句中正确的是()。
Cinta=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:
inta[10]=(0,0,0,0);
114.以下对字符数组进行不正确初始化的是
A:
staticcharword[]='cool\0';
115.以下关于C语言的叙述中正确的是
A:
C语言中的注释不可以夹在变量名或关键字的中间
116.以下C语言用户标识符中,不合法的是
D:
aR
b
117.若有定义:
doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是
C:
i=a%11;
118.有以下程序
#include
main()
{chara,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;elsea++;语句功能不同的switch语句是
B:
switch(a==1)
{case0:
a=b;break;
case1:
a++;
}
123.有如下嵌套的if语句
if(a
if(a elsek=c; else if(b elsek=c; 以下选项中与上述if语句等价的语句是 C: k=(a ((a a: c): ((b b: c) 124.有以下程序 #include main() {ini,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 main() {inta=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: #defineN2008 intnum[N]; 128.若有定义int(*Pt)[3];,则下列说法正确的是 D: 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组 129.有以下程序 #include main() {inta[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.若有以下定义和语句 chars1[10]="abcd! ",*s2="123\\"; printf("%d%d",strlen(s1),strlen(s2)); 则输出结果是 A: 55 131.设有定义: structcomplex {intreal,unreal;}data1={1,8},data2; 则以下赋值语句中错误的是 B: data2=(2,6); 132.若有说明语句chara[]=”Itismine”;char*p=”Itismine”; 则以下不正确的叙述是() D: a中只能存放10个字符; 133.有以下程序 #include main() {FILE*fp;charstr[10]; fp=fopen("myfile.dat","w"); fputs("abc",fp);fclose(fp); fpfopen("myfile.data","a++"); fprintf(fp,"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工信部 语言 考试题 答案