点击查看:全国自考00342高级语言程序设计历年真题及部分答案汇总
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。
1.正确的自定义标识符是( )
A.2xy
B.int
C.root%x
D.total
2.正确的C语言常数是( )
A.012
B.'abc'
C.0xfp
D.2e1.25
3.下列不是C语言运算符的是( )
A.< >
B.^
C.!
D.&=
4.表达式5+6!=0的值是( )
A.0
B.1
C.6
D.11
5.设float x; -1≤x<3正确的C语言表达式是( )
A.-1<=x<3
B.-1<=x||x<3
C.x>=-1&&x<3
D.!(x>=-1)&&(x<3)
6.设int a=3;,值为1的表达式是( )
A.a%3
B.3-++a
C.(a++)%3
D.a>3?2:1
7.设int a=0, b=5, c;,执行语句c=(a==b)||++a;后c的值是( )
A.0
B.1
C.4
D.5
8.设int m=0;,语句while(m!=0) m++;的循环次数是( )
A.0
B.1
C.2
D.无限
9.定义数组并初始化正确的是( )
A.int a[]=(2,4,6,8);
B.int a[]={2,4,6,8};
C.int a[3]={2,4,6,8};
D.int *a[4]={2,4,6,8};
10.设int a[3][5];,该数组两个下标的取值范围分别是( )
A.0~3和0~4
B.0~3和3~5
C.0~2和0~4
D.3~5和0~5
11.设typedef float REAL;则REAL是( )
A.变量名
B.常量名
C.函数名
D.类型名
12.设char s[10];,将字符串输入至数组s的正确语句是( )
A.s=gets();
B.getchar(s);
C.scanf('%s', s);
D.scanf('%s', &s[10]);
13.关于函数叙述正确的是( )
A.函数必须有形参
B.函数的形参可以是常数
C.函数中只能出现一个return语句
D.函数类型为void时,该函数无返回值
14.设int a[10], *p=a;,与数组元素a[0]等价的是( )
A.*p
B.p
C.&a
D.a
15.结构型变量所占内存量应是( )
A.第一个成员占用的内存量
B.最后一个成员占用的内存量
C.所有成员占用内存量的总和
D.成员中占用内存量最大者所需的容量
二、填空题(本大题共10小题,每小题2分,共20分)
11.设int n;,“n为偶数”的C语言逻辑表达式是_________。
12.实现字符串拷贝的系统函数是_________。
13.实(浮点)型分为单、双精度两种,其类型保留字分别是_________。
14.在C语言中,运算符优先级最低的是_________。
15.设int a=3;,执行语句printf('%d', a<<2);后的输出结果是_________。
16.设float x=3.1;,执行语句printf('%.1f', 3.2+(int)x);后的输出结果是_________。
17.设FILE *fp;,若fp指向文件尾部,则feof(fp)的返回值是_________。
18.设char *p='abcd';,执行语句printf('%C', *(p+2));后的输出结果是_________。
19.设char str[]='book\n';,执行语句printf('%d',sizeof(str));后的输出结果是_________。
110.若局部变量的存储类型缺省,其默认类型是_________。
三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写到“答题纸”上。
21.#include int f(int a){ static int d=10;/*静态变量*/ d+=a; return d;}void main(){ printf('f1=%d', f(3)); printf('f2=%d\n', f(5));}
22.#includevoid main(){ int i; for(i=10; i>0; i--) { if(i%3!=0) continue; printf('%2d', i); } printf('\n');}
23.#include void main(){ int i, j, s, a[][3]={{1,2,3},{4,5},{6}}; for(s=0,i=0; i<3; i++) switch(i) { case 0: case 1: case 2: for(j=0; j<3; j++) s+=a[i][j]; break; } printf('s=%d\n',s);}
24.#include struct country{ int no; char name[20];}a[]={1,'China',2,'Russia',3,'America'},*p=a;void main(){ p++; printf('%d,%s', (*p).no, (*p).name); p--; printf('%d\n,%s', p->no, p->name); printf('%d,%s\n', a[2].no, a[2].name);}
四、简答题
程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补上,使其能正确运行。
31.从键盘输入一系列正(负数作为结束),写入二进制文件data.dat。
32.利用选择排序法实现对数组元素的升序排序。
33.利用递归法,按下列公式计算并输出函数fx的值。
五、程序设计题(本大题共2小题,每小题8分,共16分)
41.从键盘输入x的值,按下列公式计算并输出y的值。
42.(1)写一个函数计算自然数n的阶乘(函数头为long fac(int n));(2)由键盘输入两个自然数a和b且a≤b,调用上述函数计算并输出
的值。
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总