C语言综合练习最终版Word格式.docx

上传人:b****5 文档编号:21297635 上传时间:2023-01-29 格式:DOCX 页数:33 大小:36.41KB
下载 相关 举报
C语言综合练习最终版Word格式.docx_第1页
第1页 / 共33页
C语言综合练习最终版Word格式.docx_第2页
第2页 / 共33页
C语言综合练习最终版Word格式.docx_第3页
第3页 / 共33页
C语言综合练习最终版Word格式.docx_第4页
第4页 / 共33页
C语言综合练习最终版Word格式.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

C语言综合练习最终版Word格式.docx

《C语言综合练习最终版Word格式.docx》由会员分享,可在线阅读,更多相关《C语言综合练习最终版Word格式.docx(33页珍藏版)》请在冰豆网上搜索。

C语言综合练习最终版Word格式.docx

A.-20B.-10C.0D.10

14、表达式:

(int)((double)9/2)-(9)%2的值是()。

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

15.intx=5,y=14;

则表达式x+7/y+0.6值为()。

A.7.1B.5.6C.6.6D.6.1

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

main()

{inti,s=0;

for(i=1;

i<

10;

i+=2)s+=i+1;

printf("

%d\n"

s);

}

A.自然数1~9的累加和B.自然数1~10的累加和

C.自然数1~9中的奇数之和D.自然数1~10中的偶数之和

17、C语言中运算对象必需是整型的运算符是()。

A./B.%C.*D.+

18、表达式3.6-5/2+1.2+5%2的值是()。

A.4.3B.4.8C.3.3D.3.8

19、能正确表示逻辑关系:

a≥8或a≤5"

的C语言表达式是()。

A.a>

=8ora<

=5B.a>

=5|a<

=8C.a>

=8&

&

a<

=5D.a>

=8||a<

=5

20、C语言中,数字029是一个()。

A.不合法数字B.十进制数C.八进制数D.十六进制数

21、设有定义:

intk=0;

以下选项的四个表达式中与其他三个表达式的值不相同的是()。

A.k++B.k+=1C.++kD.k+1

22、以下选项中,合法的C语言数值常量是()。

A.028B.'

\12A'

C.'

\177’D.N

23、C语言中运算符优先级最低的是()。

A.++B.=C.-D.&

24、有以下程序运行时,输入的值在哪个范围才会有输出结果()。

main(){

scanf("

%d"

&

x);

if(x<

=3);

elseif(x!

=10)printf("

x);

}

A.不等于10的整数B.大于3且不等于10的整数

C.大于3或等于10的整数D.小于3的整数

25.以下选项中可用作C程序合法实数的是()

A.1e0B3.0e0.2C.E9D..12E

26.若有定义语句:

inta=3,b=2,c=1;

,以下选项中错误的赋值表达式是()

A.a=(b=4)=3;

B.a=b=c+1;

C.a=(b=4)+c;

D.a=1+(b=c=4);

二、填空题:

1、若有定义intm=5,y=2;

,则计算表达式y+=y-=m*=y后的y值是。

2、若s是int型变量,且s=6,则表达式s%2+(s+1)%2的值为。

3、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为。

4、若a是int型变量,则计算表达式a=25/3%3后a的值为。

5、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为,n的值为。

6、若有定义:

charc=‘\010’;

则变量c中包含的字符个数为。

7、若有定义:

intx=3,y=2;

floata=2.5,b=3.5;

则表达式(x+y)%2+(int)a/(int)b的值为

三、程序阅读题:

(写出程序运行结果)

1、以下程序的输出结果是。

#include<

stdio.h>

main()

{intx=97;

chary=’b’;

printf(“%c,%d”,x,y);

2、以下程序的输出结果是。

{intx=6;

x+=x-=x*x;

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

3、以下程序的输出结果是。

{inti=1,j;

j=-i++;

printf(“%d\n”,j) 

;

4、有以下程序,运行后的输出结果是。

main()

{chara='

a'

b;

printf("

%c,"

++a);

%c\n"

b=a++);

}

5、以下程序的输出结果是。

main()

{inti=0,j=0,a=6;

if((++i>

0)||(++j>

0))

a++;

%d,%d,%d"

i,j,a);

四、编程题:

(顺序结构编程)

1、输入华氏温度,输出摄氏温度。

C=5/9*(F-32)

/*由华氏温度转化为摄氏温度*/

2、输入底面半径r和高度h,计算并输出圆柱体的体积v。

v=πr2h(π取3.14,v计算结果保留到小数点后两位)

3、从键盘输入学生的三门考试成绩,计算并输出平均成绩。

第二单元选择结构练习题

1、若a是数值类型,则逻辑表达式(a==1)||(a!

=1)的值是()。

2、有以下程序运行时,输入的值在哪个范围才会有输出结果()。

scanf("

=10)

printf("

3、在嵌套使用if语句时,C语言规定else总是()。

A.和之前与其具有相同缩进位置的if配对B.和之前与其最近的if配对

C.和之前与其最近的且不带else的if配对D.和之前的第一个if配对

4、希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”,则以下不能满足的表达式是()。

A.num%2==1B.!

(num%2==0)C.!

(num%2)D.num%2

5、若有定义:

并有表达式:

①a%b,②a>

b>

c,③b&

c+1,④c+=1,则表达式值相等的是()。

A)①和②B)②和③C)①和③D)③和④

