




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章基礎(chǔ)知識(shí)一.填空1. 每個(gè)C程序都必須有且僅有一個(gè)________函數(shù)。2.C語(yǔ)言程序開發(fā)到執(zhí)行通常要經(jīng)過6個(gè)階段即編輯、預(yù)處理、________、鏈接、加載和執(zhí)行。3.軟件是程序,以及______、使用和維護(hù)所需要的所有文檔。4.國(guó)標(biāo)中規(guī)定:“計(jì)算機(jī)程序是按照具體要求產(chǎn)生的適合于計(jì)算機(jī)處理的_________”。5.程序設(shè)計(jì)語(yǔ)言按照書寫形式,以及思維方式的不同一般分為低級(jí)語(yǔ)言和________兩大類。6.C語(yǔ)言是由________組成的。7.C語(yǔ)言的函數(shù)可分為主函數(shù)main、標(biāo)準(zhǔn)庫(kù)函數(shù)和_________。8.一個(gè)函數(shù)是由兩部分組成的,即:________和函數(shù)體。9.編譯是將C語(yǔ)言所編寫的源程序________成機(jī)器代碼,也稱為建立目標(biāo)代碼程序的過程。10. 程序是由某種程序設(shè)計(jì)語(yǔ)言編制出來,體現(xiàn)了編程者的控制思想和對(duì)計(jì)算機(jī)執(zhí)行操作的要求。不同的任務(wù)功能,就會(huì)需求不同的軟件程序,如:控制計(jì)算機(jī)本身軟硬件協(xié)調(diào)工作,并使其設(shè)備充分發(fā)揮效力,方便用戶使用的系統(tǒng)軟件程序,稱為操作系統(tǒng);而為辦公自動(dòng)化(OA)、管理信息系統(tǒng)(MIS)、人工智能、電子商務(wù)、網(wǎng)絡(luò)互聯(lián)等等應(yīng)用而開發(fā)的軟件程序,統(tǒng)稱為_________。11.機(jī)器語(yǔ)言是以__________形式表示的機(jī)器基本指令的集合,是計(jì)算機(jī)系統(tǒng)唯一不需要翻譯可以直接識(shí)別和執(zhí)行的程序設(shè)計(jì)語(yǔ)言。12.與機(jī)器語(yǔ)言相比,使用匯編語(yǔ)言來編寫程序可以用_______來表示指令的操作碼和操作對(duì)象,也可以用標(biāo)號(hào)和符號(hào)來代替地址、常量和變量。13. 在編譯程序之前,凡以____開頭的代碼行都先由預(yù)處理程序預(yù)處理。14.C程序的執(zhí)行均是由執(zhí)行_________開始。15. 函數(shù)體即為包含在{}內(nèi)的部分。它分為________和為完成功能任務(wù)由若干個(gè)C語(yǔ)句組成的執(zhí)行部分。16. C語(yǔ)言程序中一條簡(jiǎn)單語(yǔ)句是以________字符作為結(jié)束符的。17. C語(yǔ)言是結(jié)構(gòu)化、________的程序設(shè)計(jì)語(yǔ)言。18. 由于計(jì)算機(jī)硬件不能直接識(shí)別高級(jí)語(yǔ)言中的語(yǔ)句,因此,必須經(jīng)過“_______程序”,將用高級(jí)語(yǔ)言編寫的程序翻譯成計(jì)算機(jī)硬件所能識(shí)別的機(jī)器語(yǔ)言程序方可執(zhí)行。19. 用高級(jí)語(yǔ)言編寫的程序需翻譯成計(jì)算機(jī)硬件所能識(shí)別的機(jī)器語(yǔ)言程序方可執(zhí)行。所以說,用高級(jí)語(yǔ)言進(jìn)行程序設(shè)計(jì),其編程效率高,方便易用,但_______沒有低級(jí)語(yǔ)言高。20. 第一個(gè)系統(tǒng)體現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)思想的教學(xué)工具語(yǔ)言是_______語(yǔ)言。解答:1.main()2.編譯3.開發(fā)4.指令序列5.高級(jí)語(yǔ)言6.函數(shù)7.自定義函數(shù)8.函數(shù)首部9.翻譯10.應(yīng)用軟件11.二進(jìn)制代碼12.助記符13.#14.main函數(shù)15.聲明部分16.;(或分號(hào))17.模塊化18.翻譯19.執(zhí)行速度20.PASCAL二.閱讀程序?qū)懡Y(jié)果解答:三.補(bǔ)充程序解答:四.改錯(cuò)題解答:五.編程一解答:六.編程二解答:第二章常量、變量和表達(dá)式一.填空1.以16位計(jì)算機(jī)為例,若定義longinta;則變量a占______個(gè)字節(jié)的內(nèi)存空間。2.以16位計(jì)算機(jī)為例,若定義doublea;則變量a占______個(gè)字節(jié)的內(nèi)存空間。3.以16位計(jì)算機(jī)為例,若定義longdouble;則變量a占______個(gè)字節(jié)的內(nèi)存空間。4.在______位機(jī),int型占4個(gè)字節(jié)。5.C語(yǔ)言的數(shù)據(jù)類型有:基本數(shù)據(jù)類型、構(gòu)造數(shù)據(jù)類型、枚舉類型、______、空類型。6.在C語(yǔ)言中,基本數(shù)據(jù)類型有:______。7.整型常量046轉(zhuǎn)換為十進(jìn)制數(shù)等于______。8.整型常量054轉(zhuǎn)換為十進(jìn)制數(shù)等于______。9.整型常量0x125轉(zhuǎn)換為十進(jìn)制數(shù)等于______。10.整型常量0x7C轉(zhuǎn)換為十進(jìn)制數(shù)等于______。11.整型常量39轉(zhuǎn)換為八進(jìn)制等于______。12.實(shí)數(shù)寫成規(guī)范化指數(shù)形式,則應(yīng)為______。13.實(shí)數(shù)寫成規(guī)范化指數(shù)形式,則應(yīng)為______。14.將0x123轉(zhuǎn)換為二進(jìn)制等于______。15.字符’A’表示成十六進(jìn)制等于______。16.在C語(yǔ)言中,稱代表常量的標(biāo)識(shí)符為______。17.C語(yǔ)言中是用編譯預(yù)處理命令______來定義符號(hào)常量18.在C語(yǔ)言中,以反斜杠符(\)開頭,后跟字符的字符序列,稱之為______,主要用來表示控制及不可見的字符或者一些圖形符號(hào)19.語(yǔ)句printf("\106")執(zhí)行的結(jié)果輸出是______。20.語(yǔ)句printf(“b”)執(zhí)行的結(jié)果輸出是______。21.語(yǔ)句printf(“\\b”)執(zhí)行的結(jié)果輸出是______。22.語(yǔ)句printf("\102")執(zhí)行的結(jié)果輸出是______。23.若有charch1;ch1='a'+4;則語(yǔ)句printf("%c",x)的輸出結(jié)果為______。24.字符串常量“Hello,everyone!”占據(jù)的內(nèi)存空間為______個(gè)字節(jié)25.字符串常量“Hello,Bob!”占據(jù)的內(nèi)存空間為______個(gè)字節(jié)26.十進(jìn)制整型常量由0~9個(gè)數(shù)據(jù)組成,但不能以______開始,沒有小數(shù)部分27.十六進(jìn)制常量由0~9和______組成28.unsignedlong類型常量通常以______為后綴29.實(shí)型常量通常有小數(shù)形式和______兩種表達(dá)方式30.C語(yǔ)言中是用編譯預(yù)處理命令______來包含其他源文件31.為了表示字符串的結(jié)束,系統(tǒng)自動(dòng)在字符串的最后加一個(gè)______,但不被輸出32.C語(yǔ)言中,其值可被改變的量稱為變量,它具有三個(gè)基本要素:變量名、______和變量值33.C語(yǔ)言規(guī)定,變量的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成,且不能以______開頭。34.在16位機(jī)中,sizeof(“hello\n”)等于______。35.在16位機(jī)中,printf(“\“hello\””)等于______。36.字符變量在內(nèi)存中占用______個(gè)字節(jié)的存儲(chǔ)空間。37.若有定義intx=27,y=6;則表達(dá)式x/y的值為______。38.若有定義intx=47,y=8;則表達(dá)式x%y的值為______。39.若有定義charch1='A',ch2,ch3;執(zhí)行ch2=ch1++;ch3=++ch1;printf("ch1=%c,ch2=%c",ch1,ch2);則輸出為______。40.若有定義charch1='A',ch2,ch3;執(zhí)行ch2=ch1++;ch3=++ch1;printf("ch2=%c,ch3=%c",ch2,ch3);則輸出為______。41.若有定義inti=5,j,k;執(zhí)行j=i--;k=--i;printf("i=%d,j=%d\n",i,j);則輸出為______。42.表達(dá)式(int)+/4%5的值是______。43.表達(dá)式2++5%3的值是______。44.表達(dá)式54%10/2+*(8/5)的值是______。45.若定義intx;doubleb=;執(zhí)行x=b后,則x的值為______。46.若定義inty;charc='A';執(zhí)行y=c后,則y的值為______。47.若定義inta=8;floatb=;則a/(int)(b)的值為______。48.若a=5,則執(zhí)行a*=7-3語(yǔ)句后,a的值是______。49.若inta=1,b=0,c=4,d=2;則表達(dá)式(a>ba:b)&&(c-d)的值為______。50.已知a=0,表達(dá)式a=1b=1:b=0;執(zhí)行后,b的值是______。51.若定義intm=7,n=12;則表達(dá)式n%=m-m%5的值是______。52.若定義inta=8;floatb=;執(zhí)行a*=a/=a-b后,a的值為______。53.inta=2;!a++的值為______。54.inta=0;!a++&++a的值為______。55.inta=7;floatb=;則printf(“%d”,a*=a/=a-b)的值為______。56.intk=7;floata=,b=;則表達(dá)式a+k%3*(int)(a+b)%2/4的值為______。ax(a,b))的值為 ______。58.在32位機(jī)中,inta=4,b=7;printf(“%0x”,a-b)的值為:______。59.intx,y,z;x=y=2;z=3;y=x++-1;printf(“%d,%d”,x,y)的值為:______。60.inti=2,j;printf(“%d”,j=i<1)的值為:______解答:1.025.指針類型6.int、float、double、char7.388.449.29310.12411.04712.+00213.15.\x41/41H16.符號(hào)常量17.#define18.轉(zhuǎn)義字符常量19.F20.b21.\b22.B23.e24.1625.1126.027.A~F28.U29.指數(shù)形式30.#include31.“\0”32.變量類型33.數(shù)字34.735.“hello”36.137.438.739.ch1=C,ch2=A40.ch2=A,ch3=C41.i=3,j=542.446.6547.448.2052.453.054.055.456.57.258.fffffffd59.3,160.0二.閱讀程序?qū)懡Y(jié)果解答:三.補(bǔ)充程序解答:四.改錯(cuò)題解答:五.編程一解答:六.編程二解答:第三章順序結(jié)構(gòu)一.填空1.C語(yǔ)言的語(yǔ)句可分為5類,它們是:控制語(yǔ)句、____________、函數(shù)語(yǔ)句、符合語(yǔ)句和空語(yǔ)句。2.常用于字符輸入的函數(shù)為:________________。3.常用于字符輸出的函數(shù)為:________________。4.常用于字符串輸入的函數(shù)為:________________。5.常用于字符串輸出的函數(shù)為:________________。6.格式輸入函數(shù)的一般形式為:________________。7.格式輸出函數(shù)的一般形式為:________________。8.printf和scanf是標(biāo)準(zhǔn)的庫(kù)函數(shù),它們的函數(shù)原型在頭文件________________中。9.有charch,則從鍵盤給ch賦值的格式輸入語(yǔ)句為:________________。10.如果要輸出字符串常量“HelloWord!”,則格式輸出語(yǔ)句為:________________。11.設(shè)有定義:longx=-123456L;,請(qǐng)寫出能夠正確輸出變量x值的語(yǔ)句________________。12.若有inta,b;,想通過scanf("%d%d",&a,&b);輸入語(yǔ)句給a賦于1,給b賦于2,則從鍵盤輸入數(shù)據(jù)的形式是________________。13.若有inti,j;scanf("i=%d,j=%d";&i,&j);,要求給i賦10,給j賦20,則應(yīng)該從鍵盤輸入_______。14.已知i、j、k為int型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1、j的值為2、k的值為3,請(qǐng)寫出正確的輸入語(yǔ)句________________。15.有intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是________________。16.有inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);__。17.有intm=0256,n=256;則printf("%o%o\n",m,n);的輸出結(jié)果是_____________________。18.有intx=102,y=012;,則printf(“%2d,%2d\n”,x,y);的輸出結(jié)果是_____________________。19.有定義和語(yǔ)句:inta;charc=10;floatf=;doublex;a=f/=c*=(x=;,則 printf("%d%d%3.1f%3.1f\n",a,c,f,x);的輸出結(jié)果是_____________________。20.若有定義和語(yǔ)句:intm=0xabc,n=0xabc;m-=n;則printf("%o\n",m);的輸出結(jié)果是_____________。21.若有intm=32,n=032;,則printf("%d,%x\n",m,n);執(zhí)行后輸出結(jié)果是___________________。22.若有inta=1234;,則printf("%2d\n",a);的輸出結(jié)果是_____________________。23.若變量已正確說明為float類型,要通過語(yǔ)句scanf(“%f%f%f”,&a,&b,&c);給a賦于1,b賦予,c賦予,不正確的輸入形式是_____________________。 A)10<回車>22<回車>33<回車>B),,<回車> C)<回車><回車>D)1022<回車>33<回車>24.若有intx=3,y=1;則printf("%d%d\n",x++,y+2);的輸出結(jié)果是_____________________。25.若有定義和語(yǔ)句:doubled;floatf;longl;inti;i=f=l=d=20/3;則printf("%d%ld%f%f\n",i,l,f,d);的輸出結(jié)果是(小數(shù)點(diǎn)后只寫一位)_____________________。26.以下說法中正確的是_____________________。 A)#define和printf都是C語(yǔ)句 B)#define是C語(yǔ)句,而printf不是 C)printf是C語(yǔ)句,但#define不是 D)#define和printf都不是C語(yǔ)句27.若有intk=17;,則printf("%d,%o,%x\n",k,k,k);的輸出結(jié)果是_____________________。28.以下敘述中正確的是_____________________。 A)輸入項(xiàng)可以是一個(gè)實(shí)型常量,如:scanf("%f",; B)只有格式控制,沒有輸入項(xiàng),也能正確輸入數(shù)據(jù)到內(nèi)存,例如:scakf("a=%d,b=%d"); C)當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址,例如:scanf("%f",&f);29.若有定義和語(yǔ)句:intu=010,v=0x10,w=10;則printf("%d,%d,%d\n",u,v,w);輸出結(jié)果是_____________________。30.若有inta=1,b=4,c=2;floatx=,y=,z;z=(a+b)/c+sqrt((double)y)*c+x;,則printf("%f\n",z);的輸出結(jié)果是_____________________。31.若有inta=2,c=5;,則printf("a=%%d,b=%%d\n",a,c);的輸出結(jié)果是_____________________。32.有charc;intn=100;floatf=10;doublex;x=f*=n/=(c=50);則printf("%d%f\n",n,x);的輸出結(jié)果是_____________________。33.有inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",i,j,k);若從鍵盤輸入:102030<回車>。輸出結(jié)果是_____________________。34.若有inta,b,c;a=25;b=025;c=0x25;,則printf("%d%d%d\n",a,b,c);的輸出結(jié)果是___________。35.有以下語(yǔ)句段 intn1=10,n2=20;printf(“________________”,n1,n2); 要求按以下格式輸出n1和n2的值,每個(gè)輸出行從第一列開始,請(qǐng)?zhí)羁铡?n1=10n2=2036.若有語(yǔ)句inti=-19,j=i%4;則printf("%d\n",j);的輸出結(jié)果是_____________________。37.有inta=0;a+=(a=8);則printf("%d\n",a);的輸出結(jié)果是_____________________。38.有inta=1,b=2;a=a+b;b=a-b;a=a-b;則printf(“%d,%d\n”,a,b);的輸出結(jié)果是______________。39.有unsignedshorta=65536;intb;,則printf(“%d\n”,b=a);的輸出結(jié)果是______________。40.語(yǔ)句printf("\10289\n");的數(shù)據(jù)結(jié)果為:__________________。解答:1.表達(dá)式語(yǔ)句2.getchar()3.putchar()4.gets()5.puts()6.scanf(“格式控制字符串”,地址表列);7.printf(“格式控制字符串”,輸出表列);8.9.scanf(“%c”,&ch);10.printf(“%s”,HelloWord!); 或者:printf(“HelloWord!”);11.printf(“x=%1d\n”,x);12.12或者1 213.i=10,j=2014.scanf(“%d,%d,%d”,&i,&j,&k);15.m=123n=456p=78916.a=98,b=,c=17.25640018.102,1019.16520.021.32,1a22.123423.B24.3325.6626.D27.17,21,1128.C29.8,16,1030.31.a=%d,b=%d32.233.1030034.25213735.n1=%d\nn2=%d36.-337.1638.2,139.040.B89二.閱讀程序?qū)懡Y(jié)果解答:三.補(bǔ)充程序解答:四.改錯(cuò)題解答:五.編程一解答:六.編程二解答:第四章選擇結(jié)構(gòu)一.填空1.在if,while,case,do,else等關(guān)鍵字中,用于選擇結(jié)構(gòu)的有().2.已知a=1;那么if(a=2)printf("%d",2);elseprintf("%d",1);的輸出結(jié)果是().3.已知chara='A';那么if(a>65)printf("%s","bigger");elseprintf("%s","smaller");的輸出結(jié)果是().4.表示“x≥y≥z”的C語(yǔ)言表達(dá)式是()。5.在C語(yǔ)言中,用于實(shí)現(xiàn)選擇結(jié)構(gòu)的語(yǔ)句有()語(yǔ)句和()語(yǔ)句。6.判斷兩個(gè)浮點(diǎn)型變量x和y是否相等一般用:if(<1e-6)…。7.設(shè)有程序段:t=6;a=7;b=8;if(a=b)t=a;,這段程序執(zhí)行后,t的結(jié)果是()。8.設(shè)a=1,b=2,c=3,d=4,則表達(dá)式:a>ba:c>da:d的結(jié)果為()。9.表達(dá)式98&&8&&31&&(98-'a')的值為()。10.若inta=3;則表達(dá)式(a>2)&&!('D'>69)的值為()。解答:..9.10.二.閱讀程序?qū)懡Y(jié)果1.#include<> voidmain() { intx,y,t; x=7;y=9;if(x<y) {t=x;x=y;y=t;} printf("%d,%d\n",x,y); }2. #include<> voidmain() { intx=1,a=2,b=3; switch(x) { case1:a--;break; case2:b++;break; case3:a++;b++; } printf("\na=%d,b=%d\n",a,b); }3. #include<> voidmain() { charch1='E'; if(ch1>='A') ch1++; else ch1+=32; printf("ch1=%c\n",ch1); }4. #include<> voidmain() { intx,y,t; x=5;y=3; if(x>y) {t=x;x=y;y=t;} printf("%d,%d\n",x,y); }5.#include<> intmain() { inta,b,c,m; printf("Enterthreeintegers:"); scanf("%d%d%d",&a,&b,&c); if(a<=b) m=a; else m=b; if(c<m) m=c; printf("m=%d\n",m); return0;} 輸入:212223<回車>6.#include<> intmain() { charch1='a',ch2='B',ch3='E'; if(ch1>ch2) if(ch2>ch3)ch3++; else --ch3; printf("ch3=%c\n",ch3); return0; }7.#include<> intmain() { floatx,y; scanf("%f",&x); switch((int)x/10){ case0:y=;printf("y=%f\n",y);break; case1:y=2*x+1;printf("y=%f\n",y);break; case2:y=3*x*x+2;printf("y=%f\n",y);break; default: printf("Nodefinition.\n"); } return0;} 輸入:<回車>8.#include<> intmain() { charch1='A',ch2='B'; switch(ch1) { case'A': switch(ch2){ case'B':printf("Good!\n");break; case'A':printf("Better!\n");break; } case'B':printf("Best!\n");break; } return0; }9. #include<> voidmain() { floatscore; score=100; if(score<60)printf("E\n"); else switch((int)score/10) {case10: case9:printf("A\n"); case8:printf("B\n"); case7:printf("C\n");break; case6:printf("D\n");break; default:printf("Error\n"); } }10.#include<> voidmain() { inti=0,a=2;if(i==0) printf(“**”); else printf(“$$”); printf(“*”); }11. #include<> voidmain() { intm=10,n=0,p=4,q=20; if(m) if(n) q=15-m; else q=25+m; elseif(p) q=q+p; printf(“q=%d\n”,q); }12.#include<> voidmain() { inta=1,b=0;switch(a) { case1:switch(b) { case0:printf("**0**");break; case1:printf("**1**");break; } case2:printf("**2**");break; } }13. #include<> intmain() { inta=2,b=7,c=5; switch(a>0){ case1:switch(b<0){ case1:printf("@");break; case2:printf("!");break; } case0:switch(c==5){ case1:printf("*");break; default:printf("#");break; } default:printf("&"); } printf("\n"); return0; }14.#include<> intmain() { inta=0,b=1,c=0,d=20;if(a)d=d-10;elseif(!b) if(!c)d=15;elsed=25;printf("d=%d\n",d); return0;}15.#include<> intmain() {inta=1;switch(a){ case0:printf("**0**");break; case1:printf("**1**");break; case2:printf("**2**");break; } return0;}16.#include<> intmain() {intx,y; scanf("%d",&x); y=x>12x+10:x-12;printf("%d\n",y); return0;} 輸入:12<回車>17.#include<> intmain() { floatx,y; charop; doubler; scanf("%c%f%f",&op,&x,&y); switch(op) {case'+':r=x+y;break; case'-':r=x-y;break; case'*':r=x*y;break; case'/':r=x/y;break; } printf("%.1f",r); return0;} 輸入:<回車>18.#include"" voidmain() { inta=7;if(a>9||a<10)a=a/3;else a=a%3;printf("a=%d",a); }19.#include<> voidmain() { inta=20;switch(a%3){ case0:printf("0"); case1:printf("1"); case2:printf("2"); default:printf("3"); } printf("4"); }20.#include<> voidmain() { inta=2,b=5,c=8,t; if(a<b){t=a;a=b;b=t;} if(b<c){t=b;b=c;c=t;} if(a<b){t=a;a=b;b=t;} printf("%d,%d\n",a++,--c); }解答:1.運(yùn)行結(jié)果: 9,72.a=1,b=33.ch1=F4.3,55.m=216.ch3=D7.y=8.Good! Best!9.A B C10.***11.q=3512.**0****2**13.*&14.d=2015.**1**16.017.0.618.a=219.23420.8,1三.補(bǔ)充程序1.根據(jù)輸入字符的ASCII碼來判別字符的類別。由ASCII碼表可知ASCII值小于32的為控制字符。在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間為大寫字母,在“a”和“z”之間為小寫字母,其余則為其它字符。 #include"" #include"" intmain() { charc; printf("inputacharacter:"); _____________________________________________ if(c<32)printf("Thisisacontrolcharacter\n"); _____________________________________________ printf("Thisisadigit\n"); elseif_______________________________________ printf("Thisisacapitalletter\n"); elseif(c>='a'&&c<='z') printf("Thisisasmallletter\n"); ____________________________________________ printf("Thisisanothercharacter\n"); return0;}2.計(jì)算器程序。用戶輸入運(yùn)算數(shù)和四則運(yùn)算符,輸出計(jì)算結(jié)果. #include"" intmain() { floata,b; ____________________________________________; printf("inputexpression:a+(-,*,/)b\n"); scanf("%f%c%f",&a,&c,&b); switch(c) { case'+':printf("%f\n",a+b);____________________________________________ case____________________________________________printf("%f\n",a-b);break; case'*':printf("%f\n",a*b);break; case'/':____________________________________________;break; default:printf("inputerror\n"); } return0;}3.輸入三個(gè)整數(shù),輸出最大數(shù)和最小數(shù)(注:max總是記錄最大數(shù),而min總是記錄最小數(shù)). #include"" intmain() { inta,b,c,max,min; printf("inputthreenumbers:"); scanf("%d%d%d",&a,&b,&c); if(a>b) { _______________________________________ _______________________________________ } else {max=b;min=a;} ____________________________________________ max=c; if(min>c) _____________________________________ printf("max=%d\nmin=%d",max,min); return0;}4.#include"" intmain() { inta; printf("inputintegernumber:"); scanf("%d",&a); _____________________________________________ { case1:printf("Monday\n");break; _____________________________________________printf("Tuesday\n");break; case3:printf("Wednesday\n");break; case4:printf("Thursday\n");_____________________________________________ case5:printf("Friday\n");break; case6:printf("Saturday\n");break; case7:printf("Sunday\n");break; _____________________________________________printf("error\n"); } return0;}5.判斷a>b、a<b、a=b或a≠b四種關(guān)系。 #include"" intmain() { inta,b; printf("pleaseinputa,b:"); scanf("%d%d",&a,&b); _____________________________________________printf("A=B\n"); _____________________________________________printf("A>B\n"); _____________________________________________printf("A<B\n"); _____________________________________________printf("A≠B\n"); return0;}6.根據(jù)以下函數(shù)關(guān)系,對(duì)輸入的每個(gè)x值,計(jì)算出相應(yīng)的y值。 #include"" intmain() { intx,c,m; floaty; scanf(“%d”,&x); _________________________________________c=-1;elsec=_____________________________________________; switch(c) { case–1:y=0;break; case0:y=x;break; case1:y=10;break; case2: case3:y=*x+20;_____________________________________________; default:y=-2; } if(c!=2)printf(“y=%f”,y); _____________________________________________ printf(“error!”); return0;}7. 找出x,y,z三個(gè)數(shù)中的最小數(shù),并判斷該數(shù)是否等于b。 #include"" intmain() { intx=4,y=5,z=8,b; intu,v; scanf("%d",&b); u=x<y_____________________________________________; v=u<z_____________________________________________; if_____________________________________________printf(“最小數(shù)等于b!\n”); _____________________________________________printf(“最小數(shù)不等于b!\n”); return0; }8.輸入兩個(gè)運(yùn)算數(shù)x,y和一個(gè)運(yùn)算符號(hào)op,輸出該運(yùn)算結(jié)果的值,例如輸入3+5↙得到結(jié)果8. #include"" intmain() { floatx,y,r; charop; scanf("%f,%c,%f",&x,&op,&y); switch(op) { case'+':r=x+y;_____________________________________________; _____________________________________________r=x-y;break; case'*':_____________________________________________;break; _____________________________________________r=x/y;break; } printf("%f",r); return0; }9.根據(jù)輸入字符的ASCII碼來判別字符的類別。由ASCII碼表可知ASCII值小于32的為控制字符。在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間為大寫字母,在“a”和“z”之間為小寫字母,其余則為其它字符。 #include"" intmain() { charc; printf("inputacharacter:"); c=getchar(); _____________________________________________ printf("Thisisacontrolcharacter\n"); if(c>='0'&&c<='9') printf("Thisisadigit\n"); _____________________________________________ printf("Thisisacapitalletter\n"); _____________________________________________ printf("Thisisasmallletter\n"); _____________________________________________ printf("Thisisanothercharacter\n"); return0;}10.找出a,b,c三個(gè)數(shù)中的最大數(shù),并判斷該數(shù)是否等于x。 #include"" intmain() { inta=8,b=4,c=12,x; intu,v; scanf(“%d”,&x); u=a<b_____________________________________________; v=u<c_____________________________________________; if_____________________________________________printf(“最大數(shù)等于x!\n”); _____________________________________________printf(“最大數(shù)不等于x!\n”); return0; }解答:1.c=getchar(); (c>='0'&&c<='9') (c>='A'&&c<='Z') else2.charc; break; '-': printf("%f\n",a/b);3.max=a; min=b; if(max<c) min=c;4.switch(a) case2: break; default:5.if(a==b) elseif(a>b) elseif(a<b) else6.if(x<0) c=x/10; break; else7.x:y; u:z; (v==b) else8.break; case'-': r=x*y; case'/':9.if(c<32) elseif(c>='A'&&c<='Z') elseif(c>='a'&&c<='z') else10.b:a c:u (v==x) else四.改錯(cuò)題解答:五.編程一1.求分段函數(shù) 的值,輸入x值,輸出結(jié)果。2.從鍵盤上輸入一個(gè)數(shù)x,計(jì)算并輸出下列分段函數(shù)y的值。 <strong></strong>3.某運(yùn)輸公司運(yùn)費(fèi)計(jì)算時(shí)根據(jù)運(yùn)輸距離打折計(jì)算,折扣的計(jì)算方法如下: (其中,discount表示折扣,S表示運(yùn)輸距離)。 編寫一完整程序,輸入運(yùn)輸距離,統(tǒng)計(jì)運(yùn)費(fèi)并輸出。每公里的運(yùn)費(fèi)通過符號(hào)常量定義為2.5。4.編程輸入一元二次方程的三個(gè)系數(shù),求解一元二次方程的實(shí)根,無實(shí)根時(shí)不用求虛根,給出相應(yīng)提示信息即可。5.給定三條邊,判斷其是否能構(gòu)成三角形,若能構(gòu)成,判斷其是等腰三角形、等邊三角形、直角三角形還是普通三角形。6.從鍵盤輸入一個(gè)三角形的三條邊,判斷是否能組成三角形,若能組成三角形,則輸出它的面積。7.從鍵盤輸入一個(gè)百分制的學(xué)生成績(jī),輸出其對(duì)應(yīng)的分?jǐn)?shù)等級(jí),其中90~100為A,80~89為B,70~79為C,60~69為D,60以下為E。8.編寫一個(gè)程序,從鍵盤輸入三個(gè)整數(shù)給a,b,c,然后交換它們中的數(shù),把a(bǔ)中原來的值給b,把b中原來的值給c,把c中原來的值給a。9.輸入一個(gè)字符,判斷其是否為英文字母,若是英文字母,則將其大小寫進(jìn)行轉(zhuǎn)換,若不是英文字母,則不變。10.給定三個(gè)整數(shù)型x,y,z,輸出三個(gè)數(shù)中的最大值和最小值。解答:1.#include"" #include"" voidmain() { floatx,y; printf("inputx\n"); scanf("%f",&x); if(x<0)y=1;elseif(x<=5)y=2*x; else y=sqrt(x); printf("x=%=%8.3f\n",x,y); }2.#include"" #include"" voidmain() { floatx,y; printf("inputx\n"); scanf("%f",&x); if(x>20||x>1&&x<10){ printf("無定義\n"); return; } if(x<0)y=-x; elseif(x<=1)y=sin(x)+x; elseif(x>=10&&x<=20)y=x*x*x; printf("x=%=%8.3f\n",x,y); }3.#include"" #include"" #defineprice voidmain() { floatdiscount,cost,s; printf("inputdistance\n"); scanf("%f",&s); if(s<250)discount=0;elseif(s<800)discount=;elseif(s<1500)discount=;else discount=;cost=s*(1-discount)*price; printf("distance=%5.1f;cost=%5.1f\n",s,cost); }4./*功能:求一元二次方程的解。*/ #include"" #include"" main() {floata,b,c,disc,x1,x2;scanf("%f,%f,%f",&a,&b,&c); disc=b*b-4*a*c; if(disc==0) printf("x1=x2=%7.2f\n",-b/(2*a));/*輸出兩個(gè)相等的實(shí)根*/ elseif(disc>0){x1=(-b+sqrt(disc))/(2*a);/*求出兩個(gè)不相等的實(shí)根*/ x2=(-b-sqrt(disc))/(2*a); printf("x1=%7.2f,x2=%7.2f\n",x1,x2); } else printf("無實(shí)根\n"); }5.#include"" voidmain() { floata,b,c; printf("輸入三條邊:\n"); scanf("%f%f%f",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a) {if(a==b&&b==c) printf("等邊三角形\n"); elseif(a==b||b==c||c==a) printf("等腰三角形\n"); elseif(a*a==b*b+c*c||b*b==a*a+c*c||c*c==b*b+a*a) printf("直角三角形\n"); } else printf("不能構(gòu)成三角形\n"); }6.#include"" #include"" voidmain() { floata,b,c,s,area; printf("輸入三條邊:\n"); scanf("%f%f%f",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a) {s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%7.2f\n",area); } else printf("不能構(gòu)成三角形\n"); }7.#include<> voidmain() { intscore; chard; printf("Inputscore\n"); scanf("%d",&score); if(score>100||score<0){printf("dataerror!\n"); return; } switch(score/10){case10:case9:d='A';break; case8:d='B';break; case7:d='C';break; case6:d='D';break; default:d='E';break; } printf("score=%3ddengji=%c\n",score,d); }8.#include<> voidmain() { inta,b,c,t; printf("Inputa,b,c\n"); scanf("%d%d%d",&a,&b,&c); t=a; a=b; b=c; c=t; printf("a=%d;b=%d;c=%d;\n",a,b,c); }9.#include<> voidmain() { charc1,c2;printf("Inputaletter:"); c1=getchar(); if(c1>='a'&&c1<='z') c2=c1+'A'-'a'; elseif(c1>='A'&&c1<='Z') c2=c1+'a'-'A'; else c2=c1;printf("原字符:%c轉(zhuǎn)換后為:%c\n",c1,c2); }10. #include<> voidmain() { inta,b,c,max,min; printf("Inputa,b,c\n"); scanf("%d%d%d",&a,&b,&c); max=a;min=a; if(b>max)max=b; elseif(b<min)min=b; if(c>max)max=c; elseif(c<min)min=c; printf("a=%d;b=%d;c=%d;\n",a,b,c); printf("max=%d;min=%d\n",max,min); }六.編程二解答:第五章循環(huán)結(jié)構(gòu)一.填空1.C語(yǔ)言中提供了三種循環(huán)控制語(yǔ)句,它們是:()、do-while語(yǔ)句、()。2.break語(yǔ)句在C程序中只能出現(xiàn)在兩種場(chǎng)合:一是用于()語(yǔ)句中,二是用于()語(yǔ)句中。3.以下程序段中的語(yǔ)句printf(“***”)要執(zhí)行5次,請(qǐng)?jiān)诳瞻滋幪钊牒线m的數(shù)。 for(i=1;i<=();i=i+2)printf(“***”);4.定義intk=10;執(zhí)行語(yǔ)句while(k<20)k+=1;后,k的值為()。5.在循環(huán)控制結(jié)構(gòu)中break語(yǔ)句的作用是()。6.在循環(huán)控制結(jié)構(gòu)中continue語(yǔ)句的作用是:()。7.若已知inta[5][5];并在運(yùn)行過程中a數(shù)組已經(jīng)賦值;要打印次對(duì)角線元素,在空白處填入合適的值/表達(dá)式; for(i=0;i<5;i++) for(j=();j>=0;j--) printf("%5d",a[i][j]);8.執(zhí)行完語(yǔ)句sum=0;for(i=0;i<10;i++){if(i%5==0)sum+=i; sum=()。9.在使用while語(yǔ)句中需要注意,為了防止“死循環(huán)”的發(fā)生,在循環(huán)體中一定要有()語(yǔ)句。10.do-while語(yǔ)句中,判斷循環(huán)條件在(),執(zhí)行循環(huán)體在()。(填“先”“后”)解答:..9.10.二.閱讀程序?qū)懡Y(jié)果1.#include<> voidmain() { intnumber,digit; number=1234;while(number!=0) { digit=number%10; printf("%d",digit); number=number/10; } }2.#include<> #defineN5 voidmain() { inti; for(i=1;i<N;i++) printf("%d\n",i*i); }3.#include<> voidmain() { inti,s,x; s=0;x=15;for(i=1;i<=5;i++) if(x%i==0)s=s+i; printf("i=%d,s=%d\n",i,s); }4.#include<> voidmain() { intcounter=1;while(counter<=5){ printf("%d\n",counter); counter++; } }5.#include<> intmain() { inti,sum,m,a; sum=0;m=5;for(i=0;i<=3;i++) { scanf("%d",&a); if(a>m) sum+=a; } printf("sum=%d\n",sum); return0;} 輸入:21083<回車>6.#include<> intmain() { inti,j,k; for(i=1;i<=4;i++) { for(j=1;j<5-i;j++) printf(""); for(k=1;k<=i;k++) printf("*"); printf("\n"); } return0;}7.#include<> intmain() { inti,j; i=1;while(i<5){ for(j=1;j<2*i+1;j++) printf("%c",'#'); printf("\n"); i++; } return0;}8.#include<> intmain() { inti=10,m=0,n=0;do { if(i%2!=0)m=m+i; else n=n+i; i--; }while(i>=0); printf("m=%d,n=%d\n",m,n); return0;}9.#include<> voidmain() { intsum=0,n; scanf("%d",&n); while(n<=5){ sum+=n; n++; } printf("sum=%d",sum); } 輸入:1<回車>10.#include<> voidmain() { inti,j; for(i=2;i>=0;i--) { for(j=1;j<=i;j++) printf("*"); for(j=0;j<=2-i;j++) printf("!"); printf("\n"); } }11.#include<> voidmain() { inta,b; for(a=1,b=1;a<=100;a++) { if(b>20)break; if(b%4==1){ b=b+4;continue; } b=b-5;} printf("a=%d\n",a); }12.#include<> voidmain() { chark; inti; for(i=1;i<3;i++) { scanf("%c",&k); switch(k) { case'0':printf("another\n"); case'1':printf("number\n"); } } } 輸入:01<回車>13.#include<> intmain() { inti,s=0;for(i=1;i<10;i++) { s+=i*i; if(s>10)break; } printf("i=%d,s=%d\n",i,s); return0;}14.#include<> voidmain() { charch; while((ch=getchar())!='\n') { if(ch>='A'&&ch<='Z') ch=ch+32;elseif(ch>='a'&&ch<='z') ch=ch-32;printf("%c",ch); } } 輸入:ABCdef<回車>15.#include<> intmain() { inta,b; for(a=1,b=1;a<=100;a++) { if(b>=9)break; if(b%3==1){ b+=3; continue; } b-=5;} printf("%d,%d\n",a,b); return0;}16.#include<> intmain() { inti=0,j=0;while(i<10)i++; while(j++<10); printf("i=%d,j=%d\n",i,j); return0;}17.#include"" voidmain() { inti,j,t; for(i=1,j=10;i<3;i++,j--) t=i+j; t++; printf("%d,%d",j,t); }18.#include"" voidmain() { inti=10,j; do { j=i%2;printf("%d",j); i--; }while(i>4); }19.#include"" voidmain() { inti=7,j; while(i>2){ j=i%2;printf("%d",j); i--; } printf("%d",i); }20.#include<> voidmain() { inti,j,t=0;for(i=3;i>0;i--) for(j=0;j<4;j++) t+=j; printf("t=%d",t); }解答:1.43212.1 4 9 163.i=6,s=94.1 2 3 4 55.sum=186.* ** ***
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 不利物質(zhì)招標(biāo)合同范本
- 廠房廣告制作合同范本
- 去料加工合同范本
- 叉車質(zhì)保金合同范本
- 合作加盟合同范例
- 合作采礦協(xié)議合同范本
- 單間樓梯租房合同范本
- 北京購(gòu)買服務(wù)合同范本
- 農(nóng)資員工聘用合同范例
- 上海境外旅游合同范本
- 2025年哈爾濱職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)完美版
- 私募股權(quán)投資基金基礎(chǔ)知識(shí)-《私募股權(quán)投資基金基礎(chǔ)知識(shí)》高分通關(guān)卷5
- 老年重癥患者靜脈血栓栓塞癥預(yù)防中國(guó)專家共識(shí)(2023)解讀
- 北師大版四年級(jí)數(shù)學(xué)下冊(cè)期末測(cè)試卷(一)(含答案)
- 2025年云南省曲靖市富源縣能源局公開招聘引進(jìn)煤礦安全監(jiān)管急需緊缺人才筆試高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 初中語(yǔ)文新人教部編版七年級(jí)下冊(cè)第一單元核心素養(yǎng)教案(2025春詳細(xì)版)
- 校園春季傳染病預(yù)防
- 《抗菌藥物合理運(yùn)用》課件
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)基礎(chǔ)教程(高職“創(chuàng)新創(chuàng)業(yè)”課程)全套教學(xué)課件
- 中小學(xué)傳統(tǒng)文化教育指導(dǎo)標(biāo)準(zhǔn)
- 論《說文解字》中的水文化
評(píng)論
0/150
提交評(píng)論