全国高校计算机联合考试(广西考区)二级C语言试题卷
2011年12月24日闭卷考试考试时间:120分钟
考生注意:①本试题卷包括第一卷和第二卷,考试时间公120分钟。②第一卷全部为选择题,每题下都有四个备选答案,但只有一个是正确的或是最佳的答案。第一卷答案必须填涂在标准化答题卡上,标记在试题上的答案一律无效。每题只能填涂一个答案,多涂本题无效。考生本题无效。考生答第一卷的题目时务必使用2B铅笔按正确的填涂方法在答题卡上相应的题
号的答案的方格涂黑,如果改动答案,可用橡皮擦干净后在涂新答案。③第二卷均为填空题,在阅读和理解原题程序的基础上,在第二卷答题卡相应的空栏处填入适当的字符、语句。考
生答第二卷的题目时,要用钢笔或圆珠笔书写,用铅笔书写无效。在试题上直接答题者无效。④请考生在答题卡和第二卷答题卡上准确填涂或填写准考证号码。
第一卷
本卷共70分,其中第1~26题每题2分,第27~32题每题3分。
1. main()函数的特征是 D 。
A. 可独立运行的函数 B. 必不可少的函数 C. 最先执行的函数 D. 具有前述三种特征的函数 2. 下面标识符中,不合法的C语言标识符是 c 。
A. _char B. Char C. a#b D. a1b 3. 下面常量中,非法的C语言常量是 A 。
A.’tt’ B. 10L C.0.01 D.0x10
4. 设int 类型的数据长度为2个字节,则unsigned int 类型数据的取值范围是 C 。 A . -32768~32767 B. 0~255 C. 0~65535 D. -256~256 5. 若w、x、y均为int型变量,则执行下列语句后,y的值是 B 。 w=5;x=w++;y=x+w--;
1
A. 9 B. 11 C. 10 D. 12
6. 若之前有以下说明语句,则表达式c*x+z+y的结果类型是 A 。 char c; int x;float y,z;
A. double B. int C. char D. float 7. 若y为int型变量,则执行以下语句后,y的值是 C 。 y=8;y+=y-=y*y;
A.64 B. -56 C. -112 D. -48
8. 若m、a、b、c、d均为int型变量,则执行下列语句后m的值是 D 。 a=1;b=2;c=3;d=4; m=a>b?a:c A.1 B.4 C.2 D.3 9.若a、b为int型变量,则执行下列语句后b的值。D a=15;b=15; do { b-=a; a++; }while(b--< 0); A.0 B.-15 C.-16 D. -1 10. 若有以下语句,则下面选项 B 是正确的描述。 static char x[]=\; static char y[]={'c','h','i','n','a'}; A. x数组与y数组长度相同 B. x数组长度大于y数组的长度 C. x数组长度小于y数组的长度 D. x数组和y数组的赋值是非法的 11.while(!x)中的条件表达式(!x)与下面条件 A 等价。 2 A.x==0 B.x==1 C.x==0||x==1 D.x!=0 12.若已定义m为int型变量,则 D 是对指针变量p的正确说明和初始化。 A.int p=&m; B.int *p=m; C.int *p=*m; D.int *p=&m; 13.若用数组名作为函数的实参,则实际上传给形参的是 B 。 A.数组的全部元素值 B.数组的首地址 C.数组的第一个元素值 D.数组所含元素数目 14.若有以下语句,在执行语句j=!c&&i++;则变量i和j的值分别是 D 。 char c='x';int i=1,j; A.1,1 B.2,0 C.2,1 D.1,0 15.若之前有如下宏定义,则执行下列语句:z=4*(N+y(5));后的结果是 A 。 #define N 2 #define y(n) ((N+1)*n) A.z的值为68 B.z的值为180 C.z的值为60 D.语句有错误 16.在C语言中函数返回值的类型缺省时,函数默认为 C 。 A.return 语句中的表达式类型 B.调用该函数的主函数类型 C.int类型 D.void类型 17.若有以下语句,则对数组元素正确引用的是 C 。 int a[]={2,4,6,8,10,12},*ptr;ptr=a; A.a B.a[6] C.*ptr D.ptr 18.有以下说明和p=&stud1;语句,对结构变量的成员age的正确引用的是 A 。 struct student { int age; int sex; }stud1,*p; 3 A. p->age B. student.age C. *p.age D. student.stud1.age 19.语句float *p();说明了 C 。 A. p是指向一维数组的指针变量 B.p是一函数名,该函数的返回值是指向float 类型数据的指针 C.p是指向函数的指针,该函数返回值的类型是float D. p是指向float 类型的数据的指针变量 20.若要用fopen函数建一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应该为 B 。 A.\ C. \ D. \ 第二部分:简单程序 21.以下程序的输入结果是( C)。 main() { int n=4; while(n>0) {n--;printf(\ } A. 2 0 B. 3 2 1 C.3 2 1 0 D.2 1 0 22.下列程序运行后的输出结果是(D)。 main() { int i=1; while(i<=7) if(++i%3!=2) continue; else printf(\ 4 printf(\} A.158 B.26 C.125 D.258 23.两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果分别是(A)。 main() { int x; scanf(\ if(x>5)printf(\ else printf(\ } A.7和4 B.6和3 C.7和3 D.6和4 24. 下列程序运行后的输出结果是(B)。 main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf(\} A. a=1,b=1 B. a=2,b=1 C.a=1,b=0 5 D.a=2,b=2