6.若有说明语句inti=5,j=4,k=6;

intf;

则执行f=(i<

j&

k)?

i:

j;

语句后,f的值为。

A)4B)5C)6D)7

7.以下程序片段。

intx=2,y=3;

printf(“%d,%d”,x+2,y);

A)输出为:

2,3B)输出为:

4,3

C)输出为:

23D)输出为:

43

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

A)(x>

=1)&

(x<

=10)&

(x>

=200)&

=210)

B)(x>

=1)||(x<

=10)||(x>

=200)||(x<

C)(x>

D)(x>

9.C语言对嵌套if语句的规定是:

else总是与()。

A)其之前最近的if配对B)第一个if配对

C)缩进位置相同的if配对D)其之前最近的且尚未配对的if配对

10.设:

inta=1,b=2,c=3,d=4,m=2,n=2;

执行(m=a>

b)&

(n=c>

d)后n的值为。

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

11.下面是错误的if语句(设intx,a,b;

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

B)if(a=<

b)x++;

C)if(a-b)x++;

D)if(x)x++;

12.以下程序片段。

main()

{intx=1,y=2;

if(x>

y)printf(“***”);

elseprintf(“###”);

A)有语法错误,不能通过编译B)输出:

***

C)可以编译,但不能通过连接,所以不能运行D)输出:

###

13.对下述程序,是正确的判断。

{intx,y;

scanf(“%d,%d”,&

x,&

y);

y)

x=y;

y=x;

else

x++;

y++;

printf(“%d,%d”,x,y);

A)有语法错误,不能通过编译B)若输入3和4,则输出4和5

C)若输入4和3,则输出3和4D)若输入4和3,则输出4和5

14.若w=1,x=2,y=3,z=4,则条件表达式w<

x?

w:

y<

z?

y:

z的值是。

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

15.下述表达式中,()可以正确表示x≤0或x≥1的关系。

=0)B)x>

=1|x<

=0

C)x>

=1&

x<

=0D)(x>

=0)

16.以下程序输出结果是。

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

 

switch(x){

case1:

switch(y){

case0:

a++;

break;

case1:

b++;

case2:

b++;

break;

case3:

printf(“a=%d,b=%d”,a,b);

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

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

if(a<

b)

if(c<

d)x=1;

else

c)if(b<

d)x=2;

elsex=3;

elsex=6;

elsex=7;

18.在下面的条件语句中(其中S1和S2表示C语言语句),只有一个在功能上与其他三个语句不等价。

()

A)if(a)S1;

elseS2;

B)if(a==0)S2;

elseS1;

C)if(a!

=0)S1;

D)if(a==0)S1;

19.若inti=10;

执行下列程序后,变量i的正确结果是。

