点击查看:全国自考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 c1; , 则c1中为小写英文字母字符的正确表达式为( ) A.′a′<=c1=′z′ B.(c1>=′a′)&&(c1<=′z′) C.(c1>=a)&&(c1<=z) D.(′a′<=c1||(′z′>=c1) 4.一维数组a的正确说明语句为( ) A.int a(10); B.int n=10, a[n]; C.int n; scanf(″%d″,&n); int a[n]; D.#define SIZE 10 int a[SIZE]; 5.已知字符′A′的ASCII码值是65,且char c1=′A′, c2=′D′;,则执行语句printf(″%d,%d\n″,c1,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 7.若有下列程序段:int x=1, 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=1, 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 s1[ ]=″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分)请在每小题的空格中填上正确答案。错填、不填均无分。 11.设有宏定义#define X 10-4,则printf(″%d\n″,6*X);的输出结果是___________。 12.设double x;,则表达式x=5,(x+5)/2的值是___________。 13.能正确表述“2<3或X<-10”的C语言表达式是___________。< p> 14.设有循环语句for(i=-1;i<=5;i++)i++;,则其循环体执行的次数是___________。 15.调用系统函数strcmp(),必须在程序的开头写上一条文件包含命令是___________。 16.设char s[15]=(″programming″);,则printf(″%d\n″,strlen(s));的结果是___________。 17.设float a[3][4]={{7.5,8.2},{2.3,3.7,1.2},{1.0,3.4}};,则a[2][1]的值是___________。 18.设char a[20]={″Switch″},*p=a;,则*(p+2)的值是___________。 19.在函数间传递数据时,函数的形参和调用时的实参都是数组,传递方式为___________。 110.若文件型指针fp已指向某文件的末尾,则函数feof(fp)的返回值是___________。 三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写到各题右侧的空白处。 21.main(){ int x=1,a=0,b=0; switch(x) { case 0: a++; break; case 1: b++; case 2: a++; b++; break; case 3: a++; b++; } printf(″a=%d,b=%d\n″,a,b); ) 22.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);} 23.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++));} 24.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分)请将下列程序横线处缺少的部分补上,使其能正确运行。 1.从键盘输入10个整数,用“冒泡排序法”由小到大进行排序 ![]() 2.统计文本文件file.dat的行数(提示:以′\n′作为每行的结束)。 ![]() 3.从键盘输入10名学生的姓名和数学、英语及C语言的成绩,计算并输出其总成绩和平均成绩。 ![]() 五、程序设计题(本大题共2小题,每小题8分,共16分) 11.输入实数x,按下列公式计算并输出x和y的值(小数点后保留两位)。 ![]() 12.(1)编写一个计算摄氏(C)到华氏(F)转换的函数。函数头是:float temp(float c)计算公式: ![]() (2)编写主函数从键盘输入摄氏温度的值,调用上述函数输出摄氏及华氏温度的值(小数点后保留两位)。
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总
2020年自考报名有疑问、不知如何选择主考院校及专业,立即报考咨询>> |