全国高等教育自学考试高级语言程序设计一试题精编WORD版.docx
《全国高等教育自学考试高级语言程序设计一试题精编WORD版.docx》由会员分享,可在线阅读,更多相关《全国高等教育自学考试高级语言程序设计一试题精编WORD版.docx(9页珍藏版)》请在冰点文库上搜索。
全国高等教育自学考试高级语言程序设计一试题精编WORD版
IBMsystemofficeroom【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】
全国高等教育自学考试高级语言程序设计一试题精编WORD版
全国2009年1月高等教育自学考试高级语言程序设计
(一)试题
一、单项选择题(本大题共15小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.设inta,b;,则表达式(b=2,a=5,b++,a+b)的值是()
A.2B.5
C.7D.8
2.设inta=7;floatx=2.5,y=4.7;,则表达式x+3%(int)(x+y)/4的值是()
A.2.75B.3.5
C.2.5D.0.0
3.设charcl;,则cl中为小写英文字母字符的正确表达式为()
A.’a’<=c1=’z’B.(cl>=’a’)&&(cl<=’z’)
C.(cl>=a)&&(c1<=z)D.(’a’<=c1)||(’z’>=c1)
4.一维数组a的正确说明语句为()
A.inta(10);B.intn=10,a[n];
C.intn;D.#defineSIZE10
scanf(″%d″,&n);inta[SIZE];
inta[n];
5.已知字符’A’的ASCII码值是65,且charcl=’A’,c2=’D’;
则执行语句printf(″%d,%d\n″,cl,c2-2);后的输出结果是()
A.A,DB.A,B
C.65,68D.65,66
6.正确的条件语句为()
A.if((a=b;)>0)t=a;B.if((a=b)>0)thent=a;
C.if(a>b)t=a;D.if(a
7.若有下列程序段:
intx=l,y=2;x=x+y;y=x-y;x=x-y;
则执行后x和y的值分别为()
A.1和2B.2和2
C.2和1D.1和1
8.设intk,a,b;unsignedlongw=5;doublex=1.42;
则不符合类型要求的表达式是()
A.x%(-3)B.w+=2
C.k=(a=2,b=3)D.a+=(b=4)*(a=3)
9.设inta=3,b=4;,则printf(‘‘%d,%d,”(a,b),(b,a));的输出结果是()
A.3,4B.4,3
C.3,4,4,3D.4,3,3,4
10.设inti=l,k=2;,则错误的循环语句是()
A.for(i=0,k=-1;i++,k++);B.for(;k-1;i++);
C.for(i=1,k=4;k--;i++);D.for(;k--;);
11.设typedefstruct{inta;chars[10];}TYPE;
TYPEu1;
则printf(‘‘%d\n”,sizeof(u1));的输出结果是()
A.2B.12
C.14D.16
12.设charsl[]=“string1”,s2[8],*s3,*s4=“string2”;,则对系统函数strcpy的错误调用是()
A.strcpy(s1,“string1”);B.strcpy(s4,“string2”);
C.strcpy(“string2”,s2);D.strcpy(s3,“string1”);
13.正确的数组定义及初始化的是()
A.chara[10]={“string”};B.inta[5]={0,1,2,3,4,5};
C.chara={“string”};D.inta[]={x,y,z};
14.在循环体中用来强制继续循环的语句是()
A.breakB.continue
C.exitD.return
15.在C语言中,标准的输入设备stdin是指()
A.软盘B.硬盘
C.显示器D.键盘
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。
错填、不填均无分。
16.设有宏定义#defineX10-4,则printf(“%d\n”,6*X);的输出结果是___________。
17.设doublex:
,则表达式x=5,(x+5)/2的值是___________。
18.能正确表述“219.设有循环语句for(i=-1;i<=5;i++)i++;,则其循环体执行的次数是___________。
20.调用系统函数strcmp(),必须在程序的开头写上一条文件包含命令是___________。
21.设chars[15]=(“programming”);,则printf(“%d\n”,strlen(s));的结果是___________。
22.设floata[3][4]={{7.5,8.2},{2.3,3.7,1.2},{1.0,3.4}};,则a[2][1]的值是___________。
23.设chara[20]={‘‘Switch”},*p=a:
,则*(p+2)的值是___________。
24.在函数间传递数据时,函数的形参和调用时的实参都是数组,传递方式为___________。
25.若文件型指针fp已指向某文件的末尾,则函数feof(fp)的返回值是___________。
三、程序分析题(本大题共4小题,每小题4分,共16分)
阅读下列程序,将输出结果写到各题右侧的空白处。
26.main()
{intx=1,a=0,b=0;
switch(x)
{
case0:
a++;break;
casel:
b++;
case2:
a++;b++;break;
case3:
a++;b++;
}
printf(″a=%d,b=%d\n″,a,b);
)
27.main()
{inta=10,b=20,*p1=&a,*p2=&b;
*p1=20;*p2=40;
if(*p2>*p1)*p1=*p2;
printf(″a=%d,b=%d\n″,a,b);
}
28.f(intb)
{staticinty=3;
return(b+y++);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
printf(″%d\n″,f(a++));
}
29.intfuns(intn)
{if(n==1||n==2)return2;
elsereturnn+funs(n-1);
}
main()
{intx=4;
printf(″S=%d\n″,funs(x));
}
四、程序填充题(本大题共3小题,每小题6分,共18分)
请将下列程序横线处缺少的部分补上,使其能正确运行。
30.从键盘输入10个整数,用“冒泡排序法”由小到大进行排序。
#defineN10
main()
{inti,j,t,a[N];
for(i=0;ifor(i=0;ifor(j=N-1;j>=i+1;______)/*第一空*/
if(a[j]{t=a[j];________;a[j-1]=t;}/*第二空*/
for(i=0;iprintf(″\n″);
}
31.统计文本文件file.dat的行数(提示:
以’\n’作为每行的结束)。
#include
#include
main()
{intlines=_________;/*第一空*/
charch;
FILE*fp;
fp=fopen(″file.dat″,″r″);
while(_______)/*第二空*/
{ch=fgetc(fp);
if(ch_____’\n’)lines++:
/*第三空*/
}
printf(″Lines=%d\n″,lines);
fclose(fp);
}
32.从键盘输入10名学生的姓名和数学、英语及C语言的成绩,计算并输出其总成绩和平均成绩。
typedefstruct
{charname[20];
intmath,english,C;
floatsum,aver;/*总成绩和平均成绩*/
}STU;
main()
{STUst[10],*p;
inti:
for(i=0;i<10;i++)
{printf(″Inputname:
″);
scanf(″%s″,______);/*第一空*/
printf(″Input3score:
″);
scanf(″%d,%d,%d″,&st[i].math,&st[i].english,&st[i].C);
}
for(p=st;pp++)
{p->______=p->math+p->english+p->C;/*第二空*/
p->______=p->sum/3;/*第三空*/
printf(″name=%s,sum=%5.1f,aver=%5.1f\n″,p->name,p->sum,p->aver);
}
}
五、程序设计题(本大题共2小题,每小题8分,共16分)
33.输入实数x,按下列公式计算并输出x和y的值(小数点后保留两位)。
34.
(1)编写一个计算摄氏(C)到华氏(F)转换的函数。
函数头是:
floattemp(floatc)
计算公式:
F=
(2)编写主函数从键盘输入摄氏温度的值,调用上述函数输出摄氏及华氏温度的值(小数点后保留两位)。
全国2009年1月高等教育自学考试
高级语言程序设计
(一)试题
一、单项选择题(本大题共15小题,每小题2分,共30分)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
D
C
B
D
D
C
A
A
B
A
B
C
A
B
D
二、填空题(本大题共10小题,每小题2分,共20分)
16.5617.5.018.x>2&&x<3||x<-1019420.#include21.1122.3.423‘i’24.按地址传递25.1
三、程序分析题(本大题共4小题,每小题4分,共16分)
26.a=1,b=2
27.a=40,b=40
28.5
7
29.s=9
四、程序填充题(本大题共3小题,每小题6分,共18分)
30j--a[j]=a[j-1]a[i]31.0!
feof(fp)==32.st[i].namesumaver
五、程序设计题(本大题共2小题,每小题8分,共16分)
33#include
main()
{floatx,y;
scanf(“%f”,&x);
if(x<=0)y=sin(x);
elseif(x<=10)y=x*x+1;
elsey=1/(x*x*x+x*x+1);
printf(“y=%.2f\n”,y);}
34.解法一:
floattemp(floatc)
{floatf;
f=9.0/5*c+32;
return(f);
}
main()
{floatc;
scanf(“%f”,&c);
printf(“%.2f\n”,temp(c));
}