计算机专业对口升学
安乡创维2013年上学期高二年级《C语言》期末考试试题
本试题共四大题,19小题。满分110分。
一.单选题(本大题共10小题。每小题4分,共40分) 1.一个C语言程序的基本单位是 A.函数 B.子程序 C.过程
D.命令
2.一个C语言程序的执行是从 A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序文件的第一个函数开始,到本程序main函数结束
3.若有说明语句:char c=’\72’;则变量。 A.包含1个字符 B.包含2个字符 C.包含3个字符 D.c的值不确定 4.正确的C语言自定义标识符是
A.int B.a.3 C._7c
D.5d_
5.若有代数式3ae/bc, 则不正确的C语言表达式是。 A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c
D、a*e/c/b*3
6.在C语言中,引用数组元素时,其数组下标的数据类型允许是 A.整型常量 B.整型表达式 C.整形常量或整形表达式 C.任何类型的表达式 7.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是。
A.float型 B.int型 C.long型
D.double型
8.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 。 A.extern
B.register
C.auto
D.static
9.C语言中,以下语句能跳过循环体中未执行的语句,接着执行本循环下一次迭代的语句是 。 A.空语句
B.break语句
C.return语句 D.continue语句 10.已知i=3,执行j=i++后,i和j的值分别为 A.i=4 j=-2
B.i=4 j=3
C.i=3 j=3 D.i=3 j=2
二、阅读程序,写出运行结果(每空5分,共30分)
11.#include
f(int a) {int b=0; static int c=3; b++; c++;
return (a+b+c); }
main( ) {int a=2,i;
for(i=0; i<3; i++) printf(“%4d”,f(a));
} 运行结果是
12.int x;
cude( ) {x=x*x*x;} main( ) {x=5; cude( );
printf(“%d\n”, x);
} 运行结果是____________________________
13.#include main() { int t=2; while (t<5) switch(t%2) {case 0: t++; printf("#"); break; case 1: t+=2; printf("*"); default: printf("\n");
}
} 运行结果是_____________________________ 14.#include f (int arr[ ] ) { int i=0;
for(; arr[i]<=10; i+=2) printf("%d", arr[i]); }
main( )
{ int arr[ ]={2,4,6,8,10,12); f (arr+1);
} 运行结果是_____________________________ 15.main()
{int a[20]={1,1,2,2,2,2,5,6,8,8,8,8,9,9,23,23,23,45,45,67}; int i, n=1;
for(i=1;i<20;i++) if(a[i]!=a[i-1]) a[n++]=a[i]; for(i=0;i
z=(x>y)?x;y; return (z); }
main()
{int a=1,b=2,c; c=max(a, b);
printf(“max is %d\n”, c); }
运行结果是_____________________________
三.程序填空。请按题目要求,将正确的内容填入相应位置中,使程序完整 (每
空5分,共30分)
17.以下程序的功能是:统计一维数组arr中小于平均值的元素个数。 #include int fun(int s[],float aver) { int i, count=0;
for(i=0;i<7;i++)
if(________________) count++; ; }
main()
{ int i,arr[7]={87,34,56,78,90,66,88};
float aver=0; for(i=0;i<7;i++) aver+=arr[i]; ;
printf("统计结果为:%d", fun(arr, aver));
}
18.以下程序的功能是:从3个红球、6个白球、5个蓝球中任意取出8个球,且其中至少有一个白球,输出所有可能的方案。
#include main( )
{int i, j, k;
printf("\n Red White Blue\n"); for(i=0; i<=3; i++)
; j<=6; j++) ; printf("%d %d
%d\n", i, j, k);
} }
四、阅读程序,修改程序中的改错。不得增行或删行,也不得更改程序结构。程
序中有2处错误(每空5分,共10分)
19.以下程序的功能是:求1到20的阶乘的和。请改正程序中的2个错误,使它
能得出正确的结果。 L1 main( ) L2 {int n, j;
L3 float s, t;
L4 for(n=1;n<=20;n++) L5 {s=1; L6
for(j=1;j<=n; j++)
L7 t=t*n; L8 s+=t; L9 }
L10 printf("jiecheng=%f\n", s); L11 }
行号
更正