2023年自考類計算機(jī)類(工學(xué)類)高級語言程序設(shè)計(一)題庫_第1頁
2023年自考類計算機(jī)類(工學(xué)類)高級語言程序設(shè)計(一)題庫_第2頁
2023年自考類計算機(jī)類(工學(xué)類)高級語言程序設(shè)計(一)題庫_第3頁
2023年自考類計算機(jī)類(工學(xué)類)高級語言程序設(shè)計(一)題庫_第4頁
2023年自考類計算機(jī)類(工學(xué)類)高級語言程序設(shè)計(一)題庫_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2023年自考類計算機(jī)類(工學(xué)類)高級語言程序設(shè)計(一)題庫卷I一.歷年考點(diǎn)試題黑鉆版(共50題)1.voidmain()

{

inti,a[5],*p;

for(i=4;i>=0;i--):*(a+i)=i;

for(p=a;p<a+5;p++)printf("%d\t",*p);

printf("\n");

}2.下列程序段執(zhí)行后的輸出結(jié)果是

intk=4,a=3,b=2,c=1;

printf("%d\n",k<a?k:c<b?c:a);A.1B.2C.3D.43.設(shè)intn,p=0;,與語句if(n!=0)p=1;等價的是

A.if(n)p=1;B.if(n=1)p=1;C.if(n!=1)p=1;D.if(!n)p=1;4.若有以下定義:doublew[10],則w數(shù)組元素下標(biāo)的上限為______。5.下面程序的輸出是______

voidapple(int*x)

{printf("%d\n",++*x);

}

main()

{inta=25;

apple(&a);

}A.23B.24C.25D.266.表達(dá)式islower(65)的值是______。7.靜態(tài)型外部變量的作用域是______。8.鍵入一串字符(換行作為結(jié)束標(biāo)志),統(tǒng)計字符的個數(shù),將該串字符及字符個數(shù)顯示到屏幕上并寫入文件str.dat中。

#include<stdio.h>

main()

{

charch;intsumch=0;

FILE*fp;

fp=fopen("str.dat","w");

while((ch=getchar())!=______)/*第一空*/

{

sumch++;

putchar(ch);

fputc(______,fp);/*第二空*/

}

printf("sumch=%d\n",sumch);

fprintf(______,"sumch=%d\n",sumch);/*第三空*/

fclose(fp);

}9.設(shè)inta=1,b=2,c=4;經(jīng)過表達(dá)式(c=a!=b)&&(a==b)&&(c=b)運(yùn)算后,a、b和c的值分別是

A.1,2,0B.1,2,1C.1,2,2D.1,2,310.函數(shù)間傳遞數(shù)據(jù)有四種方式:值傳遞、地址傳遞、______和全局變量傳遞。11.函數(shù)YangHui的功能是把楊輝i角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:

1

11

121

1331

14641

其構(gòu)成規(guī)律是:(1)第0列元素和主對角線元素均為1(2)其余元素為其左上方和正上方元素之和(3)數(shù)據(jù)的個數(shù)每行遞增1

#include<stdio.h>

#defineN5

voidYangHui(intx[N][N])

{inti,j;

x[0][0]=1;

for(i=1;i<N;i++)

{x[i][0]=______=1;/*第一空*/

for(j=1;j<i;j++)

if(______)/*第二空*/

x[i][j]=______;/*第三空*/

}

}12.現(xiàn)在程序的輸出是______。

#include<stdio.h>

main()

{intarr[10],j,k=0;

for(j=0;j<10;j++)

arr[j]=j;

for(j=1;j<4;j++)

k+=arr[j]+j;

printf("%d\n",k);

}13.為了判定兩個字符串是否相等應(yīng)當(dāng)使用

A.if(s1==s2)B.if(s1=s2)C.if(strcmp(s1,s2)==0)D.if(strcmp(s1,s2)=0)14.main()

{intx;

while(1)

{scanf("%d",&x);

//輸入25

if(x<0)printf("-1\n");elseif(x>0)printf("1\n");

elsebreak;}

}15.設(shè)計結(jié)構(gòu)型,包含職工編號、姓名、基本工資和業(yè)績提成。編程序,輸入30名職工信息存入結(jié)構(gòu)型數(shù)組,然后統(tǒng)計基本工資和業(yè)績提成的總額并輸出。16.下列關(guān)于變量賦值及表達(dá)式計算時的數(shù)據(jù)類型轉(zhuǎn)換規(guī)則描述正確的是

