2019年4月自考高级语言程序设计(00342)真题及答案
-
编写函数fun求n!,并调用该函数计算
的近似值,直到公式中最后一项的值小于10-6为止。
-
利用循环输出如下形式的数字三角形。
1
12
123
…………
123456789
-
从键盘输入10个学生的学号、年龄和姓名,计算并输出所有学生的平均年龄。
#include< stdio.h>
#define N 10
struct student
{
long int num;
int age;
char name[20]
}stu[N]
int main(void)
{
int i, sum =0, aver;
for(i=0; i<N;i++
{
scanf("%d% d%s", &stu[ i]. num, ________);/*第一空*/
sum= sum+ ____________;/*第二空*/
}
aver=sum/____________ ;/*第三空*/
printf("%d\n",aver);
return 0;
}
-
利用冒泡法实现数组元素值降序排序并输出。
#include
int main(void)
{
int a[7]={4,7,2,8,5,9,1},i,j,tem;
for(i=7;i>1;i--)
for(j=0;j<i-1;j++)
if(__________ ) /*第一空*/
{
tem =a[j];
_____________;/*第二空*/
_____________;/*第三空*/
}
for (i=0; i<=6; i++) printf("%5d", a[i]);
printf("\n");
return 0;
}
-
从键盘输入一字符串,调用函数 revstr将其反向输出。(例如输入字符串"abcde",输出其反向字符串"edcba")
#include< stdio.h>
#include< string.h>
void revstr( char *s)
{
int j;
for(j =strlen(s)-1 ;j>=0; j--)
printf("%c", __________);/*第一空*/
}
int main(void)
{
char str[10];
scanf("%s",___________ )/*第二空*/
__________; /*第三空*/
return 0;
}
-
#include< stdio.h>
int fun(int x)
{
int y;
if(x==0 ‖ x==1)return 3;
y=x *x-fun(x-2);
return y;
}
int main( void)
{
int z;
z=fun(3);
printf("%d\n",z);
return 0;
}
-
#include< stdio.h>
int main(void)
{
int i,x[ ]=1,3,5,7,9,11,13,15},*p=x+3
for(i=3;i;i--)
switch(i)
}
case 1:
case2: printf("%d", *p++);break;
case3: printf("%d ",*(--p));
}
return 0;
}
-
#include
int main(void)
{
int i=1, s =3;
do
{
s+=i++;
if( s%==0) continue;
else++i;
} while(s<15);
printf("%d\n",i);
return 0;
}
-
#include< stdio.h>
#include< string.h>
int main(void)
{
char s[2][6];
strepy([0],"Jerry");
strepy ([1], "Tom");
s[0][5]='&';
printf("%s\n",s);
return 0;
}
-
C语言变量的存储类型分为auto型 register型、 extern型和_______。
-
C语言中,实现文件包含的预处理命令是_______。
-
设inta[2][4]=1,3,5,7,9};,该数组元素个数是_______。
-
设 float m=3.89;,则执行语句 printf("%d\n",(int)m);后输出结果是_______。
-
设intx,y;,运用条件运算符求x和y中最大值的C语言表达式是_______。
-
设int a[5]=1,3,5,7,9},*p;p=&a[2];,则执行语句 printf(%d",(*p)++);后输出结果是_______。
-
字符串的存储结束标志符是_______。
-
设inta=1,b=2,c=3;,表达式a&b&&c的值是_______。
-
文件关闭操作成功执行后,库函数 fclose的返回值是()
- A.2
- B.1
- C.0
- D.-1
-
表达式1+!2+3/4+5%6+(7==8)+9的值是_______。
-
C语言源程序中有且仅有一个主函数,其函数名规定为_______。
-
下列选项中定义一个指针数组的是()
- A.int(*p)()
- B.int *p[4];
- C.int p[4];
- D.int *p();
-
typedef long CLASS的作用是()
- A.定义一个新的数据类型符
- B.定义一种新的数据类型
- C.定义一个长整型变量
- D.以上说法都不对
-
关于函数说法正确的是()
- A.必须有形参
- B.可以嵌套定义
- C.可以嵌套调用
- D.实参和形参不能重名
-
设 char[]="happy";,则执行语句 printf("%d", sizeof(a))后输出结果是()
- A.4
- B.5
- C.6
- D.7
-
设inta=4,*p=&a;,均代表地址的一组选项是()
- A.a,p,*&a
- B.*&a,&a,*p
- C.*&p,*p,&a
- D.&a,p,&*p
-
下列说法正确的是()
- A.for语句的循环体至少执行一次
- B.do -while-语句的循环体至少执行一次
- C.while语句先执行循环体后判断循环结束条件
- D.do -while-语句先判断循环结束条件后执行循环体
-
设inta[][4]={1,2,3,4,5,6,7};,则数组元素a[1][3]的值是()
- A.0
- B.3
- C.4
- D.7
-
设inti=3,j=2; char="a";,则执行语句 printf("%",k+i/j);后输出结果是()
- A.a
- B.b
- C.c
- D.d
-
关于运算符优先级说法正确的是()
- A.条件运算符高于位运算符
- B.赋值运算符高于逗号运算符
- C.逻辑运算符高于关系运算符
- D.逻辑运算符高于算术运算符
-
设 double;,能正确输出x值的语句是()
- A.putchar(x);
- B.printf("%d", x);
- C.putchar("x");
- D.printf("%f", x);
-
设inta=10;,执行语句a*=1+2+3;后a的值是()
- A.10
- B.20
- C.30
- D.60
-
下列不属于C语言常量的是()
- A.0x5ag
- B.5e-2
- C.0572
- D.3e2
-
下列不属于C语言关键字的是()
- A.void
- B.switch
- C.integer
- D.sizeof
-
转义字符"\n"的意义是()
- A.退格
- B.回车
- C.换页
- D.回车换行