C语言上机题库百科园第优选章南信大.docx

上传人:b****3 文档编号:26493880 上传时间:2023-06-20 格式:DOCX 页数:62 大小:48.31KB
下载 相关 举报
C语言上机题库百科园第优选章南信大.docx_第1页
第1页 / 共62页
C语言上机题库百科园第优选章南信大.docx_第2页
第2页 / 共62页
C语言上机题库百科园第优选章南信大.docx_第3页
第3页 / 共62页
C语言上机题库百科园第优选章南信大.docx_第4页
第4页 / 共62页
C语言上机题库百科园第优选章南信大.docx_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

C语言上机题库百科园第优选章南信大.docx

《C语言上机题库百科园第优选章南信大.docx》由会员分享,可在线阅读,更多相关《C语言上机题库百科园第优选章南信大.docx(62页珍藏版)》请在冰豆网上搜索。

C语言上机题库百科园第优选章南信大.docx

C语言上机题库百科园第优选章南信大

第三章

1.为表示关系x≥y≥z,应使用的表达式是

A.(x>=y)&&(y>=z)

B.(x>=y>=z)

C.(x>=y)AND(y>=z)

D.(x>=y)&(y>=z)

2.有以下程序

main()

{inti;

for(i=0;i<3;i++)

switch(i)

{case1:

printf("%d",i);

case2:

printf("%d",i);

default:

printf("%d",i);

}

}

执行后输出结果是

 

3.对for(表达式1;;表达式3)可理解为()。

(表达式1;1;表达式3)

(表达式1;0;表达式3)

(表达式1;表达式1;表达式3)

(表达式1;表达式3;表达式3)

4.若i为整型变量,则以下循环执行次数是()。

for(i=2;i==0;)printf("%d",i--);

C.无限次

5.有以下程序段

intn=0,p;

do

{

scanf("%d",&p);

n++;

}while(p!

=12345&&n<3);

此处do-while循环的结束条件是______。

的值等于12345并且n的值大于等于3

的值不等于12345并且n的值小于3

的值不等于12345或者n的值小于3

的值等于12345或者n的值大于等于3

6.有以下程序段

intn=0,p;

do

{

scanf("%d",&p);

n++;

}while(p!

=12345&&n<3);

以下描述中正确的是()。

循环中,根据情况可以省略while

B.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

循环由do开始,用while结束,在while(表达式)后面不能写分号

D.在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作

7.执行语句for(i=1;i++<4;);后变量i的值是()。

A.不定

 

8.有以下程序

main()

{

inta=5,b=4,c=3,d=2;

if(a>b>c)

printf("%d\n",d);

elseif((c-1>=d)==1)

printf("%d\n",d+1);

elseprintf("%d\n",d+2);

}

执行后输出结果是

 

C.编译时出错

main()

{intx=1,a=0,b=0;

switch(x)

{case0:

b++;

case1:

a++;

case2:

a++;b++;}printf("a=%d,b=%d",a,b);

}该程序的输出结果是()

2

1

1

0

10.以下程序的功能是:

按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:

main()