switch(i){

case9:

i+=1;

case10:

case11:

default:

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

填空题:

1.C语言提供6种关系运算符,按优先级高低它们分别是________,________,________,________,________,________等。

2.C语言提供三种逻辑运算符,按优先级高低它们分别是________,________,________。

3.将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式________ 

4.设x,y,z均为int型变量;

写出描述“x,y和z中有两个为负数”的C语言表达式:

________ 

5.已知A=7.5,B=2,C=3.6,表达式A>

B&

C>

A||A<

!

C>

B的值是________。

6.有intx=3,y=-4,z=5;

则表达式(x&

y)==(x||z)的值为________。

7.若有x=1,y=2,z=3,则表达式(x<

y?

x:

y)==z++的值是________。

读程题:

1.以下程序的输出结果是。

main()

{inta=1,b=0;

if(!

a)b++;

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

elseb+=3;

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

2.写出以下程序的运行结果。

{inta=2,b=7,c=5;

switch(a>

0){

switch(b<

printf(“@”);

printf(“!

”);

case0:

switch(c==5){

pritnf(“*”);

printf(“#”);

printf(“&

printf(“\n”);

3.以下程序的输出结果是。

{inta=100;

if(a>

100)printf("

a<

=100);

elseprintf("

4、以下程序的输出结果是。

{inti;

for(i=0;

3;

i++)

{switch(i)

{case1:

i);

case2:

default:

}}}

5、以下程序的输出结果是。

0))a++;

6.若运行时输入100↙,写出以下程序的运行结果。

{inta;

scanf(“%d”,&

a);

printf(“%s”,(a%2!

=0)?

”No”:

”Yes”);

编程题:

1.有三个整数a,b,c,由键盘输入,输出其中最大的数。

2.编程输入整数a和b,若大于100,则输出百位以上的数字,否则输出两数之和。

3.给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。

90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’。

4.提高题:

给一个不多于5位的正整数,要求:

①求出它是几位数;

②分别打印出每一位数字;

③按逆序打印出各位数字,例如原数是321,应输出123。

第三单元循环结构练习题

选择题:

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

2、以下关于for语句的说法不正确的是()。

A.for循环只能用于循环次数已经确定的情况

B.for循环是先判断表达式,后执行循环体语句

C.for循环中,可以用break跳出循环体

D.for循环体语句中,可以保含多条语句,但要用花括号括起来

3、若i和k都是int类型变量,有以下for语句

for(i=0,k=-1;

k=1;

k++)printf("

*****\n"

);

下面关于语句执行情况的叙述中正确的是()。

A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环

4、已知int 

t=0;

while(t=1){...}则以下叙述正确的是()。

A)循环控制表达式的值为0 

B)循环控制表达式的值为1

C)循环控制表达式不合法 

D)以上说法都不对

5、设有以下程序段

intx=0,s=0;

while(!

x!

=0)s+=++x;

A)运行程序段后输出0 

B)运行程序段后输出1

C)程序段中的控制表达式是非法的 

D)程序段执行无限次

6、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为()。

for(i=0, 

j=10;

=j;

i++, 

j- 

-) 

k=i+j;

A.6B.9C.10D.11

7、C语言中,break;

语句可以用于循环语句和()语句中。

A.ifB.switchC.forD.while

8、for(i=0;

i<

=15;

i++)printf("

i);

循环结束后,i的值为()。

A.14B.15C.16D.17

9、与语句“while(!

x)”等价的语句是()。

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

=0)C.while(x==1)D.while(x!

=1)

10、下述程序段中,while循环执行次数是()。

while(k=1)k++;

A.无限次B.有语法错误,不能执行

C.一次也不执行D.执行一次

11、以下程序中,while循环的次数是()。

voidmain()

{inti=0;

while(i<

10){if(i<

1)continue;

if(i==5)break;

i++;

}}

A.1B.死循环,不能确定次数C.6D.10

12.下面程序段

intk=2;

while(k=0){printf(“%d”,k);

k--;

则下面描述中正确的是。

A)while循环执行10次B)循环是无限循环

C)循环题语句一次也不执行D)循环体语句执行一次

13.以下程序段的循环次数是。

for(i=2;

i==0;

)printf(“%d”,i--);

A)无限次B)0次C)1次D)2次

14.inti=100;

以下不是死循环的程序段是。

A)while

(1){i=i%100+1;

if(i>

100)break;

}B)for(;

;

);

C)intk=0;

do{++k;

}while(k>

=0);

D)ints=36;

while(s);

--s;

15.下述程序段的运行结果是。

inta=1,b=2,c=3,t;

while(a<

b<

c){t=a;

a=b;

b=t;

c--;

}printf(“%d,%d,%d”,a,b,c);

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

16.下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择 

填空。

{intm=0,n=0;

charc;

while((【】)!

’\n’)

{

if(c>

=’A’&

c<

=’Z’)m++;

=’a’&

=’z’)n++;

}}

A)c=getchar()B)getchar()C)c==getchar()D)scanf(“%c”,&

c)

17.下述语句执行后,变量k的值是。

intk=1;

while(k++<

10);

A)10B)11C)9D)无限循环,值不定

18.下面for循环语句。

inti,k;

for(i=0,k=-1;

k=1;

i++,k++)

printf(“***”);

A)判断循环结束的条件非法B)是无限循环

C)只循环一次D)一次也不循环

19.以下for循环的执行次数是。

for(x=0,y=0;

(y=123)&

4);

x++);

A)无限循环B)循环次数不定C)4次D)3次

20.以下是死循环的程序段是。

A)for(i=1;

){

if(i++%2==0)continue;

if(i++%3==0)break;

B)i=32767;

do{if(i<

0)break;

}while(++i);

C)for(i=1;

)if(++I<

10)continue;

D.i=1;

while(i--);

21.以下程序段。

x=-1;

do

{x=x*x;

while(!

A)是死循环B)循环执行2次C)循环执行1次D)有语法错误

22.下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择填空。

{inta,max=0;

while(【】){if(max<

a)max=a;

scanf(“%d”,&

printf(“%d”,ma

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

当前位置:首页 > 表格模板 > 合同协议

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

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