C语言练习题.docx

上传人:b****0 文档编号:9797778 上传时间:2023-05-21 格式:DOCX 页数:59 大小:39.47KB
下载 相关 举报
C语言练习题.docx_第1页
第1页 / 共59页
C语言练习题.docx_第2页
第2页 / 共59页
C语言练习题.docx_第3页
第3页 / 共59页
C语言练习题.docx_第4页
第4页 / 共59页
C语言练习题.docx_第5页
第5页 / 共59页
C语言练习题.docx_第6页
第6页 / 共59页
C语言练习题.docx_第7页
第7页 / 共59页
C语言练习题.docx_第8页
第8页 / 共59页
C语言练习题.docx_第9页
第9页 / 共59页
C语言练习题.docx_第10页
第10页 / 共59页
C语言练习题.docx_第11页
第11页 / 共59页
C语言练习题.docx_第12页
第12页 / 共59页
C语言练习题.docx_第13页
第13页 / 共59页
C语言练习题.docx_第14页
第14页 / 共59页
C语言练习题.docx_第15页
第15页 / 共59页
C语言练习题.docx_第16页
第16页 / 共59页
C语言练习题.docx_第17页
第17页 / 共59页
C语言练习题.docx_第18页
第18页 / 共59页
C语言练习题.docx_第19页
第19页 / 共59页
C语言练习题.docx_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言练习题.docx

《C语言练习题.docx》由会员分享,可在线阅读,更多相关《C语言练习题.docx(59页珍藏版)》请在冰点文库上搜索。

C语言练习题.docx

C语言练习题

C语言单元练习题

第一单元数据类型、表达式及顺序结构练习题

一、选择题:

1.不合法的C语言整型常量是。

A.–012B.0x35C.123LD.8E2

2.不合法的C语言实型常量是。

A.E3B..123C.–6.2E4D.5.0

3.不合法的C字符常量是。

A.´2´B.´\101´C.´AB´D.´\n´

4.下列四组选项中,均是不合法的用户标识符的选项是。

A.WP_0do

B.b-agotoint

C.floatla0_A

D.-123abcTEMP

5.下列四组选项中,均是合法转义字符的选项是。

A.‘\”’‘\\’‘\n’

B.‘\’‘\017’‘\”’

C.‘\018’‘\f’‘xab’

D.‘\\0’‘\101’‘xlf’

6.定义三个变量a、b、c,并分别赋初值为5。

能实现该功能的语句是。

A.inta=b=c=5;B.inta,b,c=5;

C.inta=5,b=5,c=5;D.inta=5;b=5;c=5;

7.若x,y,t均为int类型,则执行语句x=y=3;t=++x||++y;后,y的值是。

A.不定值B.4C.1D.3

8.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。

x=(i=4,j=16,k=32)

A.4B.16C.32D.52

9.设有说明:

charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为。

A.floatB.charC.intD.double

10.设以下变量均为int类型,则值不等于7的表达式是。

A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)

C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)

11、以下选项中不能用作C程序合法常量的是()。

A.1.234B.'123'C.123D."\x7G"

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

A..1e0B.3.0e0.2C.E9D.9.12E

13、阅读以下程序

#include

main()

{intcase;floatprintF;

printf(“请输入2个数:

”);

scanf(“%d%f”,&case,&pjrintF);

printf(“%d%f\n”,case,printF);

}

该程序编译时产生错误,其出错原因是()

A.定义语句出错,case是关键字,不能用作用户自定义标识符B.定义语句出错,printF不能用作用户自定义标识符

C.定义语句无错,scanf不能作为输入函数使用D.定义语句无错,printf不能输出case的值

14、下列标识符中,不合法的用户标识符为()。

A.PadB.CHARC.a_10D.a≠b

15、以下选项中能表示合法常量的是()。

A.整数:

1,200B.实数:

1.5E2.0C.字符斜杠:

‘\’D.字符串:

"\007"

16、以下选项中,能用作数据常量的是()。

A.o115B.0118C.1.5e1.5D.115L

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