{intn,k;

floatscore,sum,ave;

sum=;

for(n=1;n<=10;n++)

{

for(k=1;k<=4;k++)

{

scanf("%f",&score);

sum+=score;

}

ave=sum/;

printf("NO%d:

%f\n",n,ave);

}

}

上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。

这条语句是

=sum/

=;

+=score;

("NO%d:

%f\n",n,ave);

11.运行以下程序后,输出的结果是

main()

{intk=-3;

if(k<=0)

printf("****\n");

elseprintf("&&&&\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.以下程序的输出结果是

main()

{intx,i;

for(i=1;i<=100;i++)

{x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf(“%d“,x);

}

printf(“\n”);

}

 

14.以下程序段中,与语句:

k=a>b?

(b>c?

1:

0):

0;功能相同的是()

((a>b)&&(b>c))k=1;

elsek=0;

((a>b)||(b>c))k=1;

elsek=0;

(a>b)k=1;

elseif(b>c)k=1;

elsek=0;

(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<6;j++)

s+=j;

}

printf(“%d\n”,s);

 

18.语句while(!

E);中的表达式!

E等价于()。

!

=1

==0

==1

!

=0

19.以下程序段的输出结果是

intx=3;

do

{pritnf(“%3d”,x-=2);

}while(!

(--x));

A.死循环

 

20.以下程序的运行结果是()。

main()

{

inti=1,sum=0;

while(i<10)sum=sum+1;i++;

printf("i=%d,sum=%d",i,sum);

}

=10,sum=9

B.运行出现错误

=2,sum=1

=9,sum=9

21.设有定义:

inta=1,b=2,c=3;以下语句中执行效果与其它三个不同的是()

(a>b){c=a,a=b,b=c;}

(a>b)c=a,a=b,b=c;

(a>b){c=a;a=b;b=c;}

(a>b)c=a;a=b;b=c;

22.以下程序中,while循环的循环次数是______

main()

{

inti=0;

while(i<10)

{

if(i<1)continue;

if(i==5)break;

i++;

}

}

A.死循环,不能确定次数

 

23.选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。

哪个数作为逻辑“假”值()。

B.非零的数

 

=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为()。

B.不一定

 

25.有以下程序,若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()

#include<>

intmain()

{

intm,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&p);

printf("%d%d%d\n",m,n,p);

return0;

}

=123n=456p=789

=123n=456p=789

=123,n=456,p=789

26.有以下程序

main()

{

inti=1,j=1,k=2;

if((j++||k++)&&i++)

printf("%d,%d,%d\n",i,j,k);

}

执行后输出结果是

2,2

2,3

1,2

2,1

27.以下程序段的输出结果为()。

for(i=4;i>1;i--)for(j=1;j

A.######

B.无

C.#

D.###

28.有如下程序

main()

{

floatx=,y;

if(x<)y=;

elseif(x<)y=x;

elsey=;

printf("%f\n",y);}

该程序的输出结果是

29.判断两个字符串是否相等,正确的表达方式是

(s1=s2)

(s1==s2)

(strcmp(s1,s2)=0)

(strcmp(s1,s2)==0)

30.若x是int类型变量,以下程序段的输出结果是

for(x=3;x<6;x++)

printf((x%2)?

(“**%d”):

(“##%d\n”),x);

A.

B.

C.

D.

语言中,switch后的括号内表达式的值可以是

A.只能为整型和字符型

B.只能为整型

C.任何类型

D.只能为整型,字符型,枚举型

32.设j和k都是int类型,则下面的for循环语句()。

for(j=0,k=0;j<=9&&k!

=876;j++)scanf("%d",&k);

A.最多执行9次

B.循环体一次也不执行

C.最多执行10次

D.是无限循环

=3,b=2,c=1;if(a>b>c)a=b;elsea=c;则a的值为()。

 

34.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:

else总与()配对

A.同一行上的if

B.其之后最近的if

C.其之前最近的未配对的if

D.缩排位置相同的if

35.以下不正确的if语句形式是()。

(x

(x>y&&x!

=y);

(x==y)x+=y;

(x!

=y)scanf("%d",&x)elsescanf("%d",&y);

36.结构化程序设计所规定的三种基本控制结构是()。

A.树形、网形、环形

B.输入、处理、输出

C.主程序、子程序、函数

D.顺序、选择、循环

37.以下程序的输出结果是

main()

{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.语法错误

=1,b=2,c=3;if(a>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<>

intmain()

{

inti,j,m=1;

for(i=1;i<3;i++)

{for(j=3;j>0;j--)

{if(i*j>3)break;

m*=i*j;

}

}

printf(“m=%d\n”,m);

return0;

}

=2

=6

=4

=5

43.以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x<4);x++);()。

B.是无限循环

D.循环次数不定

44.下列程序的输出结果是()。

main()

{

intx=1,y=0,a=0,b=0;

switch(x)

{

case1:

switch(y)

{

case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;break;

}

printf("a=%d,b=%d\n",a,b);

}

=2,b=1

=2,b=2

=1,b=0\

=1,b=1

45.有以下程序,当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:

回车也是一个字符)

12

34

则输出结果是(B)

#include<>

intmain()

{

chara,b,c,d;

scanf("%c%c",&a,&b);

c=getchar();d=getchar();

printf("%c%c%c%c\n",a,b,c,d);

return0;

}

34

 

3

46.以下程序的运行结果是()。

main()

{intn;

for(n=1;n<=10;n++)

{

if(n%3==0)continue;

printf("%d",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.下列程序的输出为()。

main()

{inty=10;

while(y--);

printf("y=%d\n",y);

}

构成无限循环

=0

=-1

=1

51.有以下程序,程序运行后的输出结果是()

#include<>

intmain()

{

inta=1,b=2;

while(a<6){b+=a;a+=2;b%=10;}

printf(“%d,%d\n”,a,b);

return0;

}

11

1

11

1

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;i<=15;i+=4)

for(j=3;j<=19;j+=4)

m++;

printf(“%d\n”,m);

 

54.执行下列语句后的输出为()。

intj=-1;

if(j<=1)printf("****\n");

elseprintf("%%%%\n");

A.%%%%c

B.有错,执行不正确

C.****

D.%%%%

55.以下程序的执行结果是_______.

main()

{intnum=0;

while(num<=2){num++;printf("%d,",num);}}

2,3,

2,3,4,

2,

1,2

56.下面程序的运行结果是

#include<>

main()

{

inty=10;

do{y--;}while(--y);

printf("%d\n",y--);

}

 

57.若有定义语句inta,b;doublex;则下列选项中没有错误是()

((int)(x)%2)

{:

a++;break;

:

b++;break;

default:

a++;b++;

}

((int)x%2)

{case0:

a++;break;

case1:

b++;break;

default:

a++;b++;

}

(x%2)

{case0:

a++;break;

case1:

b++;break;

default:

a++;b++;

}

((int)x%

{case0:

a++;break;

case1:

b++;break;

default:

a++;b++;

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共执行了多少次

#include<>

main()

{

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

(t)<1e-5

>=1e-5&&t<=-1e-5&&s>-10&&s<10

10==0

62.以下叙述正确的是:

A.用do-while构成循环时,只有在while后的表达式为非零时结束循环

语句构成的循环不能用其它语句构成的循环来代替。

C.用do-while构成循环时,只有在while后的表达式为零时结束循环

语句构成的循环只能用break语句退出。

63.以下程序的输出结果是

main()

{inti,sum;

for(i=1;i<6;i++)

sum+=i;

printf(“%d\n”sum);

}

B.不确定

 

64.有以下程序,程序运行后的输出结果是()

#include<>

intmain()

{

charb,c;inti;

b='a';c='A';

for(i=0;i<6;i++)

{

if(i%2)putchar(i+b);

 elseputchar(i+c);

}

printf("\n");

return0;

}

 

65.有如下程序

main()

{

intx=1,a=0,b=0;

switch(x)

{

case0:

b++;

case1:

a++;

case2:

a++;b++;

}

printf("a=%d,b=%d\n",a,b);

}

该程序的输出结果是

=1,b=1

=2,b=1

=1,b=0

=2,b=2

66.以下程序段中,能够正确地执行循环的是()。

;while(a)

=6;dos-=2;while(s);

(i=1;i>10;i++)

=6;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>=’A’)&(c<=’Z’)

下列程序的输出结果是()。

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{

case1:

switch(y)

{

case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;break;

}

printf("a=%d,b=%d\n",a,b);

}

=2,b=1

=1,b=0

=2,b=2

=1,b=1

下面有关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

有以下程序,程序执行后的输出结果是()

#include<>

intmain()

{

inty=10;

while(y--);

printf(“y=%d\n”,y);

return0;

}

=-1

=1

构成无限循环

=0

有以下程序,程序运行后的输出结果是()

#include<>

intmain()

{

inta=1,b=0;

if(!

a)b++;

elseif(a==0)if(a)b+=2;

elseb+=3;

printf("%d\n",b);

return0;

}

 

有输入语句:

scanf("a=%d,b=%d,c=%d",&a,&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);其输出结果是()

0

B.程序进入无限循环

1

1

下列条件语句中输出结果与其他语句不同的是()

(a)printf("%d\n",x);elseprintf("%d\n",y);

(a==0)printf("%d\n",y);elseprintf("%d\n",x);

(a==0)printf("%d\n",x);elseprintf("%d\n",y);

(a!

=0)printf("%d\n",x);elseprintf("%d\n",y);

有以下程序,程序运行后的输出结果是()

#include<>

intmain()

{intx=1,y=0;

if(!

x)y++;

elseif(x==0)

if(x)y+=2;

elsey+=3;

printf("%d\n",y);

return0;

}

 

有以下程序段

charname[20];

intnum;

scanf("name=%snum=%d",name;&num);

当执行上述程序,并从键盘输入:

name=Lilinum=1001<回车>后,name的值()

=

=Lili

=Lilinum=1001

执行下列程序片段时输出的结果是()。

intx=13,y=5;

printf("%d",x%=(y/=2));

 

已知有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,

正确的数据输入方式是()。

inta1,a2;charc1,c2;

scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

A.10A20B↙

B.10A20B↙

C.10A20B↙

D.10A20B↙

若定义x为double型变量,则能正确输入x值的语句是()。

("%5.1f",&x);

("%f",x);

("%lf",&x);

("%f",&x);

以下程序段中的变量已正确定义

for(i=0;i<4;i++,i++)

for(k=1;k<3;k++)printf(“*”);程序段的输出结果是()

A.*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1