違法信息舉報 客服熱線:400-118-7898
廣告
?
專接本欄目測試廣告

?高級語言程序設(shè)計(一)2018年4月真題

自考 責(zé)任編輯:彭雅倩 2019-06-27

摘要:高級語言程序設(shè)計(一)2018年4月真題及答案,該試卷為高級語言程序設(shè)計(一)自考歷年真題試卷,包含答案及詳細解析。

高級語言程序設(shè)計(一)2018年4月真題及答案解析

高級語言程序設(shè)計(一)2018年4月真題及答案,該試卷為高級語言程序設(shè)計(一)自考歷年真題試卷,包含答案及詳細解析。

一、單項選擇題:本大題共15小題,每小題2分,共30分。在每小題列出的備選項中只有一項是最符合題目要求的,請將其選出

1.C語言的關(guān)鍵字是(  )

A.strcpy
B.printf
C.stdio
D.float

2.錯誤的表達式是(  )

A.20%5
B.20/5
C.20.8%5
D.20.8/5

3.設(shè)int x=10,y=5;,表達式x++,x+y++的值是(  )

A.10
B.11
C.15
D.16

4.設(shè)int a;,循環(huán)次數(shù)為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.當循環(huán)語句while(表達式);結(jié)束時,“表達式”的值是(  )

A.0
B.1
C.-1
D.非0

6.設(shè)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.關(guān)于函數(shù)不正確的說法是(  )

A.可以沒有返回值
B.可以沒有形式參數(shù)
C.返回值可以是指針類型
D.一個函數(shù)中可以定義另一函數(shù)

9.設(shè)int a[3][4]={1,2,3,4,5,6};,值為4的數(shù)組元素是(  )

A.a[0][1]
B.a[0][2]
C.a[0][3]
D.a[1][1]

10.調(diào)用遞歸函數(shù)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.設(shè)int x=1,y=2;,下列語句錯誤的是(  )

A.x++=y;
B.for(x=0;x
C.while(x
D.if(x

12.不是變量存儲類型關(guān)鍵字的是(  )

A.auto
B.stdio
C.static
D.register

13.下列二維數(shù)組定義正確的是(  )

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.設(shè)int m=5,*p;,下列語句正確的是(  )

A.p=&m;
B.p=m;
C.*p=&m;
D.*p=*m;

15.當文件未結(jié)束時,系統(tǒng)函數(shù)feof的返回值是(  )

A.-1
B.0
C.1
D.非0

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

11.設(shè)int a=11;,表達式a%3+a/4的值是_______。

12.設(shè)int x=4,y=2;,表達式(x>>y)+(x<<9)的值是_______。

13.設(shè)int s[5]={2,4,6,8},*p=5;,執(zhí)行語句 printf("%d,%d ",s[2],*(p+4));后輸出結(jié)果_______。

14.設(shè) int a;float b=1.9;,執(zhí)行語句a=(int)b;后變量a和b的值分別是_______。

15.設(shè)int n=5;,執(zhí)行語句 printi("%d ",n=3*4,n*5,n+1));后輸出結(jié)果是_______。

16.設(shè)int x=2;,執(zhí)行語句pim("%d",x++);后輸出結(jié)果是_______。

17.設(shè)int a=1,b=2,c3;,表達式a||b-a&&c+!a的值是_______。

18.系統(tǒng)函數(shù) getchar()的功能是_______。

19.設(shè)chr s[ ]="\1234";,執(zhí)行語句 printi("%d,%d ",sizeof(s),strlen(s));后輸出結(jié)果是_______。

110.使用系統(tǒng)函數(shù)strcat()時,用到的文件包含命令是_______。

三、程序分析題:本大題共4小題,每小題4分,共16分。閱讀下列程序,寫出輸出結(jié)果。

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.十個人參加選舉,有三個候選人,每人投一票。輸出每位候選人的姓名和得票數(shù)。#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.鍵入一串字符,以回車換行符為結(jié)束標志,分別統(tǒng)計并輸出其中英文字母和數(shù)字的個數(shù)。#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.從鍵盤為二維數(shù)組元素輸入數(shù)據(jù),計算并輸出全部元素之和。#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;}

五、程序設(shè)計題:本大題共2小題,每小題8分,共16分。

41.從文本文件old.txt讀取字符,將其中的數(shù)字字符"0"、"1"、"2"、……"9"分別用英文字母字符"Z"、"Y"、"X"、"W"、"V","U"、"T"、"S"、"R"、"Q"替換,其余字符不變,結(jié)果寫入文本文件new.txt,并分別將兩個文件的內(nèi)容輸出到屏幕。

42.(1)編寫函數(shù) int move(int b[],int n, int m),將整型數(shù)組b的n個元素循環(huán)右移m個位置。 例如:n=10,m=2時,移動前、后數(shù)組b中的數(shù)據(jù)如下圖所示。(2)編寫主函數(shù),從鍵盤輸入數(shù)組元素及n和m(0

溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準!

自考備考資料免費領(lǐng)取

去領(lǐng)取