违法信息举报 客服热线:400-118-7898
广告
?
专接本栏目测试广告

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

自考 责任编辑:彭雅倩 2019-06-27

摘要:高级语言程序设计(一)2018年4月真题及答案,该试卷为高级语言程序设计(一)自考历年真题试卷,包含答案及详细解析。

高级语言程序设计(一)2018年4月真题及答案解析

高级语言程序设计(一)2018年4月真题及答案,该试卷为高级语言程序设计(一)自考历年真题试卷,包含答案及详细解析。

一、单项选择题:本大题共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 ",s[2],*(p+4));后输出结果_______。

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

15.设int n=5;,执行语句 printi("%d ",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 ",sizeof(s),strlen(s));后输出结果是_______。

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

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

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

22.#include <stdio.h>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 ",x,y);       return 0;}

23.#include <stdio.h>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 ",a);    return 0;}

24.#include <stdio.h>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(" ");    return 0;}

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

31.十个人参加选举,有三个候选人,每人投一票。输出每位候选人的姓名和得票数。#include  <stdio.h>#include t <string.h>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 ",_______,leader[i].count);    /*第三空*/    return 0;}

32.键入一串字符,以回车换行符为结束标志,分别统计并输出其中英文字母和数字的个数。#include <stdio.h>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 ",letter,digital);    return 0;}

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

五、程序设计题:本大题共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中的数据如下图所示。(2)编写主函数,从键盘输入数组元素及n和m(0

更多资料

00537 中国现代文学史 第一章 文学革命与五四新文学

00537中国现代文学史第四章 50至70年代文学

15040《习近平新时代中国特色社会主义思想概论》简答题31问

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

自考备考资料免费领取

去领取