欢迎您访问浙江自考网!网站为考生提供浙江自考信息服务,供学习交流使用,非政府官方网站,官方信息以浙江省招生考试院为准 登录  网站导航

浙江自考网

自考热线:16657169113

自考办电话 | 在线提问 | 公众号

2018年4月自考高级语言程序设计(一)真题

编辑整理:浙江自考网 发表时间:2019-11-26   【

一、单项选择题:本大题共15小题,每小题2分,共30分。在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出

  1.C语言的关键字是(  )

  A.strcpy

  B.printf

  C.stdio

  D.float

  2.错误的表达式是(  )

  A.20%5

  B.20/5

  C.20.8%5

  D.20.8/5

  3.设int x=10,y=5;,表达式x++,x+y++的值是(  )

  A.10

  B.11

  C.15

  D.16

  4.设int a;,循环次数为10的语句是(  )

  A.for(a=0;a=10;a++);

  B.for(a=0;a==10;a++);

  C.for(a=0;a<10;a++);

  D.for(a=0;a<=10;a++);

  5.当循环语句while(表达式);结束时,“表达式”的值是(  )

  A.0

  B.1

  C.-1

  D.非0

  6.设int a=1,b=2,c3;,不能将变量c的值赋给变量a和b的表达式是(  )

  A.a=c,b=c

  B.a=(b=c++)

  C.(a=c)||(b=c)

  D.(a=c)&&(b=c)

  7.下列变量定义正确的是(  )

  A.int a6;

  B.double -a6;

  C.float 6a;

  D.char Ab*;

  8.关于函数不正确的说法是(  )

  A.可以没有返回值

  B.可以没有形式参数

  C.返回值可以是指针类型

  D.一个函数中可以定义另一函数

  9.设int a[3][4]={1,2,3,4,5,6};,值为4的数组元素是(  )

  A.a[0][1]

  B.a[0][2]

  C.a[0][3]

  D.a[1][1]

  10.调用递归函数func(1),返回值为3的是(  )

  A.int func(int n)

  {

  if(n<=0) return 0;

  else return func(n-1)+n;

  }

  B.int func(int n)

  {

  if(n<=0) return 0;

  else return func(n-1)+3;

  }

  C.int func(int n)

  {

  if(n==0) return 0;

  else return func(n-1)*n;

  }

  D.int func(int n)

  {

  if(n==0) return 0;

  else return func(n-1)*3;

  }

  11.设int x=1,y=2;,下列语句错误的是(  )

  A.x++=y;

  B.for(x=0;x

  C.while(x

  D.if(x

  12.不是变量存储类型关键字的是(  )

  A.auto

  B.stdio

  C.static

  D.register

  13.下列二维数组定义正确的是(  )

  A.char a(10,10);

  B.chr n=10,a[n][n];

  C.#define N 10

  char a[N][N];

  D.int n;

  char a[n][n];

  14.设int m=5,*p;,下列语句正确的是(  )

  A.p=&m;

  B.p=m;

  C.*p=&m;

  D.*p=*m;

  15.当文件未结束时,系统函数feof的返回值是(  )

  A.-1

  B.0

  C.1

  D.非0

 二、填空题:本大题共10小题,每小题2分,共20分

  11.设int a=11;,表达式a%3+a/4的值是_______。

  12.设int x=4,y=2;,表达式(x>>y)+(x<<9)的值是_______。

  13.设int s[5]={2,4,6,8},*p=5;,执行语句 printf("%d,%d\n",s[2],*(p+4));后输出结果_______。

  14.设 int a;float b=1.9;,执行语句a=(int)b;后变量a和b的值分别是_______。

  15.设int n=5;,执行语句 printi("%d\n",n=3*4,n*5,n+1));后输出结果是_______。

  16.设int x=2;,执行语句pim("%d",x++);后输出结果是_______。

  17.设int a=1,b=2,c3;,表达式a||b-a&&c+!a的值是_______。

  18.系统函数 getchar()的功能是_______。

  19.设chr s[ ]="\\1234";,执行语句 printi("%d,%d\n",sizeof(s),strlen(s));后输出结果是_______。

  110.使用系统函数strcat()时,用到的文件包含命令是_______。

  三、程序分析题:本大题共4小题,每小题4分,共16分。阅读下列程序,写出输出结果。

  21.#include int main(void){ int i=0; char *Brics[]={"Brazil","Russia","India","China", "South Africa"}; do { printf("%s\n",Brics[i]); i=i+2; }while(i<6); return 0;}

  22.#include int main(void){ int x,y=3; for(x=1;x<=10;x++)

  {

  if(y>=10) break; if(y%3==2) { y=y+3; continue; } y=y-1; } printf("%d,%d\n",x,y); return 0;}

  23.#include int main(void){ char ch='-'; int a=1,b=2; switch(ch) { case '+': a+=b; case '-': a-=b; case '*': a*=b; case '/': a/=b; } printf("%d\n",a); return 0;}

  24.#include int main(void){ int a[10]={10,9,8,7,6,5,4,3,2,1},i,j=9,temp; int *p=a; for(i=0i<5;i++) { temp=a[i]; a[i]=a[j]; a[j--]=temp; } for(i=0;i<10;i++) printf("%d ",*p++); printf("\n"); return 0;}

  四、程序填充题:本大题共3小题,每小题6分,共18分。请将下列程序横线处缺少的部分补上,使其能正确运行。

  31.十个人参加选举,有三个候选人,每人投一票。输出每位候选人的姓名和得票数。#include #include t ypedef struct person{ char name[20]; int count;}PER;int main( void){ int i,j; char NAME[20]; PER leader[3]={{"Li",0},{"Liu",0};{"Wang",0}}; for(i=0;i<_______;i++) /*第一空*/ { scanf("%s",NAME); for(j=0;j<3;j++) if(strcmp(NAME,leader[j]-name)==0) _______; /*第二空*/ } for(i=0;i<3;i++) printf("%s,%d\n",_______,leader[i].count); /*第三空*/ return 0;}

  32.键入一串字符,以回车换行符为结束标志,分别统计并输出其中英文字母和数字的个数。#include int main(void){ _______; /*第一空*/ int letter=0,digital=0; while((ch=getchar())!='_______') /*第二空*/ if(ch>='A'&&ch<='z'|| ch="">='a'&&ch<='z') letter++; else if(_______) digital++; /*第三空*/ printf("Letter=%d,Digital=%d\n",letter,digital); return 0;}

  33.从键盘为二维数组元素输入数据,计算并输出全部元素之和。#include#define N 5int main(void){ int i,j; float a[N][N],sum=_______; /*第一空*/ fox(i=0;i< return *第三空* printf(?sum='%.3f\n",_______);' } *第二空* sum="sum+_______;" scanf(?%f?,&a[i][j]); {

  五、程序设计题:本大题共2小题,每小题8分,共16分。

  41.从文本文件old.txt读取字符,将其中的数字字符'0'、'1'、'2'、……'9'分别用英文字母字符'Z'、'Y'、'X'、'W'、'V','U'、'T'、'S'、'R'、'Q'替换,其余字符不变,结果写入文本文件new.txt,并分别将两个文件的内容输出到屏幕。

  42.(1)编写函数 int move(int b[],int n, int m),将整型数组b的n个元素循环右移m个位置。 例如:n=10,m=2时,移动前、后数组b中的数据如下图所示。

2018年4.png

  (2)编写主函数,从键盘输入数组元素及n和m(0




浙江自考网课程中心

浙江自考网声明:

1、由于各方面情况的调整与变化,本网提供的考试信息仅供参考,考试信息以省考试院及院校官方发布的信息为准。

2、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。

浙江自考便捷服务

浙江自考网微信交流群