C语言数据类型和运算符及表达式复习题
第2章_数据类型运算符及表达式--参考答案
![第2章_数据类型运算符及表达式--参考答案](https://img.taocdn.com/s3/m/174c3910cc175527072208cd.png)
C) double型D)不确定
C
13. C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符:
A)必须为字母B)必须为下划线
C)必须为字母或下划线D)可以是字母,数字或下划线中的任意一种
C
14.若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:
1、一个C语言的执行是从:()
A)本程序的主函数开始,到本程序的主函数结束
B)本程序的第一个函数开始,到本程序的最后一个函数结束
C)本程序的主函数开始,到本程序的最后一个函数结束
D)本程序的第一个函数开始,到本程序的主函数结束
A
2.以下叙述正确的是:
A)在C程序中,主函数必须位于程序的最前面
B)在C程序中,一行只能写一条语句
C) 3*a*e/b*c D) a*e/c/b*3
C
28.已知x=43,ch='A',y=0,则表达式(x>=y&&ch<'B'&&!y)的值是:
A) 0 B)语法错
C) 1 D) "假"
C
29.若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是:
A) 5.5 B) 5
C) 3 D) 4.0
A
37.下面程序的输出的是
main()
{int x=10,y=3;
printf("%d\n",y=x/y);
}
A) 0 B)1 C) 3 D)不确定的值
C
38.若有说明和语句
int a=5;
a++;
数据类型、运算符与表达式
![数据类型、运算符与表达式](https://img.taocdn.com/s3/m/1c40572fdd36a32d7275810b.png)
一、选择题1. 本题序号:39在C语言中运算对象必须是整型的运算符是()A %B !C /D *参考答案A2. 本题序号:65下列关于C语言的叙述错误的是()A 大写字母和小写字母的意义相同B 不同类型的变量可以在一个表达式中C 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D 同一个运算符号在不同的场合可以有不同的含义参考答案A3. 本题序号:66在C语言中,错误的int类型的常数是()。
A 32768B 0C 037D 0xAF参考答案A4. 本题序号:330如果有整型变量x,浮点型变量y,双精度型变量z,则表达式y*z+x+y执行后的类型为()A 双精度B 浮点型C 整型D 逻辑型参考答案A5. 本题序号:374设C语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围是()A 0—255B 0—32767C 0—65535D 0--2147483647参考答案C6. 本题序号:380以下正确的叙述是()A 在C程序中,每行只能写一条语句;B 若a是实型数据,C程序中允许赋值a=10,因此实型变量中允许存放整型数;C 在C程序中,无论是整数还是实数,都能被正确无误的表示;D 在C程序中,%是只能用于整数的运算符;参考答案B7. 本题序号:406若有int q,p;以下不正确的语句是()A p*=3;B p/=q;C p+=3;D p&&=q;参考答案D8. 本题序号:429设有float x;则x是____变量。
A 整型B 实型C 字符型D 长型参考答案B9. 本题序号:460C语言中运算对象必须是整型的运算符是()A %=B /C =D <=参考答案A10. 本题序号:503不合法的十六进制数是()A oxffB 0xabcC 0x11D 0xbeef参考答案A11. 本题序号:507以下叙述中正确的是()A a是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型数值;B 在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式;C 执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已经由原值改变为b的值,b的值由原值变为0;D 已有a=3,b=5;当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3;参考答案A12. 本题序号:576turbo c中int类型变量所占字节数是()A 1B 2C 3D 4参考答案B13. 本题序号:580正确的合法的定义变量的语句是A int ab_=086;B int _ab=0xE8C char a-b=…1‟;D float a3.b;参考答案B14. 本题序号:607以下选项中不属于C语言的类型的是A signed short intB unsigned long intC unsigned intD long short参考答案D15. 本题序号:690正确的字符串常量是A “ABCD”B {ABCD}C …ABCD‟D ABCD参考答案A16. 本题序号:694以下选项中属于C语言的数据类型是A 复数型B 逻辑型C 双精度型D 集合型参考答案17. 本题序号:695以下运算符中优先级最低的运算符是A &&B &C ||D =参考答案D18. 本题序号:769以下叙述中错误的是A 用户所定义的标识符允许使用关键字B 用户所定义的标识符应尽量做到“见名知意”C 用户所定义的标识符必须以字母或下划线开头D 用户定义的标识符中,大、小写字母代表不同标识参考答案A19. 本题序号:928以下不能定义为用户标识符的是A scanfB V oidC _3com_D int参考答案D20. 本题序号:945已定义c为字符型变量,则下列语句中正确的是()。
数据类型、运算符与表达式练习题课堂答案
![数据类型、运算符与表达式练习题课堂答案](https://img.taocdn.com/s3/m/d6b865ff185f312b3169a45177232f60ddcce79f.png)
数据类型、运算符与表达式练习题课堂答案运算符与表达式练习题一、单项选择题1.下列数据中属于“字符串常量”的是(A)。
A.”a” B. {ABC} C. ?abc\0? D. ?a?2.下列数据中属于“字符串常量”的是(B )。
A.ABC B. “ABC” C. ?abc? D. ?a?3. 在PC机中,?\n?在内存占用的字节数是(A)。
A. 1B. 2C. 3D. 44. 在PC机中,”a\xff” 在内存占用的字节数是(C )。
A. 5B. 6C. 3D. 45.字符串”\”ABCD\””在内存占用的字节数是(C )。
A. 4B. 6C. 7D. 86. 在C语言中,合法的长整型常数是(AB )。
A. 0LB. 49627C. 0.054838743D. 2.1869e107.在C语言中,合法的短整型常数是(D )。
A. OLC. 40000D. 0x2a8.下列数据中不属于“字符常量”的是(D )。
A. …a?B. …\n?C. …\t?D. “a”9.char型常量在内存中存放的是(A)。
A. ASCII代码值B. BCD代码值C. 内码值D. 十进制代码值10. int a=4,b=3,c=-2,d=2; 逻辑表达式a>0&&b&&c<0&&d>0的值是(A )。
A. 1B. 0C. -1D. 出错11.在以下一组运算符中,优先级最高的运算符是(C )。
A. <=B. =C. %D. &&12.设整型变量i的值为3,则计算表达式i--表达式的值为(B )。
A. 0B. 3C. 2D. 表达式出错13.设整型变量i,j=3; 则计算表达式i=j++后i,j的值为(A )。
B. 6,6C. 4,6D. 6,415.设整型变量i,j值均为3,执行了“j=i++,j++,++i”后,i,j的值是(B )。
A. 3,3B. 5,4C. 4,5D. 6,616.sizeof(double)的结果值是( A )。
知识点一数据类型运算符及表达式模拟练习(答案版)
![知识点一数据类型运算符及表达式模拟练习(答案版)](https://img.taocdn.com/s3/m/b06b81cd8ad63186bceb19e8b8f67c1cfad6eee6.png)
知识点一数据类型运算符及表达式模拟练习(答案版)模拟练习一(数据类型、运算符及表达式)基础知识及数据类型1.一个C语言程序是由()组成。
(☆基础知识☆)A.主程序B.子程序C.函数D.过程2.一个C程序总是从()开始执行。
(☆基础知识☆)A.程序的第一条执行语句B.主函数C.子程序D.主程序3.一个C语言程序()(☆基础知识☆)A.应当只包含一到多个主函数B.应当由两个主函数C.只能有一个主函数D.可以没有主函数4.C语言规定:在一个源程序中,main函数的位置()(☆基础知识☆)A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后5.C语言程序中,main()函数的特征是()(☆基础知识☆)A.可独立运行的程序B.必不可少的函数C.最先执行的函数D.具有前述三特征的函数6.以下叙述中正确的是()(☆基础知识☆)A.C语言的源程序不必通过编译就可以直接运行B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令C.C源程序经编译形成的二进制代码可以直接运行D.C语言中的函数不可以单独进行编辑7.下面4组常量,合法的一组C语言常量是()(◆常量◆)A.O0某102E+9‘a’‘’’B.1010LE1‘a’‘\\0’C.0.01“\\””“\\””‘t’‘\\t’D.0.13E+0“\\””‘tt’0128.下面不正确的字符串常量是()(◆常量◆)A.‘abc’B.“12’12”C.“w”D.““9.以下选项中不正确的实型常量是()(◆常量◆)A.2.6E-1B.0.8324eC.-78.8745D.456e-210.以下正确的实型常量是()(◆常量◆)A.2B.3.12e0.8C.e8D.5.6E-211.以下所列的C语言常量中,错误的是()(◆常量◆)A.0某FFB.1.2e0.5C.2LD.’\\72’12.下列字符序列中,可用作C语言用户标识符的是()(◆标识符◆)A.enumB._123C.%aD.#age13.对下列标识符或表达形式,正确的是()(◆标识符◆)A.M.johnB.charC.3.2e0.8D.e814.下面标识符中,不合法的用户标识符是()(◆标识符◆)A._charB.charC.abD.a_b15.下面标识符中,合法的用户标识符是()(◆标识符◆)A.P_aB.U-3C.2aD.tatic16.下面标识符中,合法的用户标识符为()(◆标识符◆)A.p#AdB.12aC.charD._int17.下列语句中正确的是()(◆数据类型◆)A.int_1[]=”012345”;B.char[3]={‘1’,’2’,’3’,’4’};C.c har某tring=”hello!”;D.ch=”howareyou”;18.设int类型的数据长度为2个字节,unignedint类型数据的取值范围是()(◆数据类型◆)A.-32768~32767B.0~255C.0~65535D.13019.在C语言中,int,char和hortint三种类型变量所占用的内存大小是()(◆数据类型◆)A.均为2个字节B.由用户自己定义C.由所用机器的字长决定D.是任意的20.若有以下类型说明语句:(◆数据类型◆)chara;intb;floatc;hortintd;则表达式(c某b+a)某d的结果类型是()A.charB.intC.doubleD.float21.若已定义某和y为float类型,则表达式:某=2,y=某+3/2的值是()(◆数据类型◆)A.4B.3C.3.0D.3.522.若变量a是int类型,并执行了语句:a=’A’+1.6;,则正确的叙述是()(◆数据类型◆)A.a的值是字符CB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符’A’的ASCII值加上123.以下选择中不属于C语言的类型的是()(◆数据类型◆)A.ignedhortintB.unignedlongintC.unignedintD.longhort24.下列程序(◆转义字符◆)voidmain(){printf(“_ab_c\\t_de\\rf\\tg\\n”);printf(“h\\ti\\b\\bj_k\\n”);}执行后的结果是()A.fab_c___gdeB.fab_c___gdeC.fa__c___gdeD.fa__c___gdeh_______jikh_______ji_h_______jikh_______ji_25.下列字符中,不正确的转义字符是()(◆转义字符◆)A.’\\2’B.’\\r’C.’\\\\’D.’\\108’26.在C语言中,下列选项说法错误的是()(☆基础知识☆)A.main函数是程序的入口B.严格区分大小写C.可以进行位运算D.一个字符占两个字节27.以下不是C语言规定的保留字的是()(◆关键字(保留字)◆)A.typedefB.enumC.FloatD.tatic28.以下是C语言规定的保留字的是()(◆关键字(保留字)◆)A.typeefB.outC.cloeD.tatic29.下列选项中,不合法的C语言关键字是()(◆关键字(保留字)◆)A.voidB.charC.defaultD.Do30.对于C语言程序中的变量,()是正确的。
(完整word)C语言数据类型和运算符及表达式复习题
![(完整word)C语言数据类型和运算符及表达式复习题](https://img.taocdn.com/s3/m/ca8bccf590c69ec3d4bb7523.png)
数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:( )a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A。
dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4。
以下不是关键字的标识符是:( )a) continue b) char c) If d) default5. C语言提供的合法的关键字是:( )a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768 b) —56 c) 03 d) 0xAF 7。
以下合法的长整型常量是()a) 2L b) 49627 c) 34566666 d) 213&8. 以下正确的实型常量是( )a) 1.2E b) 。
579899 c) 1.2e0.6 d) 8 9。
以下选项中合法的实型常数是()a) 5E2。
0 b) E—3 c) 。
2E0 d) 1。
3E 10。
以下合法的八进制数是()a) 0135 b) 068 c) 013。
54 d) o711。
以下合法的十六进制数是( )a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是( )a) 019 b) 0L c) 0xff d) 1e113。
若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5) d) y=int(a)+b14。
若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4。
0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设a,b均为double型,且a=5。
C语言复习资料,有答案
![C语言复习资料,有答案](https://img.taocdn.com/s3/m/4c984133f111f18583d05a20.png)
一、填空题1.C语言所提供的基本数据类型包括:单精度、双精度、整型、字符型。
2.若定义int m=8,y=3;则执行y*=y+=m-=y;后y的值是64。
3.Ox10相当于八进制数20 。
4.%m.n表示数据输出的总宽度占M列,其中小数部分占N 列。
5.C语言提供的3种逻辑运算符是非、或者、与。
6.当m=3,n=4,a=5,b=1,c=2时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为1,m 的值为1,d的值为0。
7. 在数组定义格式中,放括号中的元素个数是量。
8. 判断字符串a和b是否相等,应当使用strcmp函数。
9. 在C语言中不能被调用的函数是函数。
10、目前,有两种重要的程序设计方法,分别是面向对象和面向过程。
12、面向对象程序设计的三个特征:多态、继承和封装。
13、在一个C源程序中,注释部分两侧的分界符为___ * */ __ 。
14、do----while 语句至少执行____1____次循环体。
15、在C语言中,一个double型数据在内存中所占的字节数为__8___。
16、若s是unsigned int型变量且已赋初值,则表达式s%2+(s+1)%2的值是__1_______17、表达式3>4的值是___0________18、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后,x的值为11,n的值为6。
19、若x=0,y=0,z=0,则计算表达式x++||y++&&z++后,x的值为1,y的值为1,z的值为1。
二、单项选择题1、下列各高级语言中,(B)是面向对象的程序语言。
A)Basic B)C C)C++ D)Pascal2、一个C程序的执行是从( A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束3、C语言规定,不同类型的数据占用存储空间的长度是不同的。
C语言试题库(完整版)
![C语言试题库(完整版)](https://img.taocdn.com/s3/m/c1bdf96276232f60ddccda38376baf1ffd4fe359.png)
C语言试题库(完整版)C语言试题库一、单项选择第一章 C语言概述1) 一个C程序的执行是从本程序的MAIN函数开始,到MAIN函数结束。
2) 以下叙述正确的是:一个C源程序可由一个或多个函数组成。
3) C语言规定,在一个源程序中,MAIN主函数的位置可以在任意位置。
4) 一个C程序是由函数组成。
5) 以下叙述不正确的是:在C程序中,注释说明只能位于一条语句的后面。
第二章数据类型、运算符与表达式1) 若x。
i。
j。
k都是int型变量,则计算下面表达式后,x的值为x=52.2) 下列四组选项中,均不是C语言键字的选项是:define。
IF。
type。
3) 下面四个选项中,均是不合法的用户标识符的选项是:1a0.b-a。
XXX。
4) 若有代数式3ae/bc,则正确的C语言表达式是:3*a*e/b*c。
5) 已知各变量的类型说明如下:int k。
a。
b。
unsigned long w=5.double x=1.42.则以下不符合C语言语法的表达式是:x%(-3)。
第三章简单C程序设计C语言试题库一、单项选择第一章 C语言概述1.一个C程序的执行是从本程序的MAIN函数开始,到MAIN函数结束。
2.以下叙述正确的是:一个C源程序可由一个或多个函数组成。
3.C语言规定,在一个源程序中,MAIN主函数的位置可以在任意位置。
4.一个C程序是由函数组成。
5.以下叙述不正确的是:在C程序中,注释说明只能位于一条语句的后面。
第二章数据类型、运算符与表达式1.若x。
i。
j。
k都是int型变量,则计算下面表达式后,x的值为x=52.2.下列四组选项中,均不是C语言关键字的选项是:define。
IF。
type。
3.下面四个选项中,均是不合法的用户标识符的选项是:1a0.b-a。
XXX。
4.若有代数式3ae/bc,则正确的C语言表达式是:3*a*e/b*c。
5.已知各变量的类型说明如下:int k。
a。
b。
unsignedlong w=5.double x=1.42.则以下不符合C语言语法的表达式是:x%(-3)。
C语言程序设计第2章数据类型与运算练习题及解答
![C语言程序设计第2章数据类型与运算练习题及解答](https://img.taocdn.com/s3/m/2a31802b366baf1ffc4ffe4733687e21ae45ff40.png)
C语⾔程序设计第2章数据类型与运算练习题及解答第2章数据类型和运算符习题及解答⼀.选择题。
1.下列是⽤户⾃定义标识符的是A)_w1 B)3_xy C)int D)LINE-3答案:A解析: C语⾔规定⽤户标识符由英⽂字母、数字和下划线组成,且第⼀个字符必须是字母或下划线,由此可见选项B),D)是错的;此外,C语⾔不允许⽤户将关键字作为标识符,⽽选项C)选项项中的int 是C语⾔的关键字。
语⾔中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型答案:B解析:本题考查C语⾔的数据类型。
在C语⾔中,没有专门的逻辑型数据类型,可以⽤0和1来表⽰逻辑值。
所以,在本题的选择答案中,不应该包括逻辑型。
3.假定int类型变量占⽤两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3 B)6 C)10 D)20答案:D解析: x数组共有10个元素,在花括弧内只提供3个初值,这表⽰只给前⾯的3个成员赋值,后7个元素的值为0,所以,⼀共有20个字节。
4.以下选项中不正确的实型常量是A) B) C) D)234e-2答案:B解析:实型常量表⽰时字母E或e前必须有数字,其后数字必需为整数,故B错。
5.若变量已正确定义并赋值,以下符合C语⾔语法的表达式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b答案:B解析:选项A)中包含⼀个不合法的运算符“:=”;选项C)应改为(int)%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第⼀个是错的,因为C语⾔规定赋值号的左边只能是单个变量,不能是表达式或常量等。
因此,正确答案是选项B),它实际上相当于a=(b=c+2),进⽽可分解为两个表达式:b=c+2和a=b。
6.下列可⽤于C语⾔⽤户标识符的⼀组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof答案:B解析: C语⾔规定标识符只能由字母、数字和下划线三种字符组成,且第⼀个字符必须为字母或下划线,排除选项C)和D)。
C语言试题数据类型运算符与表达式
![C语言试题数据类型运算符与表达式](https://img.taocdn.com/s3/m/fa5b5d3e11661ed9ad51f01dc281e53a5802512c.png)
C语言试题数据类型运算符与表达式一、单项选择题1、以下选项中,不正确的C语言浮点型常量是(C)。
A.160.B.0.12C.2e4.2D.0.0分析:e后面的指数必须为整数。
2、以下选项中,(D)是不正确的C语言字符型常量。
A.'a'B.'\\某41'C.'\\101'D.\分析:在C语言中,’a’表示字符常量,”a”表示字符串。
3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。
A.原码B.反码C.ASCII码D.BCD码分析:将一个字符常量放入一个字符变量中,实际上并不是将字符本身放到内存单元中,而是将字符的对应的ASCII码放到储存单元中。
4、若某、i、j和k都是int型变量,则计算下面表达式后,某的值是(C)。
某=(i=4,j=16,k=32)A.4B.16C.32D.52分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为32,所以某=32.5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。
A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算分析:算术运算符包括加法运算“+”符减法运算“-”符乘法运算符“某”以及除法运算符“/”,赋值运算符包括“=、+=、-=、某=、/=、”,关系运算符包括“、>=”。
3ae6、若有代数式bc,则不正确的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、表达式!某||a==b等效于(D)。
A.!((某||a)==b)B.!(某||y)==bC.!(某||(a==b))D.(!某)||(a==b)分析:由符优先级先后顺序在!某||a==b中应先算“||”再算“!”,最后算“==”。
C语言题库(2020版)第2章 数据类型运算符和表达式√
![C语言题库(2020版)第2章 数据类型运算符和表达式√](https://img.taocdn.com/s3/m/823b5197844769eae109ed81.png)
第二章数据类型运算符和表达式一、单项选择1.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( B )2.下面四个选项中,均是不合法的用户标识符的选项是( B )。
3.判断字符型变量c1是否为数字字符的正确表达式为( A )4.在C语言中,要求运算数必须是整型的运算符是( A )5.下面四个选项中,均是合法的用户标识符的选项是(A)。
6.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。
7.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为(B)。
8.表达式18/4*sqrt(4.0)/8值的数据类型为(B)。
9.若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( D )10.判断字符型变量c1是否为小写字母的正确表达式为(B)。
11.在C语言中,char型数据在内存中的存储形式是(C)。
12.以下选项中关于C语言常量的叙述错误的是:( D )13.下面正确的字符常量是(B)14.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( D)15.以下选项中,能表示逻辑值"假"的是( B )16.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为(C)17.以下选项中非法的字符常量是( B )18.以下关于C语言数据类型使用的叙述中错误的是(B )19.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为(C)。
20.若有数学式3aebc,则不正确的C语言表达式是(A)21.下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是(C)二、填空1.若s是int型变量,s=6;则表达式s%2+(s+1)%2的值为___1__2.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为___9__3.C语言中的标识符只能由三种字符组成,它们是__字母___,_数字____和____下划线_4.若a.b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为 6,b值为_4,c值为_2_5.在C语言中,不带任何修饰符的浮点常量,是按___double__类型数据存储的。
C语言2基本语法规则练习题2
![C语言2基本语法规则练习题2](https://img.taocdn.com/s3/m/9342602b2e60ddccda38376baf1ffc4ffe47e24a.png)
C语言2基本语法规则练习题2第二章基本语法规则2.1数据类型、运算符、表达式一、选择题1.C语言中确定数据存储的格式、范围与有效位数的依据是A.数据正负B.数据范围C.数据类型D.数据大小2.一般说在C语言中字符型数据、整型数据、单精度浮点型及双精度浮点型数据的存储长度分别为A.2、4、8、1B.4、2、1、8D.1、4、2、8B.竖向跳格D.换行C.1、2、4、83.转义字符“\\t”表示A.横向跳格,即跳到下一个输出区C.退格4.以下叙述不正确的是A.C语言中的常量分别为整型常量、浮点常量、字符常量、符号常量B.整型常量在C语言中有十进制、八进制和十六进制等3种不同形式C.C语言中,变量必须先定义后使用D.变量被定义后,变量名是固定的,变量的值在程序运行过程中是不可以随时被改变的5.以下叙述不正确的是A.C语言中的字符常量是用一对单引号('')括起来的单个字符B.字符串常量是用一对双引号(““)括起来的字符序列C.字符型数据与整型数据之间不可以通用。
D.为了便于判断字符串是否结束,系统会自动在最后一个字符后面加上一个转义字符(\\0)6.在赋值语句中用来将运算表达式的值赋给变量的“=”称为A.等号B.赋值运算符C.关系运算符D.逻辑运算符7.设a=12,n=3,则执行表达式a%=n+3后a的值为A.3B.0C.6D.12D.3D.4D.1198.设,A=0,B=1表达式!A&&B的值是A.1B.0C.29.在16位PC机环境下,字符串“A”应占的字节数为A.2B.1C.010.采用十进制数为表示方法,则077是A.77B.112C.6311.设某为float型变量,y为double型变量,a为int型变量,b 为long型变量,c为char型变量,则表达式某+y某a/某+b/y+c计算结果的类型为A.intB.longC.doubleD.char12.设a,c为int型变量,进行a=(c=5,c+5,c/2)运算后的结果为A.2B.5C.2.5D.013.在C语言中,表示逻辑“真”和“假”的值分别是A.0、1B.1、2C.1、014.C语言中表示a小于b或小于c的表达式为A.ac&&b>cB.a>c||b>cC.a>b||b>cD.a>b&&b>c16.a和b中有一个小于c的表达式为A.aB.aD.0和3D.1和1D.2D.35D.2、117.若有a=2,b=3,c=4,则表达式a==3和a=3的值分别为A.0和0B.1和3C.3和318.表达式!(1<3)||(2>5)和!(4<=8)&&(7>=3)的值分别为A.1和0B.0和0C.0和1某19.设a=4,计算表达式a=1,a+5,a++的值为A.1B.5C.1020.设某=4,y=8,计算表达式y=(某++)某(--y)的值为A.28B.32C.4021.设有语句chara=`\\72`;则变量包含的字符数为A.3B.2个C.1D.422.设有说明语句:chara='\\123abc';则变量a包含的字符数为A.4B.6C.5D.723.下列叙述正确的是A.赋值语句中的“=”是表示左边变量等于右边表达式B.赋值语句中左边的变量值不一定等于右边表达式的值C.赋值语句是由赋值表达式加上分号构成的D.某+=y;不是赋值语句24.下列选项中,可以作为C语言标识符的是A.3tuB.#tuC.tu3D.tu.3D.tudent3D.13.8eD.chard;25.下列选项中,不可以作为C语言标识符的是A.numB.turbo_cC.print26.下列选项中,不可以作为C语言常量的是A.”abc”B.1/2C.M27.下列选项中,正确的一组语句是A.chara;B.charb;C.charc;a=M;b=55;c=”M”;d=”55”;28.已知字母b的ASCII码值为98,如ch为字符型变量,则表达式ch=b+5-2的值为A.eB.dC.102D.10029.下列不是字符串常量的是A.“1818\B.“aad”C._abdcD.“a”30.在C语言中,int、char和hort三种类型数据所占用的内存是A.均为2个字节B.由用户定义C.是任意的D.由所用机器的机器字长决定31.设int类型的数据长度为2个字节,则unignedint类型数据的取值范围是A.0至255C.-32768至3276732.以下是不正确的转义字符是A.\\\\B.\\B.0至65535D.-256至255C.\\081D.\\0D.反码33.在C语言中,char型数据在内存中的存储形式是A.原码B.补码C.ASCII码某34.若某为unignedint变量,则执行以下语句后的某值为。
C语言数据类型和运算符及表达式复习题
![C语言数据类型和运算符及表达式复习题](https://img.taocdn.com/s3/m/c436a0cc856a561252d36f33.png)
数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:()a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A.dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4. 以下不是关键字的标识符是:()a) continue b) char c) If d) default5. C语言提供的合法的关键字是:()a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768b) -56 c) 03 d) 0xAF7. 以下合法的长整型常量是()a) 2L b) 49627 c) d) 213&8. 以下正确的实型常量是()a) 1.2E b) . c) 1.2e0.6 d) 89. 以下选项中合法的实型常数是()a) 5E2.0 b) E-3 c) .2E0d) 1.3E10. 以下合法的八进制数是()a) 0135b) 068 c) 013.54 d) o711. 以下合法的十六进制数是()a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是()a) 019b) 0L c) 0xff d) 1e113. 若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5)d) y=int(a)+b14. 若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4.0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设a,b均为double型,且a=5.5;b=2.5;则表达式(int)a+b/b的值是()a) 6. b) 6 c) 5. d) 6.17.若a为int型,且其值为3,则执行完表达式:a+=a-=a*a后,a的值是()a) -3 b) 9 c) -12 d) 618.设k和x均为int型变量,且k=7;x=12;则能使值为3的表达式是()a) x%=(k%=5) b) x%=(k-k%5)c) x%=k-k%5 d) (x%=k)-(k%=5)19. 若a,b,c 均被定义成整型并已赋大于1的值,能正确表示代数式c b a ⋅⋅1的C 语言表达式是( )a) 1/(float)a*b*c b) 1/(a*b*c)c) 1.0/a/b/c d) 1/a/b/(float)c20. 以下变量x,y,z 均为double 型且已正确赋值,不能正确表示代数式z y x⨯的C 语言表达式是( )a) x/y*z b) x*(1/(y*z))c) x/y*1/z d) x/y/z21. 不能正确表示代数式d c b a ⋅⋅的C 语言表达式是( ) a) a/(c*d)*b b) a*b/c/dc) a*b/c*d d) a*b/(c*d)22.若题中变量已正确定义并赋值,下面符合C 语法的表达式是( )a) a%=7.6 b) a++,a=7+b+cc) int(12.3)%4 d) a=c+d=a+723. 若t 已定义为double 型,则表达式:t=1,t++,t+5的值为( ) a) 7 b) 7.0 c) 2.0 d) 1.024. 已有定义:int a,b; float x,y;,以下正确的赋值语句是:( ) a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x;25. 有以下程序:main(){ int y=1111;printf(“y=%6d\n”,y);printf(“y=%+06d\n”,y);}程序运行的结果是:()a) y= 1111 b) y= 1111c) y=1111 d) y= 1111y= y=+01111 y=+01111 y=111126. 有以下程序:main(){ int y=456;printf(“*y=%7o*\n”,y);printf(“*y=%-7o*\n”,y);printf(“*y=%07o*\n”,y);}程序运行的结果是:()a) *y= 710*b) *y= 456**y=710 * *y=456 **y=* *y=*c) *y=710* d) *y=456**y=-710* *y=-456**y=0710* *y=0456*27. 有以下程序:main(){ float y=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);printf(“*%8.0f*\n”,y);}程序运行的结果是:()a) *3.* b) *3.** 3.67* *3.667 ** 4* *4.*c) *3.667* d) *3.**3.* *3.67**3.* *4.*28. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格)**1.0**2.0<回车> 分别给a,b输入1,2,则能正确进行输入的语句是()a) scanf(“%f%f”,&a,&b);b) scanf(“%5.1lf%5.1lf”,&a,&b);c) scanf(“%lf%lf”,&a,&b);d) scanf(“%5e%5e”,&a,&b);29. 以下合法的定义语句是()a) short _auto_=100-1;b) double b=1+5e2.5;c) long do=1l;d) float 2_and=1e-3;30. 以下选项中不是C语句的是()a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}31. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是()a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;32. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()a) 把x和y从小到大排列b) 把x和y从大到小排列c) 无确定结果d) 交换x和y中的值33. 有定义语句:long int a; int k;,能给a赋40000的正确语句是()a) a=20000+20000; b) a=4000*10;c) k=400;a=k*100; d) a=4000;a=a*10;34. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()a) 1.4 b) 1c) 2.0 d) 235. 有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k++);printf(“y=%d,%d\n”,m,i);}程序运行的结果是:()a) 8,6 b) 8,3 c) 6,4 d) 7,436. 有以下程序:main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}程序运行的结果是:()a) 3 4 b) 4 2c) 4 3 d) 3 337. 有以下程序:main(){ int i; long l ; float f ; double d ;i=f=l=d=20/3;printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d);}程序运行的结果是:()a) 6 6 6.0 6.0 b) 6 6 6.7 6.7c) 6 6 6.0 6.7 d) 6 6 6.7 6.038. 有以下程序:main(){ unsigned a=32768; int b ;b=a ;printf(“b=%d\n”,b);}程序运行的结果是:()a) b=32768 b) b=32767 c) b=-32768d) b=-1 39.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-1640.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是()a) 23 b) 24 c) 25 d) 2241.有以下程序:main(){ int x=0xffff;printf(“%d\n”,x--);}程序运行的结果是:()a) 32767 b) FFFEc) -1 d) -32768二.填空题1.已有定义:float f=13.8;,则表达式:(int)f%3的值是___1___.2. 已有定义:int x=3;, 则表达式:x=x+1.78的值是___4___.3. 已有定义:double x=3.5; 则表达式:x=(int)x+1的值是_4.__.4. 已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是__3___.5. 设a,b,c为整型数,且a的值为2,b的值为3, c的值为4,表达式:a*=16+(b++)-(++c)的值为__28____.6. 已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是_8__,变量x的值是_2__,变量y的值是__3__.7. 已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的值是__111___,变量y的值是__16___。
C语言数据类型与表达式习题及答案
![C语言数据类型与表达式习题及答案](https://img.taocdn.com/s3/m/87cf0f77c850ad02de8041ae.png)
第一章数据类型,运算符与表达式一.选择题1.不合法的常量是 A 。
A)‘/2’B) “”C)‘’D)“483”2. B 是C语言提供的合法的数据类型关键字。
A)Float B)signed C)integer D)Char3.在以下各组标识符中,合法的标识符是(1) A ,(2) C ,(3) D 。
(1)A)B01 B)table_1 C)0_t D)k%Int t*.1 W10 point (2)A)Fast_ B)void C)pbl D)<book> Fast+Big abs fabs beep (3)A)xy_ B)longdouble C)*p D)CHAR 变量1 signed history Flaut4. 不属于合法的C语言长整型常量的是 C 。
A)5876273 B)0L C)2E10 D)(long)5876273 7.下面选项中,均是合法浮点数的是 B 。
A)+1e+1 B)-0.60 C)123e D)-e3 5e-9.4 12e-4 1.2e-.4 .8e-403e2 -8e5 +2e-1 5.e-0 8.在C语言中,要求参加运算的数必须是整数的运算符是 C 。
A)/ B)* C)% D) =9.在C语言中,字符型数据在内存中以 D 形式存放。
A)原码B)BCD码C)反码D)ASCII码10.下列语句中,符合语法的赋值语句是 C 。
A)a=7+b+c=a+7;B)a=7+b++=a+7;C)a=7+b,b++,a+7;D)a=7+b = c=a+7;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 yu v⨯⨯不等价的C语言表达式是 A 。
广技师C语言复习题1. 练习(数据类型和表达式)(有答案)
![广技师C语言复习题1. 练习(数据类型和表达式)(有答案)](https://img.taocdn.com/s3/m/340eb1e4760bf78a6529647d27284b73f242361b.png)
广技师C语言复习题1. 练习(数据类型和表达式)(有答案)广技师c语言复习题1.练习(数据类型和表达式)(有答案)一、选择题3.若存有代数式3ae/bc,则不恰当的c语言表达式就是。
a.a/b/c*e*3b.3*a*e/b/cc.3*a*e/b*cd.a*e/c/b*34.以下表达式的值3的就是。
a.16-13%3b.2+3/2c.14/3-2d.(2+6)/(12-9)5.建有表明语句:intk=7,x=12则以下能够使值为3的表达式就是.a.x%=(k%=5)b.x%=(k-k%5)c.x%=k-k%5d.(x%=k)-(k%=5)7.在c语言中,要求运算数必须是整型的运算符是。
a./b.++c.!=d.%8.若有说明语句charc=‘\\72’;则变量c。
a.包含1个字符b.包含2个字符c.涵盖3个字符c.表明不合法,c的值不确认9.若存有定义语句:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值就是。
a.2.500000b.2.750000c.3.500000d.0.00000010.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f的值的数据类型为。
a.intb.floatc.doubled.不确认12.建有表明语句:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为。
a.floatb.charc.inyd.double答案:1.c2.c3.c4.b5.d6.a7.d8.a9.a10.c11.b12.d二、填空题1.c语言中的标识符就可以存有3种字符共同组成,它们就是、和。
2.在c语言中,用“\\”开头的字符序列称为转义字符。
转义字符“\\n”的功能是;转义字符“\\r”的功能是。
3.在c语言中,用关键字定义单精度实型变量,用关键字定义双精度实型变量,用关键字定义字符型变量。
4.运算符%两侧运算量的数据类型必须都是;运算符++和--的运算量必须是。
c语言复习资料
![c语言复习资料](https://img.taocdn.com/s3/m/5743fa2430126edb6f1aff00bed5b9f3f90f7230.png)
c语⾔复习资料复习资料Ch2 数据类型、运算符与表达式1. C程序的结构:C程序是由⼀个或多个源⽂件组成,源⽂件是C程序的编译单位;源⽂件由函数组成的;⼀个程序有且仅有⼀个名字为main( )的函数;函数的定义不可嵌套,即,在⼀个函数内部不可定义另外⼀个函数;程序总是从main函数第⼀条可执⾏语句开始执⾏,在main函数结束;2.标识符合法的标识符的组成;如x1、a、max_int、_num等合法的,2x、x#等不合法,不能⽤关键字,如for、int等,最好不⽤函数名如 printf等。
关键字:查看附录B;如printf、define不是关键字;C语⾔区分⼤⼩写,故For、If等不是关键字3.常量的表⽰形式整型常量:⼗进制、⼋进制、⼗六进制。
如 028、0x2ah不合法;若整数是2个字节,则整数范围-32768-32767之间,32768(错) -037 0xaf均正确实型常量:3.0 2.3e3 2e-4正确,2e3.0错字符常量:注意转义字符,如\n、\72、\x23等均表⽰⼀个字符,如“\t\”name\\address\n”长度为15;’\38’错误字符串常量:变量定义及赋值:变量赋值时的类型应相同或兼容,如int a=3.5、float b=4、char c=97正确,但char ch=”abc”错误4.运算符及表达式运算符的功能、特点:如%要求两侧操作数均为整数;若 / 两侧操作数都是整数表⽰整除;运算符的优先级:复合运算符:如int a=3; 执⾏a+=a-=a*a; 后,a的值是-12;如:n=10,i=4,则赋值运算n%=i+1,n的值是逻辑运算符:掌握&& 和 || 的运算特点;如 i=2,j=3,k=4, if((i++) || (j++)) && k++) printf(“%d,%d,%d”,i,j,k);结果是?设a=3, b=4, c=5,表达式(1)‘a’ && ‘b’、 (2)a<=b 、a || b+c && b-c、(3)!((ab>a结果?如:c=0; 考虑,表达式c=b=a、(a=c)||(b=c)、(a=c)&&(b=c)、a=c=b能正确将c的值赋给变量a,b吗?为什么?关系运算符:注意= =与=的区别,如a=1,b=2 则if(a=3) b=0; 则b的值变化了吗?为什么?条件运算符:运算的特点如:i=1,j=2;执⾏语句n=i>j?i++:j++; 则i和j的值是5.⾃增⾃减:掌握前置与后置的运算特点;如:x=3,则表达式x++的结果是3,x的值变成4;⽽++x的结果是4,x的值也是4;-x++结果是-3,x的值变成4如:x=7,则(x++%3)结果是?6.表达式类型的转换:若char a; int b; float c; double d;则表达式 a*b+d-c 的值类型?7.逗号运算符:逗号表达式的值是最后⼀个表达式的值。
数据类型运算符表达式习题
![数据类型运算符表达式习题](https://img.taocdn.com/s3/m/96f81934960590c69fc3765a.png)
C) 6 6 6.0 6.7
D) 6 6 6.7 6.0
main()
{ double d; float f; long l; int i;
i=f=1=d=20/3;
printf("%d %ld %f %lf \n", i,l,f,d);
}
19.设a为整型变量,不能正确表达数学关系:10<a<15的C
D)输入数据时,对整型变量只能输入整数。
D 32、以下正确的说法是:
A)语句间须用分号分隔; B)实型变量中可存放整数; C)整数和实数都能准确表示; D)运算符%只能用于整数间的运算。
A)4
B)16
C)32
D)52
14.设有语句 int a=3;,则执行了语句
a+=a-=a*a;后,变量a的值是: D
A)3
B)0
C)9Biblioteka D)-1215、设整型变量a,b,c的值均为2,表达式
a+++b+++c++的结果是: A
A)6
B)9
C)8
D)表达式出错
16、设a=1,b=2,c=3,d=4,则表达式:
1. char型常量在内存中存放的是: A
A)ASCII码
B)原码
C)内码值
D)十进制代码值
2.C语言中整数-8在内存中存储形式是:A A)1111,1111,1111,1000 B)1000,0000,0000,1000 C)0000,0000,0000,1000 D)1111,1111,1111,0111
11.设 int x=1, y=1; 表达式(!x||y--)的值是: B
C语言基本数据类型及运算题库
![C语言基本数据类型及运算题库](https://img.taocdn.com/s3/m/fbf6f165905f804d2b160b4e767f5acfa1c783d3.png)
D)if (b= =0)m=1;n=2; 答案:D
31. 假定有以下变量定义,则能使值为 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
32. 以下程序的输出结果是
。
#include void main( ) {
a=b=c=1;
++a||++b&&++c;
第4页共8页
我尽一杯,与君发三愿:一愿世清平,二愿身强健,三愿临老头,数与君相见。——《白居易》
人人好公,则天下太平;人人营私,则天下大乱。——刘鹗
那么,变量 b 的值应是( )
A.2 B.1 C.0 D.3 答案:B
24. 有变量说明 int a=3;,则表达式 a1 的运算结果和 a 的值
(10)’’a’’’ (11)’\\\\’ (12)’\\0123’
(13)’\\xaf’
(14)’王’
(15)”李为民”
(16)”\\xaif” 答案:(2),(12),(14),(16)
17. 下列运算符中,结合方向为自左向右的是( )。
(A)?:
(B), (C)+ =
(D)+ + 答案:(B)
第6页共8页
云路鹏程九万里,雪窗萤火二十年。——《王实甫》
B) /
C) =
D) *= 答案:A
4. 若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执
行后,c3 中的值是
。
A) 0
B) 0.5
C语言各章节复习题(带答案) 2
![C语言各章节复习题(带答案) 2](https://img.taocdn.com/s3/m/31cf74204b73f242336c5fbf.png)
一、C语言概述练习题选择1.一个C程序的执行是从。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。
A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。
A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件7.以下叙述正确的是。
A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。
(答案)数据类型、运算符与表达式
![(答案)数据类型、运算符与表达式](https://img.taocdn.com/s3/m/35661a9183d049649b665889.png)
1 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为A) int B) float C) double D) 不确定2 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为A) D B) 68 C) 不确定的值D) C3 若有以下定义,则能使值为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)4 设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为A) float B) char C) int D) double5 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为A) 0--255 B) 0--32767 C) 0--65535D) 0--21474836476 表达式18/4*sqrt(4.0)/8值的数据类型为A) int B) float C) double D) 不确定7若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是A) (exp==0) B) (exp!=0)C) (exp= =1) D) (exp!=1)8 在C语言中,char型数据在内存中的存储形式是A) 补码B) 反码C) 原码D) ASCII码9 若运行时给变量x输入12,则以下程序的运行结果是void main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A) 0 B) 22 C) 12 D) 1010 sizeof(float)是A) 一个双精度型表达式B) 一个整型表达式C) 一种函数调用D) 一个不合法的表达式11 若有定义: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.00000012 若有说明语句:char c='\72';则变量cA) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法,c的值不确定13 在C语言中,int、char和short三种类型数据在内存中所占用的字节数A) 由用户自己定义B) 均为2个字节C) 是任意的D) 由所用机器的机器字长决定14 若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum 的值为A) 7 B) 8C) 9 D) 1015 设int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1C) 2 D) -116 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A) n=(n*100+0.5)/100.0 B) m=n*100+0.5,n=m/100.0C) n=n*100+0.5/100.0 D) n=(n/100+0.5)*100.017 能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10&&a<=0 D) a>=10‖a<=018 下列变量定义中合法的是A) short _a=1-.1e-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;19 下列程序执行后的输出结果是(小数点后只写一位)void main(){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);}A) 6 6 6.0 6.0B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.020 下列程序的输出结果是void main(){ double d=3.2; int x,y;x=1.2;y=(x+3.8)/5.0;printf("%d \n", d*y);}A) 3 B) 3.2 C) 0D) 3.0721 设有int x=11; 则表达式(x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 1222 有如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为A) true B) false C) 0 D) 123 设以下变量均为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)24 设有说明语句:char a='\72';则变量aA) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法25 以下符合C语言语法的赋值表达式是//没有答案A) d=9+e+f=d+9 B) d=9+e,f=d+9C) d=9+e,e++,d+9 D) d=9+e++=d+726 有如下程序void main(){ int y=3,x=3,z=1;printf("%d %d\n",(++x,y++),z+2);}运行该程序的输出结果是A) 3 4 B) 4 2 C) 4 3 D) 3 327 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是A) 0B) 0.5 C) 1 D) 228 若变量a、i已正确定义,且i已正确赋值,合法的语句是A) a= =1 B) ++i; C) a=a++=5; D) a=int(i);29 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是A) 1 B) 2 C) 2.0D) 2.530 若变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b+1 B) a=b=c+2C) int 18.5%3 D) a=a+7=c+b31 下列叙述中正确的是A) C语言中既有逻辑类型也有集合类型B) C语言中没有逻辑类型但有集合类型C) C语言中有逻辑类型但没有集合类型D) C语言中既没有逻辑类型也没有集合类型32 有如下函数调用语句//注:此题可以不做func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是A) 3B) 4 C) 5 D) 有语法错33 有以下程序void main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出结果是A) 9,2 B) 10,2C) 9,1 D) 10,134 在C语言中,要求运算数必须是整型的运算符是A) / B) ++ C) != D) %35 下列四个选项中,均是C语言关键字的选项是A) auto enum include B) switch typedef continueC) signed union scanf D) if struct type36 下列四组选项中,均不是C语言关键字的选项是A) define IF type B) getc char printfC) include scanf case D) while go pow37 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是A) 7 B) 8C) 6 D) 238 若x,i,j和k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32);A) 4 B) 16 C) 32D) 5239 C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字和下划线中任一字符40 有以下程序void main(){ char a,b,c,*d;a='\'; b='\xbc';c='\0xab'; d="\017";printf ("%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是A) 程序中只有a='\';语句不正确B) b='\xbc';语句不正确C) d="\0127";语句不正确D) a='\';和c='\0xab';语句都不正确41 下面四个选项中,均是合法整型常量的选项是A) 160 -0xffff 011B) -0xcdf 01a 0xe C) -01 986,012 0668 D) -0x48a 2e5 0x42 有以下程序void main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);}执行后输出结果是A) 1,1,2 B) 2,2,1 C) 2,2,2D) 2,2,343 有以下程序段int m=0,n=0; char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,044 若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%X\n",m);执行后输出结果是A) 0X0 B) 0x0 C) 0D) 0XABC45 下列关于单目运算符++、--的叙述中正确的是A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D) 它们的运算对象可以是char型变量、int型变量和float型变量46 若有以下程序段(n所赋的是八进制数)int m=32767,n=032767;printf("%d,%o\n",m,n);执行后输出结果是A) 32767,32767B) 32767,032767C) 32767,77777 D) 32767,07777747 下列关于C语言用户标识符的叙述中正确的是A) 用户标识符中可以出现在下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头48 在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为A) char<int<long int<=float<doubleB) char=int<long int<=float<doubleC) char<int<long int=float=doubleD) char=int=long int<=float<double49 下面四个选项中,均是不正确的八进制数或十六进制数的选项是A) 016 0x8f 018 B) 0abc 017 0xaC) 010 -0x11 0x16 D) 0a12 7ff -12350 以下正确的叙述是A) 在C程序中,每行中只能写一条语句B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C) 在C程序中,无论是整数还是实数,都能被准确无误地表示D) 在C程序中,%是只能用于整数运算的运算符51 以下不正确的叙述是A) 在C程序中,逗号运算符的优先级最低B) 在C程序中,APH和aph是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值52 已知各变量的类型如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是A) a+=a-=(b=4)*(a=3)B) a=a*3+2C) x%(-3) D) y=float(i)53 已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是A) x%(-3) B) w+=-2C) k=(a=2,b=3,a+b) D) a+=a-=(b=4)*(a=3)54 下面不正确的字符串常量是A) 'abc'B) "12'12" C) "0" D) " "55 下面四个选项中,均是不合法的用户标识符的选项是A) A P_0 do B) float la0 _AC) b-a goto int D) _123 temp int56 下面四个选项中,均是正确的八进制数或十六进制数的选项是A) -10 0x8f -011 B) 0abc -017 0xcC) 0010 -0x11 0xf1D) 0a12 -0x123 -0xa57 C语言中运算对象必须是整型的运算符是A) %=B) / C) = D) 〈=58 下面正确的字符常量是A) "c" B) '\\'' C) 'W' D) ''59 下面四个选项中,均是不合法的转义字符的选项是//注:此题无正确选项A) '\"' '\\' '\xf' B) '\1011' '\' '\a'C) '\011' '\f' '\}' D) '\abc' '\101' 'xlf'60 下面四个选项中,均是合法转义字符的选项是A) '\'' '\\' '\n'B) '\' '\017' '\"'C) '\018' '\f' 'xab' D) '\\0' '\101' 'xlf'61 下面四个选项中,均是合法的浮点数的选项是A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5C) 123e 1.2e-.4 +2e-1 D) -e3 .8e-4 5.e-062 下面四个选项中,均是不合法的浮点数的选项是A) 160. 0.12 e3 B) 123 2e4.2 .e5C) -.18 123e4 0.0 D) -e3 .234 1e363 下面四个选项中,均是不合法的整型常量的选项是A) -0f1 -0xffff 0011 B) -0xcdf 017 12,456C) -018 999 5e2 D) -0x48eg -068 03f64 下面四个选项中,均是正确的数值常量或字符常量的选项是A) 0.0 0f 8.9e '&' B) "a" 3.9e-2.5 1e1 '\"'C) '3' 011 0xff00 0a D) +001 0xabcd 2e2 50.65 假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序运行后,m的值是A) 4 B) 3 C) 2 D) 166 以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD-sub DO IF voidCase Size abc define67 在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是A) a=20000+20000; B) a=4000*10;C) a=30000+10000; D) a=4000L*10L;68 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是A) scanf("%d%d%d",&a,&b,d); B) scanf("%d%d%d",&a,&b,&d);C) scanf("%d%d%d",a,b,d); D) scanf("%d%d%d",a,b,*d);69 以下选项中不属于C语言的类型的是A) signed short imt B) unsigned long intC) unsigned int D) long short70 以下程序段的输出结果是int a=1234;printf("%2d\n",a);A) 12 B) 34 C) 1234 D) 提示出错、无结果71 若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是A) a的值是字符C B) a的值是浮点型C) 不允许字符型和浮点型相加D) a的值是字符‘A’的ASCII值加上1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据类型、运算符和表达式复习题.选择题1. 以下不合法的用户标识符是: ( )a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是: ( )a) long b) _2Test c) 3Dmax d) A.dat3. 以下可用作用户标识符的是: ( )a) 12_a b) signed c) t-o d) _if4. 以下不是关键字的标识符是: ( )a) continue b) char c) If d) default5. C 语言提供的合法的关键字是: ( )a) swicth b) cher c) Case d) void6. 以下选项中不合法的int 整型常数是( )a) 32768 b) -56 c) 03 d) 0xAF7. 以下合法的长整型常量是( )a) 2L b) 49627 c) d) 213&8. 以下正确的实型常量是( )a) 1.2E b) . c) 1.2e0.6 d) 89. 以下选项中合法的实型常数是( )a) 5E2.0 b) E-3 c) .2E0 d) 1.3E10. 以下合法的八进制数是( )a) 0135 b) 068 c) 013.54 d) o711. 以下合法的十六进制数是( )a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是( )a) 019 b) 0L c) 0xff d) 1e113. 若变量已正确定以下合法的赋值表达式是( )义,a) a=1/b=2 b) ++(a+b)c) a=a/(b=5) d) y=int(a)+b14. 若变量已正确定以下非法的表达式是( )义,a) a/=b+c b) a%(4.0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int 类型,其值为11,则表达式( x++*1/3 )的值是:a) 3 b) 4 c) 11 d) 12 16.设a,b 均为double 型,且a=5.5;b=2.5; 则表达式(int)a+b/b 的值是( )a) 6. b) 6 c) 5. d) 6.17.若a为int型,且其值为3,则执行完表达式:a+=a-=a*a 后,a 的值是( )a) -3 b) 9 c) -12 d) 618.设k 和x 均为int 型变量,且k=7 ;x=12;则能使值为 3 的表达式是( )b) x%=(k-k%5) d) (x%=k)-(k%=5)a) x%=(k%=5) c) x%=k-k%519. 若 a,b,c 均被定义成整型并已赋大于 1 的值,能正确表示代数式 1 的 C 语言表达式是( )abca) 1/(float)a*b*c b) 1/(a*b*c)c)1.0/a/b/c d) 1/a/b/(float)c 20. 以下变量 x,y,z 均为 double 型且已正确赋值,不能正确表示 代数式 x 的 C 语言表达式是( ) yzb) x*(1/(y*z)) d) x/y/zabc d的 C 语言表达式是( )b) a*b/c/d d) a*b/(c*d)22.若题中变量已正确定义并赋值,下面符合 C 语法的表达式是( )a) a%=7.6 b) a++,a=7+b+c c) int(12.3)%4 d) a=c+d=a+723. 若 t 已定义为 double 型,则表达式: t=1,t++,t+5 的值为( ) a) 7b) 7.0c) 2.0 d) 1.024. 已有定义: int a,b; float x,y;, 以下正确的赋值语句是: ( ) a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x; 25. 有以下程序:main()a) x/y*z c) x/y*1/z21. 不能正确表示代数式a) a/(c*d)*b c) a*b/c*d{ int y=1111;printf( “y=%6d\n ”,y);printf( “y=%+06d\n ”,y);程序运行的结果是:d) y= 1111a) y= 1111 b) y= 1111 c) y=1111y= y=+01111 y=+01111 y=111126. 有以下程序:main(){ int y=456;printf( “*y=%7o*\n ”,y);printf( “*y=%-7o*\n ”,y);printf( “*y=%07o*\n ”,y);}程序运行的结果是: ()a) *y= 710* b) *y= 456**y=710 * *y=456 **y=* *y=*c) *y=710* d) *y=456**y=-710* *y=-456**y=0710* *y=0456*27. 有以下程序:main() { float y=3.667;printf( “*%f*\n ”,y); printf( “*%7.2f*\n ”,y); printf( “*%8.0f*\n ”,y);*3.28. 已有定义: double a,b;,若要求按输入方式(此处 * 代表一个 空格) **1.0**2.0< 回车> 分别给 a,b 输入 1,2,则能正确进行 输入的语句是( )a) scanf(“%f%f ”,&a,&b);b) scanf(“%5.1lf%5.1lf ”,&a,&b); c) scanf(“%lf%lf ”,&a,&b); d) scanf(“%5e%5e ”,&a,&b); 29. 以下合法的定义语句是( ) a) short _auto_=100-1; b) double b=1+5e2.5; c) long do=1l;}程序运行的结果是:a) *3.** 3.67*4*c) *3.667**3.)b) *3.**3.667 **4.* d)*3.**3.67**4.d) float 2_and=1e-3;30. 以下选项中不是 C 语句的是( )a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}31. 有定义语句:int a=5,b;,不能给 b 赋2的赋值语句是( )a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;32. 设x 和y 均为int 型变量,语句组x+=y;y=x-y;x-=y; 的功能是 ()a) 把x和y 从小到大排列b) 把x 和y 从大到小排列c) 无确定结果d) 交换x 和y 中的值33. 有定义语句:long int a; int k;,能给 a 赋40000 的正确语句是( )a) a=20000+20000; b) a=4000*10;c) k=400;a=k*100; d) a=4000;a=a*10;34. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后, c 的值是( )a) 1.4 b) 1 c) 2.0 d) 235. 有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k++);printf( “y=%d,%d\n ”,m,i);}程序运行的结果是: ( )a) 8,6 b) 8,3 c) 6,4 d) 7,4 36. 有以下程序:main(){ int y=3,x=3,z=1;printf( “%d %d\n ”,(++x,y++),z+2);}程序运行的结果是: ( )a) 3 4 b) 4 2 c) 4 3d) 3 337. 有以下程序:main() { int i; long l ; float f ; double d ;i=f=l=d=20/3; 38. 有以下程序:printf( “%d %ld}程序运行的结果是:(a) 6 6 6.0 6.0 c) 6 6 6.0 6.7 %3.1f %3.1f\n ”,i,l,f,d);)b) 6 6 6.7 6.7 d) 6 6 6.7 6.0c) -1 d) -32768main(){ unsigned a=32768; int b ; b=a ;printf( “b=%d\n ”,b);}程序运行的结果是: ( )a) b=32768 b) b=32767 c) b=-32768 d) b=-1 39.有以下语句 printf( “%d,%d,%u\n ”,016,16,-16);其输出结果 是( ) a) 16,16,65520b) 14,16,65520c) 16,16,-16d) 14,16,-16a) 23 b) 24 c) 25 d) 22 41.有以下程序:main() { int x=0xffff;printf( “%d\n ”,x--);}程序运行的结果是: ( )a) 3276740.若有定义语int b=0x17;printf( “%d ”,b++); ,其正确出结果是)b) FFFE二.填空题1.已有定义:float f=13.8;,则表达式:(int)f%3 的值是___1___.2. 已有定义:int x=3;, 则表达式:x=x+1.78 的值是___4___.3. 已有定义:double x=3.5; 则表达式:x=(int)x+1 的值是_4.__.4. 已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是__3___.5. 设a,b,c 为整型数,且 a 的值为2,b 的值为3, c 的值为4,表达式:a*=16+(b++)-(++c) 的值为__28 _ .6. 已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5 )后,表达式的值是_8__,变量x的值是_2__,变量y的值是__3__.7. 已有定义:int x=110,y=017;,则计算表达式: ( x++,++y )后,按十进制表示,变量x的值是__111___,变量y的值是__16___。
8. 若已有定义语句:int k=3,j=4;, 运行表达式(k+=j,j/=4.0,++j,j+2) 后,表达式的值是__4___,变量k 的值是__7___,变量j 的值是___2___.9.已有定义:int x,y;,执行以下语句后的输出结果是__%d,%3__. x=11/3; y=5; printf( “%%d,%%%d\n ”,x,y);10. 已有定义:int y;, 执行以下语句后的输出结果是_26,032,0x1a .y=26; printf( “%d,%#o,%#x ”,y,y,y);11. 执行以下语句后的输出结果是__7/8=0%1___.printf( “7/8=%d ”,7/8); printf( “%%%d ”,7%2);12. 以下程序的运行结果是___4.,4 ____ .main() { float a;int b;b=a=24.5/5;printf( “%f,%d ”,a,b);}13. 以下程序的运行结果是___4.,4 ____ .main(){ float a;int b;a=b=24.5/5;printf( “%f,%d ”,a,b);}14. 以下程序的运行结果是a=374 ㄩㄩ**a=fc a=0374**a=0xfc#include <stdio.h>main() { int a=252;printf( “a=%-5o**a=%x\n ”,a,a);printf( “a=%#o**a=%#x\n ”,a,a);}15. 若有定义:int t1; double t2;, 执行下列语句后,t1 的值是t1=(t2=1.9,t2+5,t2++);16. 若有下列定义和语句,输出结果是.69 。