A.變量賦值時數(shù)據(jù)類型轉(zhuǎn)換規(guī)則是就長不就短,表達(dá)式計算時數(shù)據(jù)類型轉(zhuǎn)換規(guī)則是就左不就右B.變量賦值時數(shù)據(jù)類型轉(zhuǎn)換規(guī)則是就左不就右,表達(dá)式計算時數(shù)據(jù)類型轉(zhuǎn)換規(guī)則是就長不就短C.變量賦值及表達(dá)式計算時的數(shù)據(jù)類型轉(zhuǎn)換規(guī)則是具有強(qiáng)制性而不自動的D.變量賦值及表達(dá)式計算時的數(shù)據(jù)類型轉(zhuǎn)換規(guī)則是具有強(qiáng)制性而自動的17.設(shè)有定義"chara=2,b=5;"求表達(dá)式"~a^b<<2"的值(假定現(xiàn)有計算機(jī)字長為16)

A.-32B.32C.-23D.2318.SumColumMin(

)的功能是:求出M行N列二維數(shù)組每列元素中的最小值,并計算它們的和值。和值通過形參傳回主函數(shù)輸出。

#include<stdio.h>

#defineM2

#defineN4

voidSumColumMin(______,int*sum)/*第一空*/

{inti,j,s=0

for(i=0;i<N;i++)

{k=0;

for(j=1;j<M;j++)

if(______)k=j;/*第二空*/

s+=a[k][i];

}

______;/*第三空*/

}

main()

{intx[M][N]={3,2,6,1,4,1,8,3},s;

SumColumMin(x,&s);

printf("%d\n",s);

}19.將8個數(shù)輸入數(shù)組中,找出其中最大數(shù)和最小數(shù)并輸出。

main()

{inti,max,min,a[8];

for(i=0;i<8;i++)

scanf("%d",&a[i]);

max=a[0];

min=a[0];

for(i=1;i<8;i++)

{if(a[i]>max)

max=______;

if(a[i]<min)

______;

}

printf("max=%d,min=%d\n",______);

}20.位運(yùn)算的對象只能是______。21.設(shè)有如下程序段:

intj=0,sum=1;

do{

sum+=j++;}

while(j<6);

printf("%d\n",sum);

上述程序段的輸出結(jié)果是______。22.若有以下說明和語句

structworker{

intno;

char*name;

}work,*p=&work;

則以下引用方式不正確的是A.work.noB.(*p).noC.p->noD.work->no23.以下是C語言保留字的是______A.intB.UnsignedC.DoubleD.floated24.設(shè)chars[20]="My";,則執(zhí)行strcat(s,"Sun!")后s的內(nèi)容是______。25.有如下程序:

#include<stdio.h>

main(){unsignedchara=8,c;

c=a>>3;

printf("%d/n",c);

}

程序運(yùn)行結(jié)果為______A.32B.16C.0D.126.若main()函數(shù)帶參數(shù),參數(shù)個數(shù)最多是

A.0B.1C.2D.327.編寫程序,要求輸入兩個數(shù),比較大小,輸出大數(shù)和小數(shù)(用指針實(shí)現(xiàn))。28.表達(dá)式的值為0的足

A.5/5%5B.5>2C.!4D.0x7&729.設(shè)charch;,判斷ch為數(shù)學(xué)字符的邏輯表達(dá)式是______。30.下面的程序是使用結(jié)構(gòu)型來計算復(fù)數(shù)m和n的差。

main()

{structcomp

{floatre;floatim;};

______m,n,z;

scanf("%f,%f,%f,%f",&m.re,&m.im,&n.re,&n.im);

z.re=______;z.im=______;

printf("%6.2f+%6.2fi\n",z.re,z.im);

}31.一個二維數(shù)組inta[4][4],請將其填滿并輸出其四個邊的元素。32.#include<stdio.h>

main()

{

intn,k=1;

for(n=1;n<15;n++)

{

k=1;

while(k<=n)

{

if(n==k*k)

printf("%d,",n);

k++;

}

}

}33.在C語言中,如果下面的變量都是int類型,則輸出的結(jié)果是______。

sum=pad=5;

pad=sum++,pad++,++pad;

printf("%d\n",pad);34.通過調(diào)用函數(shù),實(shí)現(xiàn)如下功能:在形參s所指字符串中的每個數(shù)字字符之后插入一個*號。例如,形參s所指的字符串為def35adh3kjs7,執(zhí)行結(jié)果為def3*5*adh3*kjs7*。35.設(shè)inta,b;,與a*=5-b;等價的賦值語句是______。36.若有以下的說明和語句,已知int類型占兩個字節(jié),則以下輸出結(jié)果為______

