2023年2023年C語言程序設計的試題及答案_第1頁
2023年2023年C語言程序設計的試題及答案_第2頁
2023年2023年C語言程序設計的試題及答案_第3頁
2023年2023年C語言程序設計的試題及答案_第4頁
2023年2023年C語言程序設計的試題及答案_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

千里之行,始于足下讓知識帶有溫度。第第2頁/共2頁精品文檔推薦C語言程序設計的試題及答案C語言程序設計的試題及答案

大家在考程序員時,C語言程序設計大家有了解嗎?下面瑞文網(wǎng)我為大家共享了C語言程序設計的試題及答案,供大家參考。

第一章基礎學問

一、填空

1.每個C程序都必需有且僅有一個________函數(shù)。

2.C語言程序開發(fā)到執(zhí)行通常要經(jīng)過6個階段即編輯、預處理、________、鏈接、加載和執(zhí)行。

3.軟件是程序,以及______、使用和維護所需要的全部文檔。

4.國標中規(guī)定:"計算機程序是根據(jù)詳細要求產(chǎn)生的適合于計算機處理的_________'。

5.程序設計語言根據(jù)書寫形式,以及思維方式的不同一般分為低級語言和________兩大類。

6.C語言是由________組成的。

7.C語言的函數(shù)可分為主函數(shù)main、標準庫函數(shù)和_________。

8.一個函數(shù)是由兩部分組成的,即:________和函數(shù)體。

9.編譯是將C語言所編寫的源程序________成機器代碼,也稱為建立目標代碼程序的過程。

10.程序是由某種程序設計語言編制出來,體現(xiàn)了編程者的掌握思想和對計算機執(zhí)行操作的要求。不同的任務功能,就會需求不同的軟件程序,如:掌握計算機本身軟硬件協(xié)調(diào)工作,并使其設備充分發(fā)揮效力,便利用戶使用的系統(tǒng)軟件程序,稱為操作系統(tǒng);而為辦公自動化(OA)、管理信息系統(tǒng)(MIS)、人工智能、電子商務、網(wǎng)絡互聯(lián)等等應用而開發(fā)的軟件程序,統(tǒng)稱為_________。

11.機器語言是以__________形式表示的機器基本指令的集合,是計算機系統(tǒng)唯一不需要翻譯可以直接識別和執(zhí)行的程序設計語言。12.與機器語言相比,使用匯編語言來編寫程序可以用_______來表示指令的操作碼和操作對象,也可以用標號和符號來代替地址、常量和變量。

13.在編譯程序之前,凡以____開頭的代碼行都先由預處理程序預處理。

14.C程序的執(zhí)行均是由執(zhí)行_________開頭。15.函數(shù)體即為包含在{}內(nèi)的部分。它分為________和為完勝利能任務由若干個C語句組成的執(zhí)行部分。

16.C語言程序中一條簡潔語句是以________字符作為結(jié)束符的。

17.C語言是結(jié)構化、________的程序設計語言。

18.由于計算機硬件不能直接識別高級語言中的語句,因此,必需經(jīng)過"_______程序',將用高級語言編寫的程序翻譯成計算機硬件所能識別的機器語言程序方可執(zhí)行。

19.用高級語言編寫的程序需翻譯成計算機硬件所能識別的機器語言程序方可執(zhí)行。所以說,用高級語言進行程序設計,其編程效率高,便利易用,但_______沒有低級語言高。

20.第一個系統(tǒng)體現(xiàn)結(jié)構化程序設計思想的教學工具語言是_______語言。

解答:1.main()2.編譯3.開發(fā)4.指令序列5.高級語言6.函數(shù)7.自定義函數(shù)8.函數(shù)首部9.翻譯10.應用軟件11.二進制代碼12.助記符13.#14.main函數(shù)15.聲明部分16.;(或分號)17.模塊化18.翻譯19.執(zhí)行速度

20.PASCAL二.閱讀程序?qū)懡Y(jié)果解答:三.補充程序解答:四.改錯題解答:五.編程一解答:六.編程二解答:其次章常量、變量和表達式一.填空1.以16位計算機為例,若定義longinta;則變量a占______個字節(jié)的內(nèi)存空間。2.以16位計算機為例,若定義doublea;則變量a占______個字節(jié)的內(nèi)存空間。

