点击查看:全国自考00342高级语言程序设计历年真题及部分答案汇总
一、单项选择题(本大题共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', 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< printf(?%2d?,m); if(k='=m)' break; if(m%k='=0)'>
22.#define N 5void main(){ int k, s1=0, s2=0; for(k=1; k < s1, printf(?s1='%d,s2=%dn',' } s2+='1;' 0: case 3: s1+='1;' 2: 1: { switch(k%4) k++)>
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('\n');}
24.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分)请将下列程序横线处缺少的部分在答题纸相应位置补上,使其能正确运行。
31.求a、b和c的最大值并输出。#include 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\n', d);}
32.
33.将一维数组逆序存放后输出。例如int a[3]={1,2,3},逆序存放后int a[3]={3,2,1}。include 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 < *第三空* _________;} p[k]='p[n-k];' c='p[k];' k
五、程序设计题(本大题共2小题,每小题8分,共16分)
41.计算1到100的平方根,并将结果保存至二进制文件root.dat。
42.从键盘输入10个整数,由大到小排序后输出。
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总