c语言的同步练习.docx

上传人:b****8 文档编号:10278884 上传时间:2023-02-09 格式:DOCX 页数:32 大小:33.39KB
下载 相关 举报
c语言的同步练习.docx_第1页
第1页 / 共32页
c语言的同步练习.docx_第2页
第2页 / 共32页
c语言的同步练习.docx_第3页
第3页 / 共32页
c语言的同步练习.docx_第4页
第4页 / 共32页
c语言的同步练习.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

c语言的同步练习.docx

《c语言的同步练习.docx》由会员分享,可在线阅读,更多相关《c语言的同步练习.docx(32页珍藏版)》请在冰豆网上搜索。

c语言的同步练习.docx

c语言的同步练习

第1章

一、单选题

1.C语言并不是一种严格的算法语言,在以下关于C语言的不严格的叙述中,错误的是(A)。

A 大写字母与小写字母的意义相同B 有些不同类型的变量可以在一个表达式中运算

C 在赋值表达式中赋值号左边的变量和右边的值可以是不同类型

D 同一个运算符号在不同的场合可以有不同的含义

2、以下说法中,不正确的是(B)

A C语言是一种函数式语言,有且仅有一个main()函数

B 在C源程序中,可以出现多个main()函数

C 函数是由函数说明部分和函数体组成的

D 函数体是由若干说明语句和执行语句组成的

二、填空题

1.C程序是由函数构成的,一个C源程序至少包含一个main函数。

2.C语言规定:

main()函数可在源程序的任何位置。

3.C程序的执行是从main函数开始,在mian函数中结束。

4.在C语言中,一个函数由函数体和函数首部两部分组成。

5.函数体一般包括声明部分和执行部分。

6.C程序书写格式规定,每行可写几个语句,一个语句可以写在多行。

一个C语言的语句至少应包含一个;。

7.用/*……*/可对C程序中的任何部分作注释。

8.C源文件取名,后缀一般为.c。

编译源代码,生成目标文件,其后缀名一般为.obj。

对目标文件进行连接,生成可执行文件,其后缀名一般为.exe。

第2章

一、单选题

1、下列不是算法的特征的是(D)。

A有效性B确定性C有穷性D特殊性

