C语言习题集Word格式文档下载.docx

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

C语言习题集Word格式文档下载.docx

《C语言习题集Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言习题集Word格式文档下载.docx(39页珍藏版)》请在冰豆网上搜索。

C语言习题集Word格式文档下载.docx

4、在以下各组标识符中,合法的标识符是。

(1)A)B01 

B)table_1 

C)0_t 

D)k%

(2)A)Fast_ 

B)void 

C)pbl 

D)<

book>

(3)A)xy_ 

B)longdouble 

C)*p 

D)CHAR

(4) 

A)sj 

B)Int 

C)_xy 

D)w_y23

5、属于合法的C语言长整型常量的是。

A)5876273 

B)0L 

C)2E10 

D)(long)5876273

6、下面选项中,不是合法整型常量的是。

A)160 

B)-0xcdg 

C)-01 

D)-0x48a

7、判断int 

x=0xaffbc;

x的结果是。

A)赋值非法 

B)溢出 

C)为affb 

D)为ffbc

8、下面选项中,均是合法浮点数的是。

A)+1e+1 

B)-.60 

C)123e 

D)-e3

A)5e-9.4 

B)12e-4 

C)1.2e-.4 

D).8e-4

A)03e2 

B)-8e5 

C)+2e-1 

D)5.e-0

9、在C语言中,要求参加运算的数必须时整数的运算符是。

A)/ 

B)* 

C)% 

D)=

10、在C语言中,字符型数据在内存中以 

形式存放。

A)原码 

B)BCD码 

C)反码 

D)ASCII码

11、下列语句中,符合语法的赋值语句是。

A)a=7+b+c=a+7;

B)a=7+b++=a+7;

C)a=(7+b,b++,a+7);

D)a=7+b,c=a+7;

12、是非法的C语言转义字符。

A)‘\b’ 

B) 

‘\0xf’ 

C)‘\037’ 

D)‘\’’

13、对于语句:

f=(3.0,4.0,5.0),(2.0,1.0,0.0);

的判断中,是正确的。

A)语法错误 

B)f为5.0 

C)f为0.0 

D)f为2.0

14、与代数式(x*y)/(u*v)不等价的C语言表达式是。

A)x*y/u*v 

B)x*y/u/v 

C)x*y/(u*v) 

D)x/(u*v)*y

15、在C语言中,数字029是一个。

A)八进制数B)十六进制数C)十进制数D)非法数

16、C语言中整数-8在内存中的存储形式为。

A)1111111111111000 

B)100000000001000

C)000000000001000 

D)111111*********1

17、对于charcx=’\039’;

语句,正确的是。

A)不合法 

B)cx的ASCII值是33

C)cx的值为四个字符 

D)cx的值为三个字符

18、若intk=7,x=12;

则能使值为3的表达式是。

A)x%=(k%=5) 

B)x%=(k-k%5)

C)x%=k-k%5 

D)(x%=k)-(k%=5)

19、为了计算s=10!

(即10的阶乘),则s变量应定义为。

A)int 

B)unsigned 

C)long 

D)以上三种类型均可

20、以下所列的C语言常量中,错误的是。

A)0xFF 

B)1.2e0.5 

C)2L 

D)’\72’

21、假定x和y为double型,则表达式x=2,y=x+3/2的值是。

A)3.500000 

B)3 

C)2.000000 

D)3.000000

22、设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是。

A)n=(n*100+0.5)/100.0 

B)m=n*100+0.5,n=m/100.0

C)n=n*100+0.5/100.0 

D)n=(n/100+0.5)*100.0

23、以下合法的赋值语句是。

A)x=y=100 

B)d―― 

C)x+y 

D)c=int(a+b)

24、下选项中不属于C语言的类型是。

A)signedshortint 

B)unsignedlongint

B)unsignedint 

D)longshort

25、设以下变量均为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)

26、在16位C编译系统上,若定义longa;

,则能给a赋40000的正确语句是。

A)a=20000+20000;

B)a=4000*10;

C)30000+10000;

D)a=4000L*10L;

二.填空题

1.在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为 

,其数值范围为 

一个int数据在内存中所占字节数为 

一个long数据在内存中所占字节数为 

一个float数据在内存中所占字节数为 

,其数值范围为 

2.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为 

3.字符常量使用一对 

界定单个字符,而字符串常量使用一对 

来界定若干个字符的序列。

4.在C语言中,不同运算符之间运算次序存在 

的区别,同一运算符之间运算次序存在 

的规则。

