程序设计练习题
- 格式:doc
- 大小:97.48 KB
- 文档页数:12
第二章数据类型、运算符与表达式一、选择题1.在语言中,5种基本数据类型的存储空间长度的排列顺序为▁A▁▁▁▁A)char < int < long int <= float < doubleB)char = int < long int <= float < doubleC)char < int < long int = float = doubleD)char = int long int <= float < double2.下面四组选项中,均不是C语言关键字的选项是▁▁▁A▁▁A) defina B) getc C) include D) whileIF char scanf gotype printf case pow3.下面四个选项中,均是不合法的用户标识符的选项是▁▁▁D▁▁A) A B) float C) b-a D) _123P_0 la0 goto tempdo _A int INT4.在下面四个选项中,均是合法的整型常量的选项是▁▁▁D▁▁A) 160 B) –0xedf C) 01 D) –0X48a-0Xffff 01a 986,012 2e5011 0xe 0688 0x5.在下面四个选项中,均是合法的浮点数的选项是▁▁C▁▁▁A) 160. B) 123 C) - . 18 D) – e 30.12 2e4.2 123e4 .234e3 .e5 0.0 1e36.在下面四个选项中,均是合法转义字符的选项是▁▁A▁▁▁A) …\‟‟ B) …\‟ C) …\018‟ D) …\\0‟...\\‟ ...\017‟ ...\f‟ (101)…\n‟ …\‟‟‟ …xab‟ …xlf‟7.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2 = ‟A‟ + ‟6‟ - ‟3‟ ; 后,c2的值为▁▁▁A▁▁A) D B) 68 C) 不确定的值D) C8.若有说明语句:char c = … \72 ‟;则变量c ▁▁A▁▁▁A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法,变量的值不确定9.在C语言中,一个int型数据在内存中占个2字节,则unsigned int型数据的取值范围为▁▁▁▁C▁A) 0~255 B) 0~32767C) 0~65535 D) 0~214748364710.下列变量名中合法的是▁▁▁C▁▁A) B.C.Tom B) 3a66C) _6a7b D) $ABC11.下列浮点数的表示中不正确的是▁▁C▁▁▁A) 223. B) 719E22C) e23 D) 12e212.在C语言中,合法的字符常量是▁A▁▁▁。
A)'\084' B)'\x43' C)'ab' D)"\0"13.下列变量定义中合法的是▁▁B▁▁。
A) short _a=1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;1.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为▁▁C▁▁x = ( i = 4 , j = 15 , k = 32 )A) 4 B) 16 C) 32 D) 522.假设所有变量均为整型,则表达式( a=2, b=5, b++, a++)的值是▁▁B▁▁▁A) 7 B) 3 C) 6 D) 23.已知各变量的类型说明如下:int k , a , b ;unsigned long w = 5double x = 1.42则以下不符合C语言语法的表达式是▁▁▁▁▁A) x % ( - 3 ) B) w + = - 2C) k = ( a = 2 , b = 3 , a + b ) D) a + = a - = ( b = 4 ) * ( a = 3 )4.以下符合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 + 75.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2 = ‟A‟ + ‟6‟ - ‟3‟ ; 后,c2的值为▁▁▁▁▁A) D B) 68 C) 不确定的值D) C6.若以下变量均是整型,且num=sum=7;则计算表达式sum=num++ , sum++ , ++num后sum 的值为▁▁▁▁▁A) 7 B) 8 C) 9 D) 107.设变量a是整型,f是实型,i是双精度型,则表达式值10+‟a‟+i*f的数据类型为▁▁▁▁A) int B) floatC) double D) 不确定8.表达式18 / 4 * sqrt(4.0)/ 8值的数据类型为▁▁▁▁▁A) int B) floatC) double D) 不确定9.设有说明:char w ; int x; float y ; double z ; 则表达式w * x + z - y值的数据类型为▁▁A) float B) charC) int D) double10.若有以下定义,则能使值为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)11.以下变量均为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)12.下列运算符中,结合方向为自左向右的是▁▁▁▁▁。
A) ? B) , C) += D) ++13.若有float x;则sizeof(x)和sizeof(float)两种描述▁▁▁▁▁。
A) 都正确 B) 都不正确C)前者正确 D) 后者正确14.整型变量x=1,y=3,经下列运算后,x的值不等于6的是▁▁▁▁▁。
A) x=(x=1+2,x*2) B) x=y>2?6:5C) x=9-(--y)-(--y) D) x=y*4.8/215.单精度数x=3.0,y=4.0,下列表达式中y的值为9.0的是▁▁▁▁▁A) y/=x*27/4 B) y+=x+2.0C) y-=x+8.0 D) y*=x-3.016.有整型变量x,单精度变量y=5.5,表达式:x=(float)(y*3+(int)y%4)执行后,值为▁▁。
A) 17 B) 17.500000C) 17.5 D) 1617.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是▁▁▁▁。
A)1 B)2 C)2.0 D)2.518.若变量已正确定义并赋值,下面符合C语言语法的表达式是▁▁▁▁。
A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b19.C语言中运算对象必须是整型的运算符是▁▁▁▁。
A) %= B) / C) = D) 〈=20.若变量a、i已正确定义,且i已正确赋值,合法的语句是▁▁▁▁。
A) a==1 B) ++i; C) a=a++=5; D) a=int(i);21.以下关于运算符优先顺序的描述中正确的是。
A.关系运算符<算术运算符<赋值运算符<逻辑与运算符B.算术运算符<关系运算符<赋值运算符<逻辑与运算符C.赋值运算符<逻辑与运算符<关系运算符<算术运算符D.赋值运算符<关系运算符<逻辑与运算符<算术运算符22.能正确表示0<x<8的表达式是。
A. 0<x<8B. x>0||x<8C. x>0&&x<8D. x>0&x<8 23.y既不在-2到-1的范围内又不在1到2的范围内,其正确的表达式是。
A. (abs(y)<1)&&(abs(y>2))B. (1<2)&&(-2<-1)C. (abs(y)<1)||(abs(y>2))D. !(1<2)||!(-2<-1)24.若A为奇数时表达式的值为假,A为偶数时表达式的值为真。
则以下满足要求的表达式是。
A. A%2= =1B. A/2= =1C. A%2D. !(A%2)25.设 int x=1, y=1; 表达式 (! x || y - -)的值是。
A. 0B. -1C. 2D. 126.设 a=5, b=6, c=7, d=8, m=2, n=2, 执行 (m=a>b)&&(n=c>d)后n的值为。
A. 1B. 2C. 3D. 427.下面程序的输出是。
main(){ int a=-1, b=4,k;k=(a++<=0)&&(!(b- -<=0));printf("%d %d %d\n",k,a,b);}A. 0 0 3B. 1 0 3C. 0 1 2D. 1 1 21.以下说法正确的是。
A)输入项可以是一个实型常量,如scanf(“%f”,3.5);B) 只有格式字符串没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d);C) 输入一个实型数据时,格式控制部分应规定小数后的小数位数D)输入数据时,必须指定变量的地址,如scanf(“%f”, &f);2.以下程序的输出结果是。
main( ){ int a=12, b=12;printf("%d%d\n", --a, b++);}A)12 13 B)11 12 C)12 12 D)11 133.若有以下定义和语句char c1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+"A");则输出结果是。
A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定4.有如下程序main(){ int y=3, x=3, z=1;printf(“%d %d\n”,(++x, y++),z+2);}运行该程序的输出结果是。
A) 3 4 B) 3 3 C) 4 3 D) 4 25.设x是int型变量,y是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&x,&y);为了把100和765.12分别赋给x和y,则正确的输入为。