二、填空题(多空答案之间请用##隔开,即使有空不填也要用##分隔。

例如有两空答案分别为a=2b=3而您只知道b=3的话,答案须写为##b=3)

1、一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,问第10次落地时,共经过多少米?

第10次反弹多高?

请编程实现。

2、找出1至99之间的全部同构数。

同构数是这样一组数:

它出现在平方数的右边。

例如:

5是25右边的数,25是625右边的数,5和25都是同构数。

3、编写满足条件1+2+3+…+n≥500的最小n及和s的程序。

4、有一高楼,有阶梯若干级,每步跨2级,最后余1级;每步跨3级,最后余2级;每步跨5级,最后余4级;每步跨6级,最后余5级;每步跨7级,正好到楼顶。

计算该楼至少多少级。

5、求出1至599中能被3整除,且至少有一位数字为5的所有整数。

如15,51,513等均是满足条件的整数。

要求每行输出六个数。

6、求满足条件abcd=(ab)2+(cd)2有所有四位数。

第3章

一、选择题

1.下列各组中均为常量的是A。

A.123,-0x23,-2.5B.–1,1/2,6.8

C.–6,π,345.0D.3.5,6.9,a

2.下列各组中不全是字符常量的是A。

A.‘a’,“b”,‘2’B.‘+’,‘\101’,‘f’

C.‘6’,‘\n’,‘x’D.‘3’,‘$’,‘\x41’

3.下列各组中全是实数的是A。

A.0.5,1.4e2,-6.9B.7.8,e3,-5.1

C.1.5e3.5,0.9,-6.0D.41.2,45,7.7

4.下列各组中不全是合法的变量名的是C。

A.day,lotus_1_2_3,x1B.Abc,_above,basic

C.M.John,year,sumD.YEAR,MONTH,DAY

5.下列各组中全是字符串常量的是A。

A.“a+b”“1+2=5”,“china”B.‘abc’,‘xyz’,‘5’

C.‘123’,“456”,“789”D.‘\n’,“1+2=3”,“aaa”

6.设有说明语句“floatx,y;”,则下列选项中,不合法的赋值语句是_B_____

A.++x;B.y=(x%2)/10;C.x*=y+8;D.x=y=0;

7.设charch;则不合法的赋值语句是____A__

A.ch=‘a+b’;B.ch=‘\0’;

C.ch=‘a’+‘b’;D.ch=7+9;

8.以下能正确地定义整型变量a,b,c,并给它们都赋值5的语句是C______

A.inta=b=c=5;B.inta,b,c=5;C.inta=5,b=5,c=5;D.a=b=c=5;

二、填空题

1.charc;c=‘a’;c的ASCII代码为97,则在内存中c的值为:

1100001。

2.在定义变量的同时给变量一个值,称为初始化。

3.#definePI3.14说明PI为3.14。

4.表达式10+‘x’+2.5*7的值为型的量float。

5.设x=3.5;则表达式(int)x+x的值为6.5。

6.设i=5;则语句k=i++;执行后,k=5,i=6。

7.设inta=6;表达式a/=a+a运算后,a=0。

8.表达式a=3*5,a+a,a+3的值为17。

9.表达式x=(2+3,6*5),x+5运算后,x=35。

10.设a=9;x=6.3;y=3.5;则表达式a%5*(int)(x+y)%7/4的值为0。

11.设a=5;则表达式a+=a*=a+a运算后,a=100。

12.inta=5,b=2;表达式b+=(float)(a+b)/2运算后b=5.5。

13.charc;表达式c=‘a’-‘A’+‘B’运算后,c的值b。

14.表达式b=35/7*5-7%4*4运算后b=-6。

15.表达式(int)(sqrt(0.25)+5.7)运算后,值为6。

第二章 数据类型、运算符与表达式

二、填空题

1.   charc;c=‘a’;c的ASCII代码为97,则在内存中c的值为:

1100001。

2.   在定义变量的同时给变量一个值,称为初始化。

3.   #definePI3.14说明PI为3.14。

4.   表达式10+‘x’+2.5*7的值为float型的量。

5.   设x=3.5;则表达式(int)x+x的值为6.5。

6.   设i=5;则语句k=i++;执行后,k=5,i=6。

7.   设inta=6;表达式a/=a+a运算后,a=0。

8.   表达式a=3*5,a+a,a+3的值为33。

9.   表达式x=(2+3,6*5),x+5运算后,x=35。

10.设a=9;x=6.3;y=3.5;则表达式a%5*(int)(x+y)%7/4的值为0。

11.设a=5;则表达式a+=a*=a+a运算后,a=100。

12.inta=5,b=2;表达式b+=(float)(a+b)/2运算后b=3.5。

13.charc;表达式c=‘a’-‘A’+‘B’运算后,c的值b。

14.表达式b=35/7*5-7%4*4运算后b=13。

15.表达式(int)(sqrt(0.25)+5.7)运算后,值为6。

16.设有说明:

charc1;则c1=‘a’;是否正确?

正确

17.设有说明:

charc2;则c2=65;是否正确?

正确

18.表达式a=(a=(2,3),a+2)运算后a=____5____。

19.表达式a=3,b=a,c=a*b,a+b+c的值为__15______。

20.表达式b=((b=(2,3),b+2),15+b)运算后,b=_20_______。

21.表达式b+=b=((b=(2,3),b+2),15+b)运算后,b=___40_____。

22.表达式b+=b-=((b=(2,3),b+2),15+b)运算后,b=___-24_____。

23.表达式b=35/7*5-7%4*4运算后b=(13)

24. 设intx,y,z;则执行语句x=(y=(z=10)+5)-5;后x值为__10__,y值为____15_,z值为_10___。

25. 下面程序的输出是___12017078x____。

main()

{charc=‘x’;

printf(“C:

dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);

}

26.设有说明语句“floatx;”,若要使x能正确接收从键盘输入的一数,函数调用语句为___scanf(“%f”,&x);__。

27.设有说明语句“intx;”,则执行语句“x=7;x+=x-=x+x;”后x值为__-14___。

28.设有说明语句“inta,b;”,则语句“a+=b;b=a-b;a-=b;”的功能是_互换a,b___。

29.设floatk;执行语句scanf(“%d”,k);k不能得到正确值的原因为____少了&___。

30.设floata=1.0;intb=3;若输出结果为a/b=’0.333333%,则相应的printf语句为__printf(“a/b=%0.6f%\n”,a/b);____。

31.设chara;a=getchar();的输入是b,则a值为____b_,getchar()函数的值为_97____。

32.设inta,b,c;则执行:

scanf(“%d,%d,%d”,&a,&b,&c)语句使a,b,c值分别为1,2,3的输入是____1,2,3____。

33. 执行scanf(“%2d%2d”,&a,&b)语句的输入是123456,则a的值为____12__,b值为___34___。

三、其它题

1、'a'和"a"有什么区别前者占一个字节后者占两个

2、求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4设x=2.5,a=7,y=4.72.5

(2)(float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.5,y=2.53.5

3、写出程序运行结果。

main(){inti,j;m,n;i=8;j=10;m=++i;n=j++;

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

9,11,9,10

4、写出下面表达式运算后a的值,设原来a=12。

设a和n已定义为整型变量。

(1)a+=a24

(2)a-=210

(3)a*=2+360

(4)a/=a+a0

(5)a%=(n%=2),n的值等于50

(6)a+=a-=a*=a0

第4章

一、单选题

1、putchar()函数可以向终端输出一个___D_______。

A整型变量或表达式的值B实型变量的值C字符串D字符或字符型变量值

2、以下说法正确的是______D___。

A输入项可以为一个实型常量,如scanf(“%f”,3.5);

B只有格式控制,无输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);C当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);

D当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);

