?高級語言程序設計(一)2018年4月真題
摘要:高級語言程序設計(一)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
延伸閱讀
- 考前自救指南:希賽自考題庫快速提分
- 自考專屬刷題工具,刷題即提分!
- 最后9天,自考歷年真題應該怎么刷?
- 自考備考一站式服務:希賽自考題庫APP
- 0基礎逆襲秘籍:希賽全套自考學習包(含智能題庫)
- 避開備考誤區!用希賽自考APP快速提分!
自考微信公眾號
掃碼添加
自考備考資料免費領取
去領取
掃描二維碼