C语言数据类型和运算符及表达式复习题教学内容.docx

上传人:b****8 文档编号:10390778 上传时间:2023-02-10 格式:DOCX 页数:15 大小:22.55KB
下载 相关 举报
C语言数据类型和运算符及表达式复习题教学内容.docx_第1页
第1页 / 共15页
C语言数据类型和运算符及表达式复习题教学内容.docx_第2页
第2页 / 共15页
C语言数据类型和运算符及表达式复习题教学内容.docx_第3页
第3页 / 共15页
C语言数据类型和运算符及表达式复习题教学内容.docx_第4页
第4页 / 共15页
C语言数据类型和运算符及表达式复习题教学内容.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言数据类型和运算符及表达式复习题教学内容.docx

《C语言数据类型和运算符及表达式复习题教学内容.docx》由会员分享,可在线阅读,更多相关《C语言数据类型和运算符及表达式复习题教学内容.docx(15页珍藏版)》请在冰豆网上搜索。

C语言数据类型和运算符及表达式复习题教学内容.docx

C语言数据类型和运算符及表达式复习题教学内容

 

C语言数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题

一.选择题

1.以下不合法的用户标识符是:

()

a)f2_G3b)Ifc)4dd)_8

2.以下选项中合法的用户标识符是:

()

a)longb)_2Testc)3Dmaxd)A.dat

3.以下可用作用户标识符的是:

()

a)12_ab)signedc)t-od)_if

4.以下不是关键字的标识符是:

()

a)continueb)charc)Ifd)default

5.C语言提供的合法的关键字是:

()

a)swicthb)cherc)Cased)void

6.以下选项中不合法的int整型常数是()

a)32768b)-56c)03d)0xAF

7.以下合法的长整型常量是()

a)2Lb)49627c)34566666d)213&

8.以下正确的实型常量是()

a)1.2Eb).579899c)1.2e0.6d)8

9.以下选项中合法的实型常数是()

a)5E2.0b)E-3c).2E0d)1.3E

10.以下合法的八进制数是()

a)0135b)068c)013.54d)o7

11.以下合法的十六进制数是()

a)0xb)0x4dec)0x1hd)ox77

12.以下选项中非法的数值常量是()

a)019b)0Lc)0xffd)1e1

13.若变量已正确定义,以下合法的赋值表达式是()

a)a=1/b=2b)++(a+b)

c)a=a/(b=5)d)y=int(a)+b

14.若变量已正确定义,以下非法的表达式是()

a)a/=b+cb)a%(4.0)

c)a=1/2*(x=y=20,x*3)d)a=b=c

15.设x为int类型,其值为11,则表达式(x++*1/3)的值是:

a)3b)4c)11d)12

16.设a,b均为double型,且a=5.5;b=2.5;则表达式

(int)a+b/b的值是()

a)6.500000b)6c)5.500000d)6.000000

17.若a为int型,且其值为3,则执行完表达式:

a+=a-=a*a后,a的值是()

a)-3b)9c)-12d)6

18.设k和x均为int型变量,且k=7;x=12;则能使

值为3的表达式是()

a)x%=(k%=5)b)x%=(k-k%5)

c)x%=k-k%5d)(x%=k)-(k%=5)

19.若a,b,c均被定义成整型并已赋大于1的值,能正确表示代数式

的C语言表达式是()

a)1/(float)a*b*cb)1/(a*b*c)

c)1.0/a/b/cd)1/a/b/(float)c

20.以下变量x,y,z均为double型且已正确赋值,不能正确表示代数式

的C语言表达式是()

a)x/y*zb)x*(1/(y*z))

c)x/y*1/zd)x/y/z

21.不能正确表示代数式

的C语言表达式是()

a)a/(c*d)*bb)a*b/c/d

c)a*b/c*dd)a*b/(c*d)

22.若题中变量已正确定义并赋值,下面符合C语法的表达式是()

a)a%=7.6b)a++,a=7+b+c

c)int(12.3)%4d)a=c+d=a+7

23.若t已定义为double型,则表达式:

t=1,t++,t+5的值为()

a)7b)7.0c)2.0d)1.0

24.已有定义:

inta,b;floatx,y;,以下正确的赋值语句是:

()

a)a=1,b=2,b)y=(x%2)/10;c)x*=y+8;d)a+b=x;

25.有以下程序:

main()

{inty=1111;

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

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

}

程序运行的结果是:

()

a)y=1111b)y=1111c)y=1111d)y=1111

y=001111y=+01111y=+01111y=1111

26.有以下程序:

main()

{inty=456;

printf(“*y=%7o*\n”,y);

printf(“*y=%-7o*\n”,y);

printf(“*y=%07o*\n”,y);

}

