摘要:高级语言程序设计(一)2014年4月真题及答案,该试卷为高级语言程序设计(一)自考历年真题试卷,包含答案及详细解析。
高级语言程序设计(一)2014年4月真题及答案解析
高级语言程序设计(一)2014年4月真题及答案,该试卷为高级语言程序设计(一)自考历年真题试卷,包含答案及详细解析。
一、单项选择题(本大题共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 m1=60, m2=80, m3=100;,表达式m3>m2>m1的值是( )
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;,执行语句printf("%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(ad&&(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 s1[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("%d ", n);}
A.13
B.35
C.53
D.654
15.下列程序的输出结果是( )int a=1;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分)
11.指针变量中存放的是_________。
12.设int a;,从键盘输入数据给变量a的输入语句是_________。
13.break语句除可在循环语句中使用外,还可以用于_________。
14.一个源程序中允许有多个函数,但必须有且只能有一个_________。
15.设int m[10], *p;,使指针变量p指向数组m首元素的语句是_________。
16.运算符+=、&&、<和!中,优先级最低的是_________。
17.设int x=12;,执行语句x>>=2;后X的值是_________。
18.计算使用的系统函数是_________。
19.设char s[20]="Computer";,则strlen(s)的值是_________。
110.表达式(int)(3.5+1/2)的值是_________。
三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写到答题纸上。
21.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); }}
22.#define N 5void main(){ int k, s1=0, s2=0; for(k=1; k <N; k++) switch(k%4) { case 1: case 2: s1+=1; break; case 3: case 0: s2+=1; break; } printf("s1=%d,s2=%dn", s1, s2);}
23.int f(int t){ 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(" ");}
24.int f(int n){ if(n=2) return 0; else return(n+f(n-2));}void main(){ int a=10; printf("%d ", f(a));}
四、程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分在答题纸相应位置补上,使其能正确运行。
31.求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("%d ", d);}
32.
33.将一维数组逆序存放后输出。例如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分)
41.计算1到100的平方根,并将结果保存至二进制文件root.dat。
42.从键盘输入10个整数,由大到小排序后输出。
自考备考资料免费领取
去领取