int n=0;
printf(“Enter mark\\n”); scanf(“%f”,&a);
while(a)=0.0 && n<1000)
{ sum 3 ;x[n]= 4 ; sum+=a a
n++;scanf(“%f”,&a); }
ave= 5 ;printf(“output\\n”); sum/n printf(“ave=%f\\n”,ave); }
试题三 下面程序的fun函数是计算s=1-2+3-4+﹍+99-100并输出结果。请填空。 #include
printf(“s=1-2+3-4+﹍+99-100=%d\\n”,______6____); fun(100) }
int fun(int n) { int s, f=1, i;
for(i=1,s=0;i<=n;i++) {
s+=i*f;
f=___________7___________; -f }
return s; }
试题四 下列程序的功能是输入一个字符串s,将所有空格删除后再输出。请填空。 #include 〈stdio.h〉 main( )
{ char s[80]; int x,y;
printf(“please Enter a string to s:”); gets(s);
for (x=0,y=0:_______8_______;x++) s[x]!=’\\0’ { if (? ?!=s[x] ) {_______9________:y++;} s[y]=s[x] }
36
s[y]=_________10__________; puts(s); }
’\\0’
全国高校计算机联合考试(广西)二级C语言试题卷
(2008年6月)
第一卷
本卷共70分,其中第1~26题每题2分,第27~32题每题3分。
第一部分:基础知识
1.一个C语言程序_____________。 C
A.应当包含一到多个主函数 B.应当有两个主函数 C.只能有一个主函数 D.可以没有主函数;
2. 下列字符序列中.可用作C语言用户标识符的是__________________。 B A.enum B._123 C.%as D.#age
3. 以下是C语言规定的保留字的是__________________。 D A.typeef B.out C. close D. static 4. 下列说法错误的是__________________。(字符和数字之间在能在0~255内转换) A.在C语言中,main后的一对圆括号中可以带有形参 B.在C语言中,main后的一对圆括号中可以不带有形参 C.在C语言中,各种数据类型可以自动转换 D.C语言中,一个字符占1个字节
5. 下列字符中,不正确的转义字符为__________________。 A A.’\\2’ B.?\\r? C.?\\\\? D.?\\104?
6. 在C语言中,变量的缺省存储类型是__________________。 D A.extern B.register C.static D. auto
7. int x=3;表达式x=++x+1;被执行后,变量x 的值为__________________。 B A.4 B.5 C. 6 D. 7
8.int x,y; double m=12.2, n=34.4;下列符合C语言语法的语句是_____________。 A.x=x*3=3 B. x= (x=3)=(n*4) C.n+++ D.x=2;x++; 9.以下程序 main() {
int a=1,b=2,c=3,d=4,m=6; if (a>b)
if(c>d) m=3; else m=4; else m=5;
printf(\}
执行后输出的结果是________。 C
37
C D
A.3 B.4 C.5 D.6
10.语句“while(!W);”中的表达式“!W”等价于________。 D A.W= =1 B. W!=1 C. W!=0 D. W= =0 11.判断字符串str1和str2是否相等的表达式为__________。 D A.strcat(str1,str2) B.str1=str2 C.strcpy(str1,str2) D.strcmp(str1,str2)= =0 12. 以下程序
#define SQR(x) x*x main()
{ int z,a=5,b=8;
z=SQR(b+2)/SQR(a); printf(“%d\\n”,++z); }
执行后输出结果是___________。 A A. 25 B. 5 C. 4 D. 24 13.int x=-1; do{
x=x*x; }while (x>0);
上面程序将执行的循环次数为_____________。 A
A.循环体执行无限次 B.循环体执行两次 C.循环体执行一次 D.系统提示有语法错误
14.若有下列定义char p[3],*pc=p;则对p数组元素地址的正确引用是_________。 B A.&p[3] B.pc+2 C.&p D.p++
15.对于数组int a[2][2];下列描述中能正确引用数组元素的是________。 B A.a[2][2] B.a[1][0] C.a(2,2) D.a[1,1] 16.对于C语言程序中的函数,下列叙述正确的是___________。 C A.函数的定义可以嵌套, 函数的调用不可以嵌套 B.函数的定义和调用均可以嵌套
C.函数的定义不可以嵌套,函数的调用可以嵌套 D.函数的定义和调用均不可以嵌套
17.表达式y<3?-1.0:1.0的值是类型应是______________。 B A.不确定 B.实型 C.整型 D.无符号整
18. 两个基本类型相同的指针变量之间,不能进行的运算是__________。 C A.> B.= C.+ D.-
19.若定义int [10]; 则turbo c编译系统为该数组分配的字节存储单元为________。 C A.10 B.11 C.20 D.21
20.若有定义int*a [4],b[4];则正确的赋值语句是_________。 D
A. a=b[0]; B. a=b; C. a[0]=b[0]; D. a[0]=&b[0]; 第二部分:简单程序 21.以下程序
#include
38
{
int x=1, y=3, z=0; if(!z) z++; if(x) z--; if(y) z-=1; printf (\
}
执行后输出的结果是_____________。 A A.-1 B.0 C.1 D.2 22.以下程序(sum末赋值) main( ) {
int i=10, sum; do {
sum=sum+1 ; }while (i--<0) ;
printf (\}
执行后输出的结果是_________。 D
A.9 B.10 C. 11 D. 不确定 23.以下程序执行后输出的结果是___________。 C #include
int i,n=1;
for (i=10 ; i>=0; i--) { if(i%2==0)
n++ ; }
printf (\}
A.5 B. 6 C. 7 D. 8
24.以下程序执行后输出的结果是________。 B #include
{ int a=1, b=0, c=2;
a-=b+(b&&c) ; printf (\}
A. 0 B.1 C. 2 D.3
25.以下程序执行后输出的结果是____________。 B #include
39
{ int m=0,n=0; for (n=10;n>0; n-=2) { m++;
n--;
} printf(\}
A. 3 B. 4 C. 9 D. 10
26.以下程序执行后输出的结果是________。 C #include
{ int i,a[3]= {0,0,0}; for( i=1 ; i<=2; i++)
a[i] = a[i-1]*2+1;
printf (\}
A. 1 B.2 C. 3 D. 4
27. 设x和y均为int型变量, 以下程序执行后,y的值是________。for(y=1, x=1;y<=50; y++) { if (x>=10) break;
if (x%2==1) {x+=5;continue;} x-=3; }
A. 2 B. 4 C.6 D. 8 28.以下程序运行后的输出结果为_________。 A #include
x++ ; z=x+y ; return z; }
main() {
int x=2, y=3, z=4; z=fun (x, y) ;
printf (\}
A. 2,3 B.4,5 C. 3,4 D. 3,6 29.以下程序运行后的输出结果为_________。 C #include
{ int a=0,b=1,c=2,d;
40
C