2017年4月自考高级语言程序设计(一)考试真题
编辑整理:浙江自考网 发表时间:2019-11-26 【大 中 小】
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。
1.C语言的保留字(又称关键字)是( )
A.sum
B.main
C.double
D.longint
2.错误的实型(又称浮点型)常数是( )
A.2E0
B.0.0
C.0E0
D.0E+0.0
3.设 int a, b;,表达式a=2,b=5,b++,a+b--的值是( )
A.2
B.6
C.7
D.8
4.设int a;,循环次数为无限的语句是( )
A.for(a=0;a;a++);
B.for(a=0;a==0;);
C.for(a=0;a=0;a++);
D.for(a=0;a==0;a++);
5.if(表达式)和while(表达式)中的“表达式”( )
A.只能是逻辑的
B.只能是关系的
C.只能是算术的
D.可以是任意的
6.设int a=1,b=2,c=3;,能将c的值同时赋给a和b的表达式是( )
A.a=b==c
B.a==(b=c)
C.(a=c)||(b=c)
D.(a=c)&&(b=c)
7.函数中定义的变量,其作用域是( )
A.本函数
B.本程序的所有文件
C.本文件的所有函数
D.本文件的第一个函数
8.关于函数正确的说法是( )
A.必须有返回值
B.必须有形式参数
C.返回值的类型可以是指针
D.一个函数中可以定义另一函数
9.设int a[3][4]={1,2,3,4,5,6};,值为1的数组元素是( )
A.a[0][0]
B.a[0][1]
C.a[1][0]
D.a[1][1]
10.下列为递归函数的是( )
A.int func(int n)
{ if(n==0) return 0;
else return(n-1);
}
B.int func(int n)
{ if(n==0) return 0;
else return func(n-1);
}
C.int func(int n)
{ if(n==0) return 0;
else return sqrt(sqrt(n));
}
D.int func(int n)
{ if(n==0) return 0;
else return(--n);
}
11.设int x=1,y=2,z=3;下列语句错误的是( )
A.if(x
B.for(z=0;z
C.for(z=0,z
D.if(x
12.设 char ch;,下列语句错误的是( )
A.ch="a=b";
B.ch='\0';
C.ch='7'+'9';
D.ch=7+9;
13.正确定义一维数组的是( )
A.int a(10);
B.int n=10, a[n];
C.#define N 10
int a[N];
D.int n;
scanf("%d", &n);
int a[n];
14.设int m=5,n,*p1,*p2;,下列程序段正确的是( )
A.p1=&m; p2=p1;
B.p1=&m; p2=*p1;
C.p1=&m; p2=&p1;
D.p1=&m; p2=&n; *p1=p2;
15.当文件未结束时,系统函数feof的返回值是( )
A.-1
B.0
C.1
D.非0
二、填空题(本大题共10小题,每小题2分,共20分)
11.设int s=6;,表达式s%2+(s+1)%2的值是_______。
12.C语言的三种逻辑运算符分别是&&、‖和_______。
13.设 char s[20]= "China";,执行语句 printf( "%d\n",strlen(m));输出结果是_______。
14.设int a[5]={1,2,3,4};,元素a['E'-A]的值是_______。
15.设 char a,b;,与表达式a^=b-2等价的另一表达形式是_______。
16.设 struct{ int a; char c;}m,*p=&m;,用指针引用成员a的形式是(*p).a或_______。
17.设int a=3,b=2,c=1;,表达式a>b>c的值是_______。
18.若在函数内部定义变量时省略存储类型,则默认的存储类型是_______。
19.若函数的类型为void,则函数_______返回值。
110.执行语句 print("%sn","1+2+3\0=6");后输出结果是_______。
三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,写出输出结果。
21.void main(){ int n; char *city[]={"Beijing","Tianjin","Shanghai","Chongqing"}; for(n=0; n<4; n+=2) printf("%s\n",city[n]);}
22.void main(){ int a=10,y=0; do { a+=2; y+=a; if(y>30) break; }while(-1); printf("a=%d, y=%d\n", a,y);}
23.int i=1;int f(int j){ static int k=0; return(++k+j+i);}void main(){ int j; for(j=1; j<=3; j++) printf("%5d",f(10)); printf ("\n");}
24.void main(){ int k; char *s=" ABCDE"; for(k=0;k<5;k+=2) pint("%s\n",s+k);}
四、程序填充题(本大题共3小题,每小题6分,共18分)请将每小题程序横线处①-③补上,使其能正确运行。请在答题卡上作答。
31.将从键盘输入的某个学生的学号、姓名和成绩保存至结构型变量并输出。include typedef struct student{ int no; char name[20]; float score;}___①____; /*第一空*/void main(){ STU st; scanf("%d%s%f", &st.no,___②____,&st.score); /*第二空*/ printf("No:%d\nName:%s\nScore:%.1f\n",___③____); /*第三空*/}
32.键入一串字符,以回车换行符为结束标志,统计并输出其中数字字符的个数。include void main(){ char ch; int n=0; ch=getchar(); while(ch!='\n') { if(___①____) n+; /*第一空*/ ___②____; / *第二空*/ } printf("n=%d\n",___③____); / *第三空*/}
33.为二维数组输入数据,输出其中最小的元素值及对应的两个下标。include#define M 3#define N 4void main(){ int a[M][N],i,j, row, col, ___①____; /*第一空*/ for(i=0;i < row, a[row][col], col="j;" row-="%d," printf(?min="%d," row="col=___②____;" min="a[0][0];" if(a[i][j]
五、程序设计题(本大题共2小题,每小题8分,共16分)
41.将26个大写英文字母写入新建的文本文件 ch.txt。
42.(1)编写函数fa,计算并输出圆的面积;(2)编写函数fb,计算并输出圆的周长;(3)编写主函数,键入圆的半径R和运算标志m。使用 switch语句,当m=1时调用fa;当m=2时调用fb;当m=3时调用fa和fb。输出结果保留两位小数
浙江自考网声明:
1、由于各方面情况的调整与变化,本网提供的考试信息仅供参考,考试信息以省考试院及院校官方发布的信息为准。
2、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。