全国2014年4月自考《高级语言程序设计(一)》试题
温馨提示
亲爱的学员,您好!
高级语言程序设计(一)试题
课程代码:00342
请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分
注意事项:
1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。
一、单项选择题(本大题共15小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。
1.表达式9%45+15/6*2的值是
A.4 B.5
C.10 D.13
2.设int a[10];,则数组a的下标正确的使用范围是
A.0到9 B.0到10
C.-1到9 D.1到10
3.执行语句printf("%c",'A'+3);后输出结果是
A.3 B.A
C.D D.68
4.设int ml=60,m2=80,m3=100;,表达式m3>m2>ml的值是
A.0 B.1
C.60 D.100
5.下列程序段执行后,变量n的值是
Static int n;
do {n=n+1;} while(n<1000);
A.1 B.999
C.1000 D.1001
6.设int a,b,c;,执行语句priritf("%d",(a=1,b=2,c=3));后输出结果是
A.6 B.3
C.2 D.1
7.设int n=2;,执行语句n+=n-=n-n;后n的值是
A.0 B.2
C.4 D.6
8.设int a[2][3]={1,2,3,4,5};,数组元素a[1][1]的值是
A.1 B.2
C.4 D.5
9.设int a=10,b=20,c=1,d=2;,执行语句if(a<b&&c>d&&(c=10)||c==100)d=200;后,c和d的值分别是
A.1和2 B.1和200
C.10和2 D.100和200
10.下列数组初始化后,元素值不全为0的是
A.int a[5]={0}; B.int a[5]={'0'};
C.static int a[5]; D.int a[5]={0,0,0,0,0};
11.设int a[]={11,21,31,41,51,61},*p=a;,表达式*p++的值是
A.11 B.21
C.31 D.41
12.设
Struct t
{ int a;
float b;
char c[10];
}x[2]={{1,6.6,"Dollar"},{2,9.8,"Pound"}};
则执行语句printf("%d,%s",x[1].a,x[1].c);后输出结果是
A.1,Dollar B.2,Dollar
C.1,Pound D.2,Pound
13.设char sl[10]="Better",s2[10]="Life";,执行语句printf("%s",strcat(s1,s2));后输出结果是
A.LifeBetter B.BetterLife
C.Better D.Life
14.下列程序段的输出结果是
int n=6;
while(n>3)
{ n--;
if(n%2==0) continue;
printf("%nd",n);
}
A.13 B.35
C.53 D.654
15.下列程序的输出结果是
int a=l;
int f ()
{ int a=2;return a;}
void main()
{printf("%d,%d",a,f());}
A.1,1 B.1,2
C.2,1 D.2,2
非选择题部分
注意事项:
用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
二、填空题(本大题共10小题,每小题2分,共20分)
16.指针变量中存放的是______。
17.设int a;,从键盘输入数据给变量a的输入语句是______。
18.break语句除可在循环语句中使用外,还可以用于______。
19.一个源程序中允许有多个函数,但必须有且只能有一个______。
20.设int m[10],*p;,使指针变量p指向数组m首元素的语句是______。
21.运算符+=、&&、<和!中,优先级最低的是______。
22.设int x=12;,执行语句X>>=2;后X的值是______。
24.设char s[20]="Computer";,则strlen(s)的值是______。
25.表达式(int)(3.5+1/2)的值是______。
三、程序分析题(本大题共4小题,每小题4分,共16分)
阅读下列程序,将输出结果写到答题纸上。
26.void main()
{
int k,m;
for(m=3;m<12;m++)
{ for(k=2;k<m;k++)
if(m%k==0) break;
if(k==m) printf("%2d",m);
}
}
27.#define N 5
void main()
{
int k, sl=0,s2=0;
for(k=1;k<N;k++)
switch(k%4)
{ case1:
case 2:sl+=1;break;
case3:
case0:s2+=1;break;
}
printf("s1=%d,s2=%dn",s1,s2);
}
28.int f(intt)
{
int b;
static int c=3;
b=c+t;
c++;
return b;
}
void main()
{
int i,k;
for(i=1;i<3;i++)
{ k=f(i);
printf("%2d",k);
}
printf("\n");
}
29.int f(int n)
{
if(n=2)return 0;
else return(n+f(n-2));
}
void main()
{
int a=10;
printf("%d\n",f(a));
}
四、程序填充题(本大题共3小题,每小题6分,共18分)
请将下列程序横线处缺少的部分在答题纸相应位置补上,使其能正确运行。
30.求a、b和c的最大值并输出。
#include<stdio.h>
int f(int x,______) /*第一空*/
{return(______?y∶x);} /*第二空*/
void main()
{
int a=3,b=4,c=5,d;
______=f(f(a,b),f(a,c)); /*第三空*/
printf("%dn",d);
}
#include<stdio.h>
void main()
{
float sum;
float fun(int);
______=fun(10); /*第一空*/
printf("sum=%.4f\n",sum);
}
float fun(______n) /*第二空*/
{
int f=1,i;
float m=0;
for(i=1;i<=n;i++)
{ m+=1.0/i*f;
______=-f; /*第三空*/
}
return m;
}
32.将一维数组逆序存放后输出。例如int a[3]={1,2,3},逆序存放后int a[3]={3,2,1}。
include<stdio.h>
void move(int*p,int n);
void main()
{
int i,n=6,a[6]={1,2,3,4,5,6};
move(a,5);
for(i=0;i<n;i++) printf("%5d",______);/*第一空*/
}
void move(int*p,int n)
{
______; /*第二空*/
for(k=0;k<=n/2;k++)
{c=p[k];p[k]=p[n-k];______;} /*第三空*/
}
五、程序设计题(本大题共2小题,每小题8分,共16分)
33.计算1到100的平方根,并将结果保存至二进制文件root.dat。
34.从键盘输入10个整数,由大到小排序后输出。
《广东自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com