欢迎来到四川自考网,今天是2020年8月21日

自考资讯热线:028-65656189

距离自考还有28

当前位置:首页 > 自学考试 > 历年试题 > 理工类专业 >

全国2014年4月自考《高级语言程序设计(一)》试题

发布时间:2014-04-22 23:40:28

绝密 ★ 考试结束前

全国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个整数,由大到小排序后输出。