C语言题库11.docx
《C语言题库11.docx》由会员分享,可在线阅读,更多相关《C语言题库11.docx(79页珍藏版)》请在冰豆网上搜索。
C语言题库11
一、选择题(每题2分,35题,共70分)
1、一个C语言程序是由
(1)
A、一个主程序和若干子程序组成B、函数组成
C、若干过程组成D、若干子程序组成
<标准答案>=b
[题目描述]
2、下面不属于结构化程序设计的三种基本结构的是
(2)
A、顺序
B、跳转
C、循环
D、选择
<标准答案>=b
[题目描述]
3、下面四个选项中,均是不合法的用户标识符的选项是(3)。
A、b-aB、FloatC、a2D、_123
gotoP_0inttemp
intchar2bdouble
<标准答案>=a
[题目描述]
4、若有代数式(3ae)/bc,则不正确的C语言表达式是(4)。
A、a/b/c*e*3B、3*a*e/b/c
C、a*e/c/b*3D、a*e/c/b*3
<标准答案>=b
[题目描述]
5、表达式21/4*sqrt(9.0)/4值的数据类型是(5)。
A、floatB、intC、不确定D、double
<标准答案>=d
[题目描述]
6、若希望当字符变量a中为数字字符时,表达式的值为"真",为
非数字字符时,表达式的值为"假"。
则以下不能满足要求的表
达式是(6)。
A、a>=0&&a<=9B、a>='0'&&a<='9'
C、a>=48+0&&a<=48+9D、a-'0'>=0&&a-'0'<=9
<标准答案>=a
[题目描述]
7、以下程序的输出结果是(7)。
main()
{
inta=8;
printf("%d\n",(a+=a-=a*a));
}
A、0B、-112C、-180D、-48
<标准答案>=b
[题目描述]
8、一个C语言的语句至少应包一个(8)。
A、{}B、逗号C、分号D、什么不要
<标准答案>=c
[题目描述]
9、程序中定义以下宏#defineS(a,b)a*b若定义
intarea;且令area=S(3+4,5+1),则变量area的
值为(9)。
A、42?
B、24C、25D、23
<标准答案>=b
[题目描述]
10、在C语言中,函数的隐含存储类别是(10)。
A、auto B、static
C、extern D、无存储类别
<标准答案>=c
[题目描述]
11、有如下程序
main()
{
inti,sum;
for(i=1;i<=3;sum++)sum+=i;
printf("%d\n",sum);i无变化
}
该程序的执行结果是(11)
A、6 B、3C、死循环D、0
<标准答案>=c
[题目描述]
12、为了避免嵌套的if-else语句的二义性,C语言规定
else总是与(12)组成配对关系。
A、缩排位置相同的if
B、在其之前未配对的if
C、在其之前未配对的最近的if
D、同一行上的if
<标准答案>=c
[题目描述]
13、有以下程序,程序运行后的输出结果是(13)。
main()
{inta=15,b=21,m=0;
switch(a%3)
{case0:
m++;break;
case1:
m++;
switch(b%2)
{default:
m++;
case0:
m++;break;
}
}
printf(”%d\n”,m);
}
A、1B、2C、3D、4
<标准答案>=a
[题目描述]
14、有以下程序
main()
{inti,n=0;
for(i=2;i<5;i++)
{do
{if(i%3)continue;
n++;
}while(!
i);
n++;
}
printf("n=%d\n",n);
}
程序执行后的输出结果是(14)
A、n=5B、n=2C、n=3D、n=4
<标准答案>=d
[题目描述]
15、假定有以下变量定义
intk=7,x=12;
则能使值为7的表达式是(15)。
A、x%kB、k%x
C、k/xD、3%k
<标准答案>=b
[题目描述]
16、以下对C语言函数的有关描述中,正确的是(16)。
A、调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B、C函数既可以嵌套定义又可以递归调用
C、函数必须有返回值,否则不能使用函数
D、C程序中有调用关系的所有函数必须放在同一个源程
序文件中
<标准答案>=a
[题目描述]
17、有如下函数调用语句
func(rec1,rec2+rec3,(rec4,rec5));
该函数调用语句中,含有的实参个数是(17)。
∏记
A、4B、3C、5D、有语法错
<标准答案>=b
[题目描述]
18、合法的数组定义是(18)。
A、chara={'O','K','!
'};
B、chara[3]={"O","K","!
"};
C、chara[4]={'O','K','!
'};
D、chara[3]="OK!
";
<标准答案>=c
[题目描述]
19、以下程序运行后,输出结果是(19)。
main()
{
inta[10],a1[]={1,3,6,9,10};
inta2[]={2,4,7,8,15},i=0,j=0,k;
for(k=0;k<4;k++)
if(a1[i]elsea[k]=a2[j++];
for(k=0;k<4;k++)
printf("%d",a[k]);
}
A、1234B、1324
C、2413D、4321
<标准答案>=a
描述]
?
20、若有以下定义和语句:
char*s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
则输出结果是(20)
A、4B、5C、9D、10
<标准答案>=a
[题目描述]
21、若有以下数组定义,其中不正确的是(21)。
A、inta[2][3];
B、intb[][3]={0,1,2,3};
C、intc[100][100]={0};
XD、intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
<标准答案>=d
[题目描述]
22、以下程序输出{的结果是(22)。
main()
{charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;
for(k=0;k<3;k++)
printf("%s\n",&w[k][k]);
}
A、ABCDB、ABCD
FGHEFG
KLIJ
M
C、EFGD、FGH
JKKL
O
<标准答案>=a
[题目描述
23、以下程序的输出结果是(23)。
main()
{inti;
for(i=1;i<=5;i++)
{
if(i%2==0)printf("#");
elsecontinue;
printf("*");
}
printf("$\n");
}
A、*#*#*#$B、#*#*#*$C、*#*#$D、#*#*$
<标准答案>=d
[题目描述]
24、若有说明语句:
inta,b,c,*d=&c;,则能正确从键盘读入三个整数
分别赋给变量a、b、c的语句是(24)。
A、scanf("%d%d%d",&a,&b,&d);B、scanf("%d%d%d",&a,&b,d);
C、scanf("%d%d%d",a,b,d);D、scanf("%d%d%d",a,b,*d);
<标准答案>=b
[题目描述]
25、若定义:
inta=511,*b=&a则printf("%d\n",*b);
的输出结果为(25)。
A、无确定值B、a的地址
C、512D、511
<标准答案>=d
[题目描述]
26、运行下面的程序,如果从键盘上输入:
123<空格>456<空格>789<回车>,
输出结果是(26)。
A、123,456,789B、1,456,789
C、1,23,456,789D、1,23,456
main()
{
chars[100];
intc,i;
scanf("%c",&c);
scanf("%d",&i);
scanf("%s",s);
printf("%c,%d,%s\n",c,i,s);
}
<标准答案>=d
[题目描述]
27、若有数组定义:
chararray[]="China";则数组还有一个”\0”
array所占的空间为(27)。
A、4个字节B、5个字节
C、6个字节D、7个字节
<标准答案>=c
题目描述]
28、若有以下的定义:
inta[]={1,2,3,4,5,6,7,88,9,10},*p=a;p代表a的地址,
则值为3的表式是(28)
A)p+=2,*(p++)B)p+=2,*++p
C)p+=3,*p++D)p+=2,++*p
<标准答案>=a
[题目描述]
29、以下程序运行后的输出结果是(29)。
func(inta)
{autointb=0;
autointc=1;
b++;c++;;
return(a+b+c);
}
main()
{intx=2,i;
for(i=0;i<3;i++)
printf("%d\n",func(x));
}
A、5B、5C、5D、5
8765
11975
<标准答案>=d
[题目描述]
30、若已定义:
inta[]={0,2,4,6,8,10,12,14,16,18},*p=a,i;
(i在0至9的范围),以下对a数组元素的引用不正确
的是(30)
A、a[p-a]?
B、*(&a[i])
C、p[i]D、*(*(a+i))
<标准答案>=d
[题目描述]
31、以下程序的输出结果是(31)
main()
{int*p;
inta[5]={2,6,8,7,1};
p=a;
printf("%d%d%d\n",a[p-a],*p++,*++p);
}
A、866B、228
C、268D、686
<标准答案>=a
[题目描述]
32、下面程序的功能是计算正整数2345的各位数字平方和,
请选择填空。
填第一空(32):
#include
main()
{intn,sum=0;
n=2345;
do
{sum=sum+(32);
n=(33);
}while(n);
printf("sum=%d",sum);
}
A、n%10B、(n%10)*(n%10)
C、n/10D、(n/10)*(n/10)
<标准答案>=b
[题目描述]
33、下面程序的功能是计算正整数2345的各位数字平方和,
请选择填空。
填第二空(33):
#include
main()
{intn,sum=0;
n=2345;
do
{sum=sum+(32);
n=(33);
}while(n);
printf("sum=%d",sum);
}
A、n/1000B、n/100
C、n/10D、n%10
<标准答案>=c
[题目描述]
?
34下面程序的功能是求出用数字1、3、5、7可以组成多少个
没有重复的三位数,且每行控制输出4个数。
请选择填空。
填第一空(34):
main()
{inti,j,k,count=0;
for(i=1;i<=7;i=i+2)
for(j=1;j<=7;j=j+2)
for(k=1;k<=7;k=k+2)
if(34)
{printf("%5d",i*100+j*10+k);
count++;
if(35)printf("\n");}
}
A、(i!
=j!
=k)B、(i!
=j&&i!
=k&&j!
=k)
C、(i!
=j&&i!
=k)D、(i!
=j||i!
=k||j!
=k)
<标准答案>=b
[题目描述]
35、下面程序的功能是求出用数字1、3、5、7可以组成多少个
没有重复的三位数,且每行控制输出4个数。
请选择填空。
填第二空(35):
main()
{inti,j,k,count=0;
for(i=1;i<=7;i=i+2)
for(j=1;j<=7;j=j+2)
for(k=1;k<=7;k=k+2)
if(34)
{printf("%5d",i*100+j*10+k);
count++;
if(35)printf("\n");}
}
A、count/4==0B、count%4
C、count%4==0D、count/4
标准答案>=c
选择题:
1、下面不属于结构化程序设计的三种基本结构的是_______。
A、顺序结构B、跳转结构C、循环结构D、选择结构
<标准答案>=b
[题目描述]
2、下列各组字符序列中,可用作C语言程序标识符的是_______。
下划线&字母可以作为首
A、12abcB、abc$12
C、abc%%D、_abc12
<标准答案>=d
[题目描述]
3、C语言中的简单数据类型包括_______。
A、整型、实型、逻辑型
B、整型、字符型、逻辑型
C、整型、实型、字符型
D、整型、实型、逻辑型、字符型
<标准答案>=c
[题目描述]
4、下列符号中,不属于转义字符的是_______。
A.\0xAAB.\\C.\tD.\0
<标准答案>=a
[题目描述]
5、已知各变量的类型说明如下:
intm=8,n,a,b;
unsignedlongw=10;
doublex=3.14159,y=0.12;
则以下符合C语言语法的表达式是_______。
A.a+=a-=(b=2)*(a=8)B.n=n*3=18
C.x%3D.y=float(m)
<标准答案>=a
[题目描述]
6、假设所有变量均为整型,则表达式(x=2,y=5,y++,x+y)的在计算x+y之前,y已经自家一了
值是_______。
A.2B.6C.7D.8
<标准答案>=d
[题目描述]
7、设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是____。
printf(%d,%d\n",x--,--y);
A、10,3B、10,2C、9,2D、9,3
<标准答案>=b
[题目描述]
8、以下程序段的输出结果是______。
floata=12345.98;
printf("%5.2f\n",a);
A、12345.98B、12345
C、45.98D、提示出错、无结果
<标准答案>=a
[题目描述]
9、putchar函数可以向终端输出一个______。
A.整型变量表达式值B.字符串
C.字符或字符型变量值D.实型变量值
<标准答案>=c
[题目描述]
10、有如下程序段,从键盘输入数据的正确形式应是________。
(注:
└┘代表空格)
floatx,y,z;
scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);
A.123B.x=1,y=2,z=3
C.1,2,3D.x=1└┘y=2└┘z=3
<标准答案>=b
[题目描述]
11、在C语言中,if(a)语句,当a的值为_____时
不执行if后面的语句。
A、-1B、0.1C、1D、0
<标准答案>=d
[题目描述]
12、已知:
charch='q';则下列表达式的值是______下式是对的,故选左边的
ch=(ch>='a'&&ch<='z')?
(ch-32):
ch;
A、aB、QC、qD、z
<标准答案>=b
[题目描述]
13、以下程序的输出结果是_______。
main()
{inta=10,b;
b=++a;b+=a;
printf("%d",b);
b=a--;
b+=a;
printf("%d",b);
}
A、2021B、2221
C、2122D、2120
<标准答案>=b
[题目描述]
14、已知inta=1,b=2,c=3;以下语句执行后a,b,c的值是_____。
if(a>b)他们是一起的,下面的是另外的
c=a;a=b;b=c;
A.a=2,b=3,c=3B.a=1,b=2,c=3
C.a=2,b=3,c=1D.a=2,b=3,c=2
<标准答案>=a
[题目描述]
15、有以下程序,若输入为字符s,则程序运行结果为_______。
#include"stdio.h"
main()
{charch;
ch=getchar();
switch(ch)
{case'a':
printf("a=%c\n",ch);
default:
printf("end!
\n");
case'b':
printf("b=%c\n",ch);
case'c':
printf("c=%c\n",ch);
}
}
A.end!
B.end!
C.有语法错误D.a=s
b=send!
c=s
<标准答案>=a
[题目描述]
16、设a为int型变量,则能正确表达数学关系-1A、10>a>-1XB、!
(a>-1&&a<10)
C、-1<标准答案>=c
[题目描述]
17、以下程序的输出结果是________。
main()
{intn=2;
while(n--)
printf("%d",--n);
}
A.1-1B.10C.21D.0
<标准答案>=d
[题目描述]
18、当执行以下程序段时,_________。
x=-1;
do
{x=x*x;}
while(!
x);
A.循环体将执行一次 B.循环体将执行两次
C.循环体将执行无数多次 D.系统将提示有语法错误
<标准答案>=a
[题目描述]
19、以下程序的输出结果是_______。
main()
{inti;
for(i=1;i<=5;i++)
{
if(i%2)
printf("#");
else
continue;
printf("*");
}
printf("$\n");
}
A、*#*#*#$B、#*#*#*$C、*#*#$D、#*#*$
<标准答案>=b
[题目描述]
20、若i,j已定义为int类型,则以下程序段中内循环的总的执行
次数是________。
for(i=3;i;i--)
for(j=0;j<2;j++)
{…}
A.12B.9C.6D.2
<标准答案>=c
[题目描述]
21、在以下给出的表达式中,与do-while(E)语句中的(E)不等价的
表达式是_______。
A.(E==0)B.(E>0||E<0)
C.(!
E==0)D.(E!
=0)
<标准答案>=a
[题目描述]
22、C语言中规定函数的返回值类型是由_______。
A、调用该函数时的主调函数类型所决定的
B、调用该函数时所定义的调函数类型所决定的
C、调用该函数时系统临时决定的
D、return语句中的表达式类型所决定的
<标准答案>=b
[题目描述]
23、在C语言中,形参的缺省存储类型是________
A、autoB、register
C、staticD、extern
<标准答案>=a
[题目描述]
24、在一个源程序文件中定义的全局变量的有效范围是______。
A.本源程序文件的全部范围
B.一个C程序的所有源程序文件
C.函数内全部范围
D.从定义变量的位置开始到源程序文件结束
<标准答案>=d
[题目描述]
25、以下程序的输出结果是_______。
fun(intx,inty,intz)
{
z=x*x+y*y;
}
main()
{
inta=12;
fun(4,7,a);
printf("%d",a);
}
A.无确定值B.0
C.12D.28
<标准答案>=c
[题目描述]
26、以下程序的输出结果是________
f(intb[],intm,intn)
{inti,s=0;
for(i=m;is=s+b[i];
returns;
}
main()
{intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}
A、8B、10C、18D、15
<标准答案>=b
[题目描述]
27.下列程序执行后的输出结果是________。
#defineMA(x)x*(x-1)
main()
{
inta=2,b=3;
printf("%d\n",MA(1+a+b));
}
A.10B.18C.24D.35
<标准答案>=b
[题目描述]
28、若有定义:
chars[200];则数组上、下标为______。
A、0,199B、1,200
C、200,1D、199,0
<标准答案>=a
[题目描述]
29、以下程序段的输出结果是_______。
Chars[]="abcd\'";
printf("%d\n",strlen(s));求其子数?
A、8B、7C、6D、5
<标准答案>=d
[题目描述]
30、合法的数组定义是_______