2015年10月自考高级语言程序设计(一)考试真题
温馨提示
亲爱的学员,您好!
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分。
1.正确的用户自定义标识符是( )
A.x-y
B.2x
C.sizeof
D.Main
2.设int a=5, b, 6;,正确的赋值语句是( )
A.b=a%6.8;
B.a+=b+=8;
C.++(a+b);
D.a+b=9;
3.设int a=3, b=4, c;,执行语句c=(a>b)?--a:b++;后,c的值是( )
A.2
B.3
C.4
D.5
4.表达式4.8-1/2+5%3的值是( )
A.6.8
B.5.3
C.4.8
D.3.5
5.设int a=1, b=6;,执行表达式--a||(b=8)后,a和b的值分别是( )
A.0,6
B.0,8
C.1,6
D.1,8
6.正确的整型常数是( )
A.0
B.0.0
C.0E0
D.1.123
7.设int x=7, *p=&x;,表达式的值为7的是( )
A.P
B.*p
C.&x
D.*x
8.设float x, y, z;,函数调用语句fun(z, ((x, y), x+z));中参数的个数是( )
A.4
B.3
C.2
D.1
9.设int a[]={1, 2, 3, 4, 5}, i=2;,其值为4的数组元素是( )
A.a[0]
B.a[4]
C.a[i-1]
D.a[a[i]]
10.下列叙述正确的是( )
A.for语句中的循环体至少被执行一次
B.while语句中的循环体至少被执行一次
C.continue与break在循环语句中的作用相同
D.switch语句中case后可以不出现break语句
11.设char str[10]= "Computer";,执行prinff("%d ",sizeof(str));,后输出结果是( )
A.8
B.9
C.10
D.11
12.定义数组并初始化正确的是( )
A.int a[]={0, 1, 2, 3};
B.int a[2]={{3, 4},{5, 6}};
C.int b[2][]={2, 3, 4, 5, 6, 7, 8, 9};
D.int b[2][4]={{1, 2, 4, 5}, {2}, {3,4}};
13.设char s[20]= "World", t[20]= "Asia";,执行strcat(t,s); printf("%s, %d ", t ,strlen(t));,后的输出结果是( )
A.Asia,4
B.World,5
C.WorldAsia,9
D.AsiaWorld,9
14.设typedef int ARRAY[10];,与ARRAY a, b;等价的是( )
A.int a, b;
B.int a[10], b[10];
C.int a[10], b;
D.int a, b[10];
15.表示“回车换行”的转义字符是( )
A.' '
B.''
C.'\'
D.' '
二、填空题(本大题共10小题,每小题2分,共20分)
11.执行语句printf("%d\n", 4&&5||6); 后的输出结果是_________。
12.设int n=10;,执行语句printf("%o,%x\n", n, n); 后的输出结果是_________。
13.
的C语言表达式是_________。
14.运算符+=、++和+中优先级最高的是_________。
15.设int a=2, b=5;,执行语句a%=10-b;后,a的值是_________。
16.系统函数pew()应使用的文件包含命令是_________。
17.关系表达式2<3<=4的值是_________。
18.设char ch=′b′;,执行语句printf("%c,%d\n", ch-32,ch);后的输出结果是_________。
19.设int=2, y=3;,执行语句printf("%d,%d\n", x++,++y);后的输出结果是_________。
110.将常数2.718定义为符号常量E的宏定义命令是__________。
三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序。将输出结果写到答题卡的相应位置。
21.#include void main(){ int year 2015, month=2; switch(month) { case 2: if(year%4==0&&year%100!=0||year%400==0) printf("day=29\n"); else printf( "day=28\n"); break; case 6: case 9: case 11: printi("day=30\n"); break; default: printf("day=31\n"); }}
22.#include void f (int x, int y, int *z){ *z-=x+y; }void main(){ int p=7, q=8, r=6; f(p, g, &r); printf("p=%d, q=%d, r=%d\n", p, q, r);}
23.#include int x=1; /*全局变量*/int fx(int p){ x+=p++; return p;}void main(){ int y=1; x++; printf("x=%d, fx=%d\n", x, fx(y));}
24.#includeint sum(int n) /*递归函数*/{ if(n==1) return 1; else return n+sum(n-1);}void main(){ printf("sum=%d\n", sum(10)); }
四、程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补上,使其能正确运行。
31.从键盘输入整数n(1≤n<10),分别计算并输出1!,2!,…,n!。
#include
long int fac(__________)/*第一空*/
{static int c=1;
c*=m; return (c);
}
void main()
{int i, n;
scanf("%d",__________);/*第二空*/
if(n>=1&&n<10)
for(i=1; i< __________); i, printf(?%d!='9%ld\n",'>
else printf("Input Error! \n");
}
32.将5tch0名学生的姓名和成绩由键盘输入,计算并输出平均成绩。
#include
#define N 50
struct student
{
char name[20];
float score;
};
void main()
{struct student s(N];
int i;
float average=__________;/*第一空*/
fon(i=0; i<>
{scanf("%s%f", s[i].name, &s(i]. core);
averger+=__________;/*第二空*/
}
average=__________;/*第三空*/
printf("average=%7.2f\n", average);
}
33.将文本文件r.txt中的字符逐一读出并显示在屏幕上。
#include
#include
void main()
{
FILE *fp;
char ch;
if((fp=fopen ("r.txt",__________))==NULL)/*第一空*/
{printf("can't open file!\n"); exit(0);}
printf("读文件并显示:\n");
while(!feof(fp))
{ch=fgetc(fp);
printf("%c",__________);/*第二空制*/
}
printf("\n");
flose(__________);/*第三空*/
}
五、程序设计题(本大题共2小题,每小题8分,共16分)
41.从键盘输入一个非负整数n,若为奇数,输出"Odd";若为偶数,输出"Even"。
42.利用循环结构输出以下图形。
《广东自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com