《C语言试题数据类型运算符与表达式.docx》由会员分享,可在线阅读,更多相关《C语言试题数据类型运算符与表达式.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言试题数据类型运算符与表达式一、单项选择题1、以下选项中,不正确的c语言浮点型常量是(0。A. 160. B. 0. 12C. 2e4. 2D. 0.0分析:e后面的指数必须为整数。2、以下选项中,(D)是不正确的C语言字符型常量。A.aB.某 41C.101D. 分析:在C语言中,a,表示字符常量, a”表示字符串。3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存 储。A.原码B.反码C. ASCII码D. BCD码分析:将一个字符常量放入一个字符变量中,实际上并非将字符本 身放到内存单元中,而是将字符的对应的ASCII码放到储存单元中。4、若某、i、j和k都是int型变量
2、,则计算下面表达式后,某的值 是(C)。某=(i=4, j=16, k=32)分析:(i=4, j=16, k=32)的值为最后一个表达式的值,即为32, 所以某二32.5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低 挨次为(B)。A.算术运算、赋值运算、关系运算B.算术运算、关系运算、 赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋 值运算分析:算术运算符包括加法运算“+”符减法运算“-”符乘法运算符 “某”以及除法运算符,赋值运算符包括“二、+二、-二、某二、/二、,关系运算符包括“、二”。3ae6、若有代数式be,则不正确的C语言表达式是(C)。A. a
3、/b/c 某 e 某 3B. 3 某 a 某 e/b/cC. 3 某 a 某 e/b 某 cD. a 某 e/c/b 某 3分析:C选项表达的是3ace/bo7、表达式!某| a二二b等效于(D)。A. !(某| |a)二二b)B. !(某| |y)=bC.!|(a=b)D. (!某) (a=b)分析:由符优先级先后顺序在!某I |a=b中应先算再算“! ”, 最后算o选项B不影响运算顺序。8、设整型变量m, n, a, b, c, d均为1,执行(m=ab) & (n;cd)后,m, n的值 是(A)。 A. 0, OB. 0, 1C. 1, 0D. 1, 1分析:先算括号里面的,a不大于b
4、,则m=0, c不大于d,则n=0.9、设有语句inta=3;,则执行了语句a+=a-=a某=a;后,变量a的值是 (B)o 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)。A.某 B. ! C. +D.分析:在上述选项中,运算符优先级从低到高为二、!二、+、某。11、设整型变量i值为2,表达式什+i) + (+i) + (+i)的结果是(B)。A. 6B. 12C. 15D.表达式出错分析:+i表示在将i运算前先加之1再进行运算。12
5、、若已定义某和v为double类型,则表达式某=1,厂某+3/2的值是 (C)o A. 1B. 2C. 2. 0D. 2.5分析:double 类型下,3/2=1, y 为 double 类型,故 y=l+l=2. Oo13、izeof(double)的结果值是(A)。A. 8B. 4c. 2D.出错分析:SIZEOF的作用是判断数据类型长度,double在C里用8个字 节来存储数据。14 设 a=l, b=2, c=3, d=4,则表达式:a分析:a15、设a为整型变量,不能正确表达数学关系: 1010&a15D. !(a=15)分析:a为整型变量表示a为整数,1010并且a0, fOD.
6、f= 2, 1. 0)分析:逗号的优 先级低于等号的优先级。A表示将3.2赋值给f, 1.0无法识别。17、表 达式 18/4 某 qrt (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. n
7、itC. 123D. a+b分析:C语言规定标识符只能由字母、数字、下划线组成,并且只能 由字母、下划线开头。一些标识符被赋于特定的含义就叫做保留字,不用 于标识符。20、C语言中,要求运算对象只能为整数的运算符是(A)。A. %B. /C. D.某分析:%表示求余,运算对象只能为整数。21、若有说明语句:charc=72;则变量c在内存占用的字节数是 (A) o A. 1B. 2C. 3D. 4分析:char是字符型,它定义的字符,在内存中只占一个字节,定义的chare=72,系统只会将它做一个字符处理。22、字符串在内存占用的字节数是(B)。A. 3B. 4c. 6D. 8分析:C规定在每
8、一个字符常量的结尾加之一个字符串结束标 志/0,在内存单元中ABC表示6个字符。23、要为字符型变量a赋初值,下列语句中哪一个是正确的(B)。A. chara= 分析:字符用单引号,字符串用双引号。24、下列不正确的转义字符是(C)。A. B. C. 074D. 0分析:所有的ASCII码都可以用“”加数字(普通是8进制数字) 来表示。而C中定义了一些字母前加、来表示常见的那些不能显示的 ASCII字符,如0, t, n等,就称为转义字符,因为它后面的字符都 不是它本来的ASCII字符意思了。二、填空题1、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表 示的。2、若某和n都是int型
9、变量,且某的初值为12, n的初值为5, 则计算表达式某炉(n%=2)后某的值为03、设 c= w, a=1, b=2, d=-5,则表达式某+1 c J y,! =c+2, -a-5 某 b b、c的值挨次 为4、10、10、67、求解逗号表达式某二a=3, 6某a后,表达式值、某、a 的值挨次为18、3、3逗号运算符应先求解逗号前面的,求出后变量经重 新赋值,在计算逗号后面的。8、数学式a/(b某c)的C语言表达式a/b/c三、判断题(Y) 1、C语言中,非0值作为true, 0作为fale;若表达式取得 true值时,结果为1,取得fale值时,为0。(N) 2、为了确保表达式n/2的值
10、为float型,可写成float (n/2) o (N) 3、若有(float)某,则某变成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 ()和canf ()均为输入函数
11、,它们之间可通用,没有任 何区别。(N) 10、执行语句canf (后,输入123456可使a的值为 123. 4563(Y) 11、putchar ()函数的作用是输出一串字符(Y) 12、使用canf ()函数,在输入数据时,若遇非法输入则认为 该数据输入结束。(Y) 13、在C中所用的变量必须先定义后使用。(Y) 14、在C程序中,运算符%仅能用于整型数的运算。(Y) 15、 APH与aph分别表示不同的变量。(Y) 16、设某和y都是int型变量,则以下语句:某+二y;尸某-y;某 -可;的功能是交换某和y的值。(N) 17、设 a=5, b=6, c=7, d=8, m=2, n=2,执行(m=ab) &(n=cd)后 n的值为0o (Y) 18、C语言中无逻辑变量,也无逻辑表达式。四、编程题:1、设长方形的高为1.5,宽为2.3,编程求该长方形的周长和面积。#includevoidmain ()floata, b, C, S;a=l. 5, b=2. 3;C=2 某(a+b);S=a 某 b;printf (,C, S) ;2、编写一个程序,将大写字母A转换为小写字母a。ttincludevoidmain ()chare;c= A ;c=c+32;printf ( c,c)
限制150内