structst

{chara[10];

intb:

doublec;};

printf("%d\n",sizeof(structst));A.10B.8C.20D.2837.以下符合C語言語法的實(shí)型常量是

A.1.2E0.5B.3.14.159EC.5E-3D.E1538.設(shè)有下列運(yùn)算符:<,+,/,&&,!,=,其中優(yōu)先級最高的是______,優(yōu)先級最低的是______。39.函數(shù)的遞歸調(diào)用是指______A.函數(shù)的自我調(diào)用B.函數(shù)的嵌套調(diào)用C.主函數(shù)調(diào)用系統(tǒng)函數(shù)D.系統(tǒng)函數(shù)調(diào)用主函數(shù)40.設(shè)有定義intx=4;,則表達(dá)式x+=x*=x+1的值是______。41.設(shè)有intx=11;表達(dá)式(x++*1/3)的值是______。42.執(zhí)行語句do{x=5;x+=3;}while(x-->=20);x最終為______。43.為二維數(shù)組各元素輸入數(shù)據(jù),計算并輸出全部元素之和。

#define

M

5

voidmain()

{

inti,j,a[M][M],sum=______;

for(i=0;i<M;i++)

for(j=0;j<M;j++)

{

scanf("%d",&a[i][j]);

sum+______;

}

printf("sum=%d\n",______);

}44.若i為整形變量

i=0;while(i=0)i++;

則以上循環(huán)______A.執(zhí)行2次B.一次也不執(zhí)行C.執(zhí)行1次D.無限循環(huán)45.#include<stdio.h>

#include%<string.h>

main()

{charp1[10]="abc",p2[10]="ABC",str[50]="xyz":

strcpy(str+2,strcat(p1,p2)):

printf("%s\n",str);

}46.在C盤中有一個名為temp.txt的文本文件。

#include<stdio.h>

#include<stdlib.h>

main()

{inti,n;

FILE*fp;

if((fp=fopen("c:\\temp.txt","w+"))==NULL)

{printf("cannotsetthetempfile\n");exit(0);}

for(i=1;i<=10;i++)fprintf(fp,"%3d",i);

for(i=0;i<5;i++)

{fseek(fp,*6L,SEEK_SET);

fscanf(fp,"%d",&n);

printf("%3d",n);

}

fclose(fp);

}47.運(yùn)算符+=,!和&&中優(yōu)先級最高的是______。48.structst

{inti;

intj;

}*p;

main()

{structstm[]={{1,2},{5,10},{6,36}};

p=m;

printf("%d\n",++(++p)->j);

}49.如果打開文件時,選用的文件操作方式是"wb+"則下列說法中正確的是

A.要打開的文件必須存在B.打開文件后只能瀆數(shù)據(jù)C.文件打開后刪除原內(nèi)容再寫D.打開文件后只能寫數(shù)據(jù)50.C語言中調(diào)用______函數(shù)關(guān)閉文件。卷I參考答案一.歷年考點(diǎn)試題黑鉆版1.參考答案:0

1

2

3

42.參考答案:A[解析]用條件運(yùn)算符構(gòu)成的表達(dá)式稱為條件表達(dá)式,格式為:表達(dá)式?表達(dá)式2:表達(dá)式3。條件表達(dá)式的值與表達(dá)式1的值有關(guān),若表達(dá)式1的值為非0(真),則條件表達(dá)式的值為表達(dá)式2的值;否則為表達(dá)式3的值。條件運(yùn)算符的結(jié)合性是自右向左的。結(jié)合本題,先計算右面的表達(dá)式“c<b?c=a”的值,其值為1,再計算左面表達(dá)式“k<a?k:1”的值,其值為1,故本題選A。3.參考答案:A4.參考答案:95.參考答案:D[考點(diǎn)]函數(shù)的地址傳遞

[解析]主函數(shù)中把a(bǔ)的地址&a作為實(shí)參傳遞給apple函數(shù),*x的值為25,自加1就是26,所以答案為D。6.參考答案:07.參考答案:本文件8.參考答案:‘\n'/*第一空*/

ch/*第二空*/

