第 2 章 C 语言的基本数据类型和表达式 选择题 1 、 C 语言中最简单的数据类型包括 A 、整型、实型、逻辑型 B 、整型、实型、字符型 C 、整型、字符型、逻辑型 D 、字符型、实型、逻辑型 2 、 C 语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符 A 、必须为字母 B 、必须为下划线 C 、必须为字母或下划线 D 、可以是字母,数字和下划线中任一字符 3 、 下列可用于 C 语言用户标识符的一组是 A 、 void, define, WORD B 、 a3_b3, _123,Car C 、 For, -abc, IF Case D 、 2a, DO, sizeof 4 、 下面四个选项中,均是不正确的 8 进制数或 16 进制数的选项是 A 、 016 0x8f 018 B 、 0abc 017 0xa C 、 010 -0x11 0x16 D 、 0a12 7ff -123 5 、 下列数据中,不合法的 C 语言实型数据的是 A 、 0.123 B 、 123e3 C 、 2.1e3.5 D 、 789.0 6 、 在 16 位 C 编译系统上,若定义 long a ;,则能给 a 赋 40000 的正确语句是 A 、 a=20000+20000; B 、 a=4000*10; C 、 a=30000+10000; D 、 a=4000L*10L; 7 、 若有说明语句: char c=' \ 72' ;则变量 c A 、包含 1 个字符 B 、包含 2 个字符 C 、包含 3 个字符 D 、说明不合法, c 的值不确定 8 、 有字符串如下, " \ n \\\ 407as1 \ " \ xabc", 则字符串的长度为 A 、 6 B 、 7 C 、 8 D 、 9 9 、 C 语言中运算对象必须是整型的运算符是 A 、 %= B 、 / C 、 = D 、 <= 10 、 若变量已正确定义并赋值,以下符合 C 语言语法的表达式是 A 、 a:=b+1 B 、 a=b=c+2 C 、 int 18.5%3 D 、 a=a+7=c+b 11 、 若变量 a,i 已正确定义 , 且 i 已正确赋值,合法的语句是 A 、 a= =1 B 、 ++i ; C 、 a=a++=5 ; D 、 a=int ( i ) ; 12 、 若有定义: 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.000000 13 、 若有运算符 <<,sizeof,^,&=, 则它们按优先级由高至低的正确排列次序是 A 、 sizeof,&=,<<,^ B 、 sizeof,<<,^,&= C 、 ^,<<,sizeof,&= D 、 <<,^,&=,sizeof 14 、 以下不正确的叙述是 A 、在 C 程序中,逗号运算符的优先级最低 B 、在 C 程序中, APH 和 aph 是两个不同的变量 C 、若 a 和 b 类型相同,在计算了赋值表达式 a=b 后 b 中的值将放入 a 中,而 b 中的值不变 D 、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 15 、 已知 int i,a; 执行语句 i= ( a=3,a++,- -a,a+4,a+5,++a ) ; 后,变量 i 的值为 A 、 2 B 、 3 C 、 4 D 、 5 16 、 设变量 a 是 int 型, f 是 float 型, i 是 double 型,则表达式 10+ ′ a ′ +i*f 值的数据类型为 A 、 int B 、 float C 、 double D 、不确定 17 、 在 C 语言中, char 型数据在内存中的存储形式是 A 、补码 B 、反码 C 、原码 D 、 ASCII 码 18 、 字符型数据在机器中是用 ASCII 码表示的,字符 ’ 5 ’ 和 ’ 7 ’ 在机器中表示为 A 、 10100011 和 01110111 B 、 01000101 和 01100011 C 、 00110101 和 00110111 D 、 01100101 和 01100111 19 不能进行 ++ 和 - - 运算的数据类型为 A 、指针 B 、整型 C 、长整型 D 、常量 20 设有 int x=11 ;则表达式( x++*1/3 )的值是 A 、 3 B 、 4 C 、 11 D 、 12 21 以下程序的输出结果是 main ( ) { int a=21,b=11; printf ( "%d \ n",- -a+b,- -b+a ) ; } A 、 30 B 、 31 C 、 32 D 、 33 22 假设整型变量 a,b,c 的值均为 5 ,则表达式 a+++b+++c++ 的值为 A 、 17 B 、 16 C 、 15 D 、 14 23 已知 int a=6; 则执行 a+=a-=a*a; 语句后, a 的值为 A 、 36 B 、 0 C 、 -24 D 、 -60 24 设变量 n 为 float 类型, m 为 int 类型,则以下能实现将 n 中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是 A 、 n= ( n*100+0.5 ) /100.0 B 、 m=n*100+0.5,n=m/100.0 C 、 n=n*100+0.5/100.0 D 、 n= ( n/100+0.5 ) *100.0 25 sizeof ( float )是 A 、一个双精度型表达式 B 、一个整型表达式 C 、一种函数调用 D 、一个不合法的表达式 26 在 C 语言中, int,char 和 short 三种类型数据在内存中所占用的字节数 A 、由用户自己定义 B 、均为 2 个字节 C 、是任意的 D 、由所用机器的机器字长决定 27 以下变量 x , y , z 均为 double 类型且已正确赋值,不能正确表示数学式子 x ÷ y ÷ z 的 C 语言表达式是 A 、 x/y*z B 、 x* ( 1/ ( y*z ) C 、 x/y*1/z D 、 x/y/z 28 下列关于复合语句和空语句的说法错误的是 A 、复合语句是由 “ { ” 开头,由 “ } ” 结尾的 B 、复合语句在语法上视为一条语句 C 、复合语句内,可以有执行语句,不可以有定义语句部分 D 、 C 程序中的所有语句都必须由一个分号作为结束 (42.0分)
点击查看答案