C语言第四章习题.docx

上传人:b****6 文档编号:3222958 上传时间:2022-11-20 格式:DOCX 页数:12 大小:22.97KB
下载 相关 举报
C语言第四章习题.docx_第1页
第1页 / 共12页
C语言第四章习题.docx_第2页
第2页 / 共12页
C语言第四章习题.docx_第3页
第3页 / 共12页
C语言第四章习题.docx_第4页
第4页 / 共12页
C语言第四章习题.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C语言第四章习题.docx

《C语言第四章习题.docx》由会员分享,可在线阅读,更多相关《C语言第四章习题.docx(12页珍藏版)》请在冰豆网上搜索。

C语言第四章习题.docx

C语言第四章习题

练习4-1

一、选择题

1.已知:

charc='A';inti=1,j;,执行语句j=!

c&&i++;,则i和j的值是()。

A.1,1B.1,0C.2,1D.2,0

2.已知:

intx=1,y=2,z;,则执行z=x>y?

++x:

++y;,则z的值为()。

A.1B.2C.3D.4

3.已知:

inta=4,b=5,c;,则执行表达式c=a=a>b后变量a的值为()。

A.0B.1C.4D.5

4.已知:

charch='A';,则表达式ch=(ch>='A'&&ch<='Z')?

(ch+32):

ch;的值是()。

A.'A'B.'a'C.'Z'D.'z'

5.若w=1,x=2,y=3,z=4;,则条件表达式w>x?

w:

y

y:

z的结果为()。

A.4B.3C.2D.1

6.已知:

intw=3,x=10,z=7;,则执行下面语句后的结果为()。

printf("%d",x>10?

x+100:

x-10);

printf("%d",w++||z++);

printf("%d",!

w>z);

printf("%d",w&&z);

A.0111B.1111C.0101D.0100

7.已知:

a=b=c=1且a、b、c均为int型变量,执行以下语句:

++a||++b&&++c;

则变量a值为(①),b值为(②)。

①A.不正确B.0C.2D.1

②A.1B.2C.不正确D.0

8.执行下面语句后x的值为()。

inta=14,b=15,x;

charc='A';

x=((a&b)&&(c<'a'));

A.TRUEB.FALSEC.0D.1

9.要判断char型变量m是否是数字,可以使用下列表达式()。

A.0<=m&&m<=9B.'0'<=m&&m<='9'

C."0"<=m&&m<="9"D.前面三个答案均是错误的

10.能正确表示“当x取值在[1..10]和[200..210]范围内为真,否则为假”的表达式是()。

A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)

B.(x>=1)||(x<=10)||(x>=200)||(x<=210)

C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210)

D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)

11.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是()。

A.'x'&&'y'B.x<=yC.x||y+z&&y-zD.!

((x

z||1)

12.已知x=43,ch='A',y=0;,则表达式x>=y&&ch<'B'&&!

y的值是()。

A.0B.语法错C.1D.“假”

13.判断char型变量c1是否为小写字母的正确表达式为()。

A.'a'<=c1<='z'B.(c1>=a)&&(c1<=z)

C.('a'>=c1)||('z'<=c1)D.(c1>='a')&&(c1<='z')

二、读程序、写结果

14.下面程序的运行结果:

①()、②()、③()、④()、⑤()。

#include

main()

{inti=16,j,x=6,y,z;

j=i+++1;printf("%d\n",j);/*输出①*/

x*=i=j;printf("%d\n",x);/*输出②*/

x=1;y=2;z=3;

x+=y+=z;

printf("%d\n",z+=x>y?

x++:

y++);/*输出③*/

x=0x02ff;y=0xff00;

printf("%d\n",(x&y)>>4|0x005f);/*输出④*/

x=y=z=-1;

++x||++y&&++z;

printf("%d%d%d\n",x,y,z);/*⑤*/

}

练习4-2

一、选择题

1.下面程序的输出是()。

#include

main()

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

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

}

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

}

A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2

2.若有说明:

intx,y;,不能实现以下函数关系的程序段是()。

