2010上学期C语言期末试卷选择题

1、下列叙述中,不正确的是( )。

A、一个C源程序必须有且只有一个主函数 B、一个C源程序可以包含零个或若干个子函数 C、在C源程序中,注释说明必须位于语句之后 D、C源程序的基本结构是函数 2、下列叙述中,不正确的是( )。 A. 分号是C语句的必要组成部分 B. C语句的注释可以写在语句的后面 C. 函数是C程序的基本单位

D. 主函数的名字不一定有main表示 3、以下不是C语言的特点是( )。 A、 C语言简洁紧凑

B、C语言可以直接对硬件进行操作 C、C语言的可移植性好 D、C语言编程容易

4、构成C语言的基本单位是( )。

A、过程 B、函数 C、子程序 D、命令 5、一个C程序的执行是从( ) 。

A、main函数开始,直到main函数结束

B、main函数开始,直到最后一个函数结束 C、从第一个函数开始,直到最后一个函数结束 D、第一条语句开始,直到最后一条语句结束 6、在C语言中,main函数的位置 A、必须作为第一个函数 B、必须作为最后一个函数 C、可以任意

D、必须放在它所调用的函数之后 7、C程序是由( )构成的。

A、一个主程序与若干个子程序 B、一个或多个函数 C、若干过程 D、若干子程序 8、以下叙述不正确的是( )。

A.在C程序中,注释说明只能位于一条语句的后面 B. 注释说明被计算机编译系统忽略

C. 注释说明必须括在“/*”和“*/”之间,注释符必须配对使用 D. 注释符“/”和“*”之间不能有空格

9、下列符号串中,属于C语言合法标识符的是。

A. ex-1 B. if C. _cook D. 951a 10、当把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是( )。 A、K%2 B、K%2= =1 C、(K%2)! =0

D、!K%2= =1

11、对于一个完整的可运行的C源程序,下列哪一个说法是正确的? A、C语言程序总是从第一个定义的函数开始执行。

B、在C语言程序中,要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

D、C语言程序中的main()函数必须放在程序的开始部分。 12、下列运算符中优先级最高的是( ) A.< B.+ C.&& D.!=

13、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为( ) A.1 B.2 C.3 D.0

14、设有int = 14,则表达式(x++ *1/3)的值是: ( ) A、5 B、4 C、14 D、15

15、若x是单精度实型变量,表达式 x = 10/4 的值是_____ 。 A. 2.5 B. 2.0 C. 3 D. 2 16、 表达式 !x 等价于_____。

A. x == 0 B. x == 1 C. x != 0 D. x != 1

17、 在 C 程序中,用_____表示逻辑值\真\。

A. 1 B. 非 0 的数 C. 非 1 的数 D. 大于 0 的数

18、若变量已正确定义,语句if(a>b) k=0; else k=1;和______等价。 A. k=(a>b)?1:0; B. k=a>b; C. k=a<=b; D. a<=b ? 0 : 1;

19、若x、i、j、k都是int型变量,则计算下面表达式后,x的值为( )。 x=(i=4,j=16,k=32)

A. 4 B. 16 C.32 D. 52

20、10.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 。

A.0~255 B. 0~32767 C. 0~65535 D.0~2147483647 21、以下合法的十六进制数是()。 A、0x B、0x4de C、0xlh D、ox77

22、若a 为 int 型,且其值为3,则执行完表达式:a += a -= a*a后,a 的值是( )。 A、-3 B、9 C、-12 D、6

23、若t 已定义为 double 型,则表达式:t = 1 ,t + +,t +5 的值为( )。 A、 7 B、7.0 C、2.0 D、1.0

24、 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为______。 A. int B. float C. double D. 不确定

25、 下关于运算符优先顺序的描述中正确的是_____。 A. 关系运算符<算术运算符<赋值运算符<逻辑与运算符 B. 逻辑运算符<关系运算符<算术运算符<赋值运算符 C. 赋值运算符<逻辑与运算符<关系运算符<算术运算符

D. 算术运算符<关系运算符<赋值运算符<逻辑与运算符 26、 下列运算符中自左向右结合的是____。 A、 = B、 -> C、 ? : D、++ 27、 下列判断闰年的表达式中错误的是____。 A. leap = n % 400 == 0 || n % 4 == 0 && n % 100 != 0; B. leap = n % 4 == 0 && ( n % 100 != 0 || n % 400 == 0 ); C. leap = ! ( n % 400 != 0 && n % 4 != 0 || n % 100 == 0 ); D. leap = n % 400 == 0 && n % 4 == 0 || n % 100 != 0 ; 28、以下程序的运行结果是( ) main()

