点击查看:全国自考00342高级语言程序设计历年真题及部分答案汇总
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.用户自定义标识符正确的是( )
A.3ab
B.int
C.fa2_a
D.sin(x)
2.关于C语言程序描述正确的是( )
A.函数必须要有return语句
B.主函数必须位于程序的开头
C.程序中每行只能写一条语句
D.一个程序中只能有一个主函数
3.设int i=8,a,b; double x=1.42,y=5.2;,正确的表达式是( )
A.a+=(b=4)*(a=3)
B.a=a*3=2
C.x%(-3)+y* *3
D.y=float(i)
4.设int a[][2]={1,2,3,4,5,6,7};,其中缺省的行长度的最小值是( )
A.2
B.3
C.4
D.5
5.设char c=′A′; int i=1,j;,执行语句j=!c&&i++;后,i和j的值分别是( )
A.0和1
B.1和0
C.1和65
D.2和66
6.设typedef char STRING[255]; STRING *s;,则s是( )
A.字符数组
B.字符变量
C.字符指针数组
D.字符指针变量
7.设int x=6;,执行语句x+=x-=x*x;后,x的值是( )
A.-60
B.0
C.6
D.36
8.设int i=3,j=3;,表达式i+++j的值是( )
A.6
B.7
C.8
D.9
9.下列为C语言保留字的是( )
A.real
B.long
C.pointer
D.integer
10.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( )
A.2
B.6
C.8
D.10
11.变量定义并初始化正确的是( )
A.int a=1,*p=a;
B.int a=2,p=*a;
C.int a=3,p=&a;
D.int a=4,*p=&a;
12.使用递归函数计算n!(n=0,1,2,3,....)的是( )
A.fac(int n)
{ int i,f=-1;
if(n==0) return 1;
else for(i=1 ; i<=n; i++) f*=i;
return f;
}
B.fac(int n)
{
if(n==0‖n==1) return 1;
else return n*fac(n-1);
}
C.fac(int n)
{ int i=1,f=1;
if(n==0) return 1;
else while(i<=n) f*=i++;
return f;
}
D.fac(int n)
{ int i=1,f=1;
if(n==0) return 1;
else do { f*=i; }while (i++ < p>
return f;
}
13.设struct{ int age; int num; }stu *p=&stu;对结构型变量stu的成员age引用错误的是( )
A.stu.age
B.p->age
C.*p.age
D.(*p).age
14.设int a[2]={1,2},*p=a;,则*p是( )
A.元素a[0]的值
B.元素a[0]的地址
C.元素a[1]的值
D.元素a[1]的地址
15.设int a[10];,对数组元素引用正确的是( )
A.a[10]
B.a[′0′]
C.a(6)
D.a[10-10]
二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。
11.执行语句printf('%d\n', strlen('a\n\x41'));后,输出结果是_______。
12.设int a,b,c;,表达式a=2,b=5,b++,a+b的值是_______。
13.设int a=1,b=2,m=2,n=2;,执行表达式(m=a< p>
14.设int x=4,y=2;,表达式x< p>
15.执行下列程序段后,输出结果是_______。int x=3;do{ ptintf('%5d',x-=2); }while(!(--x));
16.执行语句for(i=10; i>0; i--,);后,变量i的值是_______。
17.设int x,y;,循环语句for(x=0,y=0; (y!=10)&&(x<5); x++);执行的次数是_______。
18.若函数内定义变量的存储类别是static,该变量被称为_______静态变量。
19.设int x=3;,执行语句printf((x%2)?('**%d\n'):('##%d\n'),x);后,输出结果是_______。
110.设char s[3]='AB', *p=s;,则*(p+2)的值是_______。
三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写到各题右侧的空白处。
21.void main( ){ int i=0, j =0, k=0; while (i< 10) i++; while (j++<10); while (++k<10); printf ('i=%d,j=%d,k=%d\n', i,j,k);}
22.int a;fun(int i){ a+=2*i; return a;}void main( ){ int a=10; printf('%d,%d\n',fun(a),a);}
23.void main( ){ int a=0, b=0, d=0; char *s='xcbc3abcd'; for(; *s!= ′\0′; s++) switch(*s) { case ′a′: a++; break; case ′b′: b++; break; default: d++; } printf('a=%d,b=%d,d=%d\n', a,b,d);}
24.#define M 2<3? 5:6void main( ){ int i=3, j, k; j=i+M; k=i+(M); printf ('%d,%d\n', j, k);}
四、程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补上,使其能正确运行。
31.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。
32.将26个小写英文字母中的元音字母(a,e,i,o,u)写入到文件vo.txt中。#include 'stdio.h'void main( ){ char _______; /*第一空*/ FILE *fp; fp=fopen('vo.txt', 'w'); for(ch=′a′; ch<=′z′; ch++) if(_______)fputc(ch,fp); /*第二空*/ _______; /*第三空*/}
33.根据迭代公式
,求a的平方根(精度要求|x1-x0|<10-6)。
五、程序设计题(本大题共2小题,每小题8分,共16分)
41.从键盘输入三条边a、b和c,若能构成三角形则输出其面积,否则输出不能构成三角形的提示信息“No triangle”。三角形面积计算公式
其中:s=(a+b+c)/2。
42.(1)编写一个函数change( )实现两个实型变量的值交换;(2)写出主函数,从键盘上输入两个数,然后调用函数change()交换两个实型数的值并输出。
<>
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总