点击查看:全国自考00342高级语言程序设计历年真题及部分答案汇总
一、单项选择题(本大题共1 5小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸” 的相应代码涂黑。错涂、多涂或未涂均无分。
1.下列为C语言保留字的是( )
A.auto
B.Else
C.FILE
D.define
2.正确的C语言常数是( )
A.e0
B.1e
C.1E0
D.1E0.0
3.设int n;,执行表达式(n=0)||(n=1)||(n=2)||(n=3)后,n的值是( )
A.0
B.1
C.2
D.3
4.值为0的表达式是( )
A.0==0
B.2&&5
C.!5<2
D.2&5
5.先执行循环体后判断循环条件的语句是( )
A.for
B.while
C.do-while
D.for,while和do-while
6.设char str[20];,从键盘输入中间含有空格的字符串的正确语句是( )
A.gets(str);
B.gets(str[20]);
C.scanf('%s', str);
D.scanf('%c', str);
7.定义函数时若函数名前冠有“*”(如float *fun(){……}),则该函数被称为( )
A.int型函数
B.float型函数
C.void型函数
D.指针(型)函数
8.设int a[]={1, 2, 3, 4}, b, *p=a;,与b=*p++;等价的语句是( )
A.b=p++;
B.b=*(p++);
C.b=*(++p);
D.b=*++p;
9.C语言中的sizeof是( )
A.类型名
B.运算符
C.变量名
D.函数名
10.设int a[10], *p=a;,与数组元素a[5]等价的是( )
A.*(a+5)
B.p[′5′]
C.p+5
D.a+5
11.设typedef char *PT;,若有引用PT q[5];,则q是( )
A.字符型数组
B.字符型变量
C.字符型指针变量
D.字符型指针数组
12.正确定义二维数组并初始化的是( )
A.int a[3][ ]={{1,2,3}, {4,5}};
B.int a[3][3]={a,b,c,d,e};
C.int a[ ][3]={1,2,3,4,5,6};
D.int a[3][3]=(1,2,3,4,5,6);
13.函数的递归调用是指( )
A.函数的自我调用
B.函数的嵌套调用
C.主函数调用系统函数
D.系统函数调用主函数
14.设struct data{int a; float b;}c, *p=&c;,引用正确的是( )
A.*p.a
B.p.b
C.p->a
D.*p->b
15.文件操作'rb+'的含义是( )
A.只读文本文件
B.只读二进制文件
C.读写文本文件
D.读写二进制文件
二、填空题(本大题共10小题,每小题2分,共20分)
11.判断方程ax2+bx+c=0有实根时的C语言逻辑表达式是__________。
12.设int i, j;,执行下列循环语句后输出“ABC”的行数是__________。for(i=0; i<5; i++) for(j=1; j<>
13.结构化程序设计的三种结构分别是:选择结构、循环结构和__________。
14.设int a=1, b=2;,执行语句printf('%d', a>=b?a:b);后的输出结果是__________。
15.在C语言的指针使用中,NULL的值是__________。
16.设int x, y, t;,执行语句t=10+(x=3, y=5, x-y);后t的值是__________。
17.在C语言中,变量的四个存储类型符分别是auto、static、extern和__________。
18.设char s[ ]= 'Star';,执行语句printf('%d', strlen(s));后的输出结果是__________。
19.设char *st='China\0Beijing';,执行语句printf('%s',st);后的输出结果是__________。
110.设int a=8,b=2,c=3;,执行语句a%=b+c; printf('%d',a);后的输出结果是__________。
三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写在答题纸上。
21.#define PR printf('a=%d,b=%d\n',a,b);#include void f(int x, int *y){ *y=++x; }void main(){ int a=10,b=20; PR; f(a,&b); PR;}
22.#include int fun(int m){ static int n=1; ++m; ++n; return(m+n);}void main(){ int a,b; a=fun(0); b=fun(10); printf('a=%d,b=%d\n', a,b);}
23.#include void main( ){ int i; for(i=1; i<=10; i++) { if(i<5) continue; printf('%3d', i); } printf('\n');}
24.#include int x=1; /* 全局变量 */void f(int i){ x=i+x; i++;}void main( ){ int y=5; x++; f(y); printf('y=%d,x=%d\n', y,x);}
四、程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补在答题纸上,使其能正确运行。
31.按下列形式输出英文字母。
32.输入x的值,按下列公式计算并输出y的值。
33.分别统计文本文件fs.txt中小写英文元音字母(a, e,i,o,u)的个数并输出。
五、程序设计题(本大题共2小题,每小题8分,共1 6分)
41.任意输入一个三位正整数,十位上的数字不动,将个位和百位上的数字交换,构成一个新的正整数后输出。(例如:523变为325)
42.从键盘输入a1,a2….,a20,按下列公式计算并输出b1,b2,….,b10的值。
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总