3.以16位計算機為例,若定義longdouble;則變量a占______個字節(jié)的內(nèi)存空間。4.在______位機,int型占4個字節(jié)。、空類型

5.C語言的數(shù)據(jù)類型有:基本數(shù)據(jù)類型、構造數(shù)據(jù)類型、枚舉類型、______。

6.在C語言中,基本數(shù)據(jù)類型有:______7.整型常量046轉(zhuǎn)換為十進制數(shù)等于______8.整型常量054轉(zhuǎn)換為十進制數(shù)等于______。。

。

9.整型常量0x125轉(zhuǎn)換為十進制數(shù)等于______。10.整型常量0x7C轉(zhuǎn)換為十進制數(shù)等于11.整型常量39轉(zhuǎn)換為八進制等于______。______。______。

12.實數(shù)473.468寫成規(guī)范化指數(shù)形式,則應為

13.實數(shù)0.0453寫成規(guī)范化指數(shù)形式,則應為______。

14.將0x123轉(zhuǎn)換為二進制等于

______。

15.字符A表示成十六進制等于______。16.在C語言中,稱代表常量的標識符為______。17.C語言中是用編譯預處理命令______來定義符號常量,

18.在C語言中,以反斜杠符(\)開頭,后跟字符的字符序列,稱之為______主要用來表示掌握及不行見的字符或者一些圖形符號19.語句printf(\106)執(zhí)行的結(jié)果輸出是______。20.語句printf("b')執(zhí)行的結(jié)果輸出是______。21.語句printf("\\b')執(zhí)行的結(jié)果輸出是______。22.語句printf(\102)執(zhí)行的結(jié)果輸出是______。23.若有charch1;ch1=a+4;則語句printf(%c,x)的輸出結(jié)果為______。24.字符串常量"Hello,everyone!'占據(jù)的內(nèi)存空間為______25.字符串常量"Hello,Bob!'占據(jù)的內(nèi)存空間為______26.十進制整型常量由0~9個數(shù)據(jù)組成,但不能以______27.十六進制常量由0~9和______28.unsignedlong類型常量通常以______29.實型常量通常有小數(shù)形式和______30.C語言中是用編譯預處理命令______組成為后綴兩種表達方式來包含其他源文件個字節(jié)個字節(jié)開頭,沒有小數(shù)部分

31.為了表示字符串的結(jié)束,系統(tǒng)自動在字符串的最終加一個______,但不被輸出

32.C語言中,其值可被轉(zhuǎn)變的量稱為變量,它具有三個基本要素:變量名、______和變量值33.C語言規(guī)定,變量的標識符只能由字母、數(shù)字和下劃線組成,且不能以______頭。開

34.在16位機中,sizeof("hello\n')等于______。35.在16位機中,printf("\"hello\'')等于______。36.字符變量在內(nèi)存中占用______個字節(jié)的存儲空間。______。______。

37.若有定義intx=27,y=6;則表達式x/y的值為38.若有定義intx=47,y=8;則表達式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.表達式(int)(13.7+25.6)/4%5的值是______。43.表達式3.6-5/2+1.2+5%3的值是______。44.表達式54%10/2+4.0*(8/5)的值是______。45.若定義intx;doubleb=5.45;執(zhí)行x=b后,則x的值為______。46.若定義inty;charc=A;執(zhí)行y=c后,則y的值為47.若定義inta=8;floatb=2.5;則a/(int)(b)的值為48.若a=5,則執(zhí)行a*=7-3語句后,a的值是______。______。______。

49.若inta=1,b=0,c=4,d=2;則表達式(ab?a:b)(c-d)的值為______。50.已知a=0,表達式a=1?b=1:b=0;執(zhí)行后,b的值是51.若定義intm=7,n=12;則表達式n%=m-m%5的值是______。

______。

52.若定義inta=8;floatb=4.5;執(zhí)行a*=a/=a-b后,a的值為______。53.inta=2;!a++的值為______。______。

54.inta=0;!a++++a的值為

55.inta=7;floatb=4.5;則printf("%d',a*=a/=a-b)的值為______。56.intk=7;floata=2.5,b=4.7;則表達式a+k%3*(int)(a+b)%2/4的值為______。57.#defineMax(a,b)(((a)-(b))0x80000000)?(a):(b),inta=2,b=6;printf("%d\n',Max(a,b))的值為______。58.在32位機中,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=i1)的值為:______解答:1.025.指針類型6.int、float、double、char7.388.449.29310.12411.04712.4.734680e+00213.4.530000e-00214.100100011

15.\x41/41H16.符號常量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.1

37.438.739.ch1=C,ch2=A40.ch2=A,ch3=C41.i=3,j=542.443.4.80000044.7.00000045.546.6547.448.2052.453.054.055.456.2.50000057.258.fffffffd

59.3,160.0

二.閱讀程序?qū)懡Y(jié)果解答:

三.補充程序解答:

四.改錯題解答:

五.編程一解答:

六.編程二解答:

第三章挨次結(jié)構

一、填空

1.C語言的語句可分為5類,它們是:掌握語句、____________、函數(shù)語句、符合語句和空語句。

2.常用于字符輸入的函數(shù)為:________________。

3.常用于字符輸出的函數(shù)為:________________。

4.常用于字符串輸入的函數(shù)為:________________。

5.常用于字符串輸出的函數(shù)為:________________。6.格式輸入函數(shù)的一般形式為:________________。7.格式輸出函數(shù)的一般形式為:________________。8.printf和scanf是標準的庫函數(shù),它們的函數(shù)原型在頭文件________________中。9.有charch,則從鍵盤給ch賦值的格式輸入語句為:________________。10.假如要輸出字符串常量"HelloWord!',則格式輸出語句為:________________。11.設有定義:longx=-123456L;,請寫出能夠正確輸出變量x值的語句________________。12.若有inta,b;,想通過scanf(%d%d,a,b);輸入語句給a賦于1,給b賦于2,則從鍵盤

輸入數(shù)據(jù)的形式是________________。13.若有inti,j;scanf(i=%d,j=%d;i,j);,要求給i賦10,給j賦20,則應當從鍵盤輸入_______。14.已知i、j、k為int型變量,若從鍵盤輸入:1,2,3回車,使i的值為1、j的值為2、k的值為3,請寫出正確的輸入語句________________。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;%f\n,a,b,c);scanf(%2d%3f%4f,a,b,c);printf(\na=%d,b=%f,c=

,若運行時從鍵盤上輸入9876543210回車,則程序的輸出結(jié)果是_____________________。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.有定義和語句: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é)果是_____________________。20.若有定義和語句: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類型,要通過語句scanf("%f%f%f',a,b,c);給a賦于10.0,b給予22.0,c給予33.0,不正確的輸入形式是_____________________。A)10回車22回車33回車B)10.0,22.0,33.0回車C)10.0回車22.033.0回車D)1022回車33回車

24.若有intx=3,y=1;則printf(%d%d\n,x++,y+2);的輸出結(jié)果是_____________________。25.若有定義和語句:doubled;floatf;longl;inti;i=f=l=d=20/3;則printf(%d%ld%f%f\n,i,l,f,d);的輸出結(jié)果是(小數(shù)點后只寫一位)_____________________。26.以下說法中正確的是_____________________。A)#define和printf都是C語句B)#define是C語句,而printf不是C)printf是C語句,但#define不是D)#define和printf都不是C語句27.若有intk=17;,則printf(%d,%o,%x\n,k,k,k);的輸出結(jié)果是_____________________。28.以下敘述中正確的是_____________________。A)輸入項可以是一個實型常量,如:scanf(%f,3.5);B)只有格式掌握,沒有輸入項,也能正確輸入數(shù)據(jù)到內(nèi)存,例如:scakf(a=%d,b=%d);C)當輸入數(shù)據(jù)時,必需指明變量地址,例如:scanf(%f,f);29.若有定義和語句:intu=010,v=0x10,w=10;則printf(%d,%d,%d\n,u,v,w);輸出結(jié)果是_____________________。30.若有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é)果是_____________________。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.有以下語句段intn1=10,n2=20;printf("________________',n1,n2);要求按以下格式輸出n1和n2的值,每個輸出行從第一列開頭,請?zhí)羁?。n1=10n2=2036.若有語句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.語句printf(\10289\n);的數(shù)據(jù)結(jié)果為:__________________。解答:1.表達式語句2.getchar()3.putchar()4.gets()5.puts()6.scanf("格式掌握字符串',地址表列);7.printf("格式掌握字符串',輸出表列);8.stdio.h9.scanf("%c',ch);10.printf("%s',HelloWord!);或者:printf("HelloWord!');11.printf("x=%1d\n',x);12.12或者1213.i=10,j=2014.scanf("%d,%d,%d',i,j,k);15.m=123n=456p=789

16.a=98,b=765.000000,c=4321.00000017.25640018.102,1019.1651.56.520.021.32,1a22.123423.B24.3325.666.06.026.D27.17,21,1128.C29.8,16,1030.13.70000031.a=%d,b=%d32.220.00000033.1030034.25213735.n1=%d\nn2=%d36.-337.16

38.2,139.040.B89二.閱讀程序?qū)懡Y(jié)果解答:三.補充程序解答:四.改錯題解答:五.編程一解答:六.編程二解答:第四章選擇結(jié)構一.填空1.在if,while,case,do,else等關鍵字中,用于選擇結(jié)構的有().2.已知a=1;那么if(a=2)printf(%d,2);elseprintf(%d,1);的輸出結(jié)果是().3.已知chara=A;那么if(a65)printf(%s,bigger);elseprintf(%s,smaller);的輸出結(jié)果是().4.表示"xyz'的C語言表達式是(5.在C語言中,用于實現(xiàn)選擇結(jié)構的語句有(。6.推斷兩個浮點型變量x和y是否相等一般用:if(7.設有程序段:t=6;a=7;b=8;if(a=b)t=a;,這段程序執(zhí)行后,t的結(jié)果是(。8.設a=1,b=2,c=3,d=4,則表達式:ab?a:cd?a:d的結(jié)果為(9.表達式98831(98-a)的值為(10.若inta=3;則表達式(a2)!(D69)的值為()。)。)。)語句和()。)語句