程序运行的结果是:

()

a)*y=710*b)*y=456*

*y=710**y=456*

*y=0000710**y=0000456*

c)*y=710*d)*y=456*

*y=-710**y=-456*

*y=0710**y=0456*

27.有以下程序:

main()

{floaty=3.667;

printf(“*%f*\n”,y);

printf(“*%7.2f*\n”,y);

printf(“*%8.0f*\n”,y);

}

程序运行的结果是:

()

a)*3.667000*b)*3.667000*

*3.67**3.667*

*4**4.000000*

c)*3.667*d)*3.667000*

*3.667000**3.67*

*3.667000**4.000000*

28.已有定义:

doublea,b;,若要求按输入方式(此处*代表一个空格)**1.0**2.0<回车>分别给a,b输入1,2,则能正确进行输入的语句是()

a)scanf(“%f%f”,&a,&b);

b)scanf(“%5.1lf%5.1lf”,&a,&b);

c)scanf(“%lf%lf”,&a,&b);

d)scanf(“%5e%5e”,&a,&b);

29.以下合法的定义语句是()

a)short_auto_=100-1;

b)doubleb=1+5e2.5;

c)longdo=1l;

d)float2_and=1e-3;

30.以下选项中不是C语句的是()

a)++tb);c)k=i=j;d){a/=b=1;b=a%2;}

31.有定义语句:

inta=5,b;,不能给b赋2的赋值语句是()

a)b=a/2;b)b=b+2;c)b=2%a;d)b=5;b=2;

32.设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()

a)把x和y从小到大排列b)把x和y从大到小排列

c)无确定结果d)交换x和y中的值

33.有定义语句:

longinta;intk;,能给a赋40000的正确语句是()

a)a=20000+20000;b)a=4000*10;

c)k=400;a=k*100;d)a=4000;a=a*10;

34.若有定义:

inta=8,b=5,c;,执行语句:

c=a/b+0.4;后,c的值是()

a)1.4b)1c)2.0d)2

35.有以下程序:

main()

{intk=2,i=2,m;

m=(k+=i*=k++);

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

}

程序运行的结果是:

()

a)8,6b)8,3c)6,4d)7,4

36.有以下程序:

main()

{inty=3,x=3,z=1;

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

}

程序运行的结果是:

()

a)34b)42

c)43d)33

37.有以下程序:

main()

{inti;longl ;floatf ;doubled ;

i=f=l=d=20/3;

printf(“%d%ld%3.1f%3.1f\n”,i,l,f,d);

}

程序运行的结果是:

()

a)666.06.0b)666.76.7

c)666.06.7d)666.76.0

38.有以下程序:

main()

{unsigneda=32768;intb ;

b=a ;

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

}

程序运行的结果是:

()

a)b=32768b)b=32767c)b=-32768d)b=-1

39.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()

a)16,16,65520b)14,16,65520

c)16,16,-16d)14,16,-16

40.若有定义语句:

intb=0x17;printf(“%d”,b++);,其正确的输出结果是()

a)23b)24c)25d)22

41.有以下程序:

main()

{intx=0xffff;

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

}

程序运行的结果是:

()

a)32767b)FFFE

c)-1d)-32768

二.填空题

1.已有定义:

floatf=13.8;,则表达式:

(int)f%3的值是___1___.

2.已有定义:

intx=3;,则表达式:

x=x+1.78的值是___4___.

3.已有定义:

doublex=3.5;则表达式:

x=(int)x+1的值是_4.000000__.

4.已有定义:

intx=10,y=3,z;,则表达式:

z=(x%y,x/y)的值是__3___.

5.设a,b,c为整型数,且a的值为2,b的值为3,c的值为4,表达式:

a*=16+(b++)-(++c)的值为__28____.

6.已有定义:

intx=0,y=0;,则计算表达式:

(x+=2,y=x+3/2,y+5)后,表达式的值是_8__,变量x的值是_2__,变量y的值是__3__.

7.已有定义:

intx=110,y=017;,则计算表达式:

(x++,++y)后,按十进制表示,变量x的值是__111___,变量y的值是__16___。

8.若已有定义语句:

intk=3,j=4;,运行表达式(k+=j,j/=4.0,++j,j+2)后,表达式的值是__4___,变量k的值是__7___,变量j的值是___2___.

9.已有定义:

intx,y;,执行以下语句后的输出结果是__%d,%3__.

x=11/3;y=5;printf(“%%d,%%%d\n”,x,y);

10.已有定义:

inty;,执行以下语句后的输出结果是_26,032,0x1a_____.

