2017年4月自考高级语言程序设计(一)考试真题
温馨提示
亲爱的学员,您好!
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。
1.C语言的保留字(又称关键字)是( )
A.sum
B.main
C.double
D.longint
2.错误的实型(又称浮点型)常数是( )
A.2E0
B.0.0
C.0E0
D.0E+0.0
3.设 int a, b;,表达式a=2,b=5,b++,a+b--的值是( )
A.2
B.6
C.7
D.8
4.设int a;,循环次数为无限的语句是( )
A.for(a=0;a;a++);
B.for(a=0;a==0;);
C.for(a=0;a=0;a++);
D.for(a=0;a==0;a++);
5.if(表达式)和while(表达式)中的“表达式”( )
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)||(b=c)
D.(a=c)&&(b=c)
7.函数中定义的变量,其作用域是( )
A.本函数
B.本程序的所有文件
C.本文件的所有函数
D.本文件的第一个函数
8.关于函数正确的说法是( )
A.必须有返回值
B.必须有形式参数
C.返回值的类型可以是指针
D.一个函数中可以定义另一函数
9.设int a[3][4]={1,2,3,4,5,6};,值为1的数组元素是( )
A.a[0][0]
B.a[0][1]
C.a[1][0]
D.a[1][1]
10.下列为递归函数的是( )
A.int func(int n)
{ if(n==0) return 0;
else return(n-1);
}
B.int func(int n)
{ if(n==0) return 0;
else return func(n-1);
}
C.int func(int n)
{ if(n==0) return 0;
else return sqrt(sqrt(n));
}
D.int func(int n)
{ if(n==0) return 0;
else return(--n);
}
11.设int x=1,y=2,z=3;下列语句错误的是( )
A.if(x
B.for(z=0;z
C.for(z=0,z
D.if(x
12.设 char ch;,下列语句错误的是( )
A.ch="a=b";
B.ch='\0';
C.ch='7'+'9';
D.ch=7+9;
13.正确定义一维数组的是( )
A.int a(10);
B.int n=10, a[n];
C.#define N 10
int a[N];
D.int n;
scanf("%d", &n);
int a[n];
14.设int m=5,n,*p1,*p2;,下列程序段正确的是( )
A.p1=&m; p2=p1;
B.p1=&m; p2=*p1;
C.p1=&m; p2=&p1;
D.p1=&m; p2=&n; *p1=p2;
15.当文件未结束时,系统函数feof的返回值是( )
A.-1
B.0
C.1
D.非0
二、填空题(本大题共10小题,每小题2分,共20分)
11.设int s=6;,表达式s%2+(s+1)%2的值是_______。
12.C语言的三种逻辑运算符分别是&&、‖和_______。
13.设 char s[20]= "China";,执行语句 printf( "%d\n",strlen(m));输出结果是_______。
14.设int a[5]={1,2,3,4};,元素a['E'-A]的值是_______。
15.设 char a,b;,与表达式a^=b-2等价的另一表达形式是_______。
16.设 struct{ int a; char c;}m,*p=&m;,用指针引用成员a的形式是(*p).a或_______。
17.设int a=3,b=2,c=1;,表达式a>b>c的值是_______。
18.若在函数内部定义变量时省略存储类型,则默认的存储类型是_______。
19.若函数的类型为void,则函数_______返回值。
110.执行语句 print("%sn","1+2+3\0=6");后输出结果是_______。
三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,写出输出结果。
21.void main(){ int n; char *city[]={"Beijing","Tianjin","Shanghai","Chongqing"}; for(n=0; n<4; n+=2) printf("%s\n",city[n]);}
22.void main(){ int a=10,y=0; do { a+=2; y+=a; if(y>30) break; }while(-1); printf("a=%d, y=%d\n", a,y);}
23.int i=1;int f(int j){ static int k=0; return(++k+j+i);}void main(){ int j; for(j=1; j<=3; j++) printf("%5d",f(10)); printf ("\n");}
24.void main(){ int k; char *s=" ABCDE"; for(k=0;k<5;k+=2) pint("%s\n",s+k);}
四、程序填充题(本大题共3小题,每小题6分,共18分)请将每小题程序横线处①-③补上,使其能正确运行。请在答题卡上作答。
31.将从键盘输入的某个学生的学号、姓名和成绩保存至结构型变量并输出。include typedef struct student{ int no; char name[20]; float score;}___①____; /*第一空*/void main(){ STU st; scanf("%d%s%f", &st.no,___②____,&st.score); /*第二空*/ printf("No:%d\nName:%s\nScore:%.1f\n",___③____); /*第三空*/}
32.键入一串字符,以回车换行符为结束标志,统计并输出其中数字字符的个数。include void main(){ char ch; int n=0; ch=getchar(); while(ch!='\n') { if(___①____) n+; /*第一空*/ ___②____; / *第二空*/ } printf("n=%d\n",___③____); / *第三空*/}
33.为二维数组输入数据,输出其中最小的元素值及对应的两个下标。include#define M 3#define N 4void main(){ int a[M][N],i,j, row, col, ___①____; /*第一空*/ for(i=0;i < row, a[row][col], col="j;" row-="%d," printf(?min="%d," row="col=___②____;" min="a[0][0];" if(a[i][j]
五、程序设计题(本大题共2小题,每小题8分,共16分)
41.将26个大写英文字母写入新建的文本文件 ch.txt。
42.(1)编写函数fa,计算并输出圆的面积;(2)编写函数fb,计算并输出圆的周长;(3)编写主函数,键入圆的半径R和运算标志m。使用 switch语句,当m=1时调用fa;当m=2时调用fb;当m=3时调用fa和fb。输出结果保留两位小数
《广东自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com