C語言程序設計期末考試復習題及答案[]_第1頁
C語言程序設計期末考試復習題及答案[]_第2頁
C語言程序設計期末考試復習題及答案[]_第3頁
C語言程序設計期末考試復習題及答案[]_第4頁
C語言程序設計期末考試復習題及答案[]_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言考試期末考試復習題及答案選擇題(1)一個C語言程序總、是從(C)開始執(zhí)行A)書寫順序的第一個函數B)書寫順序的第一條執(zhí)行語句C)主函數main()D)不確定(2)設intx=3,y=4,z=5,則下列表達式中的值為0的是(D)A)x&yB)x|y+z&y-zC)x=yD)!(xy)&!z|1)(3)執(zhí)行以下程序段后,inti=10。i的值是(C)switch(i+1)case10:i+。break。case 11: +i。case 12: +i。break。default:i=i+1A)11B)13C)12D)14(4)語句while(!e)。中的條件!e等價于(A)A)e=0B)e!=

2、1C)e!=0D)運行時出錯(5)用inta4=1,2。A)隨機值對數組進行初始化后,數組兀素a3的值是(B)D)FB)0C)1(6)在執(zhí)行charstr10=“china0”;strlen(str)的結果是(A)A)5B)6D)7D9若后定義,char*p=”computer。則語句printf(C,*(p+2)運行結果是(B)A)隨機值B)mC)oD)omputer(8)在以下函數調用語句中fun1(x,10,(x,10),fun2(y,10,(y,10)函數fun1參數的個數為(B)A)8B)4C)5D)編譯出錯(9) 在說明一個結構體變量時系統(tǒng)分配給它的存儲空間是(D)A)該結構體中第

3、一個成員變量所需存儲空間B)該結構體中最后一個成員變量所需存儲空間D)該結構體中所有成員變量所C)該結構體中占用最大存儲空間的成員變量所需存儲空間需存儲空間的總和1 .用C語言編寫的代碼程序(B)A)可立即執(zhí)行B)是一個源程序C)經過編譯即可執(zhí)行D)經過編譯解釋才能執(zhí)行2 .C語言中用于結構化程序設計的三種基本結構是(A)A)順序結構、選擇結構、循環(huán)結構B)if、switch、breakC)for、while、do-whileD)if、for、continue3 .以下定義語句中正確的是(C)A)chara=Ab=B。floata=b=10.0。C)inta=10,*b=&a。D)float*

4、a,b=&a。4 .下列選項中,不能用作標識符的是(D)A)1234B)12C)int2D)2int5 .在函數調用過程中,如果函數funA調用了函數funB,函數funB又調用了函數funA,則(B)A)稱為函數的直接遞歸調用B)稱為函數的間接遞歸調用C)稱為函數的循環(huán)調用D)C語言中不允許這樣的遞歸調用6 .以下敘述中正確的是(A)A)局部變量說明為static存儲類,其生存期將得到延長B)全局變量說明為static存儲類,其作用域將被擴大C)任何存儲類的變量在未賦初值時,其值都是不確定的D)形參可以使用的存儲類說明符與局部變量完全相同7 .若變量已正確定義,要求程序段完成求5!的計算,不

5、能完成此操作的程序段是(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=1p=1while(i=5)p*=ii+D)i=1p=1dop*=ii+while(i=5)8 .有以下程序(a)main()chara=a,bprintf(%c,+a)printf(%cn,b=a+)B)b,cC)a,bD)a,c程序運行后的輸出結果是a)b,b9 .有以下函數定義:(c)voidfun(intn,doublex)若以下選項中的變量都已正確定義并賦值,則對函數fun的正確調用語句是)fun(x,n)。D)voidfun(n,x)A)fun

6、(inty,doublem)。B)k=fun(10,12.5)C10 .已定義c為字符型變量,則下列語句中正確的是(c)D)c=a。A)c=97。B)c=97。C)c=97。11 .以下能正確定義一維數組的選項是(b)A)intnum口。B)#defineN100C)intnum0.100。D)intN=100。intnumN。intnumN。12 .以下能正確定義數組并正確賦初值的語句是(d)A)intN=5,bNN。B)inta12=1,3。C)intc2=1,2,3,4D)intd32=1,2,34。13 .有以下程序(a)main()inti。for(i=0。i3。i+)switch(

7、i)case1:printf(%d,i)。case2:printf(%d,i)。default:printf(%d,i)。)執(zhí)行后輸出結果是A)011122B)012C)012020D)12014 .有以下程序(d)main()intp7=11,13,14,15,16,17,18,i=0,k=0。while(i7&pi%2)k=k+pi。i+。printf(%dn,k)。執(zhí)行后輸出結果是A)58B)56C)45D)2415.以下敘述中正確的是(c)A)C語言比其他語言高級B)C語言可以不用編譯就能被計算機識別執(zhí)行C) C語言以接近英語國家的自然語言和數學語言作為語言的表達形式D) C語言出現的

