2016年4月自考高级语言程序设计(一)真题
温馨提示
亲爱的学员,您好!
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。
1.C语言的保留字(又称关键字)是( )
A.sum1
B.main()
C.continue
D.integer
2.错误的C语言常数是( )
A.0
B.3E0
C."d"
D.'123'
3.设int x=2;,执行语句printf("%d ", x++);后输出结果是( )
A.2
B.3
C.4
D.5
4.设int a=0,循环次数为0的语句是( )
A.while(1);
B.for(; a!=0; );
C.for(a; a==0; a++);
D.do{ a++; }while(1);
5.if(表达式)中“表达式”的类型是( )
A.逻辑的
B.关系的
C.算术的
D.任意的
6.设int a=1, b=2, c=3;,能将c的值同时赋给a和b的表达式是( )
A.a=b=c
B.a==b=c
C.(a=c)ll(b=c)
D.a==b==c
7.在一个文件的不同函数中不能重名的是( )
A.函数名
B.形式参数
C.auto型内部变量
D.register型内部变量
8.下列函数头正确的是( )
A.void fun(a, b)
B.void fun(int a, b)
C.void fun(int a, int b)
D.void fun(var int a, var int b)
9.设int a[2][3]={1, 2, 3, 4, 5};,值为0的数组元素是( )
A.a[1][2]
B.a[1][1]
C.a[0][1]
D.a[0][0]
10.下列是递归函数的是( )
A.int f(int n)
{ if(n!=0) return 1;
else return 0;
}
B.int f(int n)
{ if(n%2==0) return 0;
else return 1;
}
C.int f(int n)
{ if(n==0) return 0;
else return n+f(n-1);
}
D.int f(int n)
{ if(n==0) return =;
else return (--n);
}
11.设int x=1, y=2, z=3;,下列for语句正确的是( )
A.for(; ; );
B.for(z=0; z
C.for(z=0; z
D.for(z=0, z
12.设int x;,与x==0等价的表达式是( )
A.x==1
B.!x
C.x!=0
D.x!=1
13.正确定义一维数组的是( )
A.float r(6);
B.float n=6,r[n];
C.#define N 6
float r[N];
D.int n;
scanf("%d", &n);
float r[n];
14.设int s=5, t=6, *p, *q;,下列程序段正确的是( )
A.p=&s; q=p;
B.p=&s; q=*p;
C.p=&s; q=t;
D.p=&s; q=&t; *p=q;
15.当文件结束时,系统函数feof()的返回值是( )
A.-1
B.0
C.1
D.非0
二、填空题(本大题共10小题,每小题2分,共20分)
11.设int x=100;,表达式x%2=(x+1)%2的值是_______。
12.设int a=2, b-3; 表达式a<< p>
13.设char s[10]= "peace";,执行语句printf("%d\n", strlen(s));后输出结果是_______。
14.设float a;,执行表达式(double)a后,a的类型是_______。
15.设int x=10, y=20;,执行语句printf("%d\n", x>y?x:y);后输出结果是_______。
16.设struct{ float x, y; }z, *p=&z;,用指针引用成员x的方式是(*p).x或_______。
17.设int x=3, y=2, z=1;,表达式!x>-y>=z的值是_______。
18.系统函数double fabs(double x)的功能是_______。
19.若函数的形式参数和实际参数均为数组类型,则函数调用时参数的传递方式是_______。
110.使用系统函数sin()时,用到的文件包含命令县_______。
三、程序分析题(本大题共4小题,每小题4分,共16分)
21.#include void main(){ int i; char *country[ ]={"Brazil", "Russia", "India", "China", "SouthAfrica"}; for(i=1; i<4; i+=2) printf("%s\n", country [i]);}
22.#include void main(){ int a=10, b=0; while(1) { a+=2; b+=a; if(b>20) break; }; printf("a=%d, b=%d\n", a, b);}
23.#include < stdio.h>int z=2;int fun(int x){ static int y=0; return(--y+x+z);}void main(){ int i; for(i=1; i<3; i++) printf("%d#",fun(5); printf("\n");}
24.#include void main(){ int i; char *st="CHINA"; for(i=0; i<5; i+=2) printf ("%c", *(str+i)); printf("\n");}
四、程序填充题(本大题共3小题,每小题6分,共18分)
31.从键盘输入某个职工的工号、姓名和工资保存至结构型变量并输出。#include typedef struct employee{ int number; char name[20]; float salary;}_______; /*第一空*/void main(){ EMP em; scanf("%d%s%f", &em.number, _______, &em.salary); /*第二空*/ printf("Number: %d\nName: %s\nSalary: %.1f\n", _______); /*第三空*/}
32.键入一串字符,以回车换行符为结束标志,统计并输出其中大写英文字母的个数。#include void main(){ char a; int s=_______; /*第一空*/ while((c=getchar()!='\n') if(_______) s++; / *第二空*/ printf("大写英文字母个数s=%d\n",_______); /*第三空*/}
33.从键盘为二维数组输入数据,分别计算并输出两条对角线元素值之和。#include #define N 4void main(){ int [N][N], i, j, sum1=0, sum2=0; for(i=0; i < sum2="sum2+a[i][N-1-i];" printf(?sum1="%d" sum1="sum1+_______;">
五、程序设计题(本大题共2小题,每小题8分,共16分)
41.从文本文件old.txt读取字符,将其中的英文字母'a'、'b'、'c'、'd'和'e'分别替换为'+'、'-'、'*'、'/'和'%',其余字符不变,然后写入文本文件 new.txt。
42.(1)编写函数负fa,计算并输出直角三角形的面积;(2)编写函数fb,计算并输出梯形的面积;(3)编写主函数,键入直角三角形的底(d)和高(h),调用函数fa计算并输出该直角三角形的面积;键入梯形的上底(a)、下底(b)和高(c),调用函数fb计算并输出该梯形的面积。(输出结果保留两位小数)
《广东自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com