
C语言程序设计习题及答案.docx
10页C语言程序设计习题及答案 第一局部 C语言根底 一、 单项选择1.以下不是C语言的特点的是〔 〕A) C语言简洁、紧凑 (B)能够编制出功能困难的程序 (C) C语言可以干脆对硬件进展操作 (D)C语言移植性好 2.以下浮点数的表示中正确的有〔 〕〔A〕223 〔B〕.719E22 (C ) e23 (D) 12e2.0 3.字符型常量在内存中存放的是〔 〕〔A〕ASCII代码 〔B〕BCD代码 〔C〕内部码 〔D〕十进制码 4. “BB\\n\\\\\\123\\r”在内存中占的字节数是〔 〕,此字符串的长度为〔 〕 〔A〕6 〔B〕7 〔C〕8 〔D〕9 〔E〕10 〔F〕115.对于语句scanf (“%f□%f,z=%f”,&x,&y,&z ); ,其合法的输入形式为〔 〕 〔A〕□14.7□2.0□15.3 〔B〕14.7,2.0,15〔C〕14.7□□2.0,15.3 〔D〕14.7□□□2.0,z=15 6.以下运算符中,结合方向为自左向右的是〔 〕。
〔A〕= 〔B〕 , 〔C〕+= 〔D〕――7.假设有int x ; 那么sizeof(x)和sizeof(int )两种描述( ) (A)都正确 (B)值不一样 (C)前者正确 (D)后者正确 8.整型变量x=1,y=3,经以下计算后,x的值不等于6的是( ) (A)x=(x=1+2,x*2) (B)x=y>2?6:5 (C)x=9 - (- -y) - (- -y) (D)x=y*4.2/2 9.单精度变量x=3.0, y=4.0,以下表达式中y的值为9.0的是( ) (A)y/=x*27/4 (B)y+=x+2.0 (C)y- =x+8.0 (D)y*=x-3.0 10.假设整型变量i=3,j=4,作运算j=i+ + + j + i后,i的值为( ),j 的值为( ) (A)10 (B)4 (C)3 (D)11 11.设有整型变量x=10,表达式(x&&1535)&(x|55&101)的值为( ) 。
(A)0 (B)1 (C)10 (D)1112.设有整型变量x,其值为25,那么表达式:(x&20>>1)|(x>10|7&x^33)的值为( ) (A)35 (B)41 (C)11 (D)313有整型变量x,单精度变量y=5.5,表达式:x=(float)(y*3+((int)y)%4)执行后, x的值为 ( ) (A)17 (B)17.500000 (C)17.5 (D)1614.表达式:0?2:0,3/2,0= =3>=2?55:6.0,4%3的值为( ) (A)1.3333333 (B)1 (C)6.0 (D)1.5 15.以下选项中属于C语言中数据类型的是( ) (A) 复数型 (B) 逻辑型 (C)双精度型 (D) 集合型 16.在C语言中,不正确的int 类型的常数是( ) (A) 32768 (B)0 (C)037 (D)0xAF 17.语句: printf( “ %d\\n”,(a = 2 ) && ( b = - 2 )); 的输出结果是( ) 。
(A) 无输出 (B) 结果不确定 (C)-1 (D) 118.当c 的值为0 时,在以下选项中能正确将c的值赋给变量a,b 的是( ) (A) c = b = a ; B) ( a = c )|| (b = c ); (C) ( a = c ) && ( b = c ); (D) a = c = b ; 19.以下程序的输出结果是( ) (A)3 (B)3.2 (C)0 (D)3.07 main( ) { double d = 3.2; int x, y; x = 1.2; y= ( x + 3.8 ) /5.0; printf ( “%d \\n “, d * y ); }20.以下变量定义中合法的是( ) (A〕 short _a= 1 - .1e-1; (B) double b = 1+ 5e 2.5 ; (C ) long do = 0xfdaL; (D) float 2_and = 1 – e –3; 21.设 int x = 1, y = 1 ; 表达式( ! x || y -- ) 值是 (A〕 0 (B〕 1 (C〕 2 (D〕 -1 22.以下程序执行后的输出结果是〔 〕。
(A〕 G (B〕 H (C〕 I (D〕J main( ) { int x = ?f ? ; printf ( “ % c \\n “, ?A? + ( x – ? a ? + 1 )) ; } 23. 以下程序执行后的输出结果是〔 〕 〔A〕 -32767 〔B〕FFFE 〔C〕-1 〔D〕 -32768 main( ) { char x = 0xFFFF ; printf( “ %d \\n “ , x --) ; } 24.设有如下定义: int i = 8 , k , a , b ; unsinged long w = 5; double x = 1.42 , y = 5.2 ; 那么以下符合C语言语法的表达式是: 〔A〕 a + = a - = ( b = 4 )* ( a = 3 ) 〔B) x% ( - 3 ) 〔C) a = a * 3 = 2 〔D) y = float ( i ) 25.以下程序的执行结果是〔 〕。
int a=2,c=5; printf(“a=%%d,b=%%d\\n”,a,c); (A) a=%2,b=%5 (B) a=2,b=5 (C) a=%%d,b=%%d (D) a=%d,b=%d26.在16位C编译系统上,假设定义long a; ,那么能给a赋40000的正确语句是( (A) a=20000+20000; (B) a=4000*10; (C) a=30000+10100; (D) a=4000L*10L; 27.以下表达正确的选项是 (A) 可以把define和if定义为用户标识符 (B) 可以把define定义为用户标识符,但不能把if定义为用户标识符 (C) 可以把if定义为用户标识符,但不能把define定义为用户标识符 (D) define和if都不能定义为用户标识符 28. 以下程序的输出结果是 main() { int a=3; printf(\ } ) (A) -6 (B)12 (C) 0 (D) –12 29.以下程序执行后的输出结果是(小数点后只写一位) (A) 6 6 6.0 6.0 (B) 6 6 6.7 6.7 (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(\ } 30. 已定义x为float型变量。
X=213.82631; printf(\ 那么以上程序运行结果为〔 〕 〔A).输出为-213.82 〔B).输出为213.83 〔C).输出为213.82 〔D).输出格式描述符的域宽不够,不能输出 二、填空 1.C语言规定,标识符只能由_______ ,_______ , _______三种字符组成,而且,第一个字符必需是_____或______.2. 一个C程序一般由假设干函数构成的,程序中有且只有一个______. 3. 一个C函数是由_________和____________两局部组成的 4.一个C程序总是从_______起先执行的.5.C语言的根本数据类型有_______.________.________和实型数据,其中实型数据又分为_________和_________.6.在内存中占据16位的无符号整型变量的范围是_______到_________. 7.在C语言中,八进制整常量以_____开头,十六进制整常量以_______开头.8.十进制数7转化为八进制为________,十进制数 –2248转化为十六进制为________. 9.在C语言中,&运算符用作_________运算和_________运算,而 * 运算符用作________和_________运算.10.将以下运算符按优先级从高到低依次排列:> = ! = ! +&&( )| | >> % & 是_______________________.11.?x?在内存中占_____字节,”x”在内存中占______字节,”\\101”在内存中占_____字节. 12.假设x为整型变量,执行语句x= ?b? - ?A?;后,x的值为________.13.浮点单精度变量x,执行表达式语句x =8.7 +123.7 * 6 – ?a?%7;后,x的值为______________.14.整型变量i和j,i的初值为3,执行表达式语句j=(i++)+(i++)+(i++);后,变量i的值为_____,变量j的值为______.15.整型变量a, b ,c它们的初值都是0,运行表达式:+ +a && b+ + && + + c后,a.b.c的值分别为:_____,______,_____.假设在同样的初值的条件下,运行表达式: + +a | | b+ + | | + + c后,a ,b ,c的值分别为:_______, ______,________.16.输出语句printf(“%-8.4s, %5.3f, M”, ”MAYAPP”, ”35.1753”, 12346);的输出结果为_______________________.17.假设x为单精度型变量,y为字符型变量,z为整型变量,执行如下的输入语句:scanf(%f%c%d”。
