C语言习题集

C语言习题集

习题一

一.填空题

1.C程序是由( )构成的,一个C程序中至少包含( ) 。因此,( ) 是C程序的基本单位。

2.C程序注释是由( ) 和( ) 所界定的文字信息组成的。

3.函数体一般包括( ) 和( ) 。

二.判断题

1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。 【 】

2.main函数必须写在一个C程序的最前面。 【 】 3.一个C程序可以包含若干的函数。【 】

4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。【 】 5.C程序的注释只能是一行。【 】 6.C程序的注释不能是中文文字信息。【 】 8.可以使用Turbo C来编译和连接一个C程序。【 】 9.可以使用Turbo C来运行一个C程序。【 】

10.可以使用Turbo C来实时调试(即动态调试)一个C程序。【 】

三.简答题

1. 写出一个C程序的基本结构。

2. 简要叙述使用Turbo C 2.0编译和运行一个程序的步骤。

四.编程题

1. 提高题:参照课本例1.1,试编写一个C程序,输出如下信息。(提示:

使用键盘上的一些符号)。

2. 提高题:试编写一个C程序,输出如下信息。 试试看,可以输出其他组合图案吗?

习题二

一.选择题

1、合法的字符常量是 。

A) ?\\t? B) “A” C) ?a? D)?\\x32?

2、 合法的字符常量是 。

A) ?\\084? B) ?\\84? C) ?ab? D)?\\x43?

3、是C语言提供的合法的数据类型关键字。

A) Float B) signed C) integer D)Char

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

(1)A)B01 B)table_1 C) 0_t D) k% (2)A)Fast_ B) void C)pbl D) (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)1111111111110111

17、对于char cx=? \\039?;语句,正确的是。

A)不合法 B)cx的ASCII值是33 C)cx的值为四个字符 D)cx的值为三个字符

18、若int k=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)signed short int B)unsigned long int B)unsigned int D)long short

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编译系统上,若定义long a;,则能给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.数学式子 的C语言表达式为 。

10.已知:char a=?a?,b=?b?,c=?c?,i;则表达式i=a+b+c的值为 。

11.已知int a=12,n=5;则:表达式运算后a的值各为 。 a+=a a-=2 a*=2+3 a/=a+a

n%=(n%=2) a+=a-=a*=a

12.设int a; float f; double i ;则表达式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.定义:double x=3.5,y=3.2;则表达式(int)x*0.5的值是 ,表达式y+=x++的值是 。

17.定义:int m=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的值是 。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4