点击查看:全国自考00342高级语言程序设计历年真题及部分答案汇总
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。未涂错涂或多涂均无分。
1.设 int x, y, z;,从键盘输入x、y和z的值,正确的语句是( )
A.get(x, y, z);
B.scanf(' %d%d%d', x, y, z);
C.scanf('%d%d%d', &x, &y, &z);
D.read('%d%d%d', &x, &y, &z);
2.设int x=10, y=3;,执行语句printf('%d,%d\n', x--, --y);后输出结果是( )
A.9,2
B.9,3
C.10,2
D.10,3
3.设int a=3;,执行语句printf('%d\n', a+(a-=a*a));后输出结果是( )
A.-12
B.-6
C.0
D.12
4.设int x=0, y=9, a;,下列语句错误的是( )
A.if(y) x+=y;
B.if(x>y) x-=y;
C.if(x
D.if(x!=y) a=0 else a=1;
5.正确的字符型常量是( )
A.'\001'
B.'68'
C.'B'
D.GO
6.设 int x, y;,下列语句正确的是( )
A.5=x;
B.x=y--;
C.(x+y)++;
D.x+y=100;
7.下列程序段中,循环体被执行的次数是( )int t=81, v=9;while( t%v==0) printf('%c\n', '*');
A.0
B.1
C.9
D.无限
8.下列程序段执行后,变量m的值是( )int w=1, x=2, y=3, z=4, m;m=(w
A.1
B.2
C.3
D.4
9.设int x=3;,执行语句x<<=2; 后x的值是( )
A.0
B.1
C.6
D.12
10.下列函数返回值的类型是( )int fun( float x){ float y; y=3*x-4; retum y;}
A.int
B.void
C.float
D.double
11.下列数组定义错误的是( )
A.int a[2][3];
B.int c[2][3]={0};
C.int b[][3]={0,1,2,3}
D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
12.设 char s[]=' BeijingChina';,执行语句 printf('%d,%d\n', strlen(s), sizeof(s));后输出结果是( )
A.12,12
B.12,13
C.13,12
D.13,13
13.设 int i, j=2, *p=&i;,能将j的值赋给i的正确语句是( )
A.i=*p;
B.*p=j;
C.i=&j;
D.*i=*p;
14.下列语句错误的是( )
A.int a[]={1, 2};
B.char *a[3];
C.int n=5, a[n];
D.char s[10]={'test'};
15.系统函数 rewind的作用是( )
A.将文件内部指针指向文件末尾
B.将文件内部指针指向文件开头
C.将文件内部指针下移一个字符位置
D.将文件内部指针随机指向文件任意位置
二、填空题(本大题共10小题,每小题2分,共20分)
11.设 int f( int x, int y) { returrn(x*y);},则调用函数f时,实参与形参之间的传递方式是_________。
12.运算符+、=、&&和!中,优先级最高的是_________。
13.循环体至少被执行一次的循环语句是_________。
14.设#define X 5+9则执行语句printf('%d', 3*X);后输出结果是_________。
15.设 float x=9, y=2;,表达式(int) (sqrt(x)/y)的值是_________。
16.设struct S{ int a, b; char c; double d;};则定义该结构型变量t的正确语句是_________。
17.下列程序段执行后,变量k的值是_________。int k=2;while (k!=0) k--;
18.下列程序段中的变量f是局部_________变量。int c(int n){ static int f=1; f=f*n; return f;}
19.设 char s[]='9876', *p;,执行语句for(p=s; p
110.执行 switch语句后输出结果是_________。switch('B'-'A')case 0: printf('A');case 1: printf('B');case 2: printf('C'); break;default: printf('D');
三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,写出输出结果。
21.void main(){ int x=5; if(x--<5) printf('%d\n', x); else printf('%d\n', x++);}
22.int f(int a){ int b=0; static int c= 3; b++; c++; return(a+b+c);}void main(){ int a=2, i; for(i=0; i<3; i++) printf('%d/', f(a));}
23.void f(int n){ if(n==0) return; else { printf('%d', n%2); f(n-1); }}void main(){ f(3); }
24.void main(){ int a, b, k=4, m=6, *p1=&k, *p2=&m; a=(p1==p2); b=(*p1)/(*p2)+7; printf('a=%d,b=%d\n', a, b);}
四、程序填充题(本大题共3小题,每小题6分,共18分 )请将下列程序横线处缺少的部分补上,使其能正确运行。
31.
32.下列程序中,主函数main调用函数 LineMax,求二维数组中每一行元素的最大值并输出。
33.将从键盘输入的字符串写入文本文件out.txt,输入的字符串长度小于80。#include #include void main(){ char c[80]; _________; /*第一空*/ if((p=fopen('out.txt','w'))=NULL) { printf('Can not open file!\n'); exit(0); } gets(_________); /*第二空*/ fputs(c, p); fclose(_________); /*第三空*/}
五、程序设计题(本大题共2小题,每小题8分,共16分)
41.从键盘向一维数组输入50个实数,计算并输出其最大值和平均值。
42.从键盘输入一串字符,以回车换行符为结束标志,分别统计并输出英文字符和数字字符的个数。
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总