北航c语言期末试题答案,北航C语言期末拟试题2012.doc

北航C语言期末拟试题2012

选择题

1、sizeof(float)是(C)。

A、一个浮点表达式

B、一个不合法的表达式

C、函数调用结果是一个整型表达式。

D、一种函数调用

2、下列数据中属于"字符串常量"的是(B )。

A、'A'

B、"ABC"

C、ABC

D、'ABC'

3、用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法(B).

(用"[CR]"表示回车,U表示空格)

main()

{int i,k;

scanf("i=%d,k=%d",&i,&k);

}

A、i=10[CR]k=15[CR]

B、i=10,k=15[CR]

C、10U15[CR]

D、10,15[CR]

4、逻辑表达式3<2||-1&&4>3-!0的值为:(A)

A、1

B、3

C、0

D、2

5、下列运算符中是C语言关系运算符的是(C)。

A、&

B、~

C、!=

D、!

6、语句while(!E);中的表达式!E等价于(D)。

A、E==1

B、E!=0

C、E!=1

D、E==0

7、以下正确的描述是( A).

A、只能在循环体内和switch语句内使用break语句

B、continue语句的作用是终止整个循环的执行

C、从多层嵌套的外层循环中退出时,只能使用goto语句

D、在循环体内使用break和continue语句的作用相同

8、下面各语句中,能正确进行赋字符串操作的语句是( B).

A、char s1[5][ ]={"ABCDE"};

B、char s2[6]={'A','B','C','D','E'};

C、char st[ ][ ]={"ABCDE"};

D、char s[5]={'A','B','C','D','E'};

9、若有说明: int a[3][4]={0};则下面正确的叙述是(A)。

A、数组a中每个元素均可得到初值0

B、只有元素a[0][0]可得到初值0

C、数组a中各元素都可得到初值,但其值不一定为0

D、此说明语句不正确

10、若有说明 int a[3][4];则a数组元素的非法引用是(B)。

A、a[1][3]

B、a[0][4]

C、a[0][2*1]

D、a[4-2][0]

11、执行下面程序后,输出结果是(D)。

main()

{ int a,b,c;

a=45,b=27,c=0;

c=max(a,b);

printf("%d\n",c);

}

int max(int x,int y)

{ int z;

if(x>y) z=x;

else z=y;

return(z);

}

A、72

B、18

C、27

D、45

12、以下正确的描述是:在C语言程序中(B)。

A、函数的定义可以嵌套,但函数的调用不可以嵌套

B、函数的定义不可以嵌套,但函数的调用可以嵌套

C、函数的定义和函数的调用均可以嵌套

D、函数的定义和函数的调用均不可以嵌套

13、在C语言的函数中,下列正确的说法是(B)。

A、形参可以是常量和变量

B、可以有也可以没有形参

C、数组名不能作形参

D、必须有形参

14、设有宏定义#define PI 3.14 和#define S(r) PI*r*r,则S(2)的值为(B ).

A、6.28

B、12.56

C、3.14

D、9.42

15、int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是(D)。

A、4

B、2

C、不一定

D、3

16、若有以下程序段,则使用错误的选项是(C ).

struct student

{

int num;

int age;

};

struct student stu[3] ={{1001,20},{1002,19},{1004,20}};

main();

{

struct student *p;

p=stu;

;

}

A、(*p).num

B、(p++)->num

C、p=&stu.age

D、p++

17、若以"a+"方式打开一个已存在的文件,则以下叙述正确的是(A)。

A、文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作

B、以上各种说法皆不正确

C、文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作

D、文件打开时,原有文件内容被删除,只可作写操作

答案:CBBAC DABAB DBBBD CA

判断

1、#define 和printf 都不是C语句。对

2、格式字符%x用来以十六进制形式输出整数.对

3、语句if(a>b) printf("%d",a); else printf("%d",b);可以用条件表达式printf(“%d”,a>b?a:b);取代.对

4、逻辑表达式-5&&!8的值为1.错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值