y=26;printf(“%d,%#o,%#x”,y,y,y);

11.执行以下语句后的输出结果是__7/8=0%1___.

printf(“7/8=%d”,7/8);printf(“%%%d”,7%2);

12.以下程序的运行结果是___4.900000,4____.

main()

{floata;intb;

b=a=24.5/5;

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

}

13.以下程序的运行结果是___4.000000,4____.

main()

{floata;intb;

a=b=24.5/5;

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

}

14.以下程序的运行结果是a=374ㄩㄩ**a=fc

a=0374**a=0xfc

#include

main()

{inta=252;

printf(“a=%-5o**a=%x\n”,a,a);

printf(“a=%#o**a=%#x\n”,a,a);

}

15.若有定义:

intt1;doublet2;,执行下列语句后,t1的值是__1__。

t1=(t2=1.9,t2+5,t2++);

16.若有下列定义和语句,输出结果是000034213.69。

floatx=34213.6894;printf(“%012.2f”,x);

17.int类型变量占两个字节,以下语句的输出结果是-1,177777,ffff,65535。

inta=-1;printf(“%d,%o,%x,%u”,a,a,a,a);

三.操作题

1.写出以下程序运行的结果:

main()

{charc1='a',c2='b',c3='c',c4='\101',c5='\116';

printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);

printf("\t\b%c%c",c4,c5);

}

2.分析以下程序能否正常运行。

main()

{intc1,c2;c1=97;c2=98;

printf("%c%c\n",c1,c2);

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

}

3.写出程序运行的结果。

main()

{inti,j,m,n;

i=8;j=10;m=++i;n=j++;

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

}

4.求下面算术表达式的值

(1)设x=2.5,a=7,y=4.7

x+a%3*(int)(x+y)%2/4

(2)设a=2,b=3,x=3.5,y=2.5,

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

5.要将“China”翻译成密码。

密码规律是:

用原来字母的后面第4个字母代替原来的字母。

请编写一程序实现。

并输出结果。

(Glmre)

6.写出以下四个程序运行的结果:

main()

{

inti=6;

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

}

main()

{

inti=6;

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

}

main()

{

inti=6,j;

j=(i++)+(i++)+(i++);

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

}

main()

{

inti=6,j;

j=(++i)+(++i)+(++i);

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

}

 

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

main()

{

typedefintcounter;

counterx;

floaty;

x=sizeofy;

y=sizeof(counter);

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

}

8.写出以下程序运行的结果:

main()

{floatf;

inti=4;

f=10/i;

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

main()

{floatf;

inti=4;

f=10.0/i;

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

9.写出以下程序运行的结果:

main()

{

inta,b,c;

longintu,n;

floatx,y,z;

charc1,c2;

a=3;b=4;c=5;

x=1.2;y=2.4;z=-3.6;

u=51274;n=128765;

c1='a';c2='b';

printf("\n");

printf("a=%2db=%2dc=%2d\n",a,b,c);

printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);

printf("x+y=%5.2fy+z=%5.2fz+x=%5.2f\n",x+y,y+z,z+x);

printf("u=%6ldn=%9ld\n",u,n);

printf("c1='%c'or%d(ASCII)\n",c1,c1);

printf("c2='%c'or%d(ASCII)\n",c2,c2);

}

10.写出以下程序运行的结果:

main()

{

inta=5,b=7;

floatx=67.8564,y=-789.124;

charc='A';

longn=1234567;

unsignedu=65535;

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

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

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

printf("%-10f,%-10f\n",x,y);

printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y);

printf("%e,%10.2e\n",x,y);

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

printf("%ld,%lo,%x\n",n,n,n);

printf("%u,%o,%x,%d\n",u,u,u,u);

printf("%s,%5.3s\n","COMPUTER","COMPUTER");

}

11.用下面的scanf函数输入数据,问在键盘上应如何输入才能使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’

main()

{

inta,b;

floatx,y;

charc1,c2;

scanf("a=%db=%d",&a,&b);

scanf("%f%e",&x,&y);

scanf("%c%c",&c1,&c2);

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

printf("x=%f,y=%f\n",x,y);

printf("c1=%c,c2=%c\n",c1,c2);

}

12.用下面的scanf函数输入数据,问在键盘上应如何输入才能使a=10,b=20,c1=’A’,c2=’a’,x=1.5,y=-3.75,z=67.8

main()

{

inta,b;

charc1,c2;

floatx,y,z;

scanf("%5d%5d%c%c%f%f%*f,%f",

&a,&b,&c1,&c2,&x,&y,&z);

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

printf("c1=%c,c2=%c\n",c1,c2);

printf("x=%6.2f,y=%6.2f,z=%6.2f\n",x,y,z);

}

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

当前位置:首页 > 高中教育 > 理化生

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

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