5.设x,i,j,k都是int型变量,表达式x=(i=4,j=16,k=32)计算后,x的值为 

6.设x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4为 

7.设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y为 

8.数学式子 

的C语言表达式为 

9.数学式子 

10.已知:

chara=’a’,b=’b’,c=’c’,i;

则表达式i=a+b+c的值为 

11.已知inta=12,n=5;

则:

表达式运算后a的值各为 

a+=a

a-=2

a*=2+3

a/=a+a

n%=(n%=2)

a+=a-=a*=a

12.设inta;

floatf;

double 

;

则表达式10+’a’+i*f值的数据类型是 

13.若a为int型变量,则表达式(a=4*5,a*2),a+6的值为 

14.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为 

15.已知a,b,c是一个十进制数的百位,十位,个位,则该数的表达式是 

16.定义:

doublex=3.5,y=3.2;

则表达式(int)x*0.5的值是 

,表达式y+=x++的值是 

17.定义:

intm=5,n=3;

则表达式m/=n+4的值是 

,表达式m=(m=1,n=2,n-m)的值是 

,表达式m+=m-=(m=1)*(n=2)的值是 

18.表达式5%(-3)的值是 

,表达式-5%(-3)的值是 

19.若a是int变量,则执行表达式a=25/3%3后,a的值是 

20.数学式子 

的C语言表达式为:

三.判断题

1.在C程序中对用到的所有数据都必须指定其数据类型。

2.一个变量在内存中占据一定的存储单元。

3.一个实型变量的值肯定是精确的。

4.对几个变量在定义时赋初值可以写成:

inta=b=c=3;

5.自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。

6.在C程序的表达式中,为了明确表达式的运算次序,常使用括号“()”。

7.%运算符要求运算数必须是整数。

8.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。

9.在C程序中,逗号运算符的优先级最低。

10.C语言不允许混合类型数据间进行运算。

四.简答题

1.为什么C语言的字符型可以进行数值运算?

2.简述‘a’和“a”的区别。

3.程序:

intm=12;

m=15;

为什么整型变量m的值在运算后不是当初的12,而是15?

4.将下面各数用八进制和十六进制数表示:

十进制 

32 

-1 

-32768 

2002 

-128 

八进制

十六进制

6.华氏温度F与摄氏温度c的转换公式为:

c=(F-32)*5/9,则floatc,F;

c=5/9*(F-32)是其对应的C语言表达式吗?

如果不是,为什么?

五.程序阅读题

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.写出以下程序运行的结果。

inti,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf(“%d,%d,%d,%d”,i,j,m,n);

六.编程题

1.假设m是一个三位数,则写出将m的个位,十位,百位反序而成的三位数(例如:

123反序为321)的C语言表达式。

2.已知intx=10,y=12;

写出将x和y的值互相交换的表达式。

习题三

1.C语言的程序一行写不下时,可以。

A)用逗号换行 

B)用分号换行

C)在任意一空格处换行 

D)用回车符换行

2.putchar()函数可以向终端输出一个。

A)整型变量表达式值 

B)实型变量值

C)字符串 

D)字符或字符型变量值

3.执行下列程序片段时输出结果是。

unsignedinta=65535;

printf(“%d”,a);

A)65535 

B)-1 

C)-32767 

D)1

4.执行下列程序片段时输出结果是。

floatx=-1023.012

printf(“\n%8.3f,”,x);

printf(“%10.3f”,x);

A)1023.012,-1023.012 

B)-1023.012,-1023.012

C)1023.012,-1023.012 

D)-1023.012,-1023.012

5.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是。

inta1,a2;

charc1,c2;

scanf(“%d%c%c”,&

a1,&

a2,&

c1,&

c2);

A)10A20B↙ 

B)10A20B↙

C)10A20B↙ 

C)10A20B↙

6.对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按方式输入数据。

intk1,k2,k3,k4;

scanf(“%d%d”,&

k1,&

k2);

scanf(“%d,%d”,&

k3,&

k4);

A)1020↙ 

B)1020↙ 

C)10,20↙ 

D)1020↙ 

1020↙ 

1020↙ 

10,20↙ 

10,20↙

7.执行下列程序片段时输出结果是。

intx=13,y=5;

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

A)3 

B)2 

C)1 

D)0

8.下列程序的输出结果是。

{intx=023;

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

A)17 

B)18 

C)23 

D)24

9.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的输入方式是。

a2);

scanf(“%c%c”,&

A)1020AB↙ 

B)1020↙