fp/*第三空*/9.參考答案:B[解析]因a==b是不成立的,c=b不被運(yùn)算,C所獲得的值足表達(dá)式"a!=b"的邏輯值。10.參考答案:返回值11.參考答案:x[i][i],*第一空。將對角線置*/

i!=j*第二空,判定是否為對角線上的元素*/

x[i][j-1]+x[i-1][j]/*第三空。根據(jù)構(gòu)成規(guī)律(2)求出該元素的值*/12.參考答案:12[解析]

#include<stdio.h>

main()

{intarr[10],j,k=0;

for(j=0;j<10;j++)

arr[j]=j;j*數(shù)組以下標(biāo)的值為初始值被初始化*/

for(j=1;j<4;j++)/*循環(huán)起始條件是j=1*/

k+=arr[j]+j;/*k=arr[j]+j+k*/

printf("%d\n",k);13.參考答案:C14.參考答案:115.參考答案:main()

{

struct

{longnum;

charname[10];

floatwage[2];

}s[30],*p=s;

intk;

floatx,total[2];

for(p=s;p<s+30;p++)

{scanf("%1d,%s",&p->num,p->name);

for(k=0;k<2;k++)

{scanf("%f",&x);

p->wage[k]=x;}

}

total[0]=total[1]=0.0;

for(k=0;k<2;k++)

for(p=s;p<s+30;p++)

total[k]+=p->wage[k];

for(k=0;k<2;k++)

printf("%f\n",total[k]);

}16.參考答案:B17.參考答案:C[解析]整型常量值在0~127之間的,C語言規(guī)定可以把它看成一個字符型常量,其所對應(yīng)的字符就是該值作為ASCⅡ代碼值所對應(yīng)的那個字符。18.參考答案:

inta[M][N]

a[k][i]>a[j][i]

*sum=s19.參考答案:a[i]

min=a[i]

max,min20.參考答案:整型數(shù)據(jù)21.參考答案:16[解析]

intj=0,sum=1;

do{

sum+=j++;)/*"++"后置,采用先使用對象,后進(jìn)行運(yùn)算的規(guī)則*/

while(j<6);/*循環(huán)上限為j<6*/

printf("%d\n",sum);22.參考答案:D23.參考答案:A[考點(diǎn)]C語言的保留字

[解析]在C語言中有特殊含義的單詞稱為“保留字”,也稱“關(guān)鍵字”,主要用于構(gòu)成語句。所有的保留字均由小寫字母組成。24.參考答案:MySun!25.參考答案:D[考點(diǎn)]位移運(yùn)算符

[解析]本題中將8賦值給字符變量a,a的二進(jìn)制為00001000,a>>3的位運(yùn)算是把a(bǔ)向右移動了3位,結(jié)果為00000001,輸出其十進(jìn)制值為1。26.參考答案:C27.參考答案:main()

{inta,b,*p1,*p2,*p;

scanf("%d,%d",&a,&h);

p1=&a;p2=&b;

if(a<b)

{p=p1;p1=p2;p2=p;}

printf("max=%d,min=%d\n",*p1,*p2);

}28.參考答案:C29.參考答案:ch>='0'&&ch<='9'30.參考答案:structcomp

m.re—n.re

m.im-n.im31.參考答案:#include<stdio.h>

main()

{inta[4][4];

inti,j;

for(i=0;i<4;i++)

for(j=0;j<4;j++)

scanf("%d,&a[i][j]);

for(i=0;i<4;i++)

for(j=0;j<4;j++)

if((i==0)||(i==3))printf("%d",a[i][j]);/*如果是第一行或第四行則輸出該元素*/

elseif((j==0)||(j==3))printf("%d",a[i][j]);/*如果是第一列或第四列則輸出該元素*/

}

}32.參考答案:1,4,9,33.參考答案:734.參考答案:

#include<stdio.h>

voidfun(char*s)

{inti,j,n;

for(i=0;s[i]!='\0';i++)

if(s[i]>='0'&&s[i]<='9')/*判斷是不是數(shù)字*/

{n=0;

while(s[i+1+n]!=0)

n++;/*算出遇到的數(shù)字后面還有幾個字符,為把指針向后移做準(zhǔn)備*/

for(j=i+n+1;j>i;j--)s[j+1]=s[j];/*遇到的數(shù)字之后的字符都向后移動一位*/

s[j+1]='*';/*j+1把指針移到遇到數(shù)字的后一位并賦值'*'*/

i=i+1;

}

}

main()

{chars[60];

gets(s);

fun(s);

printf("結(jié)果是:%s\n",s);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論