x++;
printf(〞%d〞,x); }
2. 以下程序的输出结果为( )。 #include
{ int a,b,c,x; a=b=c=0; x=35; if(!a) x--; else if(b) ; if(c) x=3; else
x=4
printf(〞%d\\n〞,x);
} 3. 以下程序的输出结果为( )。 #include
void main()
{ int i,j,row,colum,max;
int a[3][4]={1,2,3,4,9,8,7,6,-10,10,-5,2}; max=a[0][0];
for(i=0;i<=2;i++) for(j=0;j<=3;j++) if(a[i][j]>max) { max=a[i][j]; row=i; colum=j; }
printf(〞max=%d,row=%d,colum=%d\\n〞,max,row,colum);
}
4. 下面程序的执行结果是( )。 #include
#define Min(x,y) (x)<(y)?(x):(y) void main()
{ int a=1,b=2,c=3,d=4,t; t=Min(a+b,c+d)*1000; printf(〞t=%d\\n〞,t); }
5. 下列程序的运行结果是( )。 #include
200801 C语言笔试试题(A) 第6 页,共9 页
void fun(int x)
{ putchar(′0′+x); if(x/10)
fun(x/10); }
void main()
{ int m=1234; fun(m);
putchar(′\\n′); }
6. 以下程序的运行结果是( )。 #include
void main()
{ int a[]={1,3,5},s=1,j,*p=a; for(j=0;j<3;j++) s*=*(p+j); printf(〞s=%d\\n〞,s);
}
五、程序设计题。(每小题10分,共20分)
1. 编程序实现功能:一个正整数与3的和是5的倍数,与3的差是6的倍数,求出符合此条件的最小正整数。
2. 函数reverse的原型为:void reverse(char s[]);,其功能是将字符串s中的字符位置颠倒。例如,字符串“abcdefg”中的字符位置颠倒后变为“gfedcba”。编制函数reverse并用相应的主函数进行测试。
200801 C语言笔试试题(A) 第7 页,共9 页
2008年第1次
二级C语言笔试试卷(A)参考答案
一. 单项选择题。(每小题1分,共20分)
1A 2C 3D 4C 5C 6B 7C 8B 9C 10D 11D 12C 13C 14B 15A 16D 17D 18A 19B 20C 二、基本概念选择填空题
① K ② D ③ C ④ G ⑤ J 三、程序填空题。(每空2分,共20分)。
1.①’\n’ ②num++;
2.③j<4 ④*(a+j) 或a[j] 3.⑤n<=m ⑥total+=sum; 4.⑦char* ⑧〞no〞 5.⑨i; ⑩g*g*g==i 四、阅读程序题(每小题5分,共30分) 1.1 2 3 2.4
3.max=10,row=2,colum=1 4.t=3 5.4321
6.s=15
五.编程序(每小题10分,共20分) 1.参考程序评分标准 评分标准:
(1) 主函数框架结构正确2分; (2) 循环控制结构正确4分; (3) 判断条件正确4分; ∥参考程序 #include
for(i=9;;i++)
{ if((i+3)%5==0&&(i-3)%6==0) { printf(〞%d﹨n〞,i); break; } } }
2.参考程序及评分标准 评分标准:
(1)函数reverse中的循环控制结构正确3分; (2)字符交换正确3分;
(3)主函数调用函数reverse正确2分;
(4)主函数中字符串输入/输出操作正确2分; #include
200801 C语言笔试试题(A) 第8 页,共9 页
#include
void reverse(char s[]) { int i,j; char c;
for(i=0,j=strlen(s)-1;i void main() { char s[100]; puts(“input a string:”); gets(s); reverse(s); puts(s); } 200801 C语言笔试试题(A) 第9 页,共9 页