C语言题库(单选)(170-251)|【望麓福利】
170.
以下能正确计算定义且赋初值的语句是______。
A、int n1=n2=10; B、char c=32;
C、fioat f=f+1.1; D、double x=12.3E2.5
答案:B
知识点:赋值语句
171.
以下合法的赋值语句是______。
A、x=y=100 B、d--;
C、x+y; D、c=int(a+b);
答案:B
知识点:赋值语句
172.
下列语句中符合C语言语法的赋值语句是______。
A、a=7+b+c=a+7; B、a=7+b++=a+7;
C、a=7+b,b++,a+7 D、a=7+b,c=a+7;
答案:D
知识点:赋值语句
173.
请选出合法的C语言赋值语句______。
A、a=b=58 B、i++;
C、a=58,b=58 D、k=int(a+b);
答案:B
知识点:赋值语句
174.
下面程序的输出是______。
main()
{ int x=10,y=3;
printf("%dn",y=x/y);
}
A、0 B、1 C、3 D、不确定的值
答案:C
知识点:数据输出
175.
已知字母A的ASCII码为十进制的65,下面程序的输出是______。
main()
{
char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%cn",ch1,ch2);
}
A、67,D B、B,C C、C,D D、不确定的值
答案:A
知识点:数据输出
176.
下列程序的运行结果是______。
#include<stdio.h>
main()
{ int a=2,c=5;
printf("a=%d,b=%d n",a,c);
}
A、a=%2,b=%5 B、a=2,b=5
C、a=d,b=d D、a=%d,b=5d
答案:B
知识点:数据输出
177.
以下程序的输出结果是______。
#include<stdio.h>
main()
{ int a=2,c=5;
printf("a=%%d,b=%%dn",a,c);
}
A、a=%2,b=%5 B、a=2,b=5
C、a=%%d,b=%%d D、a=%d,b=%d
答案:D
知识点:数据输出
178.
有以下程序
main( )
{ int x=102,y=012;
printf("%2d,%2dn",x,y);
}
执行后输出结果是______。
A、10,01 B、02,12
C、102,10 D、02,10
答案:C
知识点:数据输出
179.
有以下程序
main()
{ int a=666,b=888;
printf("%dn",a,b);
}
程序运行后的输出结果是______。
A、错误信息 B、666 C、888 D、666,888
答案:B
知识点:数据输出
180.
有以下程序
#include<stdio.h>
main()
{ char c1='1',c2='2';
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);
}
当运行时输入:a <回车> 后,以下叙述正确的是______。
A、变量C1 被赋予字符a,c2被赋予回车符
B、程序将等待用户输入第2个字符
C、变量c1被赋予字符a, c2中仍是原有字符2
D、变量c1 被赋予字符a,c2中将无确定值
答案:A
知识点:数据输入
181.
执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是______。
main()
{ char s[100];
int c,i;
scanf("%c",&c);
scanf("%d",&i);
scanf("%s",s);
printf("%c,%d,%s n",c,i,s);
}
A、123,456,789 B、1,456,789
C、1,23,456,789 D、1,23,456
答案:D
知识点:数据输入
182.
有定义语句:int b;char c[10];,则正确的输入语句是______。
A、scanf("%d%s",&b,&c);
B、scanf("%d%s",&b,c);
C、scanf("%d%s",b,c);
D、scanf("%d%s",b,&c);
答案:B
知识点:数据输入
184.
若要求从键盘读入含有空格字符的字符串,应使用函数______。
A、getc() B、gets() C、getchar()D、scanf()
答案:B
知识点:数据输入
186.
有以下程序
#include<stdio.h>
main()
{char c1,c2,c3,c4,c5,c6; scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();
c6=getchar();
putchar(c1);
putchar(c2);
printf("%c%cn",c5,c6);
}
程序运行后,若从键盘输入(从第1列开始) ______。
123<回车>
45678<回车>
则输出结果是
A、1267 B、1256 C、1278 D、1245
答案:D
知识点:数据输入
188.
有以下程序
main()
{
int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%dn",m,n,p);
}
若想从键盘上输入数据,使变量 m 中的值为 123,n 中的数值为 456,p 中的值为 789,则正确的输入是______。
A、m=123n=456p=789
B、m=123 n456 p=789
C、m=123,n=456,p=789
D、123 456 789
答案:A
知识点:数据输入
189.
有以下程序段
int m=0,n=0;
char c='a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%dn",m,c,n);
若从键盘上输入:10A10<回车>,则输出结果是______。
A、10,A,10 B、10,a,10
C、10,a,0 D、10,A,0
答案:A
知识点:数据输入
据输入
192.
有定义语句:int x,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数据11,变量y得到数值12,下面四组输入形式中,错误的是______。
A、11 12<回车>
B、11,12<回车>
C、11, 12<回车>
D、11,<回车>
12<回车>
答案:A
知识点:数据输入
193.
在嵌套使用if语句时,C语言规定else总是______。
A、和之前与其具有相同缩进位置的if配对
B、和之前与其最近的if配对
C、和之前与其最近的且不带else的if配对
D、和之前的第一个if配对
答案:C
知识点:if语句和用if语句构成的选择结构
195.
假定所有变量均已正确说明,下列程序段运行后x的值是______。
a=b=c=0;x=35;
if(!a) x--;
elseif(b) ;
if(c) x=3;
else x=4;
A、34 B、4 C、35 D、3
答案:B
知识点:if语句和用if语句构成的选择结构
196.
有以下程序
main()
{
int i;
for(i=1;i<40;i++)
{
if(i++%5==0)
if(++i%8==0)
printf("%d ",i);
}
printf("n");
}
执行后的输出结果是______。
A、5 B、24 C、32 D、40
答案:C
知识点:if语句和用if语句构成的选择结构
198.
有如下程序
main()
{
int a=2,b=-1,c=2;
if(a<b)
if(b<0) c=0;
else c++;
printf("%dn",c);
}
该程序的输出结果是______。
A、0 B、1 C、2 D、3
答案:C
知识点:if语句和用if语句构成的选择结构
199.
请读程序:
#include<math.h>
#include<stdio.h>
main()
{ float x,y,z;
scanf("%f%f",&x,&y);
z=x/y;
while(z)
{ if(fabs(z)>1.0)
{ x=y; y=z; z=x/y; }
else break;
}
printf("%fn",y);
}
若运行时从键盘上输入3.6 2.4<CR>(<CR>表示回车),则输出的结果是______。
A、1.500000 B、1.600000
C、2.000000 D、2.400000
答案:B
知识点:if语句和用if语句构成的选择结构
204.
有以下程序
main()
{ int k=5,n=0;
while(k>0)
{ switch(k)
{ default : break;
case 1: n+=k;
case 2:
case 3: n+=k;
}
k- -;
}
printf("%dn",n);
}
程序运行后的输出结果是______。
A、0 B、4 C、6 D、7
答案:D
知识点:switch语句以及用switch语句和break语句构成的选择结构
207.
有以下程序
main()
{
int i;
for(i=0;i<3;i++)
switch(i)
{
case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
}
执行后输出结果是______。
A、011122 B、012 C、012020 D、120
答案:A
知识点:switch语句以及用switch语句和break语句构成的选择结构
209.
有如下程序
main()
{ int x=1,a=0,b=0;
switch(x)
{ case 0: b++;
case 1: a++;
case 2: a++;b++;
}
printf("a=%d,b=%dn",a,b);
}
该程序的输出的结果是______。
A、a=2,b=1 B、a=1,b=1
C、a=1,b=0 D、a=2,b=2
答案:A
知识点:switch语句以及用switch语句和break语句构成的选择结构
210.
以下程序的输出结果是______。
main()
{ int a=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case 0:
case 3: a+=2;
case 1:
case 2: a+=3;
default: a+=5;
}
}
printf("%dn",a);
}
A、31 B、13 C、10 D、20
答案:A
知识点:switch语句以及用switch语句和break语句构成的选择结构
212.
下列叙述中正确的是______。
A、break语句只能用于switch语句
B、在switch语句中必须使用default
C、break语句必须与switch语句中的case配对使用
D、在switch语句中,不一定使用break语句
答案:D
知识点:switch语句以及用switch语句和break语句构成的选择结构
213.
设a为整型变量,不能正确表达数学关系:10<a<15的C语言表达式是______。
A、10<a<15
B、a= =11||a==12||a= =13||a==14
C、a>10 && a<15
D、!(a<=10)&&!(a>=15)
答案:A
知识点:关系运算和逻辑运算
214.
以下程序的输出结果是______。
main()
{ int a=4,b=5,c=0,d;
d=!a&&!b||!c;
printf("%dn",d);
}
A、1 B、0 C、非0的数 D、-1
答案:A
知识点:关系运算和逻辑运算
215.
语句:printf("%d",(a=2)&&(b=-2));的输出结果是______。
A、无输出 B、结果不确定 C、-1 D、1
答案:D
知识点:关系运算和逻辑运算
216.
设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、0 B、1 C、2 D、3
答案:C
知识点:关系运算和逻辑运算
217.
若变量c为char类型,能正确判断出c为小写字母的表达式是______。
A、'a'<=c<='z'
B、(c>='a')||(c<='z')
C、('a'<=c)and('z'>=c)
D、(c>='a')&&(c<='z')
答案:D
知识点:关系运算和逻辑运算
218.
能正确表示逻辑关系:“a≥10 或 a≤0”的C语言表达式是______。
A、a>=10 or a<=0 B、a>=0 | a<=10
C、a>=10 && a<=0 D、a>=10|| a<=10
答案:D
知识点:关系运算和逻辑运算
219.
有如下程序
main()
{
int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a<b);
printf("%d,%dn",k,m);
}
程序运行后的输出结果是______。
A、0,0 B、0,1 C、1,0 D、1,1
答案:C
知识点:关系运算和逻辑运算
220.
设int x=1,y=1;表达式(!x||y--)的值是
______。
A、0 B、1 C、2 D、-1
答案:B
知识点:关系运算和逻辑运算
221.
设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是______。
A、(!a==1)&&(!b==0)B、(a<b)&&!c||1
C、a&&b D、a||(b+b)&&(c-a)
答案:A
知识点:关系运算和逻辑运算
222.
若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为______。
A、a<>0 B、!a C、a=0 D、a
答案:D
知识点:关系运算和逻辑运算
223.
有如下程序段
inta=14,b=15,x;
char c='A';
x=(a&&b)&&(c<'B');
执行该程序段后,x的值为______。
A、true B、false C、0 D、1
答案:D
知识点:关系运算和逻辑运算
224.
能正确表示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
答案:D
知识点:关系运算和逻辑运算
227.
以下程序的输出结果是______。
main()
{inta=5,b=4,c=6,d; printf("%dn",d=a>b?(a>c?a:c):(b));
}
A、5 B、4 C、6 D、不确定
答案:C
知识点:条件表达式构成的选择结构
228.
若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式 a<b?a:c<d?c:d 的值是______。
A、1 B、2 C、3 D、4
答案:A
知识点:条件表达式构成的选择结构
229.若有定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是______。
A、(x-y>0) B、(x-y<0)
C、(x-y<0||x-y>0) D、(x-y==0)
答案:C
知识点:条件表达式构成的选择结构
230.
有以下程序段
intk=0,a=1,b=2,c=3;
k=a<b?b:a;
k=k>c?k:b;
执行该程序段后,k的值是______。
A、3 B、2 C、1 D、0
答案:B
知识点:条件表达式构成的选择结构
231.以下程序段中与语句k=a>b?(b>c?1:0):0; 功能等价的是_____。
A、if((a>b)&&(b>c)) k=1;
else k=0;
B、if((a>b)||(b>c)) k=1;
else k=0;
C、if(a<=b) k=0;
else if(b<=c) k=1;
D、if(a>b) k=1;
else if(b>c) k=1;
else k=0;
答案:A
知识点:条件表达式构成的选择结构
232.假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(w<x)?w:x;
m=(m<y)?m:y;
m=(m<z)?m:z;
则该程序执行后,m的值是______。
A、4 B、3 C、2 D、1
答案:D
知识点:条件表达式构成的选择结构
233.有以下程序
main()
{
int k=4,n=0;
for(;n<k;)
{
n++;
if(n%3!=0) continue;
k--;
}
printf("%d,%dn",k,n);
}
程序运行后的输出结果是______。
A、1,1 B、2,2 C、3,3 D、4,4
答案:C
知识点:break和continue语句在循环中的作用
234.
有如下程序
main()
{
int x=23;
do
{
printf("%d",x--);
}
while(!x);
}
该程序的执行结果是______。
A、321 B、23
C、不输出任何内容 D、陷入死循环
答案:B
知识点:do-while语句和do-while语句构成的循环结构
235.
有以下程序
main()
{ int s=0,a=1,n;
scanf("%d",&n);
do
{
s+=1;
a=a-2;
}
while(a!=n);
printf("%dn",s);
}
若要使程序的输出值为2,则应该从健盘给n输入的值是______。
A、-1 B、-3 C、-5 D、0
答案:B
知识点:do-while语句和do-while语句构成的循环结构
236.
有以下程序段
intn,t=1,s=0;
scanf("%d",&n);
do
{
s=s+t;
t=t-2;
}
while(t!=n);
为使此程序不陷入死循环,从键盘输入的数据应该是______。
A、任意正奇数 B、任意负偶数
C、任意正偶数 D、任意负奇数
答案:D
知识点:do-while语句和do-while语句构成的循环结构
239.
有以下程序
main()
{ int i=0,s=0;
do
{
if(i%2) { i++; continue; }
i++;
s+=i;
}
while(i<7);
printf("%dn",s);
}
执行后输出结果是______。
A、16 B、12 C、28 D、21
答案:A
知识点:do-while语句和do-while语句构成的循环结构
240.
下面的程序的运行结果是______。
main()
{
int x=3;
do
{
printf("%dn",x-=2);
}
while(!(--x));
}
A、输出的是1 B、输出的是1和-2
C、输出的是3和0 D、是死循环
答案:B
知识点:do-while语句和do-while语句构成的循环结构
241.
以下叙述正确的是______。
A、do-while语句构成的循环不能用其它语句构成的循环来代替
B、do-while语句构成的循环只能用break语句退出
C、用do-while语句构成的循环,在while后的表达式为非零时结束循环
D、用do-while语句构成的循环,在while后的表达式为零时结束循环
答案:D
知识点:do-while语句和do-while语句构成的循环结构
242.
以下程序的输出结果是______。
main()
{ int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d %d ",x--,y);
}
A、10 1 9 2 B、9 8 7 6
C、10 9 9 0 D、10 10 9 1
答案:D
知识点:for语句和用for语句构成的循环结构
244.
以下程序的输出结果是______。
main()
{ int i, k,a[10],p[3];
k=5;
for(i=0;i<10;i++) a[i]=i;
for(i=0;i<3; i++) p[i]=a[i*(i+1)];
for(i=0;i<3; i++) k+=p[i]*2;
printf("%dn",k);
}
A、20 B、21 C、22 D、23
答案:B
知识点:for语句和用for语句构成的循环结构
245.
设变量已正确定义,则以下能正确计算f=n!的程序段是______。
A、f=0;
for(i=1;i<=n;i++) f*i;
B、f=1;
for(i=1;i<n;i++) f*=i;
C、f=1;
for(i=n;i>1;i++) f*i;
D、f=1;
for(i=n;i>=2;i--) f*=i;
答案:D
知识点:for语句和用for语句构成的循环结构
247.
若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c 均已赋值(c大于0)
s=a;
for(b=1;b<=c;b++) s=s+1;
则上述程序段功能等价的赋值语句是______。
A、s=a+b; B、s=a+c;
C、s=s+c; D、s=b+c;
答案:B
知识点:for语句和用for语句构成的循环结构
248.
有以下程序
main()
{
int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf("%dn",s);
}
程序执行后的输出结果是______。
A、自然数1~9的累加和
B、自然数1~10的累加和
C、自然数1~9中奇数之和
D、自然数1~10中偶数之和
答案:D
知识点:for语句和用for语句构成的循环结构
249.
有如下程序
main()
{ int i,sum;
for(i=1;i<=3;sum++) sum+=i;
printf("%dn",sum);
}
该程序的执行结果是______。
A、6 B、3 C、死循环 D、0
答案:C
知识点:for语句和用for语句构成的循环结构
250.
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是______。
for(i=5;i;i--)
for(j=0;j<4;j++){ …… }
A、20 B、25 C、24 D、30
答案:A
知识点:for语句和用for语句构成的循环结构
251.
有以下程序
main()
{
int k=5;
while(--k) printf("%d",k-=3);
printf("n");
}
执行后的输出结果是______。
A、1 B、2 C、4 D、死循环
答案:A
知识点:while语句和while语句构成的循环
查看评论 回复