C语言上机题库百科园第章 南信大Word文档下载推荐.docx
《C语言上机题库百科园第章 南信大Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言上机题库百科园第章 南信大Word文档下载推荐.docx(53页珍藏版)》请在冰豆网上搜索。
![C语言上机题库百科园第章 南信大Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-11/30/3b5f376d-84f0-4b57-8332-5a2a21303388/3b5f376d-84f0-4b57-8332-5a2a213033881.gif)
7.执行语句for(i=1;
i++<
4;
);
后变量i的值是()。
A.不定
8.有以下程序
main()
{
inta=5,b=4,c=3,d=2;
if(a>
b>
c)
%d\n"
d);
elseif((c-1>
=d)==1)
d+1);
elseprintf("
d+2);
C.编译时出错
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++;
b++;
}printf("
a=%d,b=%d"
a,b);
}该程序的输出结果是()
2
1
0
10.以下程序的功能是:
按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
{intn,k;
floatscore,sum,ave;
sum=;
for(n=1;
=10;
n++)
for(k=1;
k<
=4;
k++)
{
scanf("
%f"
score);
sum+=score;
ave=sum/;
NO%d:
%f\n"
n,ave);
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。
这条语句是
=sum/
=;
+=score;
("
NO%d:
11.运行以下程序后,输出的结果是
{intk=-3;
if(k<
=0)
****\n"
\n"
}
A.****
B.有语法错误不能通过编译
C.&
D.****&
12.下面的程序片断所表示的数学函数关系是
y=-1;
if(x!
=0)y=1;
if(x>
0)y=1;
elsey=0;
A.
B.
C.
D.
13.以下程序的输出结果是
{intx,i;
for(i=1;
i<
=100;
{x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf(“%d“,x);
printf(“\n”);
70
81
84
68
14.以下程序段中,与语句:
k=a>
b?
(b>
c?
1:
0):
0;
功能相同的是()
((a>
b)&
c))k=1;
elsek=0;
b)||(b>
elsek=0;
(a>
b)k=1;
elseif(b>
c)k=1;
(a<
=b)k=0;
elseif(b<
=c)k=1;
15.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else子句总是与()配对。
A.其之后最近的if
B.其之前最近的if
C.缩排位置相同的if
D.同一行上的if
为int类型,进人下面的循环之前,t的值为0
while(t=1)
{……}
则以下叙述中正确的是______。
A.以上说法都不对
B.循环控制表达式的值为1
C.循环控制表达式的值为0
D.循环控制表达式不合法
17.以下程序段的输出结果是
intk,j,s;
for(k=2;
k<
6;
k++,k++)
{s=1;
for(j=k;
j<
j++)
s+=j;
printf(“%d\n”,s);
18.语句while(!
E);
中的表达式!
E等价于()。
!
=1
==0
==1
=0
19.以下程序段的输出结果是
intx=3;
{pritnf(“%3d”,x-=2);
}while(!
(--x));
A.死循环
-2
0
20.以下程序的运行结果是()。
inti=1,sum=0;
while(i<
10)sum=sum+1;
i++;
i=%d,sum=%d"
i,sum);
=10,sum=9
B.运行出现错误
=2,sum=1
=9,sum=9
21.设有定义:
inta=1,b=2,c=3;
以下语句中执行效果与其它三个不同的是()
b){c=a,a=b,b=c;
b)c=a,a=b,b=c;
b){c=a;
a=b;
b=c;
b)c=a;
22.以下程序中,while循环的循环次数是______
inti=0;
10)
if(i<
1)continue;
if(i==5)break;
i++;
A.死循环,不能确定次数
23.选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。
哪个数作为逻辑“假”值()。
B.非零的数
a=1,b=2,c=3;
b)a=b;
c)a=c;
则a的值为()。
B.不一定
25.有以下程序,若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()
#include<
>
intmain()
intm,n,p;
m=%dn=%dp=%d"
m,&
n,&
printf("
%d%d%d\n"
m,n,p);
return0;
=123n=456p=789
=123n=456p=789
456789
=123,n=456,p=789
26.有以下程序
inti=1,j=1,k=2;
if((j++||k++)&
i++)
%d,%d,%d\n"
i,j,k);
执行后输出结果是
2,2
2,3
1,2
2,1
27.以下程序段的输出结果为()。
for(i=4;
i>
i--)for(j=1;
j<
i;
j++)putchar('
#'
A.######
B.无
C.#
D.###
28.有如下程序
{
floatx=,y;
if(x<
)y=;
elseif(x<
)y=x;
elsey=;
%f\n"
y);
该程序的输出结果是
29.判断两个字符串是否相等,正确的表达方式是
(s1=s2)
(s1==s2)
(strcmp(s1,s2)=0)
(strcmp(s1,s2)==0)
30.若x是int类型变量,以下程序段的输出结果是
for(x=3;
x<
x++)
printf((x%2)?
(“**%d”):
(“##%d\n”),x);
语言中,switch后的括号内表达式的值可以是
A.只能为整型和字符型
B.只能为整型
C.任何类型
D.只能为整型,字符型,枚举型
32.设j和k都是int类型,则下面的for循环语句()。
for(j=0,k=0;
=9&
k!
=876;
j++)scanf("
k);
A.最多执行9次
B.循环体一次也不执行
C.最多执行10次
D.是无限循环
a=3,b=2,c=1;
c)a=b;
elsea=c;
34.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else总与()配对
A.同一行上的if
B.其之后最近的if
C.其之前最近的未配对的if
D.缩排位置相同的if
35.以下不正确的if语句形式是()。
(x<
y){x++;
y++;
(x>
y&
x!
=y);
(x==y)x+=y;
(x!
=y)scanf("
x)elsescanf("
y);
36.结构化程序设计所规定的三种基本控制结构是()。
A.树形、网形、环形
B.输入、处理、输出
C.主程序、子程序、函数
D.顺序、选择、循环
37.以下程序的输出结果是
{inty=10
for(;
y>
0;
y--)
if(y%3==0)
{pritnf(“%d”,--y);
continue;
38.以下程序的执行结果是main()
{intx=0,s=0;
while(!
x!
=0)s+=++x;
printf("
%d"
s);
A..无限循环
D.语法错误
c)b=a;
a=c;
c=b;
则c的值为()。
C.不一定
40.以下叙述正确的是()。
语句构成的循环不能用其它语句构成的循环来代替.
B.用do-while语句构成的循环,在while后的表达式为零时结束循环
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环.
语句构成的循环只能用break语句退出.
41.假定所有变量均已正确定义,下列程序段运行后x的值是()。
k1=1;
k2=2;
k3=3;
x=15;
if(!
k1)x--;
elseif(k2)x=4;
elsex=3;
42.有以下程序,程序运行后的输出结果是()
#include<
inti,j,m=1;
for(i=1;
i<
{for(j=3;
j>
j--)
{if(i*j>
3)break;
m*=i*j;
printf(“m=%d\n”,m);
=2
=6
=4
=5
43.以下for循环的执行次数是for(x=0,y=0;
(y=123)&
4);
x++);
()。
B.是无限循环
D.循环次数不定
44.下列程序的输出结果是()。
intx=1,y=0,a=0,b=0;
switch(x)
switch(y)
case0:
a++;
break;
case3:
a=%d,b=%d\n"
=2,b=1
=2,b=2
=1,b=0\
=1,b=1
45.有以下程序,当执行程序时,按下列方式输入数据(从第1列开始,<
CR>
代表回车,注意:
回车也是一个字符)
12<
34<
则输出结果是(B)
chara,b,c,d;
%c%c"
a,&
b);
c=getchar();
d=getchar();
%c%c%c%c\n"
a,b,c,d);
34
3
46.以下程序的运行结果是()。
{intn;
if(n%3==0)continue;
n);
语言中while和do-while循环的主要区别是()。
的循环控制条件比do-while的循环控制条件更严格
的循环体至少无条件执行一次
的循环体不能是复合语句
允许从外部转到循环体内
48.以下不是无限循环的语句为()。
(;
;
x++=i);
(1){x++;
(y=0,x=1;
x>
++y;
x=i++)i=x;
(i=10;
i--)sum+=i;
49.从循环体内某一层跳出,继续执行循环外的语句是
语句
D.空语句
50.下列程序的输出为()。
{inty=10;
while(y--);
y=%d\n"
构成无限循环
=-1
51.有以下程序,程序运行后的输出结果是()
inta=1,b=2;
while(a<
6){b+=a;
a+=2;
b%=10;
printf(“%d,%d\n”,a,b);
11
52.在以下给出的表达式中,与do--while(E)语句中的(E)不等价的
表达式是()。
A.(E==0)
B.(E>
0||E<
0)
C.(!
E==0)
D.(E!
=0)
53.以下程序段的输出结果是
inti,j,m=0;
for(i=1;
=15;
i+=4)
for(j=3;
=19;
j+=4)
m++;
printf(“%d\n”,m);
54.执行下列语句后的输出为()。
intj=-1;
if(j<
=1)printf("
%%%%\n"
A.%%%%c
B.有错,执行不正确
C.****
D.%%%%
55.以下程序的执行结果是_______.
main()
{intnum=0;
while(num<
=2){num++;
%d,"
num);
}}
2,3,
2,3,4,
2,
56.下面程序的运行结果是
inty=10;
do{y--;
}while(--y);
%d\n"
y--);
57.若有定义语句inta,b;
doublex;
则下列选项中没有错误是()
((int)(x)%2)
{case:
case:
default:
((int)x%2)
{case0:
}
(x%2)
}
((int)x%
58.设a、b和c都是int变量,且a=3,b=4,c=5;
则以下的表达式中,值为0的表达式是
||b+c&
b-c
<
=b
C.!
((a<
c||1)
b
语言程序的三种基本结构是顺序结构、选择结构和______结构.
A.递归
B.转移
C.嵌套
D.循环
60.在下述程序中,判断i>
j共执行了多少次
inti=0,j=10,k=2,s=0;
for(;
)
i+=k;
if(i>
j)
printf(“%d\n”,s);
break;
s+=i;
(fabs(t)<
1e-5)if(!
s/10)break;
循环结束的条件是()。
(t)<
1e-5&
s/10
1e-5
=1e-5&
t<
=-1e-5&
s>
-10&
s<
10
10==0
62.以下叙述正确的是:
A.用do-while构成循环时,只有在while后的表达式为非零时结束循环
语句构成的循环不能用其它语句构成的循环来代替。
C.用do-while构成循环时,只有在while后的表达式为零时结束循环
语句构成的循环只能用break语句退出。
63.以下程序的输出结果是
{inti,sum;
sum+=i;
printf(“%d\n”sum);
B.不确定
64.有以下程序,程序运行后的输出结果是()
charb,c;
inti;
b='
a'
c='
A'
for(i=0;
6;
if(i%2)putchar(i+b);
elseputchar(i+c);
65.有如下程序
intx=1,a=0,b=0;
switch(x)
case0:
case1:
case2:
a=%d,b=%d\n"
=1,b=0
66.以下程序段中,能够正确地执行循环的是()。
inta;
while(a)
s=6;
dos-=2;
while(s);
(i=1;
10;
m:
if(s<
100)exit(0);
elses-=2;
gotom:
判断char型变量c是否为大写字母的C的表达式是
A.‘A’<
=c<
=’Z’
B.(‘A’<
=c)AND(‘Z’>
=c)
C.(c>
=’A’)&
(c<
=’Z’)
D.(c>
下列程序的输出结果是()。
{intx=1,y=0,a=0,b=0;
switch(y)
下面有关for循环的正确描述是()。
循环是先执行循环循环体语句,后判断表达式
B.在for循环中,不能用break语句跳出循环体
循环只能用于循环次数已经确定的情况
循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
假定所有变量均已正确定义,下面语句段执行后的x的值是
a=b=c=0;
x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
在C语言中,为了结束由while语句构成的循环,while后一对圆括号
中表达式的值应该为()。
D.非0
有以下程序,程序执行后的输出结果是()
inty=10;
while(y--);
printf(“y=%d\n”,y);
有以下程序,程序运行后的输出结果是()
inta=1,b=0;
a)b++;
elseif(a==0)if(a)b+=2;
elseb+=3;
b);
有输入语句:
a=%d,b=%d,c=%d"
b,&
c);
为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是()。
=1b=3c=2↙
=1,b=3,c=2↙
↙
3,2↙
程序段:
intx=12;
doubley=;
printf(“%d%8.6f”,x,y);
的输出结果是()
若变量已正确定义,有以下程序段
i=0;
doprintf(“%d,”,i);
while(i++);
printf(“%d\n”,i);
其输出结果是()
B.程序进入无限循环
下列条件语句中输出结果与其他语句不同的是()
(a)printf("
x);
(a==0)printf("
(a!
=0)printf("
%