版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C語言考試期末考試復(fù)習(xí)題及答案一、選擇題(1)一個(gè)C語言程序總是從(C)開始執(zhí)行A)書寫順序的第一個(gè)函數(shù)B)書寫順序的第一條執(zhí)行語句C)主函數(shù)main()D)不擬定(2)設(shè)intx=3,y=4,z=5,則下列表達(dá)式中的值為0的是(D) A)‘x’&&’y’ B)x||y+z&&y-zC)x<=y D)!((x<y)&&!z||1)(3)執(zhí)行以下程序段后,i的值是(C) inti=10; switch(i+1){case10:i++;break; case11:++i; case12:++i;break; default:i=i+1;} A)11 B)13 C)12 D)14 (4)語句while(!e);中的條件!e等價(jià)于(A) A)e==0 B)e!=1 C)e!=0 D)運(yùn)營時(shí)犯錯(cuò)(5)用inta[4]={1,2};對(duì)數(shù)組進(jìn)行初始化后,數(shù)組元素a[3]的值是(B) A)隨機(jī)值 B)0 C)1 D)F(6)在執(zhí)行charstr[10]=“china\0” A)5 B)6 D)7 D9(7)若有定義,char*p=”computer”;則語句printf(“%c”,*(p+2))運(yùn)營結(jié)果是(B) A)隨機(jī)值 B)m C)o D)omputer(8)在以下函數(shù)調(diào)用語句中 fun1(x,10,(x,10),fun2(y,10,(y,10))); 函數(shù)fun1參數(shù)的個(gè)數(shù)為(B) A)8 B)4C)5 D)編譯犯錯(cuò)(9)在說明一個(gè)結(jié)構(gòu)體變量時(shí)系統(tǒng)分派給它的存儲(chǔ)空間是(D) A)該結(jié)構(gòu)體中第一個(gè)成員變量所需存儲(chǔ)空間B)該結(jié)構(gòu)體中最后一個(gè)成員變量所需存儲(chǔ)空間C)該結(jié)構(gòu)體中占用最大存儲(chǔ)空間的成員變量所需存儲(chǔ)空間D)該結(jié)構(gòu)體中所有成員變量所需存儲(chǔ)空間的總和1.用C語言編寫的代碼程序(B)A)可立即執(zhí)行B)是一個(gè)源程序C)通過編譯即可執(zhí)行D)通過編譯解釋才干執(zhí)行2.C語言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是(A)A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)B)if、switch、breakC)for、while、do-whileD)if、for、continue3.以下定義語句中對(duì)的的是(C)A)chara='A'b='B';floata=b=10.0;C)inta=10,*b=&a;D)float*a,b=&a;4.下列選項(xiàng)中,不能用作標(biāo)記符的是(D)A)_1234_B)_1_2C)int_2_D)2_int_5.在函數(shù)調(diào)用過程中,假如函數(shù)funA調(diào)用了函數(shù)funB,函數(shù)funB又調(diào)用了函數(shù)funA,則(B)A)稱為函數(shù)的直接遞歸調(diào)用B)稱為函數(shù)的間接遞歸調(diào)用C)稱為函數(shù)的循環(huán)調(diào)用D)C語言中不允許這樣的遞歸調(diào)用6.以下敘述中對(duì)的的是(A)A)局部變量說明為static存儲(chǔ)類,其生存期將得到延長B)全局變量說明為static存儲(chǔ)類,其作用域?qū)⒈粩U(kuò)大C)任何存儲(chǔ)類的變量在未賦初值時(shí),其值都是不擬定的D)形參可以使用的存儲(chǔ)類說明符與局部變量完全相同7.若變量已對(duì)的定義,規(guī)定程序段完畢求5!的計(jì)算,不能完畢此操作的程序段是(B)A)for(i=1,p=1;i<=5;i++)p*=i;B)for(i=1;i<=5;i++){p=1;p*=i;}C)i=1;p=1;while(i<=5){p*=i;i++;}D)i=1;p=1;do{p*=i;i++;}while(i<=5);8.有以下程序(a)main(){chara='a',b;printf("%c,",++a);printf("%c\n",b=a++);}程序運(yùn)營后的輸出結(jié)果是a)b,bB)b,cC)a,bD)a,c9.有以下函數(shù)定義:(c)voidfun(intn,doublex){……}若以下選項(xiàng)中的變量都已對(duì)的定義并賦值,則對(duì)函數(shù)fun的對(duì)的調(diào)用語句是A)fun(inty,doublem);B)k=fun(10,12.5)C)fun(x,n);D)voidfun(n,x)10.已定義c為字符型變量,則下列語句中對(duì)的的是(c)A)c='97';B)c="97";C)c=97;D)c="a";11.以下能對(duì)的定義一維數(shù)組的選項(xiàng)是(b)A)intnum[];B)#defineN100C)intnum[0..100];D)intN=100;intnum[N];intnum[N];12.以下能對(duì)的定義數(shù)組并對(duì)的賦初值的語句是(d)A)intN=5,b[N][N];B)inta[1][2]={{1},{3}};C)intc[2][]={{1,2},{3,4}};D)intd[3][2]={{1,2},{34}};13.有以下程序(a)main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}執(zhí)行后輸出結(jié)果是A)011122B)012C)012023D)12014.有以下程序(d)main(){intp[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7&&p[i]%2){k=k+p[i];i++;}printf("%d\n",k);}執(zhí)行后輸出結(jié)果是A)58B)56C)45D)2415.以下敘述中對(duì)的的是(c)A)C語言比其他語言高級(jí)B)C語言可以不用編譯就能被計(jì)算機(jī)辨認(rèn)執(zhí)行C)C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式D)C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點(diǎn)16.下列敘述中對(duì)的的是(d)A)C語言中既有邏輯類型也有集合類型B)C語言中沒有邏輯類型但有集合類型C)C語言中有邏輯類型但沒有集合類型D)C語言中既沒有邏輯類型也沒有集合類型17.以下敘述中對(duì)的的是(a)A)C程序中注釋部分可以出現(xiàn)在程序中任意合適的地方B)花括號(hào)"{"和"}"只能作為函數(shù)體的定界符C)構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名D)分號(hào)是C語句之間的分隔符,不是語句的一部分二)閱讀程序,寫出程序運(yùn)營結(jié)果(1)#include<stdio.h>main(){charch=’A’;ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch;printf(“%c”,ch);}程序的運(yùn)營結(jié)果是:(2)#include<stdio.h>main(){intsum=0,i=11;while(i<=10){sum=sum+i;i++;}printf(“%d”,sum);}程序的運(yùn)營結(jié)果是:(3)#include<stdio.h>main(){charstr[]=”1a2b3c”;inti;for(i=0;str[i]!=’\0’if(str[i]>=’0’&&str[i]<=’9’)printf(“%c}程序的運(yùn)營結(jié)果是:(4)main(){inta,b;a=5;b=8;p(a,b);p(a+b,a);}p(intx,inty){y=x+y;printf(“%d%d”,x,y);}程序的運(yùn)營結(jié)果是:(5)#include<stdio.h>voidmain(){inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};intj,s=1;for(j=0;j<=2;j++)s=s*a[j][j];printf("%d",s);}程序的運(yùn)營結(jié)果是:Key:(1)a(2)0(3)123(4)5131318(5)45三)改錯(cuò)題(每個(gè)程序只有一個(gè)錯(cuò)誤,填入錯(cuò)誤語句所在的行號(hào)以及修改后的語句)(1)下段程序的功能是先輸入一個(gè)整數(shù),然后將輸入的整數(shù)輸出。1main()2{intx;3scanf(“%d”,x);4printf(“x=%d\n”,x);}行號(hào):改為:(2)下段程序的功能是求1+2+3+4+……+99+100的和。1main()2{intj=1,sum=0;3while(j<=100)4sum=sum+j;j++;5printf(“%d”,sum);}行號(hào):改為:(3)下段程序的功能是當(dāng)輸入x的值為90時(shí),輸出“right”,否則輸出“error”。1main()2{intx;3if(x=90)printf(“right”);4elseprintf(“error”);}行號(hào):改為:(4)下面程序的功能是輸出字符串S1main()2{chars[]=”china”;3printf(“s=%s\n”,s[]);}行號(hào):改為:(5)下面程序的功能是按照下面的格式輸入a和b的值,計(jì)算y=a2+b2并輸出。輸入:32?輸出:y=131main()2{inta,b;3inty;4scanf(“a=%d,b=%d”,&a,&b);5y=a*a+b*b;6printf(“y=%d\n”,y);7}行號(hào):改為:Key:(1)行號(hào):3改為:scanf(“%d”,&x);(2)行號(hào):4改為:{sum=sum+j;j++;};(3)行號(hào):3改為:if(x==90)printf(“right”);(4)行號(hào):3改為:printf(“s=%s\n”,s);(5)行號(hào):4改為:scanf(“%d%d”,&a,&b);二、填空題1.以下程序輸入3個(gè)整數(shù)值給a,b,c,變量b中的值給a,變量c中的值給b,變量a中的值給c,互換后輸出a,b,c的值。#include<stdio.h>main(){inta,b,c,__①____;printf("entera,b,c");scanf("%d%d%d",&a,&b,&c);____②____;___③_____;____④_____;___⑤_____;printf("%d,%d,%d",a,b,c);}2.求出200以內(nèi)的整數(shù)中,最大的可以被17整除的數(shù)是哪個(gè)數(shù)。#include<stdio.h>___①____{inti;for(____②____;___③_______;i--){if(________④________)break;}printf("%d\n",__⑤_____);}3.以下程序從終端讀入數(shù)據(jù)到數(shù)組中,記錄其中正數(shù)的個(gè)數(shù),并計(jì)算它們之和。main(){inti,a[20],sun,count;sum=count=0;for(i=0;i<20;i++)scanf("%d",__①___);for(i=0;__②__;i++){if(a>0){count++;sum+=___③___;}}printf("sum=%d,count=%d\n",__④___,__⑤_____);}4.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1+2+3+4+…+9+10,并輸出結(jié)果。請(qǐng)?zhí)羁?。intfun(intn){intm=0,i;for(i=___①___;i<=n;__②____){m=___③____;}return_④____;}main(){printf("m=%d\n",__⑤____);}5.以下程序?qū)?shù)組中的數(shù)據(jù)按逆序存放。#include<stdio.h>#defineSIZE12main(){inta[SIZE],i,j,t;for(i=0;i<SIZE;i++)scanf("%d",___①_______);i=0;j=__②____;while(i<j){t=a[i];______③______;_____④________;i++;j___⑤_____}for(i=0;i<SIZE;i++)printf("%3d",a[i]);printf("\n");key:1①__d__②__d=a_____③_a=b__④b=c______⑤__c=d____①main()__②_i=200____③_i__>0____④_i%17==0_⑤__i__①a[i]_②i<20__③__i__④__sum__⑤count_①_1__②_i++_③_m_+i_④_m__⑤_fun(10)_①_a[i]②_SIZE_③a[i]=a[j]④a[j]=t⑤j_--三、程序設(shè)計(jì)題目1.編寫程序,打印下列圖案***************2.某數(shù)列前兩項(xiàng)分別為1和2,其后每項(xiàng)為前兩項(xiàng)之和,求此數(shù)列的第10個(gè)數(shù)。3.一個(gè)8層的燈塔,每一層的燈數(shù)是上一層的2倍,一共有765盞燈,求燈塔底層的燈數(shù)。(1)從鍵盤輸入一個(gè)華氏溫度,規(guī)定輸出攝氏溫度,公式為C=5*(F-32)/9(2)編寫一個(gè)函數(shù)求y=(a-b)×(a+b),主函數(shù)用以輸入a,b的值和輸出y值。(3)編一程序:從鍵盤輸入10個(gè)整數(shù),計(jì)算并輸出這10個(gè)數(shù)的平均數(shù)。(4)通過鍵盤輸入3*4矩陣,編寫一個(gè)函數(shù)求所有元素中的最大值,其中主函數(shù)完畢3*4矩陣的輸入和最大元素的輸出。Key:3.(1)main(){floatc,f;scanf(“%f”
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新建加油站鋼筋施工方案及流程
- 招標(biāo)貨物運(yùn)輸服務(wù)招標(biāo)信息
- 房屋買賣合同中的保證人角色解讀
- 建筑工地錨索分包勞務(wù)協(xié)議
- 愛的無條件諾言
- 砌筑分包工程勞務(wù)合作協(xié)議
- 月嫂服務(wù)合同簽訂要點(diǎn)
- 棉拖鞋生產(chǎn)協(xié)議
- 房屋預(yù)售合同買賣風(fēng)險(xiǎn)
- 綠色有機(jī)大米和食用油訂購合同
- 微積分(II)知到智慧樹章節(jié)測試課后答案2024年秋南昌大學(xué)
- 二零二四年光伏電站建設(shè)與運(yùn)營管理合同2篇
- 2024屆浙江臺(tái)州高三一模英語試題含答案
- 2024版:離婚法律訴訟文書范例3篇
- 一??埔惶厣o(hù)理匯報(bào)
- 信息安全意識(shí)培訓(xùn)課件
- 攀巖智慧樹知到期末考試答案章節(jié)答案2024年華中農(nóng)業(yè)大學(xué)
- 飲食的健康哲學(xué)智慧樹知到期末考試答案章節(jié)答案2024年青島大學(xué)
- MOOC 理解馬克思-南京大學(xué) 中國大學(xué)慕課答案
- MOOC 國際私法-暨南大學(xué) 中國大學(xué)慕課答案
- CFG樁施工中常見問題及處理措施
評(píng)論
0/150
提交評(píng)論