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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C語言程序設計A復習資料一一、單選題1.由C語言目的文獻連接而成的可執(zhí)行文獻的缺省擴展名為()。A.cppB.exeC.objD.c2.設有兩條語句為“inta=12;a+=a*a;”,則執(zhí)行結束后,a的值為()。A.12B.144C.156D.283.帶有隨機函數(shù)調用的表達式rand()%20的值在()區(qū)間內。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語言中,所有預解決命令都是以()符號開頭的。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.表達文獻結束符的符號常量為()A.eofB.EofC.EOFD.feof二、填空題1.一個函數(shù)定義由________和函數(shù)體兩部分組成。2.執(zhí)行“printf("%c",'F'-2);”語句后得到的輸出結果為________。3.int類型的長度為________。4.表達式(float)25/4的值為________。5.若x=5,y=10,則x<=y的邏輯值為________。6.作為語句標號使用的case和default只能用于________語句的定義體中。7.在程序中執(zhí)行到________語句時,將結束所在函數(shù)的執(zhí)行過程,返回到調用該函數(shù)的位置。8.假定二維數(shù)組的定義為“chara[M][N];”,則該數(shù)組所含元素的個數(shù)為________。9.存儲字符'a'需要占用存儲器的________個字節(jié)空間。10.用于存儲一個長度為n的字符串的字符數(shù)組的長度至少為________。11.假定p所指對象的值為25,p+1所指對象的值為46,則執(zhí)行表達式(*p)++后,p所指對象的值為________。12.假定p是一個指向整數(shù)對象的指針,則用________表達該整數(shù)對象。13.假定一個結構類型的定義為“structB{inta[5];char*b;};”,則該類型的理論長度為________。三、寫出下列每個程序運營后的輸出結果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)變量、累乘變量和累加變量的標記符。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或開關或分情況7.return或返回8.M*N9.110.n+111.2612.*p13.24三、寫出下列每個程序運營后的輸出結果評分標準:根據(jù)答案對的限度酌情給分。1.25202.245103.20424.1113205.liouting39800.00四、寫出下列每個函數(shù)的功能評分標準:根據(jù)答案敘述的對的與完善限度酌情給分。1.比較兩個整數(shù)a和b的大小,若a>b則返回1,若a==b則返回0,若a<b則返回-1。2.遍歷并輸出由f所指向的單鏈表中每個結點的值。五、按題目規(guī)定編寫程序或函數(shù)評分標準:按程序或函數(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語言程序設計A復習資料二一、選擇題1.由C語言源程序文獻編譯而成的目的文獻的缺省擴展名為()。A.cppB.exeC.objD.C2.C語言程序的基本模塊為()。A.表達式B.標記符C.語句D.函數(shù)3.x>0||y==5的相反表達式為()。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ù)調用的實參,傳遞給形參的是()。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應定義為()。A.int*p=a;B.int**p=a;C.int*p[20]=a;D.int(*p)[20]=a;12.標準輸入設備的文獻流標記符是()。A.stdinB.stdoutC.stderrD.stdio13.若要以讀/寫操作方式打開一個二進制文獻,當文獻不存在時返回打開失敗信息,則選用的打開方式字符串為()。A."r+"B."ab+"C."rb+"D."wb+"二、填空題1.單行或多行注釋的開始標記符為__________。2.使用#include命令可以包含一個頭文獻,也可以包含一個______文獻。3.執(zhí)行“printf("%s%s%d","wei","rong",18);”語句后得到的輸出結果為________。4.執(zhí)行“printf("%c",'A'+2);”語句后得到的輸出結果為________。5.short類型的大小為________個字節(jié)。6.十進制數(shù)3.26f的類型為________7.假定y=10,則表達式++y*3的值為________。8.關系表達式(x==0)的等價表達式為________。9.若x=5,y=10,則x!=y的邏輯值為________。10.在if語句中,每個else關鍵字與它前面同層次并且最接近的________關鍵字相配套。11.當在程序中執(zhí)行到________語句時,將結束所在循環(huán)語句中循環(huán)體的一次執(zhí)行。12.假定二維數(shù)組的定義為“chara[M][N];”,則該數(shù)組所占存儲空間的字節(jié)數(shù)為________。13.存儲字符串"a"需要占用存儲器的________個字節(jié)空間。14.strlen函數(shù)用于計算一個字符串的________。15.函數(shù)中的形參變量的初值由調用該函數(shù)時相應的________值決定。16.程序的編譯是以__________為單位進行的。17.假定a是一個一維數(shù)組,則a[i]的指針訪問方式為________。18.執(zhí)行int*p=malloc(sizeof(int))操作得到的一個動態(tài)分派的整型對象為________。19.假定要動態(tài)分派一個類型為structWorker的具有n個元素的數(shù)組,并由r指向這個動態(tài)數(shù)組,則使用的語句表達式為________________=malloc(n*sizeof(structWorker))。20.與結構成員訪問表達式p->name等價的表達式是____________。三、寫出下列每個程序運營后的輸出結果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++){//進行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表達空表while(f){sum+=f->data;f=f->next;}returnsum;}假定structIntNode的類型定義為:structIntNode{intdata;//結點值域structIntNode*next;//結點指針域};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]中,接著求出主對角線上元素之和,最后返回求和結果。2.編寫一個主函數(shù),計算1+3+32+...+310的值并輸出,假定分別用i,p,s作為循環(huán)變量、累乘變量和累加變量的標記符。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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論