3、设有说明语句“floatx,y;”,则下列选项中,不合法的赋值语句是_________B___.

A++xBy=(x%2)/10Cx*=y+8Dx=y=0

4、设charch;则不合法的赋值语句是_____A_____。

Ach=‘a+b’;Bch=‘\0’;Cch=‘a’+‘b’;Dch=7+9;

5、以下能正确地定义整型变量a,b,c,并给它们都赋值5的语句是______C____。

Ainta=b=c=5;Binta,b,c=5;Cinta=5,b=5,c=5;Da=b=c=5;

二、填空题(多空答案之间请用##隔开,即使有空不填也要用##分隔。

例如有两空答案分别为a=2b=3而您只知道b=3的话,答案须写为##b=3)

1、设intx,y,z;则执行语句x=(y=(z=10)+5)-5;后x值为____10______,y值为______15____,z值为______10____。

2、下面程序的输出是___12017078x______。

main()

{charc=‘x’;

printf(“C:

dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);

3、设有说明语句“floatx;”,若要使x能正确接收从键盘输入的一数,函数调用语句为__________scanf(“%f”,&x)_____。

4、设intx;则执行语句x=7;x+=x-=x+x;后x值为_________-14_。

5、设inta,b;语句a+=b;b=a-b;a-=b;的功能是__互换a,b__________。

第5章

一、单选题

[No.1],[ID=52]

1、逻辑运算符两侧运算对象的数据类型_____D_____。

A只能是0或1B只能是0或非0数

C只能是整型或字符型数据D可以是任何类型的数据

2、以下关于运算符优先级顺序的描述正确的是C__________。

A关系运算符<算术运算符<赋值运算符<逻辑运算符

B赋值运算符<关系运算符<算术运算符<逻辑运算符

C赋值运算符<逻辑运算符<关系运算符<算术运算符

D算术运算符<关系运算符<赋值运算符<逻辑运算符

3、命题“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是___A______。

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)

4、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是_C_________。

AA%2==1B!

(A%2==0)

C!

(A%2)DA%2

5、执行以下语句后a的值为___D_______;b的值为_______C___。

Inta,b,c;

a=b=c=1;

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

则a的值为

A错误B0C2D1

6、执行以下语句后,a的值为B__________;b的值为________6__。

Inta=5,b=6,w=1,x=2,y=3,z=4;

(a=w>x)&&(b=y>z);

本题a的值为

A5B0C2D1

7、以下程序运行的结果是C__________。

Main()

{intm=5;

if(m++>5)

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

else

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

}

A4B5C6D7

8、若有条件表达式(exp)?

a++:

b――,则以下表达式中能完全等价于表达式(exp)的是________B_。

A(exp==0)B(exp!

=0)C(exp==1)D(exp!

=1)

二、填空题(多空答案之间请用##隔开,即使有空不填也要用##分隔。

例如有两空答案分别为a=2b=3而您只知道b=3的话,答案须写为##b=3)

1、若有int y;则表示命题“y是奇数”成立的C语言表达式是_(___ify%2!

=0)______。

2、在C语言中,表示逻辑“真”值用__________表示。

答案1

3、条件“2<x<3或x<-10”的C表达式是__________。

答案

(x>2)&&(x<3)||(x<-10)

4、以下程序运行的结果是__20________。

Main()

{inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!

b)

if(!

c)x=15;elsex=25;printf(“%d\n”,d);

5、以下程序段的运行结果是__**1****3**________。

Intx=1,y=0;switch(x)

{case1:

switch(y){case0:

printf(“**1**”);break;

case1:

printf(“**2**”);break;

}case2:

printf(“**3**”);}

6、以下程序运行的结果是_a=_2b=1________。

#include"stdio.h"

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);

}

