2023年c語言電大語言程序設(shè)計A復(fù)習(xí)資料_第1頁
2023年c語言電大語言程序設(shè)計A復(fù)習(xí)資料_第2頁
2023年c語言電大語言程序設(shè)計A復(fù)習(xí)資料_第3頁
2023年c語言電大語言程序設(shè)計A復(fù)習(xí)資料_第4頁
2023年c語言電大語言程序設(shè)計A復(fù)習(xí)資料_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計A復(fù)習(xí)資料一一、單選題1.由C語言目的文獻(xiàn)連接而成的可執(zhí)行文獻(xiàn)的缺省擴展名為()。A.cppB.exeC.objD.c2.設(shè)有兩條語句為“inta=12;a+=a*a;”,則執(zhí)行結(jié)束后,a的值為()。A.12B.144C.156D.283.帶有隨機函數(shù)調(diào)用的表達(dá)式rand()%20的值在()區(qū)間內(nèi)。A.1~19B.1~20C.0~19D.0~204.for循環(huán)語句“for(i=0;i<n;i+=2)S;”中循環(huán)體S語句被執(zhí)行的次數(shù)為()。A.(n+1)/2B.n/2+1C.n/2-15.在下列的字符數(shù)組定義中,存在語法錯誤的是()。A.chara[20]="abcdefg";B.chara[]="x+y=55.";C.chara[15]={'1','2'};D.chara[10]='5';6.若有一個函數(shù)原型為“double*function()”,則它的返回值類型為()。A.實數(shù)型B.實數(shù)指針型C.函數(shù)指針型D.數(shù)組型7.在C語言中,所有預(yù)解決命令都是以()符號開頭的。A.*B.#C.&D.@8.假定整數(shù)指針p所指數(shù)據(jù)單元的值為30,p+1所指數(shù)據(jù)單元的值為40,則執(zhí)行*p++后,p所指數(shù)據(jù)單元的值為()。A.40B.30C.70D.9.若要使p指向二維整型數(shù)組a[10][20],則p的類型為()。A.int*B.int**C.int*[20]D.int(*)[20]10.表達(dá)文獻(xiàn)結(jié)束符的符號常量為()A.eofB.EofC.EOFD.feof二、填空題1.一個函數(shù)定義由________和函數(shù)體兩部分組成。2.執(zhí)行“printf("%c",'F'-2);”語句后得到的輸出結(jié)果為________。3.int類型的長度為________。4.表達(dá)式(float)25/4的值為________。5.若x=5,y=10,則x<=y的邏輯值為________。6.作為語句標(biāo)號使用的case和default只能用于________語句的定義體中。7.在程序中執(zhí)行到________語句時,將結(jié)束所在函數(shù)的執(zhí)行過程,返回到調(diào)用該函數(shù)的位置。8.假定二維數(shù)組的定義為“chara[M][N];”,則該數(shù)組所含元素的個數(shù)為________。9.存儲字符'a'需要占用存儲器的________個字節(jié)空間。10.用于存儲一個長度為n的字符串的字符數(shù)組的長度至少為________。11.假定p所指對象的值為25,p+1所指對象的值為46,則執(zhí)行表達(dá)式(*p)++后,p所指對象的值為________。12.假定p是一個指向整數(shù)對象的指針,則用________表達(dá)該整數(shù)對象。13.假定一個結(jié)構(gòu)類型的定義為“structB{inta[5];char*b;};”,則該類型的理論長度為________。三、寫出下列每個程序運營后的輸出結(jié)果1.#include<stdio.h>voidmain(){inti,s1=0,s2=0;for(i=0;i<10;i++)if(i%2)s1+=i;elses2+=i;printf("%d%d\n",s1,s2);}2.#include<stdio.h>constintM=20;voidmain(){inti=2;while(1){if(i>M/2)break;if(M%i==0)printf("%d",i);i++;}printf("\n");}3.#include<stdio.h>inta[6]={4,5,6,15,20,12};voidmain(){inti,s1,s2;s1=s2=0;for(i=0;i<6;i++){switch(a[i]%2){case0:s2+=a[i];break;case1:s1+=a[i];break;}}printf("%d%d\n",s1,s2);}4.#include<stdio.h>voidmain(){inta[3][3]={{3,5,7},{9,11,13},{6,8,20}};inti,*p=&a[0][0];for(i=0;i<9;i++){if(*p>10)printf("%d",*p);p++;}printf("\n");}5.#include<stdio.h>#include<string.h>structWorker{charname[15];intage;floatpay;};voidmain(){structWorkerx;char*t="liouting";intd=38;floatf=400;strcpy(,t);x.age=d;x.pay=f;x.age++;x.pay*=2;printf("%s%d%6.2f\n",,x.age,x.pay);}四、寫出下列每個函數(shù)的功能1.#include<stdio.h>intSA(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}函數(shù)功能:2.voidOutput(structIntNode*f)//f為單鏈表的表頭指針{if(!f)return;while(f){printf("%d",f->data);f=f->next;}printf("\n");}假定structIntNode的類型定義為:structIntNode{intdata;structIntNode*next;};函數(shù)功能:五、按題目規(guī)定編寫程序或函數(shù)6.編寫一個程序,計算1+3+32+...+310的值并輸出,假定分別用i,p,s作為循環(huán)變量、累乘變量和累加變量的標(biāo)記符。6.根據(jù)函數(shù)原型“intFF(inta[],intn)”,編寫函數(shù)定義,計算并返回數(shù)組a[n]中所有元素之和。參考答案一、單選題1.B2.C3.C4.A5.D6.B7.B8.A9.D10.C二、填空題1.函數(shù)頭2.D6.switch或開關(guān)或分情況7.return或返回8.M*N9.110.n+111.2612.*p13.24三、寫出下列每個程序運營后的輸出結(jié)果評分標(biāo)準(zhǔn):根據(jù)答案對的限度酌情給分。1.25202.245103.20424.1113205.liouting39800.00四、寫出下列每個函數(shù)的功能評分標(biāo)準(zhǔn):根據(jù)答案敘述的對的與完善限度酌情給分。1.比較兩個整數(shù)a和b的大小,若a>b則返回1,若a==b則返回0,若a<b則返回-1。2.遍歷并輸出由f所指向的單鏈表中每個結(jié)點的值。五、按題目規(guī)定編寫程序或函數(shù)評分標(biāo)準(zhǔn):按程序或函數(shù)編寫的對的與完整限度酌情給分。1.#include<stdio.h>voidmain(){inti;intp=1;ints=1;for(i=1;i<=10;i++){p*=3;s+=p;}printf("%d\n",s);}2.intFF(inta[],intn){inti,sum=0;for(i=0;i<n;i++)sum+=a[i];returnsum;}C語言程序設(shè)計A復(fù)習(xí)資料二一、選擇題1.由C語言源程序文獻(xiàn)編譯而成的目的文獻(xiàn)的缺省擴展名為()。A.cppB.exeC.objD.C2.C語言程序的基本模塊為()。A.表達(dá)式B.標(biāo)記符C.語句D.函數(shù)3.x>0||y==5的相反表達(dá)式為()。A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==54.枚舉類型中的每個枚舉常量的值都是一個()。A.整數(shù)B.浮點數(shù)C.字符D.邏輯值5.循環(huán)語句“for(inti=0;i<n;i++)S;”中循環(huán)體S被執(zhí)行的次數(shù)為()。A.1B.n-1C.nD.n+16.在下面的while循環(huán)語句中,其循環(huán)體被執(zhí)行的次數(shù)為()。inti=0,s=0;while(s<20){i++;s+=i;}A.4B.5C.6D.77.若定義了函數(shù)double*function(),則返回值類型為()。A.實數(shù)型B.實數(shù)指針型C.函數(shù)指針型D.數(shù)組型8.若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是()。A.數(shù)組的首地址B.數(shù)組中第一個元素的值C.數(shù)組中所有元素的值D.數(shù)組元素的個數(shù)9.假定a為一個整型數(shù)組名,則元素a[4]的地址比該數(shù)組的首地址大()個字節(jié)。A.4B.8C.16D.3210.下列給字符數(shù)組賦初值時,對的的是()。A.chars1[]="abcdef";B.chars2[4]="abcd";C.chars3[2][3]={"abc","xyz"};D.chars4[4][]={'a','x','s','t'};A.char*p=s;B.char*p=&s;C.char*p;p=*s;D.char*p;p=&s;11.要使p指向二維整型數(shù)組a[10][20],p應(yīng)定義為()。A.int*p=a;B.int**p=a;C.int*p[20]=a;D.int(*p)[20]=a;12.標(biāo)準(zhǔn)輸入設(shè)備的文獻(xiàn)流標(biāo)記符是()。A.stdinB.stdoutC.stderrD.stdio13.若要以讀/寫操作方式打開一個二進(jìn)制文獻(xiàn),當(dāng)文獻(xiàn)不存在時返回打開失敗信息,則選用的打開方式字符串為()。A."r+"B."ab+"C."rb+"D."wb+"二、填空題1.單行或多行注釋的開始標(biāo)記符為__________。2.使用#include命令可以包含一個頭文獻(xiàn),也可以包含一個______文獻(xiàn)。3.執(zhí)行“printf("%s%s%d","wei","rong",18);”語句后得到的輸出結(jié)果為________。4.執(zhí)行“printf("%c",'A'+2);”語句后得到的輸出結(jié)果為________。5.short類型的大小為________個字節(jié)。6.十進(jìn)制數(shù)3.26f的類型為________7.假定y=10,則表達(dá)式++y*3的值為________。8.關(guān)系表達(dá)式(x==0)的等價表達(dá)式為________。9.若x=5,y=10,則x!=y的邏輯值為________。10.在if語句中,每個else關(guān)鍵字與它前面同層次并且最接近的________關(guān)鍵字相配套。11.當(dāng)在程序中執(zhí)行到________語句時,將結(jié)束所在循環(huán)語句中循環(huán)體的一次執(zhí)行。12.假定二維數(shù)組的定義為“chara[M][N];”,則該數(shù)組所占存儲空間的字節(jié)數(shù)為________。13.存儲字符串"a"需要占用存儲器的________個字節(jié)空間。14.strlen函數(shù)用于計算一個字符串的________。15.函數(shù)中的形參變量的初值由調(diào)用該函數(shù)時相應(yīng)的________值決定。16.程序的編譯是以__________為單位進(jìn)行的。17.假定a是一個一維數(shù)組,則a[i]的指針訪問方式為________。18.執(zhí)行int*p=malloc(sizeof(int))操作得到的一個動態(tài)分派的整型對象為________。19.假定要動態(tài)分派一個類型為structWorker的具有n個元素的數(shù)組,并由r指向這個動態(tài)數(shù)組,則使用的語句表達(dá)式為________________=malloc(n*sizeof(structWorker))。20.與結(jié)構(gòu)成員訪問表達(dá)式p->name等價的表達(dá)式是____________。三、寫出下列每個程序運營后的輸出結(jié)果1.#include<stdio.h>voidmain(){inti,s=0;for(i=1;;i++){if(s>50)break;if(i%2==0)s+=i;}printf("i,s=%d,%d\n",i,s);}2.#include<stdio.h>voidmain(){charch='*';inti,n=5;while(1){for(i=0;i<n;i++)printf("%c",ch);printf("\n");if(--n==0)break;}}3.#include<stdio.h>voidmain(){intx=24,y=88;inti=2,p=1;do{while(x%i==0&&y%i==0){p*=i;x/=i;y/=i;}i++;}while(x>=i&&y>=i);printf("%d\n",p*x*y);}4.#include<stdio.h>voidmain(){inta[9]={36,25,48,24,55,40,18,66,20};inti,b1,b2;a[0]<=a[1]?(b1=a[0],b2=a[1]):(b1=a[1],b2=a[0]);for(i=2;i<9;i++)if(a[i]<b1){b2=b1;b1=a[i];}elseif(a[i]<b2)b2=a[i];printf("%d%d\n",b1,b2);}5.#include<stdio.h>voidmain(){inta=10,b=20;printf("%d%d\n",a,b);{intb=a+25;a*=4;printf("%d%d\n",a,b);}printf("%d%d\n",a,b);}6.#include<stdio.h>voidSelectSort(inta[],intn){inti,j,k,x;for(i=1;i<n;i++){//進(jìn)行n-1次選擇和互換k=i-1;for(j=i;j<n;j++)if(a[j]<a[k])k=j;x=a[i-1];a[i-1]=a[k];a[k]=x;}}voidmain(){inti;inta[6]={20,15,32,47,36,28};SelectSort(a,6);for(i=0;i<6;i++)printf("%d",a[i]);printf("\n");}7.#include<stdio.h>voidLE(int*a,int*b){intx=*a;*a=*b;*b=x;}voidmain(){intx=15,y=26;printf("%d%d\n",x,y);LE(&x,&y);printf("%d%d\n",x,y);}8.#include<stdio.h>#include<string.h>structWorker{charname[15];//姓名intage;//年齡floatpay;//工資};intEqual(structWorker*r1,structWorker*r2){if(strcmp(r1->name,r2->name)==0)return1;elsereturn0;}voidmain(){structWorkera[4]={{"abc",25,420},{"defa",58,638},{"ghin",49,560},{"jklt",36,375}};structWorkerx={"defa"};inti;for(i=0;i<4;i++)if(Equal(a+i,&x))break;if(i>=4)printf("沒有查找所需要的記錄!\n");elseprintf("%s%d%6.2f\n",a[i].name,a[i].age,a[i].pay);}四、寫出下列每個函數(shù)的功能1.intSE(intn){//n為大于等于1的整數(shù)intx,s=0;printf("輸入%d個整數(shù):",n);scanf("%d",&x);if(n==1)returnx;s=x;while(--n){scanf("%d",&x);s+=x;}returns;}2.#include<stdio.h>voidWA(inta[],intn){inti,k,j,x;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(a[j]>a[k])k=j;x=a[i];a[i]=a[k];a[k]=x;}}3.#include<stdio.h>int*LJ(inta[],intn){inti,k=0;for(i=1;i<n;i++)if(a[i]>a[k])k=i;return&a[k];}4.intOutput(structIntNode*f){intsum=0;if(!f)return-9999;//用返回特定值-9999表達(dá)空表while(f){sum+=f->data;f=f->next;}returnsum;}假定structIntNode的類型定義為:structIntNode{intdata;//結(jié)點值域structIntNode*next;//結(jié)點指針域};5.intwr4(FILE*fptr){charch;intc=0;fseek(fptr,0,SEEK_SET);while(1){ch=fgetc(fptr);if(ch!=EOF)c++;elsebreak;}returnc;}五、根據(jù)下列每個題目規(guī)定編寫程序1.編寫一個函數(shù)fun(),一方面從鍵盤上輸入一個4行4列的一個實數(shù)矩陣到一個二維數(shù)組a[4][4]中,接著求出主對角線上元素之和,最后返回求和結(jié)果。2.編寫一個主函數(shù),計算1+3+32+...+310的值并輸出,假定分別用i,p,s作為循環(huán)變量、累乘變量和累加變量的標(biāo)記符。3.編寫一個主函數(shù),已知6≤a≤40,15≤b≤30,求出滿足不定方程2a+5b=120的所有整數(shù)組解。如(13,20)就是其中的一組解。參考答案一、選擇題1.C2.D3.B4.A5.C6.C7.B8.A9.C10.A11.D12.A13.C二、填空題1./*2.程序3.weirong184.C5.26.fl

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論