湖南省计算机应用类专业综合知识高考(2012)C语言试题含答案
计算机应用类专业综合知识试题 第 PAGE 2页 (共 NUMPAGES 19页)
PAGE2 / NUMPAGES2
2012年湖南省对口高考计算机C语言试题
一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,本大题共3小题,每小题5分,共15分)
2012年20.以下正确的C语言自定义标识符是
A.int B.a.3 C._7c D.
2012年21.已知i=3,执行j=i++后,i和j的值分别为
A.i=4 -2 B.i=4 j=3 C.i=3 j=3D.i
2012年 22.C语言中,以下语句能跳过循环体中未执行的语句,接着执行本循环下一次迭代的语 句是
A.空语句 B.break语句 C.return语句D.continue语句
二、基本操作题(每空3分,共12分)
2012年28.C语言中,文件操作fopen函数的原型为FILE * fopen(char *filename, char *mode),用于打开一个指定文件,若成功则返回一个与之关联的流,否则返回 ①NULL(或0) ;代码片段FILE * fp=fopen("C:\\test.dat","a")的含义是以 ②追加 的方式打开路径"C:\\test.dat"对应的文件,当访问的文件是二进制文件时,还需要在字符串“a”后增加一个字符 ③b ,以上代码片段对应的关闭文件的C语言代码是④fclose(fp); 。
三、综合应用题(每小题20分,每空5分,共20分)
2012年31.30人参观博物馆共花50美元,其中成年男子门票为3美元/人,成年女子2美元/人,小孩1美元/人。编程输出成年男子、成年女子和小孩人数的所有组合。
题目分析如下:
设x,y,z分别代表成年男子、成年女子和小孩人数。按题目要求,可得下面方程:
x+y+z=30(1)
3x+2y+z=50(2)
用程序求此不定方程的非负整数解,可先通过(2)-(1)式得:
2x+y=20 (3)
由(3)式可知,x变化范围是①0-10
根据以上分析编写程序如下:
#include
main()
{
int x,y,z; /*x,y,z分别代表成年男子、成年女子、小孩人数*/
printf("Men Women Chlidren\n");
for(x=0; ②x<=10 ;x++)
{
___③y=20-2*x___________; /*按照(3)式根据x求y*/
___④_z=30-x-y______ ___; /*由(1)式求得z*/
if(3*x+2*y+z==50) /*当前得到的一组解是否满足式(2)*/
printf("%d %d %d\n",x,y,z);
}
}
四、程序分析题(本大题共3小题,共75分)
2012年33.阅读程序,写出运行结果(每空5分,共25分)
(1) #include
main()
{
int a=3,b=4;
a%=b+=a+=(a+b);
printf("%d,%d",a,b);
}
运行结果是____10,14__
(2) #include
main()
{
int x=2,y=7,z=5;
switch(x>2){
case 1:switch(y>0){
case 1:printf("1");break;
case 2:printf("2");break;
}
case 0:switch(z==5){
case 0:printf("3");break;
case 1:printf("4");break;
default:printf("5");break;
}
default:printf("6");
}
}
运行结果是__46____
(3) #include
main()
{
int a=8,y=0;
do{
a+=2:
y+=a;
if(y>30)
break;
}while(a=10);
printf("a=%d y=%d\n",a,y);
}
运行结果是_a=12 y=34_____
(4) #include
func(int a,int b)