《C语言-数据类型习题及答案(4页).doc》由会员分享,可在线阅读,更多相关《C语言-数据类型习题及答案(4页).doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-C语言-数据类型习题及答案-第 4 页第二章 数据类型,运算符与表达式一选择题1不合法的字符常量是(B)。A) t B) “A” C) a D)x322、合法的字符常量是(D) 。A) 084 B) 84 C) ab D)x432 (B)是C语言提供的合法的数据类型关键字。A) Float B) signed C) integer D)Char3在以下各组标识符中,合法的标识符是(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)I
2、nt C)_xy D)w_y234属于合法的C语言长整型常量的是(B) 。A)5876273 B)0L C)2E10 D)(long)58762735下面选项中,不是合法整型常量的是(B) 。A)160 B)0xcdg C)01 D)0x48a6判断int x = 0xaffbc;x的结果是(B)(turbo c 版本) 。A)赋值非法 B)溢出 C)为affb D)为ffbc7下面选项中,均是合法浮点数的是(B) 。A)1e1 B).60 C)123e D)e3A)5e9.4 B)12e4 C)1.2e.4 D).8e4A)03e2 B)8e5 C)2e1 D)5.e08在C语言中,要求参加
3、运算的数必须是整数的运算符是(C) 。A)/ B)* C)% D) =9在C语言中,字符型数据在内存中以 (D)形式存放。A)原码 B)BCD码 C)反码 D)ASCII码10下列语句中,符合语法的赋值语句是(C) 。A)a7bca+7; B)a7ba7;C)a=(7b,b,a7); D)a7b,ca7;11 (B) 是非法的C语言转义字符。A)b B) 0xf C)037 D)12对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中(B), 是正确的。A)语法错误 B)f为5.0 C)f为0.0 D)f为2.013与代数式(x*y)/(u*v) 不等价的C语言表达式
4、是(A) 。A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y14在C语言中,数字029是一个(D) 。A)八进制数 B)十六进制数 C)十进制数 D)非法数15C语言中(Turbo C环境)整数8在内存中的存储形式为(A) 。A)1111111111111000 B)100000000001000C)000000000001000 D)111111111111011116对于char cx= 039;语句,正确的是(A) 。A)不合法 B)cx的ASCII值是33C)cx的值为四个字符 D)cx的值为三个字符17若int k=7,x=12;则能使值为3的表
5、达式是(D)。A)=(x%=(k%=5) B)x%=(kk%5)C)x%=kk%5 D)(x%=k)(k%=5)18为了计算s=10!(即10的阶乘(24320)),则s变量应定义为(D) 。A)int B)unsigned C)long D)以上三种类型均可19以下所列的C语言常量中,错误的是 (B) 。A)0xFF B)1.2e0.5 C)2L D)7220假定x和y为double型,则表达式x=2,y=x+3/2的值是(D) 。A)3.500000 B)3 C)2.000000 D)3.00000021以下合法的赋值语句是(A) 。A)x=y=100 B)d C)x+y D)c=int(
6、a+b)22以下选项中不属于C语言的类型是(D) 。A)signed short int B)unsigned long intB)unsigned int D)long short23设以下变量均为int类型,则值不等于7的表达式是(C) 。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)24在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是(D)。A)a=20000+20000; B)a=4000*10;C)3000010000; D)a=4000L*10L;二填空
7、题1.在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为 1 ,其数值范围为 -128127 ;一个int数据在内存中所占字节数为 2 ,其数值范围为-3276832767 ;一个long数据在内存中所占字节数为 4 ,其数值范围为 -21474836482147483647;一个float数据在内存中所占字节数为 4 ,其数值范围为3.4e-383.4e38。2.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为 字母或下画线。3.字符常量使用一对 引号 界定单个字符,而字符串常量使用一对 双引号 来界定若干个字符的序列。4.设x,i,j,k都
8、是int型变量,表达式x=(i=4,j=16,k=32)计算后,x的值为 32。5.设x=2.5,a=7,y=4.7, 则x+a%3*(int)(x+y)%2/4为 2.5 。6.设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y为 3.5 。7.已知:char a=a,b=b,c=c,i;则表达式i=a+b+c的值为 38 。8.已知int a=12,n=5;则:表达式运算后a的值各为 0 。a+=a a-=2 a*=2+3 a/=a+a n%=(n%=2) a+=a-=a*=a 9.设int a; float f; double i ;则表
9、达式10+a+i*f值的数据类型是 double 。10.若a为int型变量,则表达式 (a=4*5,a*2) , a+6的值为 26 。11.假设所有变量均为整型,则表达式(a=2,b=5,a+,b+,a+b)的值为 9 。12.已知a,b,c是一个十进制数的百位,十位,个位,则该数的表达式是 a*100+b*10+c 。13.定义:double x=3.5,y=3.2;则表达式(int)x*0.5的值是 1.5 ,表达式y+=x+的值是 6.7 。14.定义:int m=5, n=3;则表达式m/=n+4的值是 0 ,表达式m=(m=1,n=2,n-m)的值是 1 ,表达式m+=m-=(m
10、=1)*(n=2)的值是 -2 。15.表达式5%(-3)的值是 2 ,表达式-5%(-3)的值是 -2 。16.若a是int变量,则执行表达式a=25/3%3后,a的值是 2 。三判断题1.在C程序中对用到的所有数据都必须指定其数据类型。【】2.一个变量在内存中占据一定的存储单元。【】3.一个实型变量的值肯定是精确的。【】4.对几个变量在定义时赋初值可以写成:int a=b=c=3;【】5.自增运算符(+)或自减运算符(-)只能用于变量,不能用于常量或表达式。【】6.在C程序的表达式中,为了明确表达式的运算次序,常使用括号“()”。【】7.%运算符要求运算数必须是整数。【】8.若a是实型变量
11、,C程序中允许赋值a=10,因此实型变量中允许存放整型数。【】9.C语言不允许混合类型数据间进行运算。【 】四简答题1.为什么C语言的字符型可以进行数值运算?2.简述a和“a”的区别。3.程序:int m=12; m=15;为什么整型变量m的值在运算后不是当初的12,而是15?五程序阅读题1.写出以下程序运行的结果。main ( )char c1=a,c2=b,c3=c,c4=101,c5=116;printf(“a%c b%ctc%ctabcn”,c1,c2,c3);printf(“tb%c %c”,c4,c5);2.写出以下程序运行的结果。main ( )int i,j,m,n;i=8;j=10;m=+i;n=j+;printf(“%d,%d,%d,%d”,i,j,m,n);输出结果:9,11,9,10六编程题1.假设m是一个三位数,则写出将m的个位,十位,百位反序而成的三位数(例如:123反序为321)的C语言表达式。2.已知int x=10,y=12;写出将x和y的值互相交换的表达式。