AB↙

C)1020AB↙ 

D)1020AB↙

10.执行下列程序片段时输出结果是。

intx=5,y;

y=2+(x+=x++,x+8,++x);

printf(“%d”,y);

A)13 

B)14 

C)15 

D)16

11.若定义x为double型变量,则能正确输入x值的语句是。

A)scanf(“%f”,x);

B)scanf(“%f”,&

x);

C)scanf(“%lf”,&

D)scanf(“%5.1f”,&

12.若运行时输入:

12345678↙,则下列程序运行结果为。

{inta,b;

scanf(“%2d%2d%3d”,&

a,&

b);

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

A)46 

B)579 

C)5690 

D)出错

13.已知i,j,k为int型变量,若从键盘输入:

1,2,3<

回车>

,使I的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是。

A)scanf(“%2d%2d%2d”,&

i,&

j,&

k);

B)scanf(“%d_%d_%d”,&

C)scanf(“%d,%d,%d”,&

D)scanf(“i=%d,j=%d,k=%d”,&

14.若intx,y;

doublez;

以下不合法的scanf函数调用语句是。

A)scanf(“%d%lx,%le”,&

x,&

y,&

z);

B)scanf(“%2d*%d%lf”,&

C)scanf(“%x%*d%o”,&

y);

D)scanf(“%x%o%6.2f”,&

15.有输入语句:

scanf(“a=%d,b=%d,c=%d”,&

b,&

c);

为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是 

A)132↙ 

B)1,3,2↙

C)a=1b=3c=2↙ 

D)a=1,b=3,c=2↙

1.一个C程序由若干个 

文件组成,而一个这样的文件可以由若干个 

和 

以及 

组成。

2.C语句可以分为 

, 

, 

和 

等5种类型。

3.C控制语句有 

种。

4.一个表达式要构成一个C语句,必须 

5.复合语句是用一对 

界定的语句块。

6.printf函数和scanf函数的格式说明都使用 

字符开始。

7.scanf处理输入数据时,遇到下列情况时该数据认为结束:

(1) 

(2) 

,(3) 

8.已有inti,j;

floatx;

为将-10赋给i,12赋给j,410.34赋给x;

则对应以下scanf函数调用语句的数据输入形式是 

9.C语言本身不提供输入输出语句,其输入输出操作是由 

来实现的。

10.一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:

三.程序阅读题

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

floatx,y;

charc1,c2;

scanf(“a=%db=%d”,&

scanf(“%f%e”,&

scanf(“%c%c”,&

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

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

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

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

{inta=12345;

floatb=-198.345,c=6.5;

printf(“a=%4d,b=%-10.2e,c=%6.2f\n”,a,b,c);

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

{intx=-2345;

floaty=-12.3;

printf(“%6D,%06.2F”,x,y);

5.写出以下程序的输出结果。

{inta=252;

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

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

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

{intx=12;

doublea=3.1415926;

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

printf(“%14.101f##\n”,a);

四.程序填空题

1.下列程序的输出结果是16.00,请填

(1)空使程序完整。

{inta=9,b=2;

floatx=[ 

 

y=1.1,z;

z=a/2+b*x/y+1/2;

printf(“%5.2f\n”,z);

五.编程题

1.已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序来。

2.若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。

想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。

a=3b=4c=5

x=1.200000,y=2.400000,z=-3.600000

x+y=3.60 

y+z=-1.20 

z+x=-2.40

u=51274 

n=128765

c1=’a’or97(ASCII)

c2=’b’or98(ASCII)

3.设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。

用scanf输入数据,输出计算结果;

输出时要求有文字说明,取小数点后2位数字,请编写程序。

4.编程序:

用getchar函数读入两个字符给c1,c2,然后分别用putchar和printf函数输出这两个字符。

并思考以下问题:

(1)变量c1,c2应定义为字符型或整型?

或两者皆可?

(2)要求输出C1和C2值的ASCII码,应如何处理?

用putchar函数还是printf函数?

(3)整型变量与字符型变量是否在任何情况下都可以互相替代?

如:

charc1,c2与intc1,c2

是否无条件地等价?

习题四

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

A)只能是0或1 

B)只能是0或非0正数

C)只能是整型或字符型数据 

D)可以是任何类型的数据

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

A)x%2==0 

B)!

x%2!

=0 

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

D)!

(x%2)

3.以下程序片段。

intx=2,y=3;

printf( 

);

A)什

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

当前位置:首页 > 考试认证 > 其它考试

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

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