二级 C语言考试试卷
(考试说明及第一部分计算机基础知识略)
第二部分 C语言程序设计
一、选择题(用答题卡答题,答案依次填在21~30答题号内)
21. 若有声明语句char s1[10]={0}s2[10]= "books";则能将字符串"books"赋给数组s1保存的表达式是  21 
A. s1=”books”;                        B. strcpy(s2,s1)
C. s1=s2;                                D. strcat(s1,s2)
22. 表达式(a=4*5,b=a*2,b-a,a+=2的值是  22 
A.2                B. 20              C. 22            D. 42     
23. 以下是一个自定义函数的头部,其中正确的是  23 
A. int fun(int a[ ]b)                  B. int fun(int a[ ],int a)
C. int fun(int * aint b)                D. int fun(char a[ ][ ]int b)
24. 以下数组声明语句中正确的是  24 
A.int na[n];                        B. int a[ ]
C. int a[2][3]={{1},{2},{3}};          D. int a[ ][3]={{1},{2},{3}};       
25.已知在某C语言编译系统中表达式sizeof(int)的值是2,如果希望将常量-70000正确地保存在一个变量a中,该变量声明语句应当是  25 
A.int aisalpha 函数;                              B. long int a
C. unsigned int a                      D. unsigned long int a
26. 以下声明语句中,用于声明一个行指针变量的是  26 
A. int *p(int);                        B. int *p
C.int (*p)[3];                        D. int (*p)(int)
27. 已知A盘根目录下的一个文本数据文件data.dat中存储了100个int型数据,若需要修改该文件中已经存在的若干个数据的值,只能调用依次fopen函数,已有声明语句FILE*fp;则fopen 函数的正确调用形式是  27 
A. fp=fopen(”a:\\data.dat”,”r+”)    B. fp=fopen(”a:\\data.dat”,”w+”)
C. fp=fopen(”a:\\data.dat”,”a+”)    D. fp=fopen(”a:\\data.dat”,”w”)
28. 在以下程序中,需要在fun函数中声明一个int型的变量,以下选项中  28  不能用作该变量的名字。
A.x                B. y                C. fabs              D. fun
#include<math.h>
int y
main( )
{int a=1
  fun(a)
}
int fun(int x)
{                              /* int型变量声明语句位置*/
…                                /*若干执行语句*/
}
29.如有语句:int x,y=0,z,* p[3]p[0]=&xp[1]=&yp[2]=&z  以下表达式中有语法错误的是  29 
A.y++              B. p++              C. *++p[0]          D. (*p[0])++
30. 设有声明语句:int a[3][3]={1,2,3,4,5,6,7,8,9};以下语句中除  30  外均能输出a[1][2]的值。
A.printf(“%d”,*(*(a+1)+2))          B. printf(“%d”,*(&a[2][0]-1))
C. printf(“%d”,*(a[1]+2))            D. printf(“%d”,*(a+1)[2])
二、填空题(将答案填写在答题纸的响应答题号内,每个答案只占一行)
基本概念题(共5分)
1.只能在循环体中出现的语句是 (1) 语句。
2. & 既可以用作单目运算符也可以用作双目运算符,其中用作单目运算符时表示的功能是 (2)
3.包含二目运算符的表达式可一般的表示为(x)op(y),其中op代表运算符xy代表操作数。若op 是“+”运算符,且xy均为常量时,不能同时为 (3) 常量。
4.当 (4) 语句被执行时,程序的执行流程无条件地从一个函数跳转到另一个函数。
5.在函数内部声明局部变量时缺省了存储类型,该变量存储类型为 (5)
阅读程序写出运行结果题(共10分)
6.以下程序段运行后,xyz的值分别是 (6)
int x=0,y=3,z=2;
if(x++&&y++)z--;
else if(x+1==6||y--)z++;
7. 设有以下宏定义:
#define N3
#define Y(n) ((N+1)* n)
则执行语句z=2 * (N+Y(5+1));后,z的值为 (7)
8.[程序]
int x=1;
main( )
{ int y,k;
  y=f(3);printf(“%d\n%d”,x,y);
}
int f(int x)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。