1e-6)?。)

解答:..9.10.二.閱讀程序?qū)懡Y(jié)果1.#includevoidmain(){intx,y,t;x=7;y=9;if(x

2.#includevoidmain(){intx=1,a=2,b=3;switch(x){case1:case2:case3:a--;break;b++;break;a++;b++;

}printf(\na=%d,b=%d\n,a,b);}

3.#includevoidmain(){charch1=E;if(ch1=A)ch1++;elsech1+=32;printf(ch1=%c\n,ch1);}

4.#includevoidmain(){intx,y,t;x=5;y=3;

if(xy){t=x;x=y;y=t;}printf(%d,%d\n,x,y);}

5.#includeintmain(){inta,b,c,m;printf(Enterthreeintegers:);scanf(%d%d%d,a,b,c);if(a=b)m=a;elsem=b;if(c

6.#includeintmain(){charch1=a,ch2=B,ch3=E;if(ch1ch2)if(ch2ch3)else--ch3;printf(ch3=%c\n,ch3);return0;}

ch3++;

7.#includeintmain(){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回車8.#includeintmain(){charch1=A,ch2=B;switch(ch1){caseA:switch(ch2){

caseB:printf(Good!\n);break;caseA:printf(Better!\n);break;}caseB:printf(Best!\n);break;}return0;}

