2009年上海市高等学校计算机等级考试试卷二级C语言程序设计(-B-卷).docx
文本预览下载声明
2009年上海市高等学校计算机等级考试试卷
二级 C语言程序设计 ( B 卷)
一、单选题
1. 下列C语言的标识符中,不合法的标识符为____________
A. star
B. 1234
C. _a100
D. circuit9
2. 若已定义: int x=10;
则表达式 x=(4*5,x*5,x+25) 的值是 ______ 。
A. 20
B. 45
C. 125
D. 35
3. 若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执行语句: scanf(“%d, %f”,x,y,); 时,正确的键盘输入是 ______ 。
A. 55,55.5↙
B. x=55, y=55.5↙
C. 55↙55.5↙
D. x=55↙y=55.5↙
4. 若有说明语句:int x=25,y=20,z=30;
则执行语句:if(xy) {y=z; z=x;} x=y; printf(“%d,%d,%d”,x,y,z); 后,输出是____________
A. 25,20,30
B. 30,30,25
C. 25,30,30
D. 25,30,25
5. 程序段:int num=2;
while(num)
printf(“%d ,”,num--);
的运行结果是_______________
A. 2,1,
B. 2,1
C. 2,1,0
D. 2,1,0,
6. 若有说明:int a[3][4],s;则对数组a的元素引用正确的是____________
A. s=0; for(i=0;i=3;i++) for(j=0;j4;j++) s+=a[i][j];
B. s=0; for(j=0;j=4;j++) for(i=0;i3;i++) s+=a[i][j];
C. s=0; for(i=0;i4;i++) for(j=0;j=3;j++) s+=a[j][i];
D. s=0; for(i=0;i3;i++) for(j=0;j4;j++) s+=a[i][j];
7. 如果形参获取实参的地址,则____________作为函数调用时的实参。
A. 数组名
B. 全局量
C. 数组中全部元素的值
D. 数组中的元素个数
8. 若有定义:int i,j,*pi=i; 则与i==j等价的比较表达式是____________
A. i==*pi
B. *pi ==*j
C. i==j
D. i==**pi
9. 若有定义:struct person{
int id ;
char name[20];
} per,*s=per;
则以下对结构体成员的引用中正确的____________
A. per.name[0]
B. s-name[0]
C. per.name[8]
D. per.id
10. 若有以下语句:char x=5,y=9,z; z=(y|x)2;
则z的二进制值是________________
A.B.C.D.二、填空题
1. 设有说明语句:int a=15, b=6;
则a/b的十进制数值为________
2. 设有说明语句:int x=3, y=2; 则计算表达式(x=0) (y=6*x) 后变量y的值是_____________
3. 设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1||b+c/2后,t的值是_____________
4. 定义函数时,将其类型定义为void 则表示所定义的函数返回值为____________.
5. 下列程序的输出结果是________________
f(int a[])
{ int i=0;
while (a[i]=10)
{ printf(“%d ”, a[i]);
i++;
}
}
main()
{ int
f(a);
}
6. 下列程序的输出结果是______________
long fib(int g)
{ switch(g){
case 0: return(0);
case 1:
case 2: return(2);
}
return ( fib(g-1) + fib(g-2) );
}
main()
{ long k;
k = fib(5);
显示全部