2004年黑龙江省高职考试试卷
(本试卷满分300分,考试时间150分钟)
专业I:C语言编程基础部分
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一A、17,021,0x11 B、17,17,17C、17,0x11,021 D、17,21,11 9、C语言自定义函数的返回值的类型是由( )决定的。
A、return语句中的表达式类型 B、定义函数时,指定函数值类型 C、调用函数时临时确定的 D、无法确定
10、若执行以下C语言程序时从键盘上输入12,则输出结果是( ) main() { int n;
个是符合题目要求的,请将其代码填写在题的括号内。错选、多选或未选均无分。 1、以下说法正确的是( )
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,被调用的函数必须在main( )函数中定义 C、C语言程序总是从main()函数开始执行。
D、C语言程序中的main( )函数必须放在程序的开始部分 2、在C语言中,不正确的自定义标识符是( ) A、xyz B、INT C、x3d D、unsigned
3、在C语言中,若有以下定义:int a; float f; char c;则表达式a+f*c的值的类型为(A、char B、double C、float D、int 4、以下C语言程序的输出结果是( ) main()
{int x=3,y=2,z=0;
printf(\"%d\; } A、3 B、2 C、1 D、0
5、在C语言中,运算对象必须是整型数的运算符是( ) A、% B、/ C、%和/ D、==
6、在C语言中,下列函数中经常与getchar()组合起来使用的函数 是( )
A、 scanf() B、strcpy() C、puts() D、putchar() 7、以下C 语言程序的输出结果是( ) main()
{int x=10,y=3; printf(\"%d\} A、0 B、3.33 C、3 D、不确定 8、以下C语言程序的输出结果是( ) main() {int k=17;
printf(\"%d,%o,%x\
scanf(\"%d\
if(n++<10)printf(\"%d\else
printf(\"%d\}
A、14 B、13 C、12 D、11
11、在C语言中,己知i,j,k,为int型变量,若从键盘输入:1,2,3(回车) 要使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句 是( )。
A、scanf(\"%2d%2d%2d\ B、scanf(\"%d % d %d\C、scanf(\"%d,%d,%d\ D、scanf(\"i=%d,j=%d,k=%d\12、在C语言中,若有如下定义和语句,则输出结果为( ) char a[]=\"abcd\p=s+2;
printf(%c\A、b B、c C、cd D、bcd 13、以下C语言程序的输出结果是( ) main() {int x=-10; if(x>0) x=-x; printf(\"%d\}
A、-10 B、0 C、10 D、9 14、在C语言中,若己定义如下的数组: int x[15]=[0,1,2];
则数组x中的各元素占用的存储空间总共为( ) A、3 B、6 C、15 D、30 15、在C语言中, 以下函数定义: void fun(int n,double x) /........./
若以下选项中的变量都己正确定义并赋值,则对函数fun的正确调用语句
) 是( ) A、fun(n,x); B、k=fun(10,12.5)
C、void fun(n,x) D、fun(int y,double m); 二、填空题(本题共8小题,每空3分,共30分) 16、C语言语句分隔符是 。
17、在C语言中,整型(int)变量的取值范围为 。
18、与代数式 对应主C语言表达式是 。 19、在C语言中,设整型变量n的值为12,则表达式a+=a-=a*=a的值为 。 20、在C语言中,若已经定义如下的文件指针变量: FILE *fp;
现要以“只读”方式打开一个名为“abc.txt”的ASCII码文件,应执行的语名为 。 21、执行C语言程序后,输出“#”号的个数是 。 #include main() {int i,j;for(i=1;i<5;i++)
for(j=2;j<=i;j++) putchar('#'); }
22、运行下列C语言程序,显示结果为 。 main()
{int m[3][3]={1,4,7,2,5,8,3,6,9}; int i,k=2;
for(i=0;i<3;i++) printf(\"%d \}
23、以下C语言程序的功是调用函数fun计算:sum=1-2+3-4+5-6+„„n,并输出结果,请将程序补充完整。
int fun(int n) {int f=i,i; int ; for(i=1;ireturn s; }main() {int n;
scanf(\"%d,&n);
printf(\"sum=%d\ ); }
三、判断题(本大题共5题,每小题2分,共10分。)判断正误,将正确的划上“√”错误的划上“×”。 ( )24、一个由C语言编写的程序,只要经过编译就可生成可执行文件。 ( )25、在C语言中,所有的保留字均采用小写。 ( )26、在C语言中,条件运算符是一个唯一的三目运算符。 ( )27、在C 语言中,所有的关系运算符优先仍相联系,均低于算术运算符。 ( )28、在C语言中,while语句的循环体可以一次也不执行,而do-while 语句的循环体至少执行一次。
四、阅读以下C语言程序,写出程序运行的结果(本大题共6小题,每小题8分,共48分) 29、以下程序的输出结果是 。 main()
{int a=4,b=3,c=5,t=0; if(a>b)t=a;a=b;b=t; if(aprintf(\"%d %d %d\}30、以下程序的输出结果是 。 main() { int n;
for(n=1;n<=20;n+=2)
if(n%3==0)printf(\"%d\}
31、以下程序的程序输出的结果是 。 main() {int j;
for(j=4;j>=2;j--) switch(j)
{case 0:printf(\"%c\ case 1:printf(\"%c\ case 2:printf(\"%c\ case 3:printf(\"%c\default :printf(\"%c\}}
32、以下程序的输出结果是 。
main()
{int m[10],a;
for(a=0;a<10;a++) m[a]=10-a; printf(\"%d\
33、以下程序的输出结果是 。 main() {
int a=1,b=10; do
{b-=a;a+=3;} while(b>=0);
printf(\"a=%d,b=%d\}
34、以下程序的输出结果是 。 int add(int a,int b) {teturn(a+b);} main()
{int x=1,y=2,x=3,s; s=add(add(x,y),z); printf(\"%d\}
五、程序设计题(请用C语言按要求编写程序,本大题共2小题,每小题16分,共32分) 35、输入一批整数(当输入-1时结束输入),计算并输入其中奇数之和与偶数之和。(要求:用while语句实现,输入的变量定义为a,奇数之和为 s1,偶数之和为s2,输出s1,s2)
36、输入某班50个学生的学号和成绩,输出成绩在班级平均分数线以上(包括平均分)的所有学的学号,并统计出平均分数一以一的学生人数( 求:设置数组a存放学号,设置数组b存放成绩,不考虑输入数据的随机性,For语句,按“学号,成绩“格式输入,平均分以下的人数用m表示)。
专业I:C语言编程基础部分参
一、单项选择题(本大题共15题,每小题2分,共30分) 1、C 2、D 3、B 4、C 5、A 6、D 7、C 8、D 9、C 10、B 11、C 12、B 13、A 14、D 15、A 二、填空题(本大题共10题,每空3分,共30分) 16、;(或分号) 17、-32768—32767 18、sqrt(a*a+b*c)/(x-y)或 sqrt(pow(a,2)+(b*c)/(x-y))
19、0 20、fp=fopen(\"abc.txt\ 21、6 22、7 8 9 22、(1)、s=0 (2)、s+f*i(或f=f+i) (3)、fun(n)
三、判断题(本大题共5题,每小题2分,共10分) 24、× 25、√ 26、√ 27、× 28、√
四、阅读程序,写出程序运行的结果(本大题共6题,每小题8分,共48分) 29、5 0 3 30、3 9 1 31、4342 32、5 33、a=10,b=-2 34、6 五、程序设计题(请用C语言近要求编写程序,每小题16分,共32分)
35、#include main(){int a,s1=0,s2=0; scanf(\"%d\while(a!=-1)
{if(a%2==1) s1+=a;(s1+=a可为a1=s1+a或a%2==0 else s2+=a;(s2+=a可为s2=s2+a或s1=s1+a) scanf(\"%d\
printf(\"奇数之和是%d,偶数之和是%d\36、#include main() {int a[50],m=0,n; float b[50],s=0,ave; for(n=0;n<=50;n++){scanf(\"%d%f:,&a[n],&b[n]); s=s+b[n];} ave=a/50;
for(n=0;n<50;n++)
{if(b[n]>ave) printf(\"%d\\n\ printf(\"在平均分数级下的人数年是%d\}
s2=s2+a )