9.

#includevoidmain(){floatscore;score=100;if(score60)elseswitch((int)score/10){case10:case9:printf(A\n);case8:printf(B\n);case7:printf(C\n);case6:printf(D\n);break;break;

printf(E\n);

default:printf(Error\n);}}

10.#includevoidmain(){inti=0,a=2;if(i==0)printf("**');else

printf("$$');printf("*');}

11.#includevoidmain(){intm=10,n=0,p=4,q=20;if(n)q=15-m;elseq=25+m;elseif(p)q=q+p;printf("q=%d\n',q);}if(m)

12.#includevoidmain(){inta=1,b=0;switch(a){case1:switch(b){case0:printf(**0**);break;case1:printf(**1**);break;}case2:printf(**2**);break;}

}13.#includeintmain(){inta=2,b=7,c=5;switch(a0){case1:switch(b0){case1:printf(@);break;case2:printf(!);break;}case0:switch(c==5){case1:printf(*);break;default:printf(#);break;}default:printf();}printf(\n);return0;}

14.#includeintmain(){inta=0,b=1,c=0,d=20;if(!c)d=15;

if(a)d=d-10;elsed=25;

elseif(!b)printf(d=%d\n,d);

return0;}15.#includeintmain(){inta=1;switch(a){case0:printf(**0**);break;case1:printf(**1**);break;case2:printf(**2**);break;}return0;}16.#includeintmain(){intx,y;scanf(%d,x);y=x12?x+10:x-12;return0;}輸入:12回車17.#includeintmain(){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回車18.#includestdio.hvoidmain(){inta=7;if(a9||a10)a=a%3;printf(a=%d,a);}