第6章

一、单选题

[No.1],[ID=73]

1、while(!

E);语句中,条件表达式等价于____A______。

AE==0BE!

=1CE!

=0DE==1

2、下面程序的运行结果是_______B___。

Intn=0;

while(n++<=2);

printf(“%d”,n);

A2B3C4D有语法错

3、下面程序段的运行结果是________D__。

a=1;b=2;c=2;

while(a

{t=a;a=b;b=t;c――;}

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

A1,2,0B2,1,0C1,2,1D2,1,1

4、C语言中,while与do-while循环的主要区别是___A_______。

Ado-while的循环体至少无条件执行一次

Bwhile的循环控制条件比do-while的循环控制条件严格

Cdo-while允许从外部转到循环体内

Ddo-while的循环体不能是复合语句

5、对for(表达式1;;表达式3)可理解为__________。

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

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

6、以下for循环体执行的次数是______C____。

For(x=0,y=0;(y=123)&&(x<4);x++);

A为无限次循环B循环次数不定C4次D3次

7、下列不是死循环的是_____D_____。

AintI=100;while

(1){I=I%100+1;if(I>100)break;}

Bfor(;;);

Cintk=0;do{++k;}while(k>=0);Dints=36;while(s);――s;

8、执行语句for(I=1;I++<4;);后I的值为_____C_____。

A3B4C5D不定

9、下列程序段的输出结果是_______D___。

Intx=3;

do

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

}while(!

(――x));

A1B1-2C3,0D是死循环

10、以下四个关于C语言的结论中,只有一个是错误的,它是__D________。

A可以用while语句实现的循环一定可以用for语句实现

B可以用for语句实现的循环一定可以用while语句实现

C可以用do-while语句实现的循环一定可以用while语句实现

Ddo-while语句与while语句的区别仅是关键字“while”出现的地方不同

二、填空题(多空答案之间请用##隔开,即使有空不填也要用##分隔。

例如有两空答案分别为a=2b=3而您只知道b=3的话,答案须写为##b=3)

[No.1],[ID=119]

1、执行下面程序段后,k值是___36_______。

K=1;n=263;

do

{k*=n%10;n/=10;

}while(n);

2、鸡兔共有30只,脚共有90个,下面的程序段是计算鸡兔各有多少只

for(x=1;x<=29;x++)

{y=30—x;

if(_________2x+2y==90_)

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

3、下面程序的运行结果是_______120___。

Main(){intI,x,y;

I=x=y=0;

do

{++I;if(I%2!

=0)

{x=x+I;I++;}

y=y+I++;}while(I<=7);

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

4、下面程序的运行结果是__********#______。

Main(){intI,j=4;

for(I=j;I<=2*j;I++)

swi(I/j){ca0:

caseprintf(“**”);break;case2:

printf(“#”);

5、以下程序段的功能:

从键盘输入的字符中统计数字字符的个数,用换行符结束循环。

Intn=0,c;c=getchar();

while((c=getchar())!

=’\n’ ){if((c>=0)&&(c<=9)))

n++;c=getchar();}

6、下面程序的输出结果是_____01_____。

Main()

{intI,j,k=19;while(I=k-1)

{k-=3;if(k%5==0)

{I++;continue;}

elseif(k<5)

break;

I++;

}printf(“I=%d,k=%d\n”,I,k);

7、填空完成下面程序,其功能是打印100以内个位数为6且能被3整除的所有数。

Main(){intI,j;

for(I=0;______I<=100____;I++)

{j=I*10+6;

if(___(j%3)!

=0______

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

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

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

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