2015年10月自考高级语言程序设计(一)考试真题
编辑整理:浙江自考网 发表时间:2019-11-26 【大 中 小】
一、单项选择题(本大题共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、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。