printf(%d\n,y);

a=a/3;

else

19.#includevoidmain(){inta=20;switch(a%3)case0:printf(0);case1:printf(1);case2:printf(2);default:printf(3);}printf(4);}20.#includevoidmain(){inta=2,b=5,c=8,t;if(ab){t=a;a=b;b=t;}if(bc){t=b;b=c;c=t;}if(ab){t=a;a=b;b=t;}printf(%d,%d\n,a++,--c);}解答:1.運行結(jié)果:9,72.a=1,b=33.ch1=F4.3,55.m=216.ch3=D7.y=31.6000008.Good!Best!9.AB

{

C10.***11.q=3512.**0****2**13.*14.d=2015.**1**16.017.0.618.a=219.23420.8,1三.補充程序1.依據(jù)輸入字符的ASCII碼來判別字符的類別。由ASCII碼表可知ASCII值小于32的為掌握字符。在"0'和"9'之間的為數(shù)字,在"A'和"Z'之間為大寫字母,在"a'和"z'之間為小寫字母,其余則為其它字符。#includestdio.h#includestring.hintmain(){charc;printf(inputacharacter:);_____________________________________________if(c32)printf(Thisisacontrolcharacter\n);_____________________________________________printf(Thisisadigit\n);elseif_______________________________________printf(Thisisacapitalletter\n);elseif(c=ac=z)

printf(Thisisasmallletter\n);____________________________________________printf(Thisisanothercharacter\n);return0;}

2.計算器程序。用戶輸入運算數(shù)和四則運算符,輸出計算結(jié)果.#includestdio.hintmain(){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.輸入三個整數(shù),輸出最大數(shù)和最小數(shù)(注:max總是記錄最大數(shù),而min總是記錄最小數(shù)).#includestdio.hintmain(){inta,b,c,max,min;printf(inputthreenumbers:);scanf(%d%d%d,a,b,c);if(ab){______________________________________________________________________________}else{max=b;min=a;}____________________________________________max=c;if(minc)

_____________________________________printf(max=%d\nmin=%d,max,min);return0;}4.#includestdio.hintmain(){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.推斷ab、aB\n);_____________________________________________printf(A

#includestdio.hintmain(){intx,c,m;floaty;scanf("%d',x);_________________________________________c=-1;c=_____________________________________________;switch(c){case1:y=0;break;case0:y=x;break;case1:y=10;break;case2:case3:y=-0.5*x+20;_____________________________________________;

else

