点击查看:全国自考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月各省自考考试真题及答案汇总
2020年自考报名有疑问、不知如何选择主考院校及专业,立即报考咨询>> |