C語(yǔ)言程序設(shè)計(jì)試題(卷)集與答案解析_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)試題(卷)集與答案解析_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)試題(卷)集與答案解析_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)試題(卷)集與答案解析_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)試題(卷)集與答案解析_第5頁(yè)
已閱讀5頁(yè),還剩472頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ǔ)言程序開(kāi)發(fā)到執(zhí)行通常要經(jīng)過(guò)6個(gè)階段即編輯、預(yù)處理、________、鏈接、加載和執(zhí)行。3.軟件是程序,以及______、使用和維護(hù)所需要的所有文檔。4.國(guó)標(biāo)中規(guī)定:“計(jì)算機(jī)程序是按照具體要求產(chǎn)生的適合于計(jì)算機(jī)處理的_________”。5.程序設(shè)計(jì)語(yǔ)言按照書(shū)寫(xiě)形式,以及思維方式的不同一般分為低級(jí)語(yǔ)言和________兩大類。6.C語(yǔ)言是由________組成的。7.C語(yǔ)言的函數(shù)可分為主函數(shù)main、標(biāo)準(zhǔn)庫(kù)函數(shù)和_________。8.一個(gè)函數(shù)是由兩部分組成的,即:________和函數(shù)體。9.編譯是將C語(yǔ)言所編寫(xiě)的源程序________成機(jī)器代碼,也稱為建立目標(biāo)代碼程序的過(guò)程。10.程序是由某種程序設(shè)計(jì)語(yǔ)言編制出來(lái),體現(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)用而開(kāi)發(fā)的軟件程序,統(tǒng)稱為_(kāi)________。11.機(jī)器語(yǔ)言是以__________形式表示的機(jī)器基本指令的集合,是計(jì)算機(jī)系統(tǒng)唯一不需要翻譯可以直接識(shí)別和執(zhí)行的程序設(shè)計(jì)語(yǔ)言。12.與機(jī)器語(yǔ)言相比,使用匯編語(yǔ)言來(lái)編寫(xiě)程序可以用_______來(lái)表示指令的操作碼和操作對(duì)象,也可以用標(biāo)號(hào)和符號(hào)來(lái)代替地址、常量和變量。13.在編譯程序之前,凡以____開(kāi)頭的代碼行都先由預(yù)處理程序預(yù)處理。14.C程序的執(zhí)行均是由執(zhí)行_________開(kāi)始。15.函數(shù)體即為包含在{}內(nèi)的部分。它分為_(kā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)過(guò)“_______程序”,將用高級(jí)語(yǔ)言編寫(xiě)的程序翻譯成計(jì)算機(jī)硬件所能識(shí)別的機(jī)器語(yǔ)言程序方可執(zhí)行。19.用高級(jí)語(yǔ)言編寫(xiě)的程序需翻譯成計(jì)算機(jī)硬件所能識(shí)別的機(jī)器語(yǔ)言程序方可執(zhí)行。所以說(shuō),用高級(jí)語(yǔ)言進(jìn)行程序設(shè)計(jì),其編程效率高,方便易用,但_______沒(méi)有低級(jí)語(yǔ)言高。20.第一個(gè)系統(tǒng)體現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)思想的教學(xué)工具語(yǔ)言是_______語(yǔ)言。解答:1.main()2.編譯3.開(kāi)發(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.翻譯21.執(zhí)行速度22.PASCAL二.閱讀程序?qū)懡Y(jié)果解答:三.補(bǔ)充程序解答:四.改錯(cuò)題解答:五.編程一解答:六.編程二解答:第二章常量、變量和表達(dá)式一.填空19.以16位計(jì)算機(jī)為例,若定義longinta;則變量a占______個(gè)字節(jié)的內(nèi)存空間。20.以16位計(jì)算機(jī)為例,若定義doublea;則變量a占______個(gè)字節(jié)的內(nèi)存空間。21.以16位計(jì)算機(jī)為例,若定義longdouble;則變量a占______個(gè)字節(jié)的內(nèi)存空間。22.在______位機(jī),int型占4個(gè)字節(jié)。23.C語(yǔ)言的數(shù)據(jù)類型有:基本數(shù)據(jù)類型、構(gòu)造數(shù)據(jù)類型、枚舉類型、______、空類型。24.在C語(yǔ)言中,基本數(shù)據(jù)類型有:______。25.整型常量046轉(zhuǎn)換為十進(jìn)制數(shù)等于______。26.整型常量054轉(zhuǎn)換為十進(jìn)制數(shù)等于______。27.整型常量0x125轉(zhuǎn)換為十進(jìn)制數(shù)等于______。28.整型常量0x7C轉(zhuǎn)換為十進(jìn)制數(shù)等于______。29.整型常量39轉(zhuǎn)換為八進(jìn)制等于______。30.實(shí)數(shù)473.468寫(xiě)成規(guī)范化指數(shù)形式,則應(yīng)為_(kāi)_____。31.實(shí)數(shù)0.0453寫(xiě)成規(guī)范化指數(shù)形式,則應(yīng)為_(kāi)_____。23.將0x123轉(zhuǎn)換為二進(jìn)制等于______。24.字符’A’表示成十六進(jìn)制等于______。25.在C語(yǔ)言中,稱代表常量的標(biāo)識(shí)符為_(kāi)_____。26.C語(yǔ)言中是用編譯預(yù)處理命令______來(lái)定義符號(hào)常量27.在C語(yǔ)言中,以反斜杠符()開(kāi)頭,后跟字符的字符序列,稱之為_(kāi)_____,主要用來(lái)表示控制及不可見(jiàn)的字符或者一些圖形符號(hào)28.語(yǔ)句printf("\106")執(zhí)行的結(jié)果輸出是______。29.語(yǔ)句printf(“b”)執(zhí)行的結(jié)果輸出是______。30.語(yǔ)句printf(“\\b”)執(zhí)行的結(jié)果輸出是______。31.語(yǔ)句printf("\102")執(zhí)行的結(jié)果輸出是______。32.若有charch1;ch1='a'+4;則語(yǔ)句printf("%c",x)的輸出結(jié)果為_(kāi)_____。33.字符串常量“Hello,everyone!”占據(jù)的內(nèi)存空間為_(kāi)_____個(gè)字節(jié)34.字符串常量“Hello,Bob!”占據(jù)的內(nèi)存空間為_(kāi)_____個(gè)字節(jié)35.十進(jìn)制整型常量由0~9個(gè)數(shù)據(jù)組成,但不能以______開(kāi)始,沒(méi)有小數(shù)部分36.十六進(jìn)制常量由0~9和______組成37.unsignedlong類型常量通常以______為后綴38.實(shí)型常量通常有小數(shù)形式和______兩種表達(dá)方式39.C語(yǔ)言中是用編譯預(yù)處理命令______來(lái)包含其他源文件40.為了表示字符串的結(jié)束,系統(tǒng)自動(dòng)在字符串的最后加一個(gè)______,但不被輸出41.C語(yǔ)言中,其值可被改變的量稱為變量,它具有三個(gè)基本要素:變量名、______和變量值42.C語(yǔ)言規(guī)定,變量的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成,且不能以______開(kāi)頭。43.在16位機(jī)中,sizeof(“hello\n”)等于______。44.在16位機(jī)中,printf(““””)等于______。45.字符變量在內(nèi)存中占用______個(gè)字節(jié)的存儲(chǔ)空間。46.若有定義intx=27,y=6;則表達(dá)式x/y的值為_(kāi)_____。47.若有定義intx=47,y=8;則表達(dá)式x%y的值為_(kāi)_____。48.若有定義charch1='A',ch2,ch3;執(zhí)行ch2=ch1++;ch3=++ch1;printf("ch1=%c,ch2=%c",ch1,ch2);則輸出為_(kāi)_____。49.若有定義charch1='A',ch2,ch3;執(zhí)行ch2=ch1++;ch3=++ch1;printf("ch2=%c,ch3=%c",ch2,ch3);則輸出為_(kāi)_____。50.若有定義inti=5,j,k;執(zhí)行j=i--;k=--i;printf("i=%d,j=%d\n",i,j);則輸出為_(kāi)_____。51.表達(dá)式(int)(13.7+25.6)/4%5的值是______。52.表達(dá)式3.6-5/2+1.2+5%3的值是______。53.表達(dá)式54%10/2+4.0*(8/5)的值是______。54.若定義intx;doubleb=5.45;執(zhí)行x=b后,則x的值為_(kāi)_____。55.若定義inty;charc='A';執(zhí)行y=c后,則y的值為_(kāi)_____。56.若定義inta=8;floatb=2.5;則a/(int)(b)的值為_(kāi)_____。57.若a=5,則執(zhí)行a*=7-3語(yǔ)句后,a的值是______。58.若inta=1,b=0,c=4,d=2;則表達(dá)式(a>b?a:b)&&(c-d)的值為_(kāi)_____。59.已知a=0,表達(dá)式a=1?b=1:b=0;執(zhí)行后,b的值是______。60.若定義intm=7,n=12;則表達(dá)式n%=m-m%5的值是______。61.若定義inta=8;floatb=4.5;執(zhí)行a*=a/=a-b后,a的值為_(kāi)_____。62.inta=2;!a++的值為_(kāi)_____。63.inta=0;!a++&++a的值為_(kāi)_____。64.inta=7;floatb=4.5;則printf(“%d”,a*=a/=a-b)的值為_(kāi)_____。65.intk=7;floata=2.5,b=4.7;則表達(dá)式a+k%3*(int)(a+b)%2/4的值為_(kāi)_____。66.#defineMax(a,b)(((a)-(b))&0x80000000)?(a):(b),inta=2,b=6;printf(n”,M“%dax(a,b))的值為_(kāi)_____。67.在32位機(jī)中,inta=4,b=7;printf(“%0x”,a-b)的值為:______。68.intx,y,z;x=y=2;z=3;y=x++-1;printf(“%d,%d”,x,y)的值為:______。69.inti=2,j;printf(“%d”,j=i<1)的值為:______解答:32.033.434.1035.3236.指針類型37.int、float、double、char38.3839.4440.29341.12442.04743.4.734680e+00244.4.530000e-00270.10010001171.\x41/41H72.符號(hào)常量73.#define74.轉(zhuǎn)義字符常量75.F76.b77.\b78.B79.e80.1681.1182.083.A~F84.U85.指數(shù)形式86.#include87.“0”88.變量類型89.數(shù)字90.791.“hello”92.193.494.795.ch1=C,ch2=A96.ch2=A,ch3=C97.i=3,j=598.499.4.800000100.7.000000101.5102.65103.4104.20105.1106.1107.2108.4109.0110.0111.4112.2.500000113.2114.fffffffd115.3,1116.0二.閱讀程序?qū)懡Y(jié)果解答:三.補(bǔ)充程序解答:四.改錯(cuò)題解答:五.編程一解答:六.編程二解答:第三章順序結(jié)構(gòu)一.填空45.C語(yǔ)言的語(yǔ)句可分為5類,它們是:控制語(yǔ)句、____________、函數(shù)語(yǔ)句、符合語(yǔ)句和空語(yǔ)句。46.常用于字符輸入的函數(shù)為:________________。47.常用于字符輸出的函數(shù)為:________________。48.常用于字符串輸入的函數(shù)為:________________。49.常用于字符串輸出的函數(shù)為:________________。50.格式輸入函數(shù)的一般形式為:________________。51.格式輸出函數(shù)的一般形式為:________________。52.printf和scanf是標(biāo)準(zhǔn)的庫(kù)函數(shù),它們的函數(shù)原型在頭文件________________中。53.有charch,則從鍵盤(pán)給ch賦值的格式輸入語(yǔ)句為:________________。54.如果要輸出字符串常量“HelloWord!”,則格式輸出語(yǔ)句為:________________。55.設(shè)有定義:longx=-123456L;,請(qǐng)寫(xiě)出能夠正確輸出變量x值的語(yǔ)句________________。56.若有inta,b;,想通過(guò)scanf("%d%d",&a,&b);輸入語(yǔ)句給a賦于1,給b賦于2,則從鍵盤(pán)輸入數(shù)據(jù)的形式是________________。117.若有inti,j;scanf("i=%d,j=%d";&i,&j);,要求給i賦10,給j賦20,則應(yīng)該從鍵盤(pán)輸入_______。118.已知i、j、k為int型變量,若從鍵盤(pán)輸入:1,2,3<回車(chē)>,使i的值為1、j的值為2、k的值為3,請(qǐng)寫(xiě)出正確的輸入語(yǔ)句________________。119.有intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);若想從鍵盤(pán)上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是________________。120.有inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);,若運(yùn)行時(shí)從鍵盤(pán)上輸入9876543210<回車(chē)>,則程序的輸出結(jié)果是_____________________。121.有intm=0256,n=256;則printf("%o%o\n",m,n);的輸出結(jié)果是_____________________。122.有intx=102,y=012;,則printf(“%2d,%2d\n”,x,y);的輸出結(jié)果是_____________________。123.有定義和語(yǔ)句:inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);,則printf("%d%d%3.1f%3.1f\n",a,c,f,x);的輸出結(jié)果是_____________________。124.若有定義和語(yǔ)句:intm=0xabc,n=0xabc;m-=n;則printf("%o\n",m);的輸出結(jié)果是_____________。125.若有intm=32,n=032;,則printf("%d,%x\n",m,n);執(zhí)行后輸出結(jié)果是___________________。126.若有inta=1234;,則printf("%2d\n",a);的輸出結(jié)果是_____________________。127.若變量已正確說(shuō)明為float類型,要通過(guò)語(yǔ)句scanf(“%f%f%f”,&a,&b,&c);給a賦于157.,b賦予22.0,c賦予33.0,不正確的輸入形式是_____________________。A)10<回車(chē)>22<回車(chē)>33<回車(chē)>B)10.0,22.0,33.0<回車(chē)>C)10.0<回車(chē)>22.033.0<回車(chē)>D)1022<回車(chē)>33<回車(chē)>128.若有intx=3,y=1;則printf("%d%d\n",x++,y+2);的輸出結(jié)果是_____________________。129.若有定義和語(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)后只寫(xiě)一位)_____________________。130.以下說(shuō)法中正確的是_____________________。A)#define和printf都是C語(yǔ)句B)#define是C語(yǔ)句,而printf不是C)printf是C語(yǔ)句,但#define不是D)#define和printf都不是C語(yǔ)句131.若有intk=17;,則printf("%d,%o,%x\n",k,k,k);的輸出結(jié)果是_____________________。132.以下敘述中正確的是_____________________。A)輸入項(xiàng)可以是一個(gè)實(shí)型常量,如:scanf("%f",3.5);B)只有格式控制,沒(méi)有輸入項(xiàng),也能正確輸入數(shù)據(jù)到內(nèi)存,例如:scakf("a=%d,b=%d");C)當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址,例如:scanf("%f",&f);133.若有定義和語(yǔ)句:intu=010,v=0x10,w=10;則printf("%d,%d,%d\n",u,v,w);輸出結(jié)果是_____________________。134.若有inta=1,b=4,c=2;floatx=10.5,y=4.0,z;z=(a+b)/c+sqrt((double)y)*1.2/c+x;,則printf("%f\n",z);的輸出結(jié)果是_____________________。135.若有inta=2,c=5;,則printf("a=%%d,b=%%d\n",a,c);的輸出結(jié)果是_____________________。136.有charc;intn=100;floatf=10;doublex;x=f*=n/=(c=50);則printf("%d%f\n",n,x);的輸出結(jié)果是_____________________。137.有inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",i,j,k);若從鍵盤(pán)輸入:102030<回車(chē)>。輸出結(jié)果是_____________________。138.若有inta,b,c;a=25;b=025;c=0x25;,則printf("%d%d%d\n",a,b,c);的輸出結(jié)果是___________。139.有以下語(yǔ)句段intn1=10,n2=20;printf(“________________”,n1,n2);要求按以下格式輸出n1和n2的值,每個(gè)輸出行從第一列開(kāi)始,請(qǐng)?zhí)羁?。n1=10n2=20140.若有語(yǔ)句inti=-19,j=i%4;則printf("%d\n",j);的輸出結(jié)果是_____________________。141.有inta=0;a+=(a=8);則printf("%d\n",a);的輸出結(jié)果是_____________________。142.有inta=1,b=2;a=a+b;b=a-b;a=a-b;則printf(“%d,%d\n”,a,b);的輸出結(jié)果是______________。143.有unsignedshorta=65536;intb;,則printf(“%d\n”,b=a);的輸出結(jié)果是______________。144.語(yǔ)句printf("\10289\n");的數(shù)據(jù)結(jié)果為:__________________。解答:58.表達(dá)式語(yǔ)句59.getchar()60.putchar()61.gets()62.puts()63.scanf(“格式控制字符串”,地址表列);64.printf(“格式控制字符串”,輸出表列);65.stdio.h66.scanf(“%c”,&ch);67.printf(,“H%esl”loWord!);或者:printf(“HelloWord!”);68.printf(“x=n%”1d,x);69.12或者1270.i=10,j=2071.scanf(“%d,%d,%d”,&i,&j,&k);72.m=123n=456p=789145.a=98,b=765.000000,c=4321.000000146.256400147.102,10148.1651.56.5149.0150.32,1a151.1234152.B153.33154.666.06.0155.D156.17,21,11157.C158.8,16,10159.13.700000160.a=%d,b=%d161.220.000000162.10300163.252137164.n1=%d\nn2=%d165.-3166.16167.2,1168.0169.B89二.閱讀程序?qū)懡Y(jié)果解答:三.補(bǔ)充程序解答:四.改錯(cuò)題解答:五.編程一解答:六.編程二解答:第四章選擇結(jié)構(gòu)一.填空73.在if,while,case,do,else等關(guān)鍵字中,用于選擇結(jié)構(gòu)的有().74.已知a=1;那么if(a=2)printf("%d",2);elseprintf("%d",1);的輸出結(jié)果是().75.已知chara='A';那么if(a>65)printf("%s","bigger");elseprintf("%s","smaller");的輸出結(jié)果是().76.表示“x≥y≥z”的C語(yǔ)言表達(dá)式是()。77.在C語(yǔ)言中,用于實(shí)現(xiàn)選擇結(jié)構(gòu)的語(yǔ)句有()語(yǔ)句和()語(yǔ)句。78.判斷兩個(gè)浮點(diǎn)型變量x和y是否相等一般用:if(<1e-6)?。79.設(shè)有程序段:t=6;a=7;b=8;if(a=b)t=a;,這段程序執(zhí)行后,t的結(jié)果是()。80.設(shè)a=1,b=2,c=3,d=4,則表達(dá)式:a>b?a:c>d?a:d的結(jié)果為()。81.表達(dá)式98&&8&&31&&(98-'a')的值為()。82.若inta=3;則表達(dá)式(a>2)&&!('D'>69)的值為()。解答:79.二.閱讀程序?qū)懡Y(jié)果83.#include<stdio.h>voidmain(){intx,y,t;x=7;y=9;if(x<y){t=x;x=y;y=t;}printf("%d,%d\n",x,y);}84.#include<stdio.h>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);}180.#include<stdio.h>voidmain(){charch1='E';if(ch1>='A')ch1++;elsech1+=32;printf("ch1=%c\n",ch1);}181.#include<stdio.h>voidmain(){intx,y,t;x=5;y=3;if(x>y){t=x;x=y;y=t;}printf("%d,%d\n",x,y);}182.#include<stdio.h>intmain(){inta,b,c,m;printf("Enterthreeintegers:");scanf("%d%d%d",&a,&b,&c);if(a<=b)m=a;elsem=b;if(c<m)m=c;printf("m=%d\n",m);return0;}輸入:212223<回車(chē)>183.#include<stdio.h>intmain(){charch1='a',ch2='B',ch3='E';if(ch1>ch2)if(ch2>ch3)ch3++;else--ch3;printf("ch3=%c\n",ch3);return0;}184.#include<stdio.h>intmain(){floatx,y;scanf("%f",&x);switch((int)x/10){case0:y=1.0;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;}輸入:15.3<回車(chē)>185.#include<stdio.h>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;}#include<stdio.h>voidmain(){floatscore;score=100;if(score<60)printf("E\n");elseswitch((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");}}186.#include<stdio.h>voidmain(){inti=0,a=2;if(i==0)printf(“**”);elseprintf(“$$”);printf(“*”);}187.#include<stdio.h>voidmain(){intm=10,n=0,p=4,q=20;if(m)if(n)q=15-m;elseq=25+m;elseif(p)q=q+p;printf(“q=%nd”,q);}188.#include<stdio.h>voidmain(){inta=1,b=0;switch(a){case1:switch(b){case0:printf("**0**");break;case1:printf("**1**");break;}case2:printf("**2**");break;}}189.#include<stdio.h>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;}190.#include<stdio.h>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;}191.#include<stdio.h>intmain(){inta=1;switch(a){case0:printf("**0**");break;case1:printf("**1**");break;case2:printf("**2**");break;}return0;}192.#include<stdio.h>intmain(){intx,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);return0;}輸入:12<回車(chē)>193.#include<stdio.h>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;}輸入:3.5<回車(chē)>194.#include"stdio.h"voidmain(){inta=7;if(a>9||a<10)a=a/3;elsea=a%3;printf("a=%d",a);}195.#include<stdio.h>voidmain(){inta=20;switch(a%3){case0:printf("0");case1:printf("1");case2:printf("2");default:printf("3");}printf("4");}196.#include<stdio.h>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);}解答:85.運(yùn)行結(jié)果:9,786.a=1,b=387.ch1=F88.3,589.m=2190.ch3=D91.y=31.60000092.Good!Best!93.ABC197.***198.q=35199.**0****2**200.*&201.d=20202.**1**203.0204.0.6205.a=2206.234207.8,1三.補(bǔ)充程序94.根據(jù)輸入字符的ASCII碼來(lái)判別字符的類別。由ASCII碼表可知ASCII值小于32的為控制字符。在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間為大寫(xiě)字母,在“a”和“z”之間為小寫(xiě)字母,其余則為其它字符。#include"stdio.h"#include"string.h"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;}208.計(jì)算器程序。用戶輸入運(yùn)算數(shù)和四則運(yùn)算符,輸出計(jì)算結(jié)果.#include"stdio.h"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;}209.輸入三個(gè)整數(shù),輸出最大數(shù)和最小數(shù)(注:max總是記錄最大數(shù),而min總是記錄最小數(shù)).#include"stdio.h"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;}210.#include"stdio.h"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;}211.判斷a>b、a<b、a=b或a≠b四種關(guān)系。#include"stdio.h"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;}212.根據(jù)以下函數(shù)關(guān)系,對(duì)輸入的每個(gè)x值,計(jì)算出相應(yīng)的y值。#include"stdio.h"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=-0.5*x+20;_____________________________________________;default:y=-2;}if(c!=2)printf(“y=%f”,y);_____________________________________________printf(“error!”);return0;}213.找出x,y,z三個(gè)數(shù)中的最小數(shù),并判斷該數(shù)是否等于b。#include"stdio.h"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;}214.輸入兩個(gè)運(yùn)算數(shù)x,y和一個(gè)運(yùn)算符號(hào)op,輸出該運(yùn)算結(jié)果的值,例如輸入3+5↙得到結(jié)果8.#include"stdio.h"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;}215.根據(jù)輸入字符的ASCII碼來(lái)判別字符的類別。由ASCII碼表可知ASCII值小于32的為控制字符。在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間為大寫(xiě)字母,在“a”和“z”之間為小寫(xiě)字母,其余則為其它字符。#include"stdio.h"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;}216.找出a,b,c三個(gè)數(shù)中的最大數(shù),并判斷該數(shù)是否等于x。#include"stdio.h"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;}解答:217.c=getchar();(c>='0'&&c<='9')(c>='A'&&c<='Z')else218.charc;break;'-':printf("%f\n",a/b);219.max=a;min=b;if(max<c)min=c;220.switch(a)case2:break;default:221.if(a==b)elseif(a>b)elseif(a<b)else222.if(x<0)c=x/10;break;else223.x:y;u:z;(v==b)else224.break;case'-':r=x*y;case'/':225.if(c<32)elseif(c>='A'&&c<='Z')elseif(c>='a'&&c<='z')else226.b:ac:u(v==x)else四.改錯(cuò)題解答:五.編程一227.求分段函數(shù)的值,輸入x值,輸出結(jié)果。228.從鍵盤(pán)上輸入一個(gè)數(shù)x,計(jì)算并輸出下列分段函數(shù)y的值。<strong></strong>229.某運(yùn)輸公司運(yùn)費(fèi)計(jì)算時(shí)根據(jù)運(yùn)輸距離打折計(jì)算,折扣的計(jì)算方法如下:(其中,discount表示折扣,S表示運(yùn)輸距離)。編寫(xiě)一完整程序,輸入運(yùn)輸距離,統(tǒng)計(jì)運(yùn)費(fèi)并輸出。每公里的運(yùn)費(fèi)通過(guò)符號(hào)常量定義為2.5。230.編程輸入一元二次方程的三個(gè)系數(shù),求解一元二次方程的實(shí)根,無(wú)實(shí)根時(shí)不用求虛根,給出相應(yīng)提示信息即可。231.給定三條邊,判斷其是否能構(gòu)成三角形,若能構(gòu)成,判斷其是等腰三角形、等邊三角形、直角三角形還是普通三角形。232.從鍵盤(pán)輸入一個(gè)三角形的三條邊,判斷是否能組成三角形,若能組成三角形,則輸出它的面積。233.從鍵盤(pán)輸入一個(gè)百分制的學(xué)生成績(jī),輸出其對(duì)應(yīng)的分?jǐn)?shù)等級(jí),其中90~100為A,80~89為B,70~79為C,60~69為D,60以下為E。234.編寫(xiě)一個(gè)程序,從鍵盤(pán)輸入三個(gè)整數(shù)給a,b,c,然后交換它們中的數(shù),把a(bǔ)中原來(lái)的值給b,把b中原來(lái)的值給c,把c中原來(lái)的值給a。235.輸入一個(gè)字符,判斷其是否為英文字母,若是英文字母,則將其大小寫(xiě)進(jìn)行轉(zhuǎn)換,若不是英文字母,則不變。236.給定三個(gè)整數(shù)型x,y,z,輸出三個(gè)數(shù)中的最大值和最小值。解答:95.#include"stdio.h"#include"math.h"voidmain(){floatx,y;printf("inputx\n");scanf("%f",&x);if(x<0)y=1;elseif(x<=5)y=2*x;elsey=sqrt(x);printf("x=%5.1fy=%8.3f\n",x,y);}96.#include"stdio.h"#include"math.h"voidmain(){floatx,y;printf("inputx\n");scanf("%f",&x);if(x>20||x>1&&x<10){printf("無(wú)定義\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=%5.1fy=%8.3f\n",x,y);}97.#include"stdio.h"#include"math.h"#defineprice2.5voidmain(){floatdiscount,cost,s;printf("inputdistance\n");scanf("%f",&s);if(s<250)discount=0;elseif(s<800)discount=0.02;elseif(s<1500)discount=0.05;elsediscount=0.08;cost=s*(1-discount)*price;printf("distance=%5.1f;cost=%5.1f\n",s,cost);}237./*功能:求一元二次方程的解。*/#include"math.h"#include"stdio.h"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);}elseprintf("無(wú)實(shí)根\n");}238.#include"stdio.h"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");}elseprintf("不能構(gòu)成三角形\n");}239.#include"stdio.h"#include"math.h"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);}elseprintf("不能構(gòu)成三角形\n");}240.#include<stdio.h>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);}241.#include<stdio.h>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);}242.#include<stdio.h>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';elsec2=c1;printf("原字符:%c轉(zhuǎn)換后為:%c\n",c1,c2);}243.#include<stdio.h>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)一.填空98.C語(yǔ)言中提供了三種循環(huán)控制語(yǔ)句,它們是:()、do-while語(yǔ)句、()。99.break語(yǔ)句在C程序中只能出現(xiàn)在兩種場(chǎng)合:一是用于()語(yǔ)句中,二是用于()語(yǔ)句中。244.以下程序段中的語(yǔ)句printf(“***”)要執(zhí)行5次,請(qǐng)?jiān)诳瞻滋幪钊牒线m的數(shù)。for(i=1;i<=();i=i+2)printf(“***”);245.定義intk=10;執(zhí)行語(yǔ)句while(k<20)k+=1;后,k的值為()。246.在循環(huán)控制結(jié)構(gòu)中break語(yǔ)句的作用是()。247.在循環(huán)控制結(jié)構(gòu)中continue語(yǔ)句的作用是:()。248.若已知inta[5][5];并在運(yùn)行過(guò)程中a數(shù)組已經(jīng)賦值;要打印次對(duì)角線元素,在空白處填入合適的值/表達(dá)式;for(i=0;i<5;i++)for(j=();j>=0;j--)printf("%5d",a[i][j]);249.執(zhí)行完語(yǔ)句sum=0;for(i=0;i<10;i++){if(i%5==0)sum+=i;sum=()。250.在使用while語(yǔ)句中需要注意,為了防止“死循環(huán)”的發(fā)生,在循環(huán)體中一定要有()語(yǔ)句。251.do-while語(yǔ)句中,判斷循環(huán)條件在(),執(zhí)行循環(huán)體在()。(填“先”“后”)解答:0009.二.閱讀程序?qū)懡Y(jié)果1.#include<stdio.h>voidmain(){intnumber,digit;number=1234;while(number!=0){digit=number%10;printf("%d",digit);number=number/10;}}252.#include<stdio.h>#defineN5voidmain(){inti;for(i=1;i<N;i++)printf("%d\n",i*i);}253.#include<stdio.h>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);}254.#include<stdio.h>voidmain(){intcounter=1;while(counter<=5){printf("%d\n",counter);counter++;}}255.#include<stdio.h>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<回車(chē)>256.#include<stdio.h>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;}257.#include<stdio.h>intmain(){inti,j;i=1;while(i<5){for(j=1;j<2*i+1;j++)printf("%c",'#');printf("\n");i++;}return0;}258.#include<stdio.h>intmain(){inti=10,m=0,n=0;do{if(i%2!=0)m=m+i;elsen=n+i;i--;}while(i>=0);printf("m=%d,n=%d\n",m,n);return0;}259.#include<stdio.h>voidmain(){intsum=0,n;scanf("%d",&n);while(n<=5){sum+=n;n++;}printf("sum=%d",sum);}輸入:1<回車(chē)>260.#include<stdio.h>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");}}261.#include<stdio.h>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);}262.#include<stdio.h>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<回車(chē)>263.#include<stdio.h>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;}264.#include<stdio.h>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<回車(chē)>265.#include<stdio.h>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;}266.#include<stdio.h>intmain(){inti=0,j=0;while(i<10)i++;while(j++<10);printf("i=%d,j=%d\n",i,j);return0;}267.#include"stdio.h"voidmain(){inti,j,t;for(i=1,j=10;i<3;i++,j--)t=i+j;t++;printf("%d,%d",j,t);}268.#include"stdio.h"voidmain(){inti=10,j;do{j=i%2;printf("%d",j);i--;}while(i>4);}269.#include"stdio.h"voidmain(){inti=7,j;while(i>2){j=i%2;printf("%d",j);i--;}printf("%d",i);}270.#include<stdio.h>voidmain(){inti,j,t=0;for(i=3;i>0;i--)for(j=0;j<4;j++)t+=j;printf("t=%d",t);}解答:110.4321111.14916112.i=6,s=9113.12345114.sum=18115.**********116.####################117.m=25,n=30271.sum=15272.**!*!!!!!273.a=6274.anothernumbernumber275.i=3,s=14276.abcDEF277.4,10278.i=10,j=11279.8,12280.010101281.101012282.t=18三.補(bǔ)充程序118.輸出100以內(nèi)能被3整除的數(shù)#include"stdio.h"intmain(){_____________________________________________;for(_________________________;n<=100;________________________){if(n%3!=0)________________________printf("%d",n);}return0;}119.輸出100以內(nèi)的素?cái)?shù)。素?cái)?shù)是只能被1和本身整除的數(shù)。為減少循環(huán)次數(shù),只需對(duì)數(shù)n用2~去除來(lái)判斷該數(shù)是否素?cái)?shù)。#include"stdio.h"________________________intmain(){intn,i,k;for(n=2;n<=100;________________________){k=sqrt(n);for(i=2;i<=k;________________________)if(n%i==0)________________________if(i>k)printf("\t%2d",n);}return0;}283.輸出200以內(nèi)能被5整除的數(shù)#include"stdio.h"intmain(){________________________for(________________________;n<=200;________________________){if(n%5!=0)________________________printf("%d",n);}return0;}284.求輸入的十個(gè)整數(shù)中正數(shù)的個(gè)數(shù)及其平均值#include<stdio.h>intmain(){inti,num=0,a;floatsum=0;for(i=0;________________________;________________________){scanf("%d",&a);if(a>=0){________________________;________________________;}}printf("%dplusinteger'ssum:%6.0f\n",num,sum);printf("Meanvalue:%6.2f\n",sum/num);return0;}285.求輸入的十個(gè)整數(shù)中負(fù)數(shù)的個(gè)數(shù)及其平均值#include<stdio.h>intmain(){inti,num,a;floatsum=0;________________________;________________________;while(i<10){scanf("%d",&a);if(a<=0){________________________;num++;}________________________;}printf("%dplusinteger'ssum:%6.0f\n",num,sum);printf("Meanvalue:%6.2f\n",sum/num);return0;}286.分解并打印出X的各個(gè)素?cái)?shù)因子.如18=1*2*3*3.#include<stdio.h>intmain(){inti,x;scanf(“%d”,&x);printf(“%d=1”,x);for(________________________;i<=x;________________________){while________________________{printf(“*%d”,i);________________________;}}return0;}287.輸出九九乘法表.#include<stdio.h>intmain(){inti,j;for(i=1;________________________;________________________){for(________________________;________________________;j++)printf("%2d*%2d=%2d",j,i,i*j);printf("\n\n");}return0;}288.有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個(gè)數(shù)列的前20項(xiàng)之和。#include"stdio.h"intmain(){intn,t,number=20;floata=2,b=1,________________________;for(n=1;________________________;________________________){s=s+a/b;t=a;a=a+b;________________________;}printf("sumis%9.6f\n",s);return0;}289.求1+2!+3!+...+20!的和.#include"stdio.h"intmain(){floatn,________________________,t=1;for(n=1;________________________;________________________;){t*=n;_

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論