default:y=-2;}if(c!=2)printf("y=%f',y);_____________________________________________printf("error!');return0;}7.找出x,y,z三個數(shù)中的最小數(shù),并推斷該數(shù)是否等于b。#includestdio.hintmain(){intx=4,y=5,z=8,b;intu,v;scanf(%d,b);u=x

8.輸入兩個運算數(shù)x,y和一個運算符號op,輸出該運算結(jié)果的值,例如輸入3+5↙得到結(jié)果8.#includestdio.hintmain(){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'之間為小寫字母,其余則為其它字符。#includestdio.hintmain(){charc;printf(inputacharacter:);c=getchar();_____________________________________________printf(Thisisacontrolcharacter\n);if(c=0c=9)printf(Thisisadigit\n);_____________________________________________printf(Thisisacapitalletter\n);_____________________________________________printf(Thisisasmallletter\n);_____________________________________________printf(Thisisanothercharacter\n);return0;}10.找出a,b,c三個數(shù)中的最大數(shù),并推斷該數(shù)是否等于x。#includestdio.hintmain(){inta=8,b=4,c=12,x;intu,v;scanf("%d',x);u=a

解答:1.c=getchar();(c=0c=9)(c=Ac=Z)else2.charc;break;-:printf(%f\n,a/b);3.max=a;min=b;if(maxb)elseif(a

c=x/10;break;else7.x:y;u:z;(v==b)else8.break;case-:r=x*y;case/:9.if(c32)elseif(c=Ac=Z)elseif(c=ac=z)else

10.b:ac:u(v==x)else四.改錯題解答:五.編程一1.求分段函數(shù)

的值,輸入x值,輸出結(jié)果。2.從鍵盤上輸入一個數(shù)x,計算并輸出下列分段函數(shù)y的值。

3.某運輸公司運費計算時依據(jù)運輸距離打折計算,折扣的計算方法如下:

(其中,discount表示折扣,S表示運輸距離)。編寫一完整程序,輸入運輸距離,統(tǒng)計運費并輸出。每公里的運費通過符號常量定義為2.5。4.編程輸入一元二次方程的三個系數(shù),求解一元二次方程的實根,無實根時不用求虛根,給出相應提示信息即可。5.給定三條邊,推斷其是否能構成三角形,若能構成,推斷其是等腰三角形、等邊三角形、直角三角形還是一般三角形。6.從鍵盤輸入一個三角形的三條邊,推斷是否能組成三角形,若能組成三角形,則輸出它的面積。

7.從鍵盤輸入一個百分制的同學成果,輸出其對應的分數(shù)等級,其中90~100為A,80~89為B,70~79為C,60~69為D,60以下為E。8.編寫一個程序,從鍵盤輸入三個整數(shù)給a,b,c,然后交換它們中的數(shù),把a中原來的值給b,把b中原來的值給c,把c中原來的值給a。9.輸入一個字符,推斷其是否為英文字母,若是英文字母,則將其大小寫進行轉(zhuǎn)換,若不是英文字母,則不變。10.給定三個整數(shù)型x,y,z,輸出三個數(shù)中的最大值和最小值。解答:1.#includestdio.h#includemath.hvoidmain(){floatx,y;printf(inputx\n);scanf(%f,x);if(x0)y=1;elseif(x=5)y=2*x;elsey=sqrt(x);printf(x=%5.1fy=%8.3f\n,x,y);}2.#includestdio.h#includemath.hvoidmain(){floatx,y;printf(inputx\n);scanf(%f,x);if(x20||x1x10){printf(無定義\n);return;}if(x0)y=-x;elseif(x=1)y=sin(x)+x;elseif(x=10x=20)y=x*x*x;printf(x=%5.1fy=%8.3f\n,x,y);}3.#includestdio.h

#includemath.h#defineprice2.5voidmain(){floatdiscount,cost,s;printf(inputdistance\n);scanf(%f,s);if(s250)discount=0;elseif(s800)else

discount=0.02;elseif(s1500)

discount=0.05;

discount=0.08;cost=s*(1-discount)*price;printf(distance=%5.1f;cost=%5.1f\n,s,cost);}4./*功能:求一元二次方程的解。*/#includemath.h#includestdio.hmain(){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));/*輸出兩個相等的實根*/elseif(disc0){x1=(-b+sqrt(disc))/(2*a);/*求出兩個不相等的實根*/x2=(-b-sqrt(disc))/(2*a);printf(x1=%7.2f,x2=%7.2f\n,x1,x2);}elseprintf(無實根\n);}5.#includestdio.hvoidmain(){floata,b,c;printf(輸入三條邊:\n);scanf(%f%f%f,a,b,c);if(a+bca+cbb+ca){if(a==bb==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(不能構成三角形\n);}6.#includestdio.h#includemath.hvoidmain(){floata,b,c,s,area;printf(輸入三條邊:\n);scanf(%f%f%f,a,b,c);if(a+bca+cbb+ca){s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(area=%7.2f\n,area);}elseprintf(不能構成三角形\n);}7.#includevoidmain(){intscore;chard;printf(Inputscore\n);scanf(%d,score);if(score100||score0){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.#includevoidmain(){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.#includevoidmain(){charc1,c2;printf(Inputac1=getchar();if(c1=ac1=z)c2=c1+A-a;elseif(c1=Ac1=Z)c2=c1+a-A;elsec2=c1;}10.#includevoidmain(){inta,b,c,max,min;printf(Inputa,b,c\n);scanf(%d%d%d,a,b,c);max=a;min=a;if(bmax)max=b;elseif(bmax)max=c;elseif(c

letter:);

