




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C語言習題集習題一一.填空題1.C程序是由()構(gòu)成的,一個C程序中至少包含()。因此,()是C程序的基本單位。2.函數(shù)體是有符號____開始,符號____結(jié)束。函數(shù)體當中,前面是變量的____部分,后面變量的____部分。一個C源程序中至少應包括一個_______。在一個C源程序中,注釋部分兩側(cè)的分界符分別為_____和________。在C語言的每條語句后面都要有____結(jié)束二.判斷題1.一個C程序的執(zhí)行總是從該程序的main函數(shù)開始,在main函數(shù)最后結(jié)束?!尽?.main函數(shù)必須寫在一個C程序的最前面?!尽?.一個C程序可以包含若干的函數(shù)?!尽?.C程序的注釋部分可以出現(xiàn)在程序的任何位置,它對程序的編譯和運行不起任何作用。但是可以增加程序的可讀性?!尽?.C程序的注釋只能是一行。【】6.C程序的注釋不能是中文文字信息。【】三、選擇題1一個C程序的執(zhí)行是從________。(A)本程序的main函數(shù)開始,到main函數(shù)結(jié)束。(B)本程序的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束。(C)本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束。(D)本程序的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束。2以下敘述不正確的是_________。(A)一個C源程序可由一個或多個函數(shù)組成。(B)一個C源程序必須包含一個main函數(shù)。(C)程序的基本組成單位是函數(shù)。(D)在C程序中,/**/類的注釋說明只能位于一條語句的后面3C語言規(guī)定:在一個源程序中,main函數(shù)的位置___。 (A)必須在最開始 (B)必須在所有函數(shù)的后面 (C)可以任意 (D)必須在最后程序閱讀1、找出該程序中的錯誤并改正。#include<stdio.h>;main();floatr,s;/*/*risradius*/*/r=5.0s=3.14*r*r;printf(“%f\n”,s)五.編程題1.利用keilc集成開發(fā)環(huán)境建立一個c語言的工程,旋轉(zhuǎn)的MCU型號是STC89C52,并在工程內(nèi)添加一個名為main的c文件,并在c文件中建立一個空的主函數(shù)。習題二(第2、3節(jié)知識)一.選擇題1、合法的用戶標識符是()A)abcB)!aC)intD)sfr2、合法的字符常量是()A)‘\084’B)“a”C)‘a(chǎn)b’D)3、是C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字()A)FloatB)unsignedintC)integerD)Char4、在以下各組標識符中,合法的標識符是()(1)A)B01B)table_1C)0_t(2)A)Fast_B)voidC)pblD)<book>(3)A)xy_B)longdoubleC)*pD)CHAR(4)A)sjB)IntC)_xyD)w_y23------------------------------------------------------------------------------5、屬于合法的C語言unsignedchar型常量的是()A)5876273B)0C)-20D)587626、unsignedchara=32,charb=‘A’那么表達式a+b的數(shù)值是()A)'A'B)0C)-1D)7、判斷unsignedcharx=300;x的結(jié)果是()A)賦值非法B)溢出C)為300D)為448、為了計算s=10!(即10的階乘),則s變量應定義為()A)intB)unsignedC)longD)以上三種類型均可9、與代數(shù)式(x*y)/(u*v)不等價的C語言表達式是()A)x*y/u*vB)x*y/u/vC)x*y/(u*v)D)x/(u*v)*y10、在C語言中,數(shù)字029是一個()A)八進制數(shù)B)十六進制數(shù)C)十進制數(shù)D)非法數(shù)11、在C語言中,要求參加運算的數(shù)必須時整數(shù)的運算符是()A)/B)*C)%D)=12、假定x和y為float型,則表達式x=2,y=x+3/2的值是()A)3.500000B)3C)2.00000013、以下合法的賦值語句是()A)x=y=100B)x+y=a+bC)x+yD)c=int(a+b)14、inta=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>d)后n的值為()A)1B)2C)315、若有定義:inta=3,b=2,c=1;并有表達式:①a%b,②a>b>c,③b&&c+1,④c+=1,則表達式值相等的是()
A)①和②B)②和③C)①和③D)③和④16、邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型()A)只能是0或1B)只能是0或非0正數(shù)C)只能是整型或字符型數(shù)據(jù)D)可以是任何類型的數(shù)據(jù)二.填空題1、在C51中,一個unsignedchar數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)為,其數(shù)值范圍為;一個unsignedint數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)為,其數(shù)值范圍為;2、C語言的標識符只能由大小寫字母,數(shù)字和下劃線三種字符組成,而且第一個字符不能為
。3、有intx=3,y=-4,z=5;則表達式(x&&y)==(x||z)的值為。4、在C語言中,不同運算符之間運算次序存在的區(qū)別5、設x=2.5,a=7,y=4.7,則x+a%3*(int)(x+y)%2/4為。6、數(shù)學表達式1<=a<=3的C語言表達式為。7、已知:chara=’a’,b=’b’,c=’c’,unsignedinti;則表達式i=a+b+c的數(shù)值為。8、已知inta=12,n=5;則:表達式運算后a的值各為。a+=aa-=2a*=2+3a/=a+an%=(n%=2)a+=a-=a*=a9、設inta;floatf;則表達式10+’a’+9*f值的數(shù)據(jù)類型是。10、已知a,b,c是一個整數(shù)的百位,十位,個位,則該數(shù)的表達式是。11、若a是int變量,則執(zhí)行表達式a=25/3%3后,a的值是。12、能正確表示“當x的取值在[1,10]和[200,210]范圍內(nèi)為真,否則為假”的表達式是。
A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B)(x>=1)||(x<=10)||(x>=200)||(x<=210)
C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)13、C語言提供6種關(guān)系運算符,按優(yōu)先級高低它們分別是,,,,,等。14、C語言提供三種邏輯運算符,按優(yōu)先級高低它們分別是,,。15、設a=3,b=4,c=5,寫出下面各邏輯表達式的值。表達式表達式運算后的值a+b>c&&b==c!(a>b)&&!c||1!(a+b)+c–1&&b+c/216、將條件“y能被4整除但不能被100整除,或y能被400整除”寫成邏輯表達式
。17、已知A=7.5,B=2,C=3.6,表達式A>B&&C>A||A<B&&!C>B的值是。三.程序閱讀題1.寫出以下程序的輸出結(jié)果。
main()
{inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
}四.程序填空題1.下列程序的輸出結(jié)果是16.00,請?zhí)睿?)空使程序完整。main(){inta=9,b=2;
floatx=[1],y=1.1,z;
z=a/2+b*x/y+1/2;
printf(“%5.2f\n”,z);}五.編程題1.已知a,b均是無符號整型變量,寫出將a,b兩個變量中的值互換的程序來。習題三(第4、5節(jié)知識)一.選擇題1、C語言對嵌套if語句的規(guī)定是:else總是與()
A)其之前最近的if配對B)第一個if配對
C)縮進位置相同的if配對D)其之前最近的且尚未配對的if配對2.下面是錯誤的if語句(設intx,a,b;)
A)if(a=b)x++;B)if(a=<b)x++;
C)if(a-b)x++;D)if(x)x++;3.以下程序片段()
main()
{intx=0,y=0,z=0;if(x=y+z)
printf(“***”);else
printf(“###”);
}
A)有語法錯誤,不能通過編譯B)輸出:***
C)可以編譯,但不能通過連接,所以不能運行D)輸出:###4.對下述程序,是正確的判斷。
main()
{intx,y;scanf(“%d,%d”,&x,&y);if(x>y)
x=y;y=x;else
x++;y++;printf(“%d,%d”,x,y);
}
A)有語法錯誤,不能通過編譯B)若輸入3和4,則輸出4和5
C)若輸入4和3,則輸出3和4D)若輸入4和3,則輸出4和55.下述程序的輸出結(jié)果是。main(){inta=0,b=0,c=0;
if(++a>0||++b>0)
++c;
printf(“%d,%d,%d”,a,b,c);}
A)0,0,0B)1,1,1C)1,0,16.以下程序輸出結(jié)果是。main(){intx=1,y=0,a=0,b=0;
switch(x){
case1:switch(y){
case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;}
printf(“a=%d,b=%d”,a,b);}
A)a=1,b=0B)a=2,b=1C)a=1,b=17.當a=1,b=3,c=5,d=4時,執(zhí)行完下面一段程序后x的值是。if(a<b)if(c<d)x=1;else
if(a<c)
if(b<d)x=2;
elsex=3;
elsex=6;elsex=7;
A)1B)2C)38.若inti=0;執(zhí)行下列程序后,變量i的正確結(jié)果是。switch(i){
case9:i+=1;
case10:i+=1;
case11:i+=1;
default:i+=1;}
A)10B)11C)12二.填空題1.一般地,調(diào)用標準字符或格式輸入輸出庫函數(shù)時,文件開頭應有以下預編譯命令:
。2.C語句可以分為,,,
和等5種類型。3.C語句的基本結(jié)構(gòu)有種,分別是___________________________4.一個表達式要構(gòu)成一個C語句,必須。5.復合語句是用一對界定的語句塊。三.判斷題1.if語句中的表達式不限于邏輯表達式,可以是任意的數(shù)值類型?!尽?.switch語句的case表達式必須是常量表達式?!尽?.if語句,switch語句可以嵌套,而且嵌套的層數(shù)沒有限制?!尽?.switch語句的各個case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果?!尽?.多個case可以執(zhí)行相同的程序段。【】6.內(nèi)層break語句可以終止嵌套的switch,使最外層的switch結(jié)束?!尽?.switch語句的case分支可以使用{}復合語句,多個語句序列。【】8.switch語句的表達式與case表達式的類型必須一致。【】四.簡答題1.C語言中如何表示“真”和“假”?系統(tǒng)如何判斷一個量的“真”和“假”?2.請將以下語句改成switch語句。if((s>0)&&(s<=10))
if((s>=3)&&(s<=6))x=2;
elseif((s>1)&&(s>8))x=3;
elsex=1;elsex=0;五.程序閱讀題1.寫出以下程序的運行結(jié)果。main(){inta=2,b=7,c=5;
switch(a>0){
case1:switch(b<0){
case1:printf(“@”);break;
case2:printf(“!”);break;
}
case0:switch(c==5){
case1:pritnf(“*”);break;
case2:printf(“#”);break;
default:printf(“#”);break;
}
default:printf(“&”);
}
printf(“\n”);}六.程序判斷題1.下面程序輸入兩個運算數(shù)x,y和一個運算符號op,然后輸出該運算結(jié)果的值,例如輸入3+5↙得到結(jié)果8;請判斷下面程序的正誤,如果錯誤請改正過來。
main()
{
floatx,y,r;
charop;
scanf(“%f%c%f”,&x,&op,&y);
switch(op){
case‘+’:r=x+y;
case‘-’:r=x+y;
case‘*’:r=x+y;
case‘/’:r=x+y;
}
printf(“%f”,r);}七.編程題1.有三個整數(shù)a,b,c,由鍵盤輸入,輸出其中最大的數(shù)。2.給出一百分制成績,要求輸出成績等級’A’,’B’,’C’,’D’,’E’。90分以上為’A’,80-89分為’B’,70-79分為’C’,60-69分為’D’,60分以下為’E’。3.給一個不多于5位的正整數(shù),要求分別輸出每一位數(shù)字.習題五一.選擇題1.下面程序段intk=2;while(k=0){printf(“%d”,k);k--;}則下面描述中正確的是。
A)while循環(huán)執(zhí)行10次B)循環(huán)是無限循環(huán)
C)循環(huán)題語句一次也不執(zhí)行D)循環(huán)體語句執(zhí)行一次2.以下程序段的循環(huán)次數(shù)是。
for(i=2;i==0;)printf(“%d”,i--);
A)無限次B)0次C)1次D)2次3.以下不是死循環(huán)的程序段是。
A)inti=100;B)for(;;);
while(1){i=i%100+1;if(i>100)break;
}
C)intk=0;D)ints=36;do{++k;}while(k>=0);while(s);--s;4.下述語句執(zhí)行后,變量k的值是。intk=1;while(k++<10);
A)10B)11C)9下面程序的輸出結(jié)果是()main(){intk=0,m=0,i,j;
for(i=0;i<2;i++){
for(j=0;j<3;j++)
k++;
k-=j;
}
m=i+j;
printf(“k=%d,m=%d”,k,m);}
A)k=0,m=3B)k=0,m=5C)k=1,m=36.語句while(!E);括號中的表達式!E等價于。
A)E==0B)E!=1C)E!=07.下述程序段的運行結(jié)果是。inta=1,b=2,c=3,t;while(a<b<c){t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);
A)1,2,0B)2,1,0C)1,2,18.以下for循環(huán)的執(zhí)行次數(shù)是。for(x=0,y=0;(y=123)&&(x<4);x++);
A)無限循環(huán)B)循環(huán)次數(shù)不定C)4次D)3次9.下面for循環(huán)語句。
inti,k;
for(i=0,k=-1;k=1;i++,k++)
printf(“***”);
A)判斷循環(huán)結(jié)束的條件非法B)是無限循環(huán)
C)只循環(huán)一次D)一次也不循環(huán)10.執(zhí)行語句for(i=1;i++<4;);后變量i的值是。
A)3B)4C)5二.填空題1.C語言三個循環(huán)語句分別是語句,語句和語句。2.至少執(zhí)行一次循環(huán)體的循環(huán)語句是。三.判斷題1.在while循環(huán)中允許使用嵌套循環(huán),但只能是嵌套while循環(huán)?!尽?.在實際編程中,do-while循環(huán)完全可以用for循環(huán)替換?!尽?.continue語句只能用于三個循環(huán)語句中?!尽?.do-while循環(huán)的while后的分號可以省略?!尽克模绦蜷喿x題1.寫出下面程序運行的結(jié)果。main(){intx,i;
for(i=1;i<=100;i++){
x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf(“%d”,x);
}2.寫出下面程序運行的結(jié)果。main(){intk=1,n=263;
do{k*=n%10;n/=10;}while(n);
printf(“%d\n”,k);}3.寫出下面程序運行的結(jié)果。main(){inty=2,a=1;
while(y--!=-1)
do{
a*=y;
a++;
}while(y--);
printf(“%d,%d\n”,a,y);}六.程序填空題1.下面程序的功能是輸出1至100之間每位數(shù)的乘積大于每位數(shù)的和的數(shù),請?zhí)睿?)空使程序完整。main(){intn,k=1,s=0,m;
for(n=1;n<=100;n++){
k=1;s=0;
【1】;
while(【2】){
k*=m%10;
s+=m%10;
【3】;
}
if(k>s)printf(“%dd”,n);
}}2.下面程序按公式求和并輸出結(jié)果,請?zhí)?3)空使程序完整。main(){
【1】;
intk;
for(k=1;k<=100;k++)
s+=k;
for(k=1;k<=50;k++)
s+=k*k;
for(k=1;k<=10;k++)
s+=【2】;
printf(“sum=【3】”,s);}七.編程題求(即求1!+2!+3!+…+19!+20!)。習題七一.選擇題1.以下正確的說法是。A)用戶若需要調(diào)用標準庫函數(shù),調(diào)用前必須重新定義B)用戶可以重新定義標準庫函數(shù),如若此,該函數(shù)將失去原有定義C)系統(tǒng)不允許用戶重新定義標準庫函數(shù)D)用戶若需要使用標準庫函數(shù),調(diào)用前不必使用預處理命令將該函數(shù)所在的頭文件包含編譯,系統(tǒng)會自動調(diào)用。2.以下正確的函數(shù)定義是。A)doublefun(intx,inty)B)doublefun(intx,y)
{z=x+y;returnz;}{intz;returnz;}C)fun(x,y)D)doublefun(intx,inty)
{intx,y;doublez;{doublez;z=x+y;returnz;}returnz;}3.以下正確的說法是。A)實參和與其對應的形參各占用獨立的存儲單元B)實參和與其對應的形參共占用一個存儲單元C)只有當實參和與其對應的形參同名時才共占用相同的存儲單元D)形參時虛擬的,不占用存儲單元4.以下正確的函數(shù)定義是。A)doublefun(intx,inty)B)doublefun(intx;inty)C)doublefun(intx,inty);D)doublefun(intx,y)5.若調(diào)用一個有返回值的函數(shù),且此函數(shù)中沒有return語句,則正確的說法是。A)該函數(shù)沒有返回值B)該函數(shù)返回若干個系統(tǒng)默認值C)能返回一個用戶所希望的函數(shù)值D)返回一個不確定的整數(shù)值6.C語言規(guī)定,簡單變量做實參時,它和對應的形參之間的數(shù)據(jù)傳遞方式是。A)地址傳遞B)值傳遞C)有實參傳給形參,再由形參傳給實參D)由用戶指定傳遞方式7.C語言規(guī)定,函數(shù)返回值的類型是由決定的。A)return語句中的表達式類型B)調(diào)用該函數(shù)時的主調(diào)函數(shù)類型C)調(diào)用該函數(shù)時由系統(tǒng)臨時D)在定義函數(shù)時所指定的函數(shù)類型8.如果在一個函數(shù)中定義了一個變量,則該變量。A)只在本文件中有定義B)在該函數(shù)中有定義C)在本程序范圍內(nèi)有定義D)為非法變量9.以下不正確的說法是。A)在不同函數(shù)中可以使用相同名字的變量B)形式參數(shù)是局部變量C)在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有定義D)在函數(shù)內(nèi)的復合語句中定義的變量在本函數(shù)范圍內(nèi)有定義10.下面程序的輸出是。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- grs裝飾承攬合同范例
- 勞務合同范例無社保
- 加盟鹵菜合同范本
- 農(nóng)村老家蓋房子合同范例
- 入股露營基地合同范本
- 個人車輛出售合同范例
- 供貨抵押合同范例
- 出差合同范例
- 基于陶行知教育思想探索小學語文創(chuàng)新教學模式的構(gòu)建與實踐研究
- 2022年清云科技大學自考英語(二)練習題(附答案解析)
- 伊金霍洛旗凈菜加工項目實施方案
- 2023機場海關(guān)旅檢崗位練兵練習試題及答案
- 沉淀滴定法-沉淀滴定法原理
- 游戲綜合YY頻道設計模板
- GB/T 43102-2023金屬覆蓋層孔隙率試驗用亞硫酸/二氧化硫蒸氣測定金或鈀鍍層孔隙率
- 糖尿病中醫(yī)癥狀積分
- 灰姑娘童話故事英文版課件
- 兒科病房護理風險915課件
- 動脈穿刺置管術(shù)課件講解
- 小學家長講堂《脊柱健康小知識》
- 聚酰亞胺液晶高分子及液晶取向膜
評論
0/150
提交評論