C语言期末考试复习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言期末考试复习题及答案
一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正
确的,请将正确的选项涂写在答案纸上。答在试卷上不得分。
(1)C语言规定:在一个源程序中,main函数的位置 D 。
A)必须在最后B)必须在系统调用的库函数的后面。
C)必须在最开始。。D)可以任意
(2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。
A)必须为字母或下划线。。B)必须为下划线。
C)必须为字母D)可以是字母、数字和下划线中的任一种字符。
(3)下面四个选项中,均是正确的八进制数或十六进制数的选项是
B 。
A)-10 0x8f -011 B) 010 -0x11 0xf1
C) 0abc -017 0xc D) 0a12 -0x123 -0xa
(4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。
A)0 ~ 65535 B)0 ~ 32767
C)-32767 ~ 32768 D)-32768 ~ 327687
(5) 若有定义:int a = 7; floa x = , y = ;
则表达式x + a % 3 * (int) (x + y) % 2/4 的值是 D 。
A) B) 0.00000 C) D)
(6)已知ch是字符型变量,下面不正确的赋值语句是 B 。
A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ;
(7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的
是 A 。
A)!((x < y )&&!z || 1) B) ' x ' && ' y ' C) x || y+z && y - z D)x <= y
(8)设有程序段
int k = 10 ;
while ( k = 0 ) k = k - 1 ;
以下描述正确的是 A 。
A) 循环体语句一次也不执行。B) 循环是无限循环。
C) while 循环语句执行十次。D) 循环体语句执行一次。
(9) 以下C程序正确的运行结果是 A 。
main ( )
{long y = 23456;
printf ( " y = % 3x \ n ", y);
printf ( " y = % 8x \ n ", y);
printf ( " y = % # 8x \ n ", y);
}
A) y = 5ba0 B)y = 5ba0 C ) y = 5ba0 D)y =
5ba0
y = 5ba0 y = 5ba0 y = bba0 y = 5ba0
y = 0x5ba0 y = 0x5ba0 y = 0x5ba0 y = ####5ba0
(10) 当a = 1 , b = 3 , c =5 d=4时,则执行完下面一段程序后,x 的值是 C 。
if ( a < b )
if ( c < d ) x = 1;
else
if ( a < c )
if ( b < d ) x = 2 ;
else x = 3 ;
else x = 6 ;
else x = 7 ;
A)1 B) 3 C) 2 D) 6
(11) 下面程序的运行结果是 D 。
# include " "
main ( )
{ int a = 1 , b = 10
do
{ b - = a ; a + + ; }
while ( b - - < 0 ) ;
printf ( " a = % d , b = % d \ n ), a , b );
A)a = 3 , b = 11 B)a = 4 , b = 9
C)a = 1 , b = -1 D)a = 2 , b = 8
(12)以下for 循环的执行次数是 B 。
for ( x = 0, y = 0; (y = 123 ) && ( x<4 ); x + + );
A) 无限次。B)4次。C)0次。D)3次。
(13) 以下是死循环的程序段的是 C 。
A) for ( i = 1 ; ; ) B) i = 32767
{ if ( + + i % 2 = = 0 ) continue ; do { if ( i < 0 ) break ; } while ( + + i )
if ( + + i % 3 = = 0 ) break ; }
C) for ( i = 1 ; ; ) D) i = 1
if ( + + i < 10) continue ; while ( i - - ) ;
(14) 若有说明:int a[10] ; 则对a 数组元素的正确引用是
B 。
A) a [10 ] B)a[10 - 10] C)a ( 5 )
D)a[]
(15) 根据定义和数据的输入方式,输入语句的正确形式为
A 。
已有定义:float f1,f2; 数据输入方式:
A)scanf ("%f%f ",&f1,&f2); B) scanf ("%f ,%f
",&f1,&f2);
C) scanf ("%3.2f %2.1f ",&f1,&f2); D) scanf ("%2.1f %3.2f ",&f1,&f2);
(16) 已知ch是字符型变量,下面正确的赋值语句是 C 。
A)ch = '123' ; B) ch=' \08 '; C) ch =' \xff '; D) ch =" \ ";
(17)以下if语句语法正确的是 A 。
A) if (x>0) B) if (x>0) printf ( "%f ",-x )
{ x=x+y; printf ("%f ", x);} else printf
("%f",-x);
else printf ("%f ", -x);
C) if (x>0) D) if(x>0)
{x=x+y ; printf ("%f ", x);}; {x=x+y ; peintf ("%f", x)}
else printf ("%f", -x) ; else printf ("%f", -x);