=1)的值是()。

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

18、若有定义语句:

intx=10;,则表达式x-=x+x的值为()

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

19、表达式:

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

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

20、若有定义:

doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是()。

A.a=a++,i++;B.i=(a+k)<=(i+k);C.i=a;D.i=!

a;

21、表达式a+=a-=a=9的值是()。

A.9B._9C.18D.0

22.intx=5,y=14;则表达式x+7/y+0.6值为()。

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

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

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中的偶数之和

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

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

25、若有表达式(w)?

(--x):

(++y),则其中与w等价的表达式是()。

A.w==lB.w==0C.w!

=lD.w!

=0

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

A.num%2==1B.!

(num%2==0)C.!

(num%2)D.num%2

27、若有以下类型说明语句:

charw;intx;floaty;doublez;则表达式w*x+z-y的结果为()类型.

A.floatB.charC.intD.double

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

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

29、若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?

(x++):

(y++)中的条件表达式(x-y)等价的是()。

A.(x-y)>0B(x-y<0)C.(x-y<0║x-y>0)D.(x-y)==0

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

"a≥8或a≤5"的C语言表达式是()。

A.a>=8ora<=5B.a>=5|a<=8C.a>=8&&a<=5D.a>=8||a<=5

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

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

32、已定义变量如下:

inta=5,b=7,c;则执行语句a>b?

(c=(a++)-(++b)):

(c=a+++8);后c的值为()

A.15B.14C.13D.12

33、设有定义:

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

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

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

A.028B.'\12A'C.'\177’D.N

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

A.++B.,C.-D.!

=

36、以下程序运行后的输出结果是()。

voidfun(intp)

{intd=2;p=d++;printf(“%d”,p);}

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

main(){

intx;scanf("%d",&x);

if(x<=3);

elseif(x!

=10)printf("%d\n",x);}

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

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

38.有以下程序

#include

main()

{intx=011;

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

}

程序运行后的输出结果是()

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

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

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

40.若有定义语句:

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.若x和a均是int型变量,则计算表达式x=(a=4,6*2)后的x值为,

计算表达式x=a=4,6*2后的x值为。

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

6.若x和n均是int型变量,且x和n的初值均为5,

则计算表达式x+=n++后x的值为,n的值为。

7.若有定义:

charc=‘\010’;则变量c中包含的字符个数为。

8.若有定义:

intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为

(x+y)%2+(int)a/(int)b

9.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,

则表达式ch=‘a’+‘8’-‘3’的值为。

三、程序阅读题:

(写出程序运行结果)

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

#include

main()

{intx=97;chary=’b’;

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

}

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

#include

main()

{intx=6;

x+=x-=x*x;

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

}

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

#include

main()

{intx;

(x=4*5,x*5),x+25;

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

}

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

#include

main()

{inti=1,j;

j=-i++;

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

}

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

main()

{chara='a',b;

printf("%c,",++a);

printf("%c\n",b=a++);}

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

main()

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

if((++i>0)||(++j>0))

a++;

printf("%d,%d,%d",i,j,a);}

四、编程题:

(顺序结构编程)

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

C=5/9*(F-32)

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

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

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

3.从键盘输入一扇形的半径和角度,求扇形的面积和周长。

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

第二单元选择结构练习题

一、选择题:

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

=1)的值是()。

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

2、if语句的基本形式是:

if(表达式)语句,以下关于“表达式”值的叙述中正确的是()。

A.必须是逻辑值B.必须是整数值C.必须是正数D.可以是任意合法的数值

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

main(){

intx;scanf("%d",&x);

if(x<=3);

elseif(x!

=10)printf("%d\n",x);}

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

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

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

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

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

5、若有表达式(w)?

(--x):

(++y),则其中与w等价的表达式是()。

A.w==lB.w==0C.w!

=lD.w!

=0

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

A.num%2==1B.!

(num%2==0)C.!

(num%2)D.num%2

7、设有定义:

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