A.if(x<0)y=-1;B.y=-1;C.y=0;D.if(x>=0)

elseif(x==0)y=0;if(x!

=0)if(x>=0)if(x>0)y=1;

elsey=1;if(x>0)y=1;{if(x>0)y=1;}elsey=0;

elsey=0;elsey=-1;elsey=-1;

3.已知:

intx,a,b;,下列选项中错误的if语句是()。

A.if(a=b)x++;B.if(a=

4.若inti=10;,执行下列程序后,变量i的正确结果是()。

switch(i)

{case9:

i+=1;

case10:

i+=1;

case11:

i+=1;

default:

i+=1;

}

A.10B.11C.12D.13

5.设有说明语句:

inta=1,b=0;,则执行以下语句后输出为()。

switch(a)

{case1:

switch(b)

{case0:

printf("**0**");break;

case1:

printf("**1**");break;

}

case2:

printf("**2**");break;

}

A.**0**B.**0****2**C.**0****1****2**D.有语法错误

6.阅读下列程序,其运行结果是()。

#include

main()

{charc='A';

if('0'<=c<='\x39')printf("YES");

elseprintf("NO");

}

A.YESB.NOC.YESNOD.语句错误

7.下列程序的运行结果为()。

#include

main()

{inta=2,b=-1,c=2;

if(a

if(b<0)c=0;

elsec+=1;

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

}

A.0B.1C.2D.3

8.阅读程序,其运行结果是()。

#include

main()

{inta=-1,b=1,k;

if((++a<0)&&(b--<=0))printf("%d%d\n",a,b);

elseprintf("%d%d\n",b,a);

}

A.-11B.01C.10D.00

9.选择运行结果。

#include

main()

{charch;

ch=getch();

switch(ch)

{case65:

printf("%c",'A');

case66:

printf("%c",'B');

default:

printf("%s\n","other");

}

}

如程序可以正常运行,当从键盘输入字母A时,输出结果为()。

A.AB.ABotherC.AotherD.编译错误,无法运行

10.当a=1,b=3,c=5,d=4时,执行完成下面一段程序后x的值是()。

if(a

if(c

elseif(a

if(b

elsex=3;

elsex=6;

elsex=7;

A.1B.2C.3D.6

二、填空题

11.以下程序的输出结果是()。

main()

{inta=100,x=10,y=20,ok1=5,ok2=0;

if(x

if(y!

=10)

if(!

ok1)a=1;

elseif(ok2)a=10;

a=-1;

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

}

12.阅读以下程序:

main()

{intt,h,m;

scanf("%d",&t);

h=(t/100)%12;

if(h==0)h=12;

printf("%d:

",h);

m=t%100;

if(m<10)printf("0");

printf("%d",m);

if(t<1200||t==2400)printf("AM");

elseprintf("PM");

}

若运行时输入:

1605,程序的运行结果是()。

13.若运行时输入:

35/,则以下程序的运行结果是()。

main()

{floatx,y;charo;doubler;

scanf("%f%f%c",&x,&y,&o);

switch(o)

{case'+':

r=x+y;break;

case'-':

r=x-y;break;

case'*':

r=x*y;break;

case'/':

r=x/y;break;

}

printf("%f",r);

}

练习4-3

一、选择题

1.以下不是死循环的语句为()。

A.for(;;x+=i)B.while

(1){x++;}

C.for(i=10;;i--)sum+=i;D.for(;(c=getchar())!

='\n';)printf("%c",c);

2.执行语句for(i=0;i++<3;);后,变量i的值为()。

A.2B.3C.4D.5

3.下面的for语句()。

for(x=0,y=0;(y!

=123)&&(x<4);x++);

A.是无限循环B.循环次数不定C.循环执行4次D.循环执行3次

4.与语句while(!

x)等价的语句是()。

A.while(x==0)B.while(x!

=0)C.while(x!

=1)D.while(~x)

5.定义inti=1;,执行语句while(i++<5);后,i的值为()。

A.3B.4C.5D.6

6

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

当前位置:首页 > 小学教育 > 语文

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

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