C语言试题:数据类型、运算符与表达式

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

13数据类型、运算符与表达式一、单项选择题1、以下选项中,不正确的C语言浮点型常量是(C)。A.160.B.0.12C.2e4.2D.0.0分析:e后面的指数必须为整数。2、以下选项中,(D)是不正确的C语言字符型常量。A.'a'B.'\x41'C.'\101'D.a分析:在C语言中,’a’表示字符常量,”a”表示字符串。3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。A.原码B.反码C.ASCII码D.BCD码分析:将一个字符常量放入一个字符变量中,实际上并不是将字符本身放到内存单元中,而是将字符的对应的ASCII码放到储存单元中。4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。x=(i=4,j=16,k=32)A.4B.16C.32D.52分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为32,所以x=32.5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算分析:算术运算符包括加法运算“+”符减法运算“-”符乘法运算符“*”以及除法运算符“/”,赋值运算符包括“=、+=、-=、*=、/=、……”,关系运算符包括“、=、、=”。6、若有代数式bcae3,则不正确的C语言表达式是(C)。A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*3分析:C选项表达的是3ace/b。7、表达式!x||a==b等效于(D)。A.!((x||a)==b)B.!(x||y)==bC.!(x||(a==b))D.(!x)||(a==b)分析:由符优先级先后顺序在!x||a==b中应先算“||”再算“!”,最后算“==”。选项B不影响运算顺序。8、设整型变量m,n,a,b,c,d均为1,执行(m=ab)&&(n=cd)后,m,n的值是(A)。A.0,0B.0,1C.1,0D.1,1分析:先算括号里面的,a不大于b,则m=0,c不大于d,则n=0.9、设有语句inta=3;,则执行了语句a+=a-=a*=a;后,变量a的值是(B)。A.3B.0C.9D.-12分析:从后往前算,a*=a即a=a*a,a=9;然后a-=a=9,a=a-9,=0;a+=0,a=a+a=0.10、在以下一组运算符中,优先级最低的运算符是(D)。2A.*B.!=C.+D.=分析:在上述选项中,运算符优先级从低到高为=、!=、+、*。11、设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是(B)。A.6B.12C.15D.表达式出错分析:++i表示在将i运算前先加上1再进行运算。12、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)。A.1B.2C.2.0D.2.5分析:double类型下,3/2=1,y为double类型,故y=1+1=2.0。13、sizeof(double)的结果值是(A)。A.8B.4C.2D.出错分析:SIZEOF的作用是判断数据类型长度,double在C里用8个字节来存储数据。14、设a=1,b=2,c=3,d=4,则表达式:ab?a:cd?a:d的结果为(A)。A.4B.3C.2D.1分析:ab?a:cd?a:d的意思是ab吗,如果是的话就执行a,不是的话就执行cd,cd执行吗,如果执行的话就执行a,不是的话就执行d。15、设a为整型变量,不能正确表达数学关系:10a15的C语言表达式是(A)。A.10a15B.a==11||a==12||a==13||a==14C.a10&&a15D.!(a=10)&&!(a=15)分析:a为整型变量表示a为整数,10a15表示a可取值11、12、13、14。B表示a==11或a==12或a==13或a==14,符合题意。C表示a10并且a15。D表示a不小于等于10并且a不大于等于15.均符合题意。16、设f是实型变量,下列表达式中不是逗号表达式的是(A)。A.f=3.2,1.0B.f0,f10C.f=2.0,f0D.f=(3.2,1.0)分析:逗号的优先级低于等号的优先级。A表示将3.2赋值给f,1.0无法识别。17、表达式18/4*sqrt(4.0)/8值的数据类型是(B)。A.intB.floatC.doubleD.不确定分析:int表示整形,float表示单精度型,double表示双精度型。18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2=’A’+’6’-‘3’;后c2中的值是(A)。A.DB.68C.不确定的值D.C分析:字符型常量A为65,加上6减去3为68,对应D的ASCII码。19、以下用户标识符中,合法的是(B)。A.intB.nitC.123D.a+b分析:C语言规定标识符只能由字母、数字、下划线组成,并且只能由字母、下划线开头。一些标识符被赋于特定的含义就叫做保留字,不用于标识符。20、C语言中,要求运算对象只能为整数的运算符是(A)。A.%B./C.D.*分析:%表示求余,运算对象只能为整数。21、若有说明语句:charc='\72';则变量c在内存占用的字节数是(A)。A.1B.2C.3D.4分析:char是字符型,它定义的字符,在内存中只占一个字节,定义的charc='\72',系统只会将它做一个字符处理。322、字符串ABC在内存占用的字节数是(B)。A.3B.4C.6D.8分析:C规定在每一个字符常量的结尾加上一个字符串结束标志’/0’,在内存单元中ABC表示6个字符。23、要为字符型变量a赋初值,下列语句中哪一个是正确的(B)。A.chara=3;B.chara=’3’;C.chara=%;D.chara=*;分析:字符用单引号,字符串用双引号。24、下列不正确的转义字符是(C)。A.\\B.\'C.074D.\0分析:所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加\来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为它后面的字符都不是它本来的ASCII字符意思了。二、填空题1、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表示的。2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为0。3、设c='w',a=1,b=2,d=-5,则表达式'x'+1c,'y'!=c+2,-a-5*b=d+1,b==a=2的值分别为1、0、1、1。4、设floatx=2.5,y=4.7;inta=7;,表达式x+a%3*(int)(x+y)%2/4的值为2.75。5、判断变量a、b的值均不为0的逻辑表达式为a!==0&&b!==0。6、求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c的值依次为4、10、10、6。7、求解逗号表达式x=a=3,6*a后,表达式值、x、a的值依次为18、3、3。逗号运算符应先求解逗号前面的,求出后变量经重新赋值,在计算逗号后面的。8、数学式a/(b*c)的C语言表达式a/b/c。三、判断题(Y)1、C语言中,非0值作为true,0作为false;若表达式取得true值时,结果为1,取得false值时,为0。(N)2、为了确保表达式n/2的值为float型,可写成float(n/2)。(N)3、若有(float)x,则x变成float型变量。(N)4、若a=3,b=4,c=5,则d=!(a%b)的值是0。(Y)5、a是实型变量,进行赋值a=10,因此实型变量中允许存放整型值(N)6、在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式(N)7、执行表达式a=b后,在内存中a和b存储单元中的原值都将被改变,a的值已由原来的改变为b的值,b的值由原来改变为0(N)8、有a=3,b=5。执行a=b,b=a后,使a的值为5,b的值为3。(N)9、getchar()和scanf()均为输入函数,它们之间可通用,没有任何区别。(N)10、执行语句scanf(%6.3f,&a)后,输入123456可使a的值为123.456。4(Y)11、putchar()函数的作用是输出一串字符。(Y)12、使用scanf()函数,在输入数据时,若遇非法输入则认为该数据输入结束。(Y)13、在C中所用的变量必须先定义后使用。(Y)14、在C程序中,运算符%仅能用于整型数的运算。(Y)15、APH与aph分别表示不同的变量。(Y)16、设x和y都是int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是交换x和y的值。(N)17、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=ab)&&(n=cd)后n的值为0。(Y)18、C语言中无逻辑变量,也无逻辑表达式。四、编程题:1、设长方形的高为1.5,宽为2.3,编程求该长方形的周长和面积。#includestdio.hvoidmain(){floata,b,C,S;a=1.5,b=2.3;C=2*(a+b);S=a*b;printf(“%f,%f\n”,C,S);}2、编写一个程序,将大写字母A转换为小写字母a。#includestdio.hvoidmain(){charc;c=’A’;c=c+32;printf(“%c”,c)}

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功