2017年4月自考高级语言程序设计(一)考试真题
来源 :中华考试网 2019-10-20
中二、填空题(本大题共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。输出结果保留两位小数