全国2009年1月高等教育自学考试高级语言程序设计
编辑整理:深圳自考网 发布时间:2018-05-24 07:04:56阅读数:
课程代码:00342
一、单项选择题(本大题共15小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内.错选、多选或未选均无分.
1. 设int a,b;,则表达式(b=2, a=5, b++, a+b)的值是( )
A. 2
B. 5
C. 7
D. 8
2. 设int a=7; float x=2.5, y=4.7;, 则表达式x+3%(int)(x+y)/4的值是( )
A. 2.75
B. 3.5
C. 2.5
D. 0.0
3. 设char cl; , 则cl中为小写英文字母字符的正确表达式为( )
A. 'a'<=c1='z'
B. (cl>='a')&&(cl<='z')
C. (cl>=a)&&(c1<=z)
D. ('a'<=c1)| |('z'>=c1)
4. 一维数组a的正确说明语句为( )
A. int a(10);
B. int n=10, a[n];
C. int n;
D. #define SIZE 10
scanf(″%d″,&n);
int a[SIZE];
int a[n];
5. 已知字符'A'的ASCII码值是65,且char cl='A', c2='D';
则执行语句printf(″%d,%d\n″,cl,c2-2);后的输出结果是( )
A. A, D
B. A, B
C. 65, 68
D. 65, 66
6. 正确的条件语句为( )
A. if((a=b;)>0)t=a;
B. if((a=b)>0)then t=a;
C. if(a>b)t=a;
D. if(a<b={a++;b++});
7. 若有下列程序段:
int x=l, y=2;x=x+y;y=x-y;x=x-y;
则执行后x和y的值分别为( )
A. 1和2
B. 2和2
C. 2和1
D. 1和1
8. 设int k,a,b;unsigned long w=5;double x=1.42;则不符合类型要求的表达式是( )
A. x%(-3)
B. w+=2
C. k=(a=2,b=3)
D. a+=(b=4)*(a=3)
9. 设int a=3,b=4;,则printf("%d,%d,"(a,b),(b,a));的输出结果是( )
A. 3,4
B. 4,3
C. 3,4,4,3
D. 4,3,3,4
10. 设int i=l, k=2;, 则错误的循环语句是( )
A. for(i=0,k=-1;i++,k++);
B. for(;k-1;i++);
C. for(i=1,k=4;k--;i++);
D. for(;k--;);
11. 设typedef struct{int a;char s[10];} TYPE;
TYPE u1;
则printf("%d\n",sizeof(u1));的输出结果是( )
A. 2
B. 12
C. 14
D. 16
12. 设char sl[ ]="string1",s2[8], *s3, *s4="string2";,则对系统函数strcpy的错误调用是( )
A. strcpy(s1, "string1");
B. strcpy(s4, "string2");
C. strcpy("string2",s2);
D. strcpy(s3, "string1");
13. 正确的数组定义及初始化的是( )
A. char a[10]={"string"};
B. int a[5]={0,1,2,3,4,5};
C. char a={"string"};
D. int a[ ]={x,y,z};
14. 在循环体中用来强制继续循环的语句是( )
A. break
B. continue
C. exit
D. return
15. 在C语言中,标准的输入设备stdin是指( )
A. 软盘
B. 硬盘
C. 显示器
D. 键盘
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案.错填、不填均无分.
16.设有宏定义#define X 10-4,则printf("%d\n",6*X);的输出结果是___________.
17.设double x:,则表达式x=5,(x+5)/2的值是___________.
18.能正确表述"2<x<3或x<-10"的C语言表达式是___________.
19.设有循环语句for(i=-1;i<=5;i++)i++;,则其循环体执行的次数是___________.
20.调用系统函数strcmp(),必须在程序的开头写上一条文件包含命令是___________.
21.设char s[15]=("programming");,则printf("%d\n",strlen(s));的结果是___________.
22.设float a[3][4]={{7.5,8.2},{2.3,3.7,1.2},{1.0,3.4}};,则a[2][1]的值是___________.
23.设char a[20]={"Switch"},*p=a:,则*(p+2)的值是___________.
24.在函数间传递数据时,函数的形参和调用时的实参都是数组,传递方式为___________.
25.若文件型指针fp已指向某文件的末尾,则函数feof(fp)的返回值是___________.
三、程序分析题(本大题共4小题,每小题4分,共16分)
阅读下列程序,将输出结果写到各题右侧的空白处.
26.main()
{ int x=1,a=0,b=0;
switch(x)
{
case 0: a++; break;
case l: b++;
case 2: a++; b++; break;
case 3: a++; b++;
}
printf(″a=%d,b=%d\n″,a,b);
}
27.main()
{ int a=10,b=20,*p1=&a,*p2=&b;
*p1=20;*p2=40;
if(*p2>*p1)*p1=*p2;
printf(″a=%d,b=%d\n″,a,b);
}
28.f(int b)
{ static int y=3;
return(b+y++);
}
main()
{ int a=2,i,k;
for(i=0;i<2;i++)
printf(″%d\n″,f(a++));
}
29. int funs(int n)
{ if(n= =1 ||n= =2) return 2;
else return n+funs(n-1);
}
main()
{ int x=4;
printf(″S=%d\n″,funs(x));
}
四、程序填充题(本大题共3小题,每小题6分,共18分)
请将下列程序横线处缺少的部分补上,使其能正确运行.
30. 从键盘输入10个整数,用"冒泡排序法"由小到大进行排序.
#define N 10
main()
{ int i,j,t,a[N];
for(i=0;i<N;i++) scanf("%d'',&a[i]);
for(i=0;i<N-1;i++)
for(j=N-1;j>=i+1;______ ) /*第一空*/
if(a[j]<a[j-1])
{ t=a[j];________;a[j-1]=t;} /*第二空*/
for(i=0;i<N;i++)printf(″%5d″, _______); /*第三空*/
printf(″\n″);
}
31. 统计文本文件file.dat的行数(提示:以'\n'作为每行的结束).
#include<stdio.h>
#include<stdlib.h>
main()
{ int lines=_________; /*第一空*/
char ch;
FILE *fp;
fp=fopen(″file.dat″,″r″);
while(_______) /*第二空*/
{ ch=fgetc(fp);
if (ch _____ '\n') lines++: /*第三空*/
}
printf(″Lines=%d\n″,lines);
fclose(fp);
}
32. 从键盘输入10名学生的姓名和数学、英语及C语言的成绩,计算并输出其总成绩和平均成绩.
typedef struct
{ char name[20];
int math,english,C;
float sum,aver; /* 总成绩和平均成绩 */
}STU;
main()
{ STU st[10],*p;
int i:
for(i=0;i<10;i++)
{ printf(″Input name:″);
scanf(″%s″,______); /*第一空*/
printf(″Input 3 score: ″);
scanf(″%d,%d,%d″,&st[i].math,&st[i].english,&st[i].C);
}
for(p=st;p<st+10:p++)
{ p->______=p->math+p->english+p->C; /*第二空*/
p->______=p->sum/3; /*第三空*/
p
[1]
本文标签:深圳自考 历年真题 全国2009年1月高等教育自学考试高级语言程序设计
转载请注明:文章转载自(http://www.zikaosz.com)
《深圳自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com