全国高校计算机等级考试(广西考区)
二级C语言
练习题
2013年11月编印
全国高校计算机联合考试(广西考区)二级C试题卷 2012年12月15日 闭卷考试 考试时间:120分钟
考生注意:①本试卷包括第一卷和第二卷。②第一卷全部为选择题,每题下都有四个备选答案,但只有一个是正确的或是最佳的答案。第一卷答案必须填涂在标准化答题卡上,标记在试题卷上的答案一律无效。每题只能填涂一个答案,多涂本题无效。考生答第一卷的题目时务必使用2B铅笔按正确的填涂方法在标准化答案卡上相应题号的答案的方格涂黑,如果改动答案,可用橡皮擦擦干净再另涂新的答案。③第二卷均为填空题,在阅读和理解原题程序的基础上,在第二卷答题卡相应题号的空栏处填入适当的字符、语句。考生答第二卷的题目时,要用钢笔或圆珠笔书写,用铅笔答题无效。在试题卷上直接答题者无效。④请考生在标准化答题卡和第二卷答题卡上准确填涂或填写准考证号码。
第一卷
本卷共70分,其中第1~26题每题2分,第27~32题每题3分。 第一部分:基础知识
1.在C语言中,main()函数的特征是 .。
A.可独立运行的函数 B. 必不可少的函数 C. 最先执行的函数 D. 具有前述三特征的函 2. 下列选项中,合适的C语言关键字是 .。
A. VAR B. char C.integer D. begin 3. 以下选项中,合法的C语言用户标识符是 。
A. short B. 3D C. _2Good D. A.bat 4. 以下选项中,合法的C语言常数是 A 。
A. 0Xab B. 6E3.0 C. 0128 D. 1.5E 5. 表达式1 != 0的值是 。
A. 0 B. 1 C. true D. false 6. 设有char c; int x; float y;double z;,则表达式c*x+z+y的结果类型是 。 A. double B. int C. char D. float 7. 设有int a=5;,则执行完表达式a+=a-=a*a后,a的值是 。 A. -5 B. 10 C. -20 D. -40 8. 设有int a,b,c,z; a=1;b=2;c=3;,则执行z=(a>b)?a+c:(a 9.设有int i;for(i=0;i<=5;){printf(“#”);i++;},则输出的字符“#”个数为 。 A. 4 B. 5 C. 6 D. 7 10.设有定义:int a[10];则对数组a的元素引用正确的是 。 A.a[10] B. a[3] C. a.3 D. a(3) 11.设有如下定义:int a[3][4];则关于二维数值的叙述错误的是 。 A. 数组a包含12个元素 B.a[0]可以看成包含4个整型元素的一维数组 C.可以进行a[0]=0的赋值操作 D. a[0]是数组名,代表数组a[0][0]的地址 12.在函数调用中,调用函数的实参与被调用函数的形参应有如下关系 。 A.只要求实参与形参个数相等 B.只要求实参与形参顺序相同 C.只要求实参与形参数据类型相同 D.上述三点均具备 13.设有char str[10];,若用str存储一个字符串,则该字符串最多能表示 。 2 A. 9个字符 B. 10个字符 C. 8个字符 D. 11个字符串 14.设有int *px=&a;,则指针变量的名字是___。 A. *px B.a C.px D.&a 15.设有int m[]={2,4,6,8};*k=m;则表达式*(k+2)的值是 。 A.6 B.4 C.2 D. 8 16.以下选项中有语法错误的是 D 。 A.char str[10]=”guest”; B.char *str; str=”guest”; C.char str[]=”guest”; D.char str[10];str=”guest”; 17.设有int a[3][2]={1,2,3,4,5,6};*p=a[0];,则对数组元a[2][1]引用正确的是 。 A.*(p+6) B. *(a+2)+1 C. *(a[2]+1) D. *(*(a+2+1)) 18.设有如下定义,则能输出字母M的语句是 。 struct person {char name[9]; int age;}stu[4]={”Johu”,17,”Paul”,19,”Mary”18,”Adam”,16}; A. prinft(”%c\\n”,stu[3].name); B. prinft(”%c\\n”,stu[3].name[10]); C. prinft(”%c\\n”,stu[2].name[1]); D. prinft(”%c\\n”,stu[2].name[0]); 19.设有定义:typedef int APPAY[10];则以下叙述不正确的是 。 A. APPAY是数组类型,包含10个元素 B. typedef创造了新的类型APPAY C. typedef没有创造新的类型 D. typedef只是对己有的类型用一个新名字表示 20.若要打开D盘上user子目录名为file.txt的文本文件进行读、写操作,则下面符合此 要求的函数用是 。 A. fopen(“D:\%user\\file.txt”,“r+”); B. fopen(“D:\%user\\file.txt”,”r”); C.fopen(“D:\%user\\file.txt”,”rb”); D. fopen(“D:\%user\\file.txt”,”w”); 第二部分:简单程序 21. 以下程序的运行结果为 。 #include { int a=2,b=3,x; x=((a++,++b),b+2); printf(“%d,%d,%d\\n”,a,b,x); } A. 2,3,4 B. 3,4,5 C. 3,4,6 D. 2,4,6 22. 以下程序的输出结果是 。 #include { int x=15,y; if(x<0) y=-1; else if(x<10) y=0; else y=1; printf(“%d \\n”,y); 3 } A. 1 B. -1 C. 0 D. 2 23. 运行下面的程序,其输出是 。 #include { int a=0,i; for(i=0;i<4;i++) { switch(i) { case 0: case 1: a+=1; case 2: a+=2; break; default: a+=5; } } printf(“%d\\n”,a); } A. 11 B. 13 C. 15 D. 18 24. 以下程序运行后,输出结果是 。 #include { int i,sum; for(i=1;i<=5;sum++) sum=sum+i; printf(“%d\\n”,sum); } A. 10 B. 15 C. 死循环 25. 下列程序的输出结果是 。 #include { int a[7]={0,1},i; for(i=2;i<7;i++) a[i]=a[i-1]+a[i-2]; printf(“%d”,a[6]); } A. 2 B. 8 C. 5 D. 3 26. 下面程序运行后,其输出是 。 #include 4 D. 5 { int a=2,b=5,c=8,x; x=func(a,func(b,c)); printf(“%d\\n”,x); } A. 10 B. 20 C. 40 D. 80 27. 以下程序运行后,输出结果是 。 #include { int x[3][3]={{1,3,5},{12,14,16},{15,17,13}};int i,j,min=x[0][0]; for(i=0;i<3;i++) for(j=0;j<3;j++) if( min>x[i][j]) min=x[i][j]; printf(“%d\\n”,min); } A. 1 B.12 C. 15 D. 17 28. 以下程序运行后,输出结果是 。 #include { int a=5,b=6; printf(“%d\\n”, F(a+b,a+b)); } A. 121 B. 155 C. 61 D. 330 29. 运行下面的程序后,其正确的输出是 。 #include { static int t=3;int sum; sum=z+t; t--; return(sum); } main() { int a[]={1,2,3,4},i,x; for(i=0;i<4;i++) { x=fun(a[i]); printf(“%d”,x); } } A. 1234 B.3333 C.4567 30.下面程序运行后,其输出是_ ___。 #include 5 D.4444