logo

咨询热线

13613410649 (点击在线咨询)
您现在的位置:山西自考网>历年真题 > 理工类 > 正文
自考攻略

2021年4月山西自考《高级语言程序设计》模拟试题和答案(二)

时间:2021-02-27 11:44:42 作者:储老师

自考助学
三、程序分析题(本大题共5小题,每小题5分,共25分)阅读下列程序,将输出结果写到各题右侧的空白处。
 
第1题main()
 
{int a[3][4]={1,3,5,7,12,14,16,18,9,6,4,2},j,k,m,n,x;
 
x=m=n=0;
 
for(j=2;j>-1;j--)
 
for(k=0;k<4;k++)
 
if(x
 
printf(″a[%d][%d]=%d\n″,m,n,x);
 
}
 
输出结果为?
 
【正确答案】a[1][3]=18
 
第2题main()
 
{int x=2,y=-1,z=2;
 
if(x<y)
 
if(y<0)z=0;
 
elsez+=1;
 
printf(″%d\n″,z);
 
}
 
【正确答案】2
 
第3题struct st
 
{int i;
 
int j;
 
}*p;
 
main()
 
{struct st m[]={{10,1},{20,2},{30,3}},
 
p=m;
 
printf(″%d\n″,(*++p).j);
 
}
 
【正确答案】2
 
第4题main()
 
{static char a[]={′*′,′*′,′*′,′*′,′*′};
 
int i,j,k;
 
for(i=0;i<5;i++)
 
{printf(″\n″);
 
for(j=0;j
 
for(k=0;k<5;k++)printf(″%c″,a[k]);
 
}
 
【正确答案】*************************
 
第5题main()
 
{int n,k=1;
 
for(n=1;n<20;n++)
 
{k=1;
 
while(k<=n)
 
{if(n==k*k)
 
printf(″%d,″,n);
 
k++;
 
}
 
}
 
}
 
【正确答案】1,4,9,16
 
四、程序填充题(本大题共3小题,每小题6分,共18分)给出下列程序,将横线处缺少的部分补上,使其能正确运行。
 
第1题图中空白处答案应为:___,___,___。
 
【正确答案】*(str+k)=fgetc(fp)k++*(str+k)
 
第2题下面函数将3个学生的数据存入名为“student.dat”的文件(二进制文件)。
 
#include″stdio.h″
 
#define SIZE 3
 
struct student
 
{long num;char name[10];int age;}stu[SIZE];
 
void fsave()
 
{FILE*fp;int i;
 
if((fp=fopen(″student.dat″,))==NULL)
 
{printf(″Cannot open file!\n″);exit(1);}
 
for(fwrite(&stu[i],___,1,fp)!=1)
 
printf(″File write error!\n″);
 
fclose(fp);
 
}
 
【正确答案】″wb″sizeof(struct student)
 
第3题下列程序是求短整型正整数的各位上的数字之和并输出。
 
main()
 
{short m,;
 
scanf(″%d″,&m);
 
while()
 
{s=s+m%10;
 
______
 
}
 
printf(″%d″,s);
 
}
 
【正确答案】s=0m!=0m=m/10
 
五、程序设计题(第1小题5分,第2、3小题各6分,共17分)
 
第1题输入一个字符串,按相反次序输出其中的所有字符。
 
【正确答案】#include main(){char a[80],*p=a,i;gets(p);for(i=strlen(p)-1;i>=0;i--)putchar(*(p+i));}
 
第2题编一个程序,取出一个字符串的左边n个字符组成新的字符串并输出。原字符串及n从键盘输入。本题要求用指向字符的指针来处理字符中的字符。
 
【正确答案】#include″string.h″main(){char a[100],b[100],*p_a=a,*p_b=b;int n,i;gets(p_a);scanf(″%d″,&n);for(i=0;i<=""td="">
 
第3题编程序按下列公式计算e的值(精度为1e-6)。
 
e=1+11!+12!+13!+…+1n!
 
【正确答案】#include#define N 3 main(){int i;float e=1,f=1;do{f=f*i;e=e+1/f;}while(1/f>1e-6);printf(″e=%f″,e);}

声明:

(一)由于考试政策等各方面情况的不断调整与变化,本网站所提供的考试信息仅供参考,请以权威部门公布的正式信息为准。

(二)本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。

考试提醒

准考证打印:4月5日起

  • 考生交流群
  • 微信公众号
  • 考生交流群 扫一扫加入微信交流群

    与考生自由互动、并且能直接与专业老师进行交流解答。

  • 微信公众号 扫一扫加关注微信公众号

    与考生自由互动、并且能直接与专业老师进行交流解答。

关注公众号

回复“免费资料”领取复习资料

微信公众号

微信公众号

微信公众号

微信交流群

<<点击收起

在线咨询

在线咨询

APP下载

APP
下载

联系微信
联系
微信
扫描二维码
扫描
二维码
反馈建议
反馈
建议
回到顶部
回到
顶部
APP下载
微信客服
微信交流群