{ int a=3,b=2,c=1;

printf(“\\n%d\\n”,a

A.4 B.3 C.2 D.1 29、表达式______的值是0。

A. 3%5 B. 3/5.0 C. 3/5 D. 3<5

30、 表达式 !(x>0||y>0) 等价于_____。 A. !x>0||!y>0 B. !(x>0)||!(y>0) C. !x>0&&!y>0 D. !(x>0)&&!(y>0)

31、若变量已正确定义并赋值,表达式______不符合C语言语法。 A. 4&&3 B +a C. a=b=5 D. int(3.14)

32、设x,y,z,t均为int型变量,则执行以下语句后,t的值为_____。 x=y=z=1;

t=++x||++y&&++z;

A. 不定值 B. 2 C. 1 D. 0

33、标识符只能由字母、数字和下划线三种字符组成,且第一个字符_____。 A. 必须为字母 B. 必须为下划线

C. 必须为字母或下划线

D. 可以是字母,数字和下划线中任一种字符

34、190)若变量已正确定义并赋值,表达式 -k++ 等价于______。 A. -(k++) B. (-k)++ C. -(k+1) D. -(++k) 35、下面程序段的执行结果是() a=1;b=2;c=2; while(a

t=a ; a=b ; b=t ; c-- ; }

printf(“%d,%d,%d”,a,b,c);

A、1,2, 0 B、2,1,0 C 、1,2,1 D、2,1,1 36、以下程序段中的变量已正确定义

for( i=0; i<4; i++)

for(k=1; k<3; k++); pritntf(“*”); 程序段的输出结果是()

A、 ******** B、 **** C、** D、 * 37、以下是if语句的基本形式: If( 表达式 ) 语句 其中“表达式”()

A、必须是逻辑表达式 B、必须是关系表达式 C、必须是逻辑表达式或关系表达式 D、可以是任意合法的表达式

38、若函数中有定义语句:int k ; 则 。

A、系统将自动给k赋初值0 B、这时k 中的值无定义 C、系统将自动给k赋初值-1 D、这时中k无任何值 39、 若变量已正确说明为float类型,要通过语句scanf(\给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是: A. 10<回车> B 10.0,22.0,33.0<回车> 22<回车> 33<回车>

C. 10.0<回车> D. 10 22<回车> 22.0 33.0<回车> 33<回车> 40、 请阅读以下程序: main() {

int a=5, b=0, c=0;

if(a=b+c) printf(\\ e1se printf(\ }

以上程序_____。

A. 有语法错不能通过编译 B. 可以通过编译但不能通过连接 C. 输出*** D. 输出$$$

41、 若变量已正确定义,执行语句scanf(\\时,______是正确的输入。( _表示空格)

A. 2030,40 B. 20_30_ 40 C. 20, 30_ 40 D. 20, 30,40 42、下列程序的输出结果是_____。 fun(int a, int b, int c) {

c = a*b; }

main( ) { int c;

fun(2, 3, c);

printf(\ }

A. 0 B. 1 C. 6 D. 无法确定

43、在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。 A. int B. double C. void D. char

44、数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。 A. 该数组的元素个数 B. 该数组中各元素的值 C. 该数组的首地址 D. 以上答案均不对

45、以下关于说法正确的是_____。

A. 实参和与其对应的形参各占用独立的存储单元 B. 实参与其对应的形参共占用一个存储单元

C. 实参和与其对应的形参同名时才共占用存储单元 D. 形参虚拟的,不占用存储单元

46、 若调用一个函数(无全局、指针、静态变量),且此函数中没有return语句,则关于该函数正确的说法是_____。 A. 无返回值

B. 返回若干个系统默认值

C. 能返回一个用户所希望的函数值 D. 返回一个不确定的值

47、简单变量做实参时,它相对应形参之间的数据传递方式是____。 A. 地址传递 B. 单向值传递

C. 由实参传给形参,再由形参传回给实参 D. 由用户指定传递方式

48、下面说法正确的是_____。

A. 函数定义可以嵌套,但函数调用不能嵌套 B. 函数定义不可以嵌套,但函数调用可以嵌套 C. 函数定义和调用均不能嵌套 D. 函数定义和调用均可以嵌套

49、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是____。 A. 函数调用可以作为独立的语句存在 B. 函数调用可以作为一个函数的实参 C. 函数调用可以出现在表达式中 D. 函数调用可以作为一个函数的形参 50、 已定义以下函数 fun(int *p) { return *p; }

该函数的返回值是_____。

A. 不确定的值 B. 形参p中存放的值

C. 形参p所指存储单元中的值 D. 形参p的地址值 51、下列函数定义中,会出现编译错误的是_____。 A. max(int x,int y,int *z) B. int max(int x,y) { *z=x>y ? x:y; } { int z; z=x>y ? x:y;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4