printf(原字符:%c轉(zhuǎn)換后為:%c\n,c1,c2);

)、do-while語句、(

)。

2.break語句在C程序中只能消失在兩種場合:一是用于()語句中。

)語句中,二是用于(

3.以下程序段中的語句printf("***')要執(zhí)行5次,請在空白處填入合適的數(shù)。for(i=1;i=();i=i+2)printf("***');4.定義intk=10;執(zhí)行語句while(k20)k+=1;后,k的值為(5.在循環(huán)掌握結(jié)構中break語句的作用是(6.在循環(huán)掌握結(jié)構中continue語句的作用是:()。)。)。

7.若已知inta[5][5];并在運行過程中a數(shù)組已經(jīng)賦值;要打印次對角線元素,在空白處填入合適的值/表達式;for(i=0;i5;i++)for(j=();j=0;j--)printf(%5d,a[i][j]);8.執(zhí)行完語句sum=0;for(i=0;i10;i++){if(i%5==0)sum+=i;sum=()。9.在使用while語句中需要留意,為了防止"死循環(huán)'的發(fā)生,在循環(huán)體中肯定要有()語句。10.do-while語句中,推斷循環(huán)條件在(')),執(zhí)行循環(huán)體在()。(填"先'"后

解答:..9.10.二.閱讀程序?qū)懡Y(jié)果1.#includevoidmain(){intnumber,digit;number=1234;while(number!=0){digit=number%10;

printf(%d,digit);number=number/10;}}2.#include#defineN5voidmain(){inti;for(i=1;ivoidmain(){inti,s,x;s=0;x=15;if(x%i==0)printf(i=%d,s=%d\n,i,s);}

for(i=1;i=5;i++)s=s+i;

4.#includevoidmain(){intcounter=1;while(counter=5)printf(%d\n,counter);counter++;}}5.#includeintmain(){inti,sum,m,a;sum=0;m=5;for(i=0;i=3;i++){scanf(%d,a);if(am)sum+=a;}printf(sum=%d\n,sum);return0;}

