2007年4月南京大学C语言期中试题
南京大学《C语言程序设计》期中试卷
(2006年4月15日)
系科 学号______________姓名_____________成绩_______________
注意事项:
1、答案均写在答题纸上,写在卷面上无效;
2、答题结束后将试卷及答题纸全部交给监考教师;
3、闭卷考试,考试时间90分钟。
一 、单项选择题
1、 以下叙述错误是 (1)__ b
。
A、可在C源程序中任何需要的地方插入注解
。
B、 一个C源程序可以任意分成若干部分,放在多个文件中。
C、 一个C源程序的语句可以任意跨行书写。
D、一个C程序的main函数运行结束,即整个C程序运行结束。
2、 以下局部变量声明中,正确的是(2)__ B____ 。
A、??? int 2x=1,2y=0;
B、??? float x=2,y=sqrt(x)*x;
C、??? char do =1; D、 static
double f=2.0, f1=f*sin(f);0;
3、 若 x、i、j和k都是int型变量,则计算下面表达式 x=(i=4,j=16,k=32)后,x的值为_(3)C____。
A、????? 4 B、16 C、32 D、1
4、 以下中, (4) D______是正确的C语言常量。
① 0218 ② ’\0x1a’ ③ E-9 ④ 3.5f
⑤ (1/2)e-2 ⑥ 3L ⑦ 0xFF
A、 ①②③ B、 ③⑤ C、 ②④⑦ D、④⑥⑦
5、下列哪些是C语言中的错误表达式 (5) _C___
。
① ++a+++b ② “ABC” “abc” ③ -a++
④ -++a
⑤ ++-a ⑥ int(x)
⑦ x>y=2
A、①②③⑦ B、 ②③④⑤ C、①⑤⑥⑦ D、 ②④⑥⑦
6、 若有声明int a=0xfdf2; signed char b; 则执行b=a; 后,b的值为
(6)_B_____。
A、242 B、-14 C、14 D、-242
7、 若已声明int a=15,b=20,c=25,d=30; 则表达式ad?b:d 结果为 (7)_B__
。
A、20 B、25 C、 26 D、 30
8、 以下程序片段输出结果是 (8)___ D ____。
int a=2,b=-1,c=2;
if(a
if(b<0) c=0;
else c+=1;
c--;
printf(“%d\n”,c);
A、0 B、 2 C、3 D、1
9、在内存中需 (9)__C___个字节存储字符串“\t\”\182Name\Address\n”。
A、 16 B、 17 C、18 D、 23
10、下列语句中,正确的是 (10) b 。
A、???price=123,456; B、? d=(a>b) ? a=b : b=a;
C、???if(a=b) t=a;
D、 c=a=100+b=30-b*5;
11、若x为long int型变量,则以下_(11)___C__ ____ 表达式能正确的求出x的绝对值 。
A、 x?x:-x B、 fabs(x)
C、 abs(x)