谭浩强C语言程序设计习题集(2)

2019-04-14 20:10

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

参考分析:算术表达式的类型由表达式计算结果的类型决定

*2.33设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为 。

A)int B)float C)double D)不确定 参考答案:C

参考分析:实型只要参与运算就自动转换为double型。 2.34下面四个选项中,均是非法常量的选项是 。

A)'as' B)'\\\\' C)-0x18 D)0xabc -0fff '\\01' 01177 '\\0' '\\0xa' 12,456 0xf \参考答案:A

参考分析:A3转义字符以十六进制描述时,前面不能加0。非法的还有B3 *2.35若有代数式√yx+log10y,则正确的C语言表达式是 。 A) sqrt(fabs(pow(y,x)+log10(y))) B) sqrt(abs(pow(y,x)+log10(Y))) C) sqrt(fabs(pow(x,y)+log10(y))) D) sqrt(abs(pow(x,y)+log10(y))) 参考答案:A

参考分析:c语言中整型和实型的绝对值函数各自独立,为abs和fabs;pow为一系统函数pow(y,x)=>yx。

2.36 若有代数式|x3+lgx|,则正确的C语言表达式是 。

A)fabs(x*3+log10(x)) B)abs(pow(x,3)+log10(x)) C)abs(pow(x,3.0)+log10(x)) D)fabs(pow(x,3.0)+log10(x)) 参考答案:D

参考分析:以上两题均未说明x,y的类型,从表达式的性质可分析隐含为实型,因此应使用fabs。

*2.37在C语言中,char型数据在内存中的存储形式是 。

A)补码 B)反码 C)原码 D)ASCII码 参考答案:D

参考分析:计算机系统不能存储字符本身,存储的是字符的ASCII码。

*2.38设变量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 参考答案:B

参考分析:m=n*100+0.5赋值过程中有实型转整型的自动转换。 2.39表达式18/4*sqrt(4.0)/8值的数据类型为 。

A)int B)float C)double D)不确定 参考答案:C

参考分析:表达式的类型由表达式结果的类型决定。

2.40设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为 。

A)0-255 B)0-32767 C)0-65535 D)0-2147483647 参考答案:C

参考分析:各种数据类型的取值范围是由其字长决定,字长确定的情况下,有符号数与无符号数的范围应当容易计算得知。

2.41设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为 。

A)float B)char C)int D)double 参考答案:D 参考分析:表达式的类型由表达式结果的类型决定。虽然本题各变量没有具体的变量值,由于参与运算的变量中z变量为double型,表达式计算的结果肯定为double型。 2.42若有以下定义,则能使值为3的表达式是 。 int k=7,x=12;

A)x%=k%=5 B)x%=k-k%5 C)x%=(k-k%5) D)(x%=k)-(k%=5) 参考答案:D

参考分析:A的值为0,B、C两个表达式相同,值为2,只有D的值为3。 2.43设以下变量均为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 参考答案:C

参考分析:经计算可知,只有C的值为12,不为7。 2.2 填空题

2.44 在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为【1】;一个int型数据在内存中所占的字节数为【2】。 参考答案:【1】1 【2】2 2.45 在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为【1】;一个double型数据在内存中所占的字节数为【2】。 参考答案:【1】4 【2】8

2.46 若有以下定义,int m=5,y=2;则计算表达式y+=y-=m*=y后y的值是【 】。 参考答案:-16 2.47 设C语言中,一个int型数据在内存中占2各字节,则int型数据的取值范围为【 】。 参考答案:-32768~32767

2.48 在C语言中的实型变量分为两种类型,它们是【1】和【2】。 参考答案:【1】float 【2】double

*2.49 C语言所提供的基本数据类型包括:单精度型、双精度型、【1】、【2】和【3】。 参考答案:字符型 整型 枚举

参考分析:基本类型又称简单类型,若分为四种则为字符、整型、实型和枚举,若分为五种,则将实型分为单精度型和双精度型两种。

*2.50 若s是int型变量,则表达式s%2+(s+1)%2的值为【 】。 参考答案:1

参考分析:无论s是奇数还是偶数表达式的值只能是1。

*2.51 若a是int型变量,则表达式(a=4*5,a*2),a+6的值为【 】。 参考答案:26

*2.52 若x和a均是整型变量,则计算表达式(1)后的x值为【1】,计算表达式(2)后x的值为【2】。 (1)x=(a=4,6*2) (2)x=a=4,6*2

参考答案:【1】12 【2】4

2.53 若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a的值为【1】,b的值为【2】,c的值为【3】。 参考答案:【1】6 【2】4 【3】2

2.54 若a是int 型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为【 】。 参考答案:-60

2.55 若a是int型变量,则计算表达式a=25/3%3后a的值为【 】。 参考答案:2

2.56 若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为【1】,n的值为【2】。 参考答案:【1】10 【2】6

2.57 若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为【 】。 参考答案:5.5

2.58 若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为【 】。

参考答案:3.5

2.59 若有定义:char c='\\010';则变量c中包含的字符个数为【 】。 参考答案:1

2.60 若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为【 】。 参考答案:1

2.61 若有定义:int x=12,n=5;则计算表达式x%=(n%=2)后x的值为【 】。 参考答案:0

2.62 若有定义:int a,b;表达式a=2,b=5,a++,b++,a+b的值为【 】。 参考答案:9

2.63 C语言中的标识符只能由三种字符组成,它们是【1】、【2】和【3】。 参考答案:【1】字符 【2】数字 【3】下划线 *2.64 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-'3'的值为【 】。 参考答案:f

参考分析:表达式计算中取各个字符的ASCII码值进行计算,但ch的值是以计算结果为码值的字符。

2.65 把以下多项式写成只含七次乘法运算,其余皆为加、减运算的表达式为【 】。 参考答案:((((((5*x+3)*x-4)*x+2)*x+1)*x-6)*x+1)*x+10

2.66 若double x=3.0,y=2.0;则表达式pow(y,fabs(x))的值为【 】。 参考答案:8.0

2.67 若有定义:int e=1,f=4,g=2;float m=10.5,n=4.0,k;则计算表达式k=(e+f)/g+ sqrt((double)n)*1.2/g+m后k的值是【 】。 参考答案:13.7

2.68 表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为( )。 参考答案:int型

*2.69 表达式pow(2.8,sqrt(double(x)))值的数据类型为【 】。 参考答案:double型

*2.70 假设m是一个三位数,从左到右用a、b、c表示各位的数字,则从左到右各个数字是bac的三位数表达式是【 】。


谭浩强C语言程序设计习题集(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第一章 线性规划

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: