一、选择题(单选,每题2分,共20分)
1.已知 int x=1,y=2,z=3;则z+=x>y?++x:++y的值是(D)
A,2 B,4 C,3 D,6
2.已知int a[]={10,9,8,7,6},*p=a;则*(p+1)*(p+2)[2]的值是(C)
A,72 B,80 C,54 D,有语法错误
3.已知int i,j;表达式(j=i=5,i=j<=5+i>=3<=5)的值是(A)
A,1 B,5 C,3 D,0
4.从计算机所用资源(时间和空间)角度分析,宏与函数的主要区别是(B)
A,宏的使用节省了存储空间,函数消耗了时间;
B,宏的使用耗费了存储空间,函数消耗了时间;
C,宏的使用耗费了存储空间,函数节省了时间;
D,宏的使用节省了存储空间,函数节省了时间;
5.一维指针数组名作为实参,若有以下说明:
int *p[5];
....
sub(p);
则sub函数中对应的形参可以是(D)
A. sub(int *p[5]);
B. sub(int *p[]);
C. sub(int **p);
D. 以上答案都正确。
6.C语言函数中的形参和在函数中定义的变量,都是在调用该函数时系统会给他们分配存储空间,在函数调用结束时就释放他们所占的空间,该说法(A)
A错误 B正确
7.若有以下说明:
union
{int n[3];
char ch ;
float f;} a;
如果a.n[0]的地址为:158,则a.ch和a.f的地址分别为(A)
A 158,158
B 164,165
C 159,160
D 170,171
8.程序的3种基本控制结构是(C)
A 顺序,转移,选择;
B 选择,I/O, 递归;
C 重复,选择,顺序;
D 重复,递归,子程序。
9.程序段:
scanf(“%d%d”,&a,&b);
c=5*a+b;
if(c= =0) a=1;
else a=1/c+1/b;
保证该程序段运行不出错的必要条件是(C)
A b>0
B a>0&&b>0
C b!=0
D c!=0&&b!=0
10.在进行文件操作时,写文件的一般含义是(B)
A 将磁盘中的信息存入计算机CPU;
B 将计算机内存中的信息存入磁盘;
C 将计算机CPU中的信息存入磁盘;
D 将磁盘中的信息存入计算机内存。
二、按要求完成下列各题(共50分)
1.写出