{

輸入:21083回車

6.#includeintmain(){inti,j,k;for(i=1;i=4;i++){for(j=1;j5-i;j++)printf();for(k=1;k=i;k++)printf(*);printf(\n);}return0;}7.#includeintmain(){inti,j;i=1;while(i5){for(j=1;j2*i+1;j++)printf(%c,#);printf(\n);i++;}return0;}8.#includeintmain(){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;}

9.#includevoidmain(){intsum=0,n;scanf(%d,n);while(n=5){sum+=n;n++;}printf(sum=%d,sum);}輸入:1回車10.#includevoidmain(){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.#includevoidmain(){inta,b;for(a=1,b=1;a=100;a++){if(b20)break;if(b%4==1)b=b+4;}b=b-5;}printf(a=%d\n,a);}12.#includevoidmain()

{continue;

{chark;inti;for(i=1;i3;i++){scanf(%c,k);switch(k){case0:printf(another\n);case1:printf(number\n);}}}輸入:01回車13.#includeintmain(){inti,s=0;for(i=1;i10;i++){s+=i*i;if(s10)break;}printf(i=%d,s=%d\n,i,s);return0;}14.#includevoidmain(){charch;while((ch=getchar())!=\n){if(ch=Ach=Z)ch=ch+32;ch=ch-32;}}輸入:ABCdef回車

elseif(ch=ach=z)printf(%c,ch);

15.#includeintmain(){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.#includeintmain(){inti=0,j=0;while(i10)i++;while(j++10);printf(i=%d,j=%d\n,i,j);return0;}17.#includestdio.hvoidmain(){inti,j,t;for(i=1,j=10;i3;i++,j--)t=i+j;t++;printf(%d,%d,j,t);}18.#includestdio.hvoidmain(){inti=10,j;do{j=i%2;i--;}while(i4);}19.#includestdio.hvoidmain(){inti=7,j;while(i2)

printf(%d,j);

{

j=i%2;i--;}printf(%d,i);}

printf(%d,j);

20.#includevoidmain(){inti,j,t=0;for(i=3;i0;i--)for(j=0;j4;j++)t+=j;printf(t=%d,t);}解答:1.43212.149163.i=6,s=94.123455.sum=186.**********

7.####################

8.m=25,n=309.sum=1510.**!*!!!!!11.a=612.anothernumbernumber13.i=3,s=1414.abcDEF15.4,1016.i=10,j=1117.8,1218.01010119.10101220.t=18三.補充程序1.輸出100以內(nèi)能被3整除的數(shù)#includestdio.hintmain(){_____________________________________________;for(_________________________;n=100;________________________){if(n%3!=0)________________________printf(%d,n);}return0;}2.輸出100以內(nèi)的素數(shù)。素數(shù)是只能被1和本身整除的數(shù)。為削減循環(huán)次數(shù),只需對數(shù)n

用2~去除來推斷該數(shù)是否素數(shù)。#includestdio.h________________________intmain(){intn,i,k;for(n=2;n=100;________________________){k=sqrt(n);for(i=2;i=k;________________________)if(n%i==0)________________________if(ik)printf(\t%2d,n);}return0;}3.輸出200以內(nèi)能被5整除的數(shù)#includestdio.hintmain(){________________________for(________________________;n=200;________________________){if(n%5!=0)________________________printf(%d,n);}return0;}4.求輸入的十個整數(shù)中正數(shù)的個數(shù)及其平均值#includeintmain(){inti,num=0,a;floatsum=0;for(i=0;________________________;________________________){scanf(%d,a);if(a=0){________________________;________________________;}}printf(%dplusintegerssum:%6.0f\n,num,sum);printf(Meanvalue:%6.2f\n,sum/num);return0;}

5.求輸入的十個整數(shù)中負數(shù)的個數(shù)及其平均值#includeintmain(){inti,num,a;floatsum=0;________________________;________________________;while(i10){scanf(%d,a);if(a=0){________________________;num++;}________________________;}printf(%dplusintegerssum:%6.0f\n,num,sum);printf(Meanvalue:%6.2f\n,sum/num);return0;}6.分解并打印出X的各個素數(shù)因子.如18=1*2*3*3.#includeintmain(){inti,x;scanf("%d',x);printf("%d=1',x);for(________________________;i=x;________________________){while________________________{printf("*%d',i);________________________;}}return0;}7.輸出九九乘法表.#includeintmain(){inti,j;for(i=1;________________________;________________________){for(________________________;________________________;j++)printf(%2d*%2d=%2d,j,i,i*j);

printf(\n\n);}return0;}8.有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數(shù)列的前20項之和。#includestdio.hintmain(){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;}9.求1+2!+3!+...+20!的和.#includestdio.hintmain(){floatn,________________________,t=1;________________________;________________________;){t*=n;________________________;}printf(1+2!+3!...+20!=%e\n,s);return0;}

for(n=1;

10.有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數(shù)列的前20項之和。#includestdio.hintmain(){intn,t,number=20;floata=2,________________________,s=0;for(________________________;________________________;n++){s=s+a/b;t=a;________________________;b=t;}

printf(sumis%9.6f\n,s);return0;}解答:1.intn;n=1;n++continue;2.#includemath.hn++i++break;3.intn;n=1n++continue;4.i10i++num++sum+=a5.i=0;num=0;sum+=a;i++;

6.i=1i++(x%i==0)x=x/i;7.i

溫馨提示

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

評論

0/150

提交評論