2016年10月自考高级语言程序设计(一)考试真题
温馨提示
亲爱的学员,您好!
一、单项选择题(本大题共15小题,每小题2分。共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。
1.C语言的保留字(又称关键字)是( )
A.add
B.main
C.real
D.typedef
2.正确的C语言整型常数是( )
A.3
B.3.0
C.1E0
D.false
3.设int a, b;,表达式a=2, b=5, --a+b的值是( )
A.5
B.6
C.7
D.8
4.设int a=0;,循环次数为无限的语句是( )
A.while(a);
B.for(a; a; a);
C.for(a; a==0;);
D.do{a++;} while(-a);
5.do{…)while(表达式)中“表达式”的类型是( )
A.任意的
B.关系的
C.算术的
D.逻辑的
6.设int a=1, b=2;,能将a的值赋给b的表达式是( )
A.a=b
B.b+=a
C.a||(b=a)
D.a&&(b=a)
7.函数中定义的变量类型可以是( )
A.auto型
B.static型
C.register型
D.以上三种类型
8.关于函数正确的说法是( )
A.函数必须有返回值
B.函数可以嵌套定义
C.返回值可以是指针类型
D.函数必须有形式参数
9.设int s[3] [4]={1,2,3,4,5,6};,值为2的数组元素是( )
A.s[0] [0]
B.s[0] [1]
C.s[1] [0]
D.s[1] [1]
10.下列不是递归函数的是( )
A.int t(int n)
{ if(n==0) return 0;
else return (n-1);
}
B.int t(int n)
{ if(n==0) return 0;
else return t(n-1);
}
C.int t(int n)
{ if(n==0) return 0;
else return n+t(n-1);
}
D.int t(int n)
{ if(n==0) return 1;
else return n*t(n-1);
}
11.设float w=0; int x=1, y=2; char z='3';,下列语句错误的是( )
A.switch(x)
{ case 0:
case 1:
case 2:
default: ;
}
B.switch(y)
{ case 0:
case 1:
case 2:
default: ;
}
C.switch(z)
{ case 0:
case 1:
case 2:
default: ;
}
D.switch(w)
{ case 0:
case 1:
case 2:
default: ;
}
12.设char ch=65;,下列语句错误的是( )
A.printf("%f\n", ch);
B.printf("%c\n", ch);
C.printf("%d\n", ch);
D.printf("%x\n", ch);
13.正确定义一维数组的是( )
A.char s(20);
B.int n=20; char s[n];
C.#define N 20
char s[N];
D.int n;
scanf("%d", &n);
int s[n];
14.设int u=1, *p;,下列语句正确的是( )
A.p=&u;
B.p=u;
C.&p=u;
D.u=&p;
15.当打开文件出现错误时,系统函数fopen( )的返回值是( )
A.1
B.-1
C.非0
D.NULL
二、填空题(本大题共10小题,每小题2分,共20分)
11.设int n=11;,表达式n%5+n%7的值是_______。
12.执行语句printf("%d\n", 8>>2);后的输出结果是_______。
13.设char s[10]= "Olympic";,执行语句printf("%d\n",sizeof(s));后输出结果是_______。
14.三种逻辑运算符的优先级又高到低依次是_______。
15.设float m=8.8; int n=6;,执行语句printf("%d\n", (int)m+n);后输出结果是_______。
16.设struct { int a; float b; } c, *p=&c;,用指针引用成员b的方式是p->b或_______。
17.设int p=1,q=2,r=3;,表达式p>q< p>
18.系统函数int rewind(FILE *fp)的功能是_______。
19.函数调用时参数传递方式除地址传递外,还有_______。
110.使用系统函数getchar( )和putchar( )时,用到的文件包含命令县_______。
三、程序分析题(本大题共4小题。每小题4分,共16分)阅读下列程序,写出输出结果。
21.#include void main(){ int j; char *color[]={"red", "yellow", "blue", "black", "white"}; for( j=0; j<5; j+=2) printf("%s\n", color[j]);}
22.#include void main(){ int i=10, j=0; switch (i%3) { case 0: i--; j++; case 1: --i; ++j; break; default: ++i; j--; } printf("i=%d, j=%d\n", i, j);}
23.#include int i=1;int fun(int j){ return (++i+j);}void main(){ int j; for(j=1; j<=3; j++) printf("%d\n", fun(j));}
24.#include void main(){ int i; char *strp="****"; for(i=0; i<4; i++) printf("%s\n", strp+i);}
四、程序填充题(本大题共3小题,每小题6分,共18分)
31.计算某学生三门课的平均成绩并输出。#include typedef struct student{ char name[20]; float math, physics, chemistry, average;}_______; /*第一空*/void main(){ STU s={"ZhangSan", 88.5, 90.0, 73.0}; s.average=_______; /*第二空*/ printf("平均成绩=%.1f\n",_______); /*第三空*/}
32.键入一串字符,以回车换行符为结束标志,统计并输出其中小写英文字母的个数。#include void main(){ char letter; int sum=_______; /*第一空*/ while((letter=getchar())!='\n') if(_______) sum++; /*第二空*/ printf("小写英文字母个数sum=%d\n",_______); /*第三空*/}
33.从键盘为二维整型数组a输入数据,输出该二维数组的转置b。#include #define M 2#define N 3void main(){ int a[M][N], b[N][M], i, j; printf("二维数组a:\n"); for(i-0; i< printf(?\n?); j++)printf(?%5d?,b[i][j]); i
五、程序设计题(本大题共2小题,每小题8分。共16分)
41.从键盘输入一串字符(以#作为结束标志)显示到屏幕上并写入文本文件ch.txt。
42.(1)编写函数f计算
的值。(2)编写主函数,从键盘输入x和n的值,调用函数f计算并输出结果(保留两位小数)。
点击查看全部真题 >>
扫码登录
扫码关注“广东省自考网”微信公众号
即可查看全部内容
《广东自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com