C语言选择题100题2.docx
《C语言选择题100题2.docx》由会员分享,可在线阅读,更多相关《C语言选择题100题2.docx(29页珍藏版)》请在冰豆网上搜索。
C语言选择题100题2
101.以下不能正确定义二维数组的选项是______。
A、inta[2][2]={{1},{2}};
B、inta[][2]={1,2,3,4};
C、inta[2][2]={{1},2,3};
D、inta[2][]={{1,2},{3,4}};
102.以下能正确定义二维数组的是______。
A、inta[][3];
B、inta[][3]={2*3};
C、inta[][3]={};
D、inta[2][3]={{1},{2},{3,4}};
103.以下程序的输出结果是______。
main()
{
inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
A、18B、19C、20D、21
104.以下程序的输出结果是______。
main()
{inti,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,9B、1,4,7C、3,5,7D、3.6.9
105.有以下程序
main()
{
inti,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++)
printf("%d",t[2-i][i]);
}
判序执行后的输出结果是______。
A、753B、357C、369D、751
106.以下数组定义中错误的是______。
A、intx[][3]={0};
B、intx[2][3]={{1,2},{3,4},{5,6}};
C、intx[][3]={{1,2,3},{4,5,6}};
D、intx[2][3]={1,2,3,4,5,6};
107.以下数组定义中不正确的是______。
A、inta[2][3];
B、intb[][3]={0,1,2,3};
C、intc[100][100]={0};
D、intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
108.有以下程序
main()
{
intm[][3]={1,4,7,2,5,8,3,6,9};
inti,j,k=2;
for(i=0;i<3;i++)
{printf("%d",m[k][i]);}
}
执行后输出结果是______。
A、456B、258C、369D、789
109.以下能正确定义数组并正确赋初值的语句是______。
A、intN=5,b[N][N];
B、inta[1][2]={{1},{3}};
C、intc[2][]={{1,2},{3,4}};
D、intd[3][2]={{1,2},{34}};
110.阅读下列程序:
main()
{intn[3],i,j,k;
for(i=0;i<3;i++)
n[i]=0;
k=2;
for(i=0;ifor(j=0;jn[j]=n[i]+1;
printf("%d\n",n[1]);
}
下述程序运行后输出结果是______。
A、2B、1C、0D、3
111.以下程序的输出结果是______。
main()
{
Inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],
a[1][2],a[2][1],a[3][0]);
}
A、0650B、1470C、5430D、输出值不定
112.定义如下变量和数组:
inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是______。
for(i=0;i<3;i++)printf("%d",
x[i][2-i]);
A、159B、147C、357D、369
113.有以下程序
main()
{
intx[3][2]={0},i;
for(i=0;i<3;i++)scanf("%d",x[i]);
printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);
}
若运行时输入:
246<回车>,则输出结果为______。
A、200B、204
C、240D、246
114.设有说明语句:
chara='\72';则变量a______。
A、包含1个字符B、包含2个字符
C、包含3个字符D、说明不合法
115.下面程序的功能是输出以下形式的金字塔图案是:
*
***
*****
*******
main()
{inti,j;
for(i=1;i<=4;i++)
{for(j=1;j<=4-i;j++)
printf("");
for(j=1;j<=____;j++)printf("*");
printf("\n");
}
}
在下划线处应填入的是______。
A、iB、2*i-1C、2*i+1D、i+2
116.有以下程序
main()
{intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;
for(i=0;i<4;i++)
{for(j=1;j<=i;j++)printf("%4c",'');
for(j=____;j<4;j++)printf("%4d",num[i][j]);
printf("\n");
}
}
若要按以下形式输出数组右上半三角
1234
678
1112
16
则在程序下划线处应填入的是______。
A、i-1B、IC、i+1D、4-i
117.有以下程序
main()
{inta=1,b;
for(b=1;b<=10;b++)
{if(a>=8)break;
if(a%2==1)
a+=5;continue;}
a-=3;
}
printf("%d\n",b);
}
程序运行后的输出结果是______。
A、3B、4C、5D、6
118.以下程序的功能是:
给r输入数据后计算半径为r的圆的面积s程序在编译时出错。
main()
/*Bejinning*/
{intr;
floats;
scanf("%d",&r);
s=*π*r*r;
printf("s=%f\n",s);
}
出错的原因是______。
A、注释语句书写位置错误
B、存放圆半径的变量r不应该定义为整形
C、输出语句中格式描述符非法
D、计算圆面积的赋值语句中使用了非法变量
119.下列程序执行后的输出结果是______。
main()
{
intx='f';
printf("%c\n",'A'+(x-'a'+1));
}
A、GB、HC、ID、J
120.以下程序的输出结果是______。
main()
{inti;
for(i='A';i<'I';i++,i++)printf("%c",i+32);
printf("\n");
}
A、编译不通过,无输出B、aceg
C、acegiD、abcdefghi
121.有如下程序
#include
main()
{
printf("%d\n",NULL);
}
程序运行后的输出结果是______。
A、0B、1C、-1D、NULL没定义,出错
122.若变量a是int类型,并执行了语句:
a='A'+1.6;,则正确的叙述是______。
A、a的值是字符CB、a的值是浮点型
C、不允许字符型和浮点型相加
D、a的值是字符'A'的ASCII值加上1
123.以下程序的输出结果是______。
main()
{charc='z';
printf("%c",c-25);
}
A、aB、ZC、z-25D、y
124.数字字符0的ASCII值为48,若有以下程序______。
main()
{
chara='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}
程序运行后的输出结果是
A、3,2B、50,2C、2,2D、2,50
125.已定义c为字符型变量,则下列语句中正确的是______。
A、c='97';B、c="97";C、c=97;D、c="a";
126.若有以下定义和语句
charc1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+'A');
则输出结果是:
______。
A、2,MB、3,EC、2,E
D、输出项与对应的格式控制不一致,输出结果不确定
127.有以下程序
main()
{
chars[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}
执行后输出结果是______。
A、赋初值的字符串有错B、6,7
C、5,6D、6,6
128.以下正确定义字符串的语句是______。
A、charstr[]={'\064'};
B、charstr="\x43";
C、charstr='';
D、charstr[]="\0";
129.函数调用:
strcat(strcpy(str1,str2),str3)的功能是______。
A、将串str1复制到串str2中后再连接到串str3之后
B、将串str1连接到串str2之后再复制到串str3之后
C、将串str2复制到串str1中后再将串str3连接到串str1之后
D、将串str2连接到串str1之后再将串str1复制到串str3中
130.当调用函数时,实参是一个数组名,则向函数传送的是______。
A、数组的长度
B、数组的首地址
C、数组每一个元素的地址
D、数组每个元素中的值
131.若有定义和语句:
chars[10]:
s="abcd";printf("%s\n",s);
则结果是(以下u代表空格)______。
A、输出abcdB、输出a
C、输出abcduuuuuD、编译不通过
132.有以下程序
voidsum(inta[])
{a[0]=a[-1]+a[1];}
main()
{inta[10]={1,2,3,4,5,6,7,8,9,10};
sum(&a[2]);
printf("%d\n",a[2]);
}
程序运行后输出结果是______。
A、6B、7C、5D、8
133.有以下程序
main()
{
inti,n=0;
for(i=2;i<5;i++)
{
do
{
if(i%3)
continue;
n++;
}
while(!
i);
n++;
}
printf("n=%d\n",n);
}
程序执行后的输出结果是______。
A、n=5B、n=2C、n=3D、n=4
134.下列程序的输出结果是______。
main()
{inti,j,m=0,n=0;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
if(j>=i)m=1;
n++;
printf("%d\n",n);
}
A、4B、2C、1D、0
135.有以下程序
main()
{inti,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)
continue;
x++;
}
x++;
}
printf("x=%d\n",x);
}
程序执行后的输出结果是______。
A、x=4B、x=8C、x=6D、x=12
136.以下程序的输出结果是______。
main()
{
intn[3][3],i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
n[i][j]=i+j;
for(i=0;i<2;i++)
for(j=0;j<2;j++)n[i+1][j+1]+=n[i][j];
printf("%d\n",n[i][j]);
}
A、14B、0C、6D、值不确定
137.有以下程序段
intk=0;
while(k=1)k++;
while循环执行的次数是______。
A、无限次
B、有语法错,不能执行
C、一闪也不执行
D、执行1次
138.有以下程序
main()
{chars[]="abcde";
s+=2;
printf("%d\n",s[0]);
}
执行后的结果是______。
A、输出字符a的ASCII码
B、输出字符c的ASCII码
C、输出字符c
D、程序出错
139.请读程序:
#include
f(intb[],intn)
{inti,r;
r=1;
for(i=0;i<=n;i++)r=r*b[i];
returnr;
}
main()
{intx,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
printf("%d\n",x);
}
上面程序的输出结果是______。
A、720B、120C、24D、6
140.若要求定义具有10个int形元素的一维数组a,则以下的定义语句中错误的是______。
A、#defineN10
inta[N];
B、#definen5
inta[2*n];
C、inta[5+5];
D、intn=10,a[n];
141.合法的数组定义是______。
A、inta[]="string";
B、inta[5]={0,1,2,3,4,5};
C、chars="string";
D、chara[]={0,1,2,3,4,5};
142.要求通过while循环不断读入字符,当读入字母N时结束循环。
若变量已正确定义,以下正确的程序段是______。
A、while((ch=getchar())!
='N'printf("%c",ch);
B、while(ch=getchar()!
='N'printf("%c",ch);
C、while(ch=getchar())=='N'printf("%c",ch);
D、while((ch=getchar())=='N'printf("%c",ch);
143.有以下程序
main()
{intp[7]={11,13,14,15,16,17,18};inti=0,k=0;
while(i<7&&p[i]%2)
{
k=k+p[i];
i++;
}
printf("%d\n",k);
}
执行后输出结果是______。
A、58B、56C、45D、24
144.以下能正确定义一维数组的选项是______。
A、inta[5]={0,1,2,3,4,5};
B、chara[]={0,1,2,3,4,5};
C、chara={'A','B','C'};
D、inta[5]="0123";
145.有如下程序
main()
{intn[5]={0,0,0},i,k=2;
for(i=0;in[i]=n[i]+1;
printf("%d\n",n[k]);
}
该程序的输出结果是______。
A、不确定的值B、2C、1D、0
146.以下程序的输出结果是______。
main()
{inti,a[10];
for(i=9;i>=0;i--)a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A、258B、741C、852D、369
147.执行下面的程序段后,变量k中的值为______。
intk=3,s[2];
s[0]=k;k=s[1]*10;
A、不定值B、33C、30D、10
148.有如下程序
main()
{intn=9;
while(n>6)
{n--;
printf("%d",n);
}
}
该程序段的输出结果是______。
A、987B、876C、8765D、9876
149.t为int类型,进入下面的循环之前,t的值为0
while(t=1)
{……}
则以下叙述中正确的是______。
A、循环控制表达式的值为0
B、循环控制表达式的值为1
C、循环控制表达式不合法
D、以上说法都不对
150.以下程序中,while循环的循环次数是______。
main()
{inti=0;
while(i<10)
{
if(i<1)continue;
if(i==5)break;
i++;
}
……
}
A、1B、10
C、6D、死循环,不能确定次数
151.有以下程序
main()
{intk=5,n=0;
while(k>0)
{switch(k)
{default:
break;
case1:
n+=k;
case2:
case3:
n+=k;
}
k--;
}
printf("%d\n",n);
}
程序运行后的输出结果是______。
A、0B、4C、6D、7
152.有以下程序
main()
{
inti;
for(i=0;i<3;i++)
switch(i)
{
case1:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);
}
}
执行后输出结果是______。
A、011122B、012C、012020D、120
153.有如下程序
main()
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++;
case2:
a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出的结果是______。
A、a=2,b=1B、a=1,b=1
C、a=1,b=0D、a=2,b=2
154.以下程序的输出结果是______。
main()
{inta=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
}
}
printf("%d\n",a);
}
A、31B、13C、10D、20
155.下列叙述中正确的是______。
A、break语句只能用于switch语句
B、在switch语句中必须使用default
C、break语句必须与switch语句中的case配对使用
D、在switch语句中,不一定使用break语句
156.设a为整型变量,不能正确表达数学关系:
10A、10B、a==11||a==12||a==13||a==14
C、a>10&&a<15
D、!
(a<=10)&&!
(a>=15)
157.以下程序的输出结果是______。
main()
{inta=4,b=5,c=0,d;
d=!
a&&!
b||!
c;
printf("%d\n",d);
}
A、1B、0C、非0的数D、-1
158.语句:
printf("%d",(a=2)&&(b=-2));的输出结果是______。
A、无输出B、结果不确定C、-1D、1
159.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。
A、0B、1C、2D、3
160.若变量c为char类型,能正确判断出c为小写字母的表达式是______。
A、'a'<=c<='z'
B、(c>='a')||(c<='z')
C、('a'<=c)and('z'>=c)
D、(c>='a')&&(c<='z')
161.能正确表示逻辑关系:
“a≥10或a≤0”的C语言表达式是______。
A、a>=10ora<=0B、a>=0|a<=10
C、a>=10&&a<=0D、a>=10||a<=10
162.有如下程序
main()
{
inta=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a
printf("%d,%d\n",k,m);
}
程序运行后的输出结果是______。
A、0,0B、0,1C、1,0D、1,1
163.设intx=1,y=1;表达式(!
x||y--)的值是______。
A、0B、1C、2D、-1
164.设有定义:
inta=2,b=3,c=4;,则以下选项中值为0的表达式是______。
A、(!
a==1)&&(!
b==0)B、(a
c||1
C、a&&bD、a||(b+b)&&(c-a)
165.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为______。
A、a<>0B、!
aC、a=0D、a
166.有如下程序段
inta=14,b=15,x;
charc='A';
x=(a&&b)&&(c<'B');
执行该程序段后,x的值为______。
A、trueB、falseC、0D、1
167.能正确表示a和b同时为正或同时为负的逻辑表达式是______。
A、(a>=0‖b>=0)&&(a<0‖b<0)
B、(a>=0&&b>=0)&&(a<0&&b<0)
C、(a+b>0)&&(a+b<=0)
D、a*b>0
168.若x是int型变量,且有下面的程序片段:
for(x=3;x<6;x++)
printf((x%2)?
("**%d"):
("##%d\n"),x);
上面程序片段的输出结果是______。
169.以下程序的输出结果是______。
main()
{inta=5,b=4,c=6,d;printf("%d\n",d=a>b?
(a>c?
a:
c):
(b));
}
A、5B、4C、6D、不确定
170.以下能正确计算定义且赋初值的语句是______。
A、intn1=n2=10;B、charc=32;
C、fioatf=f+1.1;D、doublex=12.3E2.5
171.以下合法的赋值语句是______