A.if(a>B.c=a,a=b,b=c;B.if(a>B.{c=a,a=b,b=c;}

C.if(a>B.c=a;a=b;b=c;D.if(a>B.{c=a;a=b;b=c;}

8、若有表达式(w)?

(--x):

(++y),则其中与w等价的表达式是()。

A.w==lB.w==0C.w!

=lD.w!

=0

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

main(){

intx;scanf("%d",&x);

if(x<=3);

elseif(x!

=10)printf("%d\n",x);}

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

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

10、若变量已正确定义,在if(W)printf(“%d\n,k”);中,以下不可替代W的是

A.a<>b+cB.ch=getchar()C.a==b+cD.a++

11.逻辑运算符两侧运算对象的数据类型。

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

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

12.下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。

  A)x%2==0B)!

x%2!

=0C)(x/2*2-x)==0D)!

(x%2)

13.以下程序片段。

intx=2,y=3;

printf();

  A)什么都不输出B)输出为:

***x=2

  C)输出为:

###y=2D)输出为:

###y=3

14.能正确表示“当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)

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

else总是与。

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

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

16.设:

inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为。

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

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

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

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

18.以下程序片段。

main()

{intx=0,y=0,z=0;

if(x=y+z)printf(“***”);

elseprintf(“###”);}

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

***

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

###

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

main()

{intx,y;

scanf(“%d,%d”,&x,&y);

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

elsex++;y++;

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

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

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

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

w:

y

y:

z的值是。

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

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

  A)(x>=1)||(x<=0)B)x>=1|x<=0

  C)x>=1&&x<=0D)(x>=1)&&(x<=0)

22.下述程序的输出结果是。

main()

{inta=0,b=0,c=0;

   if(++a>0||++b>0)++c;

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

}

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

23.下述程序的输出结果是。

main()

{intx=-1,y=4,k;

   k=x++<=0&&!

(y--<=0);

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

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

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

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

}

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

}

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

25.下述程序的输出结果是。

main()

{inta,b,c;

    intx=5,y=10;

    a=(--y=x++)?

–y:

++x;

    b=y++;c=x;

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

}

  A)6,9,7B)6,9,6C)7,9,6D)7,9,7

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

if(a

if(c

else

   if(a

     elsex=3;

   elsex=6;

elsex=7;

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

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

  A)if(a)S1;elseS2;B)if(a==0)S2;elseS1;

  C)if(a!

=0)S1;elseS2;D)if(a==0)S1;elseS2;

28.若inti=0;执行下列程序后,变量i的正确结果是。

switch(i){

    case9:

i+=1;

    case10:

i+=1;

    case11:

i+=1;

    default:

i+=1;

}

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

29.若有说明语句inti=5,j=4,k=6;floatf;则执行f=(i

i:

(j

j:

k;语句后,f的值为。

  A)4.0B)5.0C)6.0D)7.0

30.若有定义:

inta=3,b=2,c=1;并有表达式:

①a%b,②a>b>c,③b&&c+1,④c+=1,则表达式值相等的是。

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

填空题:

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

x:

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

8.执行以下程序段后,a=________,b=________,c=________。

intx=10,y=9,a,b,c;

a=(x--=y++)?

x--:

y++;b=x++;c=y;

读程题:

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

main()

{inta=1,b=0;

if(!

a)b++;

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

elseb+=3;

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

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

main()

{intx=1,y=0;

if(!

x)y++;

elseif(x==0)

if(x)y+=2;

elsey+=3;

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

}

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

main()

{inta=100;

if(a>100)printf("%d\n",a<=100);

elseprintf("%d\n",a<=100);

}

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

main()

{inti;

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

{switch(i)

{case1:

printf("%d",i);

case2:

printf("%d",i);

default:

printf("%d",i);}}}

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

main()

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

if((++i>0)||(++j>0))a++;

printf("%d,%d,%d",i,j,a);}

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

main()

{inta;

    scanf(“%d”,&a);

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

=0)?

”No”:

”Yes”);

}

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

main()

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

    switch(a>0){

       case1:

switch(b<0){

            

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2