谭浩强c语言程序设计习题集 联系客服

发布时间 : 星期日 文章谭浩强c语言程序设计习题集更新完毕开始阅读9da8d20d17fc700abb68a98271fe910ef12daef3

知道'\\a'也是转义字符。

*2.14下面正确的字符常量是 。

A)\ B)'\\\\'' C)'W' D)\参考答案:C

*2.15下面四个选项中,均是不正确的八进制或十六进制数的选项是 。

A)016 B)0abc C)010 D)0a12 0x8f 017 -0x11 7ff 018 0xa 0x16 -123 参考答案:D

参考分析:不正确的有A3:非法八进制数;B1、D1、D2:缺少x;D3是十进制数。

2.16下面四个选项中,均是正确的八进制或十六进制数的选项是 。

A)-10 B)0abc C)0010 D)0a12 0x8f -017 -0x11 -0x123 -011 0xc 0xf1 -0xa 参考答案:C

参考分析:不正确的有A1:这是十进制数;B1、D1:缺少x 2.17下面四个选项中,均是正确的数值常量或字符常量的选项是 。

A)0.0 B)\ C)'3' D)+001 0f 3.9e-2.5 011 0xabcd 8.9e 1e1 0xFF00 2e2 '&' '\\\ 0a 50. 参考答案:D

参考分析:不正确的有A2、C4:不是ox打头;A3:e后不是整数; B1是字符串;B2:2.5不是整数。

2.18下面不正确的字符串常量是 。

A)'abc' B)\ C)\ D)\参考答案:A

参考分析:与PASCAL不同,B)字符串内的单引号不需双写。C语

言中,在不引起误解的情况下,双引号界定的字符串里的单引号可以不加转义标志\单引号界定的双引号字符也可以不加转义标志\。

2.19 对应以下各代数式中,若变量a和x均为double类型,则不正确的c语言表达式是 。

A) ex^2/2 exp(x*x/2)/sqr(2*3.14159) √2π

B)?(ax+a+x/4a) 1.0/2.0*(a*x+(a+x)/(4*a))

C)√sinx2.5 sqrt((pow(sin(x*3.14159/180),2.5)) D)x2-e5 x*x-exp(5.0) 参考答案:C

2.20若有代数式3ae/bc,则不正确的C语言表达式是 。

A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3 参考答案:C

参考分析:注意表达式的计算顺序

2.21已知各变量的类型说明如下,则不符合C语言语法规定的表达式是 。 int k,a,b;

unsigned long w=5; double x=1.42;

A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3) 参考答案:A

参考分析:不符合C语法规定的只有A,因为X为实型数。

2.22已知各变量说明如下,则符合C语言语法规定的表达式是 。 int i=8,k,a,b;

unsigned long w=5; double x=1.42,y=5.2;

A)a+=a-=(b=4)*(a=3) B)a=a*3=2 C)x%(-3) D)y=float(i) 参考答案:A

参考分析:B)表达式不能出现在赋值号右侧;C)x是实型数,不能

进行取余运算;D)应将float用括号扩起来(强制类型转换)。 *2.23以下不正确的叙述是 。

A)在C程序中,逗号运算符的优先级最低

B)在C程序中,APH和aph是两个不同的变量

C)若a和b类型相同,在计算表达式a=b后,b的值将放入a中,而b中的值不变

D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 参考答案:D

参考分析:整型变量可以输入实型数值,实型变量也可以输入整型数值

2.24以下正确的叙述是 。

A)在C程序中,每行只能写一条语句

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

C)在C程序中,无论是整数还是实数,都能被准确无误地表示 D)在C程序中,%是只能用于整数运算的运算符 参考答案:D

参考分析:注意它的描述,是只能用于整数运算,而不是整型数运算。

*2.25以下符合C语言语法的有赋值能力的表达式是 。

A)d=9+e+f=d+9 B)d=9+e,f=d+9 C)d=9+e,e++,d+9 D)d=9+e++=d+7 参考答案:B

参考分析:C不是赋值表达式,是逗号表达式,赋值仅是其中的一部分。严格说来,B也不是赋值表达式,它是由两个赋值表达式组成的逗号表达式。

**2.26已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2的值为 。

A)D B)68 C)不确定的值 D)C 参考答案:A

参考分析:表达式中的各字符以各自的ASCII码参与运算。

*2.27在C语言中,要求运算数必须是整型(数)的运算符是 。

A)/ B)++ C)!= D)% 参考答案:D

参考分析:理论上++运算都是针对整型(含字符型)的,尽管现在很多系统提供了对实型变量的增量运算。

*2.28若以下变量均是整型,且num=sum=7;则计算表达式sUM=num++, sUM++,++num后sum的值为 。

A)7 B)8 C)0 D)10 参考答案:A

参考分析:注意sum和sUM不是一个变量(区分大小写)。 *2.29在C语言中,int、char和short三种类型数据在内存中所占用的字节数 。

A)由用户自己定义 B)均为两个字节

C)是任意的 D)由所用机器的字长决定 参考答案:D

参考分析:参考答案很明确地表明了,C语言中各种类型在内存中所占用的字节数由所用机器字长决定。通常在PC机中字符、整型、实型所占用的内存空间大小为1、2、4个字节。 2.30若有说明语句:char c='\\72';则变量c 。

A)包含1个字符。 B)包含2个字符。

C)包含3个字符。 D)说明不合法,c的值不确定。 参考答案:A

参考分析:转义字符'\\72'为字符':'。

2.31若有定义:int a=7; float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 。

A)2.500000 B)2.750000 C)3.500000 D)0.000000 参考答案:A

参考分析:计算时要注意其结合性和优先级。 *2.32 sizeof(float)是 。

A)一个双精度型表达式 B)一个整型表达式

C)一种函数调用 D)一个不合法的表达式 参考答案:B