试题及答案
《 高级语言程序设计 》考试试卷(B卷)
(闭卷 时间120分钟)
考场登记表序号
二 三 四 五 六 七 总分
题 号 得 分 阅卷人
一 一、单项选择题(每小题2分,共20分)
A. 1 B. 2 C. 3 D. 4
得分 【 】 1.在C语言中,’\\n’在内存占用的字节数是
2.不能作为C语言标识符的是 【 】 A. x B. x_x C. x_0 D. 0_x
3.设整型变量i的值为3,则表达式“i- - -i”的值为 【 】
A. 0 B. 1 C. 2 D. 3
4.设x为整型变量,和表达式“!(!x)”值完全相同的表达式是 【 】 A. x= =0 B. x= =1 C. x!=0 D. x!=1
5.若变量x和y为double类型,则表达式x=1,y=x+3/2的值是 【 】 A. 1 B. 2 C. 2.0 D. 2.5
6.在以下一组运算符中,优先级最高的运算符是 【 】 A. - - B. = = C. || D. &&
7.设x,y,z,t均为int型变量,执行下列语句串后变量t的值为 【 】 x=y=z=0; if (x=y) t=z; else t=!z;
A. 不定值 B. 2 C. 1 D. 0 8.设有下列循环语句,其循环体执行的次数是 【 】
for (x=0,y=0; (x<4)||(y!=123);x++);
A. 无限次 B. 不确定次 C. 4次 D. 3次
9.下列数据定义语句中,正确的是 【 】 A. char a[3][]={’abc’,’1’}; B. char a[][3]={ ’abc’,’1’}; C. char a[3][]={ ’a’, ”1”}; D. char a[][3]={ ”a”, ”1”};
10.设有下列数据定义语句,则下列选项中使b不为3的是 【 】 int a=3,b,*p=&a;
A. b=*&a; B. b=*p; C. b=a; D. b=*a;
二、填充题(每小题2分,共20分)
得分 试题及答案
1.用十进制表示整型常量-017为__________。 2.表达式“3>2>1”的值是__________________。 3.请写出数学式
a的C语言表达式____________________。 b.c4.C语言中作为运算对象时的逻辑值“真”是用__________表示的。 5.能表述“20 6.设有int x,y,z;表示其中至少有一个负数的表达式应为________________________。 7.在输入函数printf()中,“%f”格式是用于输入__________型的数据。 8.设有定义语句“ int a[3][4]={{1},{2},{3}};”,则a[1][1]值为________。 9.设有定义语句“int a[]={1,2,3,4,5};”,则a+1代表整数________的地址。 10.函数形参的作用域为__________________________。 三、阅读程序题(每小题5分,共20分) (1)#include int main() { int i,j; for (i=1;i<=5;i++) if (i<=3) { for (j=1;j<=3-i;j++) printf(\ for (j=1;j<=2*i-1;j++) printf(\ printf(\ } else { for (j=1;j<=i-3;j++) printf(\ for (j=1;j<=11-2*i;j++) printf(\ printf(\ } return 0; } (2)#include int main() 得分 { float x=5.1f; int y; -- if (x<0) ----- y=-1; ----- else -----if (x>0) ----y=1; ----- else ----- y=0; ----- printf(\----线 return 0; ----} ----- ----- -(3)#include 线--- ---int main() --订---{ int a[10]={1,3,5,2,4,6},k,i,j,m; - -- -装-- for (i=1;i<6;i++) - -- -超-- { m=i-1; - - 勿订 for (j=i;j<6;j++) -- -- -- if (a[m]>a[j]) 题-- -- -- m=j; -答---- k=a[m],a[m]=a[i-1],a[i-1]=k; ------ } ------ for (i=0;i<6;i++) ----- printf(\------ return 0; -----装} --- -----(4)#include -----int main() -----{ int a[]={4,0,8,6,2},*p=a,k,x,m=0; ----- for (k=1;k<5;k++) ---- if (*(p+m)<*(p+k)) --- m=k; x=*(p+m),*(p+m)=*(p+4),*(p+4)=x; for (p=a;p 四、程序填充题(每小题5分,共10分) 试题及答案 得分