8、最晚,具有其他語言的一切優(yōu)點16 .下列敘述中正確的是(d)A)C語言中既有邏輯類型也有集合類型B)C語言中沒有邏輯類型但有集合類型C)C語言中有邏輯類型但沒有集合類型D)C語言中既沒有邏輯類型也沒有集合類型17 .以下敘述中正確的是(a)A)C程序中注釋部分可以出現在程序中任意合適的地方B)花括號和只能作為函數體的定界符C)構成C程序的基本單位是函數,所有函數名都可以由用戶命名D)分號是C語句之間的分隔符,不是語句的一部分二)閱讀程序,寫出程序運行結果(1) #includemain()charch=A。ch=(ch=A&ch=Z)?(ch+32):ch。printf(%C,ch)。程序的運

9、行結果是:(2) #includemain()intsum=0,i=11。while(i=10)sum=sum+i。i+。printf(%d,sum)。程序的運行結果是:(3) #includemain()charstr=1a2b3c”。inti。for(i=0。stri!=0。i+)if(stri=0&stri=9)printf(C,stri)程序的運行結果是:(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)。程序的運行結果是:(5) #includevoidmain()inta33=1,2,

10、3,4,5,6,7,8,9。intj,s=1。for(j=0。j=2。j+)s=s*ajj。printf(%d,s)。程序的運行結果是:Key:(1)a(2)0(3)123(4)5131318(5)45三)改錯題(每個程序只有一個錯誤,填入錯誤語句所在的行號以及修改后的語句)(1)下段程序的功能是先輸入一個整數,然后將輸入的整數輸出。1 main()2 intx3 scanf(%d,x)。4 printf(x=%dn,x)。行號:改為:(2)下段程序的功能是求1+2+3+4+99+100的和。1 main()2 intj=1,sum=0。3 while(j=100)4 sum=sum+j。j+

11、。5 printf(%d,sum)。行號:改為:(3)下段程序的功能是當輸入x的值為90時,輸出“right:否則輸出“error1 main()2 intx。3 if(x=90)printf(right”)。4 elseprintf(error)。行號:改為:(4)下面程序的功能是輸出字符串S1 main()2 chars=china”。3 printf(s=%sn”,s口)。行號:改為:下面程序的功能是按照下面的格式輸入a和b的值,計算y=a2+b2并輸出。輸入:32?輸出:y=131 main()2 inta,b。3 inty。4 scanf(a=%d,b=%d,&a,&b)。5 y=a

12、*a+b*b。6 printf(y=%dn,y)。7 行號:改為:Key:(1)行號:3改為:scanf(%d,&x)。(2)行號:4改為:sum=sum+j。j+。(3)行號:3改為:if(x=90)printf(right”)。(4)行號:3改為:printf(s=%sn,s)。(5)行號:4改為:scanf(%d%d,&a,&b)。二、填空題1 .以下程序輸入3個整數值給a,b,c,變量b中的值給a,變量c中的值給b,變量a中的值給c,交換后輸出a,b,c的值。#includemain()inta,b,c,_。printf(entera,b,c)。scanf(%d%d%d,&a,&b,&

13、c)。printf(%d,%d,%d,a,b,c)。2 .求出200以內的整數中,最大的可以被17整除的數是哪個數。#includeinti。for(。i-)if()break。printf(%dn,_)。3 .以下程序從終端讀入數據到數組中,統(tǒng)計其中正數的個數,并計算它們之和。main()inti,a20,sun,count。sum=count=0。for(i=0。i0)count+。sum+=。printf(sum=%d,count=%dn,_,_)。4 .以下程序的功能是調用函數fun計算:m=1+2+3+4+-+9+10,并輸出結果。請?zhí)羁?。intfun(intn)intm=0,i。f

14、or(i=。i=n。_)m=(3)oreturn_。main()printf(m=%dn,_)。5 .以下程序將數組中的數據按逆序存放。#include#defineSIZE12main()intaSIZE,i,j,t。for(i=0。iSIZE。i+)scanf(%d,)。i=0。j=_。while(ij)t=ai。i+。jfor(i=0。i0_i%17=0_i_sum_W匚_i+_m_+i_SIZE_ai=ajaj=tj_-ai_i20_i_m_加門。)_ai三、程序設計題目1 .編寫程序,打印下列圖案* * *2.某數列前兩項分別為1和2,其后每項為前兩項之和,求此數列的第10個數。3.

15、一個8層的燈塔,每一層的燈數是上一層的2倍,一共有765盞燈,求燈塔底層的燈數。(1)從鍵盤輸入一個華氏溫度,要求輸出攝氏溫度,公式為C=5*(F-32)/9(2)編寫一個函數求y=(a-b)x(a+b),主函數用以輸入a,b的值和輸出y值。(3)編一程序:從鍵盤輸入10個整數,計算并輸出這10個數的平均數。(4)通過鍵盤輸入3*4矩陣,編寫一個函數求所有元素中的最大值,其中主函數完成3*4矩陣的輸入和最大元素的輸出。Key:3.(1) main()floatc,f。scanf(f”,&f)。c=5.0*(f-32)/9。printf(c=%f,c)。(2) intf(inta,intb)return(a-b)*(a+b)。main()inta,b。scanf(%d,%d,&a,&b)。printf(y=%d,f(a,b)(3) main()inta10,j。floatave=0。for(j=0。j10。j+)scanf(d,

溫馨提示

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

評論

0/150

提交評論