




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章基礎(chǔ)知識
一.填空
I.每個(gè)c程序都必須有且僅有一個(gè)
main()_函數(shù)。
2.C語言程序開發(fā)到執(zhí)行通常要經(jīng)過6個(gè)階
段即編輯、預(yù)處理、—編譯、鏈
接、加載和執(zhí)行。
3.軟件是程序,以及—開發(fā)—、使用和維
護(hù)所需要的所有文檔。
4.國標(biāo)中規(guī)定:“計(jì)算機(jī)程序是按照具體要
求產(chǎn)生的適合于計(jì)算機(jī)處理的—指令序
列:
5.程序設(shè)計(jì)語言按照書寫形式,以及思維方
式的不同一般分為低級語言和—高級語言
—兩大類。
6.C語言是由—函數(shù)組成的。
7.C語言的函數(shù)可分為主函數(shù)main、標(biāo)準(zhǔn)庫
函數(shù)和—自定義函數(shù)o
8.一個(gè)函數(shù)是由兩部分組成的,即:—函
數(shù)首部和函數(shù)體。
9.編譯是將C語言所編寫的源程序編譯
成機(jī)器代碼,也稱為建立目標(biāo)代碼程
序的過程。
10.程序是由某種程序設(shè)計(jì)語言編制出來,
體現(xiàn)了編程者的控制思想和對計(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)稱為應(yīng)用軟件
11.機(jī)器語言是以—二進(jìn)制代碼形
式表示的機(jī)器基本指令的集合,是計(jì)算機(jī)系
統(tǒng)唯一不需要翻
譯可以直接識別和執(zhí)行的程序設(shè)計(jì)語言。
12.與機(jī)器語言相比,使用匯編語言來編寫
程序可以用—助記符—來表示指令的操
作碼和操作對象,也可以用標(biāo)號和符號來代
替地址、常量和變量。
13.在編譯程序之前,凡以也開頭的代碼
行都先由預(yù)處理程序預(yù)處理。
14.C程序的執(zhí)行均是由執(zhí)行_main函數(shù)
_______開始
15.函數(shù)體即為包含在{}內(nèi)的部分。它分
為一聲明部分和為完成功能任務(wù)由若
干個(gè)C語句
組成的執(zhí)行部分。
16.C語言程序中一條簡單語句是以—;―
字符作為結(jié)束符的。
17.C語言是結(jié)構(gòu)化、—模塊化的程序
設(shè)計(jì)語言。
18.由于計(jì)算機(jī)硬件不能直接識別高級語言
中的語句,因此,必須經(jīng)過"—翻譯
程序”,
將用高級語言編寫的程序翻譯成計(jì)算機(jī)硬
件所能識別的機(jī)器語言程序方可執(zhí)行。
19.用高級語言編寫的程序需翻譯成計(jì)算機(jī)
硬件所能識別的機(jī)器語言程序方可執(zhí)行。所
以說,用高級語言進(jìn)行程序設(shè)計(jì),其編程效
率高,方便易用,但—執(zhí)行速度
—沒有低級語言高。
20.
第一個(gè)系統(tǒng)體現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)思想
的教學(xué)工具語言是PASCAL語言
二.閱讀程序?qū)懡Y(jié)果
解答:
三.補(bǔ)充程序
解答:
四.改錯(cuò)題
解答:
五.編程一
解答:
六.編程二
解答:
第二章常量、變量和表達(dá)式
一.填空
1.以16位計(jì)算機(jī)為例,若定義longinta;則
變量a占—0—個(gè)字節(jié)的內(nèi)存空間。
2.以16位計(jì)算機(jī)為例,若定義doublea;則
變量a占—4—個(gè)字節(jié)的內(nèi)存空間。
3.以16位計(jì)算機(jī)為例,若定義longdouble;
則變量a占10個(gè)字節(jié)的內(nèi)存空間。
4.在32_位機(jī),int型占4個(gè)字節(jié)。
5.C語言的數(shù)據(jù)類型有:基本數(shù)據(jù)類型、構(gòu)
造數(shù)據(jù)類型、枚舉類型、—指針類型
—、空類型
6.在C語言中,基本數(shù)據(jù)類型有:—int、
float、double、char。
7.整型常量046轉(zhuǎn)換為十進(jìn)制數(shù)等于
_38____o
8.整型常量054轉(zhuǎn)換為十進(jìn)制數(shù)等于_44
9.整型常量0x125轉(zhuǎn)換為十進(jìn)制或等于
_293
10.整型常量0x7C轉(zhuǎn)換為十進(jìn)制數(shù)等于
124o
11.整型常量39轉(zhuǎn)換為八進(jìn)制等于
047o
12.實(shí)數(shù)473.468寫成規(guī)范化指數(shù)形式,則
應(yīng)為4.734680e+002_o
13.實(shí)數(shù)0.0453寫成規(guī)范化指數(shù)形式,則應(yīng)
為.4.530000e-002。
14.將0x123轉(zhuǎn)換為二進(jìn)制等于
_100100011___o
15.字符'A'表示成十六進(jìn)制等于
\X43A1H—o
16.在C語言中,稱代表常量的標(biāo)識符為
—符號常量—O
17.C語言中是用編譯預(yù)處理命令#
define,來定義符號常量
18.在C語言中,以反斜杠符(\)開頭,后
跟字符的字符序列,稱之為—轉(zhuǎn)義字符常
量—,主要來表示控制及不可見
的字符或者一些圖形符號
19.語句printf(“\106”)執(zhí)行的結(jié)果輸出是
20.語句printf(“b”)執(zhí)行的結(jié)果輸出是
b_o
21.語句printf("\\b")執(zhí)行的結(jié)果輸出是
\bo
22.語句printf(“\102”)執(zhí)行的結(jié)果輸出是
23.若有charchi;chl='a'+4;則語句
printf(“%c”,x)的輸出結(jié)果為_e。
24.字符串常量"Hello,everyone!??占據(jù)的
內(nèi)存空間為_16—個(gè)字節(jié)
25.字符串常量"Hello,Bob!”占據(jù)的內(nèi)存空
間為—11-個(gè)字節(jié)
26.十進(jìn)制整型常量由0~9個(gè)數(shù)據(jù)組成,但
不能以—0_開始,沒有小數(shù)部分
27.十六進(jìn)制常量由0~9和—A~F—
組
28.unsignedlong類型常量通常以U_
為后綴
29.實(shí)型常量通常有小數(shù)形式和—指數(shù)形
式_兩種表達(dá)方
30.C語言中是用編譯預(yù)處理命令
“\0〃來包含其他源文件
31.為了表示字符串的結(jié)束,系統(tǒng)自動(dòng)在字
符串的最后加一個(gè),但不被輸
出
32.C語言中,其值可被改變的量稱為變量,
它具有三個(gè)基本要素:變量名、變量類型
和變量值
33.C語言規(guī)定,變量的標(biāo)識符只能由字母、
數(shù)字和下劃線組成,且不能以―數(shù)字―
開
頭。
34.在16位機(jī)中,sizeof("hello'n")等于
_7____o
35.在16位機(jī)中,printf(“\"hello、”")等
于_"hello"o
36.字符變量在內(nèi)存中占用—1—個(gè)
字節(jié)的存儲(chǔ)空間。
37.若有定義intx二27,y=6;則表達(dá)式x/y的
值為_4o
38.若有定義intx=47,y=8;則表達(dá)式x%y
的值為
7o
39.若有定義charchl="A',ch2,ch3;執(zhí)行
ch2=chl++;ch3=++chl;printf("chl=%c,
ch2=%
c",chl,ch2);則輸出為chl=C,ch2=A
40.若有定義charchl="A',ch2,ch3;執(zhí)行
ch2=chl++;ch3=++chl;printf("ch2=%c,
ch3=%
c",ch2,ch3);則輸出為ch2=A,ch3=C
41.若有定義inti=5,j,k;執(zhí)行j=i--;k=-i;
printf("i=%d,j=%d\n",i,j);則輸
出為i=3,j=5o
42.表達(dá)式(int)(13.7+25.6)A%5的值是
_4o
43.表達(dá)式3.6-5/2+L2+5%3的值是—.
4.800000o
44.表達(dá)式54%10/2+4.0*(的)的值是
_7.000000____o
45.若定義intx;doubleb=5.45;執(zhí)行x=b
后,則的值為
x5_o
46.若定義inty;charc='A1;執(zhí)行y=c后,則
y的值為―65—o
47.若定義inta=8;floatb=2.5;則a/(int)(b)
的值為_4o
48.若a=5,則執(zhí)行a*=7-3語句后,a的值
是_20o
49.若inta=l,b=0,c=4,d=2;貝U表達(dá)式(a>b?
的值為
a:b)&&(c-d)l_o
50.已知a二0,表達(dá)式a=1?b=1:b=0;
執(zhí)行后,b的值是_1—O
51.若定義intm=7,n=12;則表達(dá)式
n%=m-m%5的值是_2。
52.若定義inta=8;floatb=4.5;執(zhí)行
a*二a/=a-b后,a的值為4。
的值為
53.inta=2;!a++0_o
54.inta=0;!a++&++a的值為0。
55.inta=7;floatb=4.5;則
printf("%d”,a*二a/=a-b)的值為_4。
56.intk=7;floata=2.5,b=4.7;則表達(dá)式
a+k%3*(int)(a+b)%羽的值為
_2.500000___o
57.#defineMax(a,b)
(((a)-(b))&0x80000000)?(a):(b),int
a=2,b=6;printf("%d\n〃,M
ax(a,b))的值為_2。
58.在32位機(jī)中,inta=4,b=7;
printf(“%0x”,a-b)的值為:_fffffffd0
59.intx,y,z;
x=y=2;z=3;y=x++-l;printf("%d,%cT,x,y)的值
為:_3,1o
60.inti=2,j;printf("%d",j=i<l)的值為:
_0_
解答:
二.閱讀程序?qū)懡Y(jié)果
解答:
三.補(bǔ)充程序
解答:
四.改錯(cuò)題
解答:
五.編程一
解答:
六.編程二
解答:
第三章順序結(jié)構(gòu)
一.填空
1.C語言的語句可分為5類,它們是:控制
語句、—表達(dá)式語句、函數(shù)語句、
符合語句和空
語句。
2.常用于字符輸入的函數(shù)為:getchar()0
3.常用于字符輸出的函數(shù)為:.
putchar()。
4.常用于字符串輸入的函數(shù)為:
gets()o
5.常用于字符串輸出的函數(shù)為:
puts()o
6.格式輸入函數(shù)的一般形式為:
scanf(“格式控制字符串”,地址表列);
7.格式輸出函數(shù)的一般形式為:
printf(“格式控制字符串”,輸出表列);
8.printf和scanf是標(biāo)準(zhǔn)的庫函數(shù),它們的函
數(shù)原型在頭文件stdio.h
中。
9.有charch,則從鍵盤給ch賦值的格式輸
入語句為:scanf(“%c”,
&ch);o
10.如果要輸出字符串常量"HelloWord!”,
則格式輸出語句為:printf
(“HelloWord!”)。
11.設(shè)有定義:longx=-123456L;,請寫出能
夠正確輸出變量x值的語句
printf(zzx=%ld\n,,,x);
12.若有inta,b;,想通過
scanf("%d%cT,&a,&b);輸入語句給a賦于1,
給b賦于2,則從鍵盤
輸入數(shù)據(jù)的形式是12或者
1O
13.若有inti,j;
scanf("i=%d,j=%d,,;&i,&j);,要求給i賦10,
給j賦20,則應(yīng)該從鍵盤
輸入_i=10,j=20o
14.已知i、j、k為int型變量,若從鍵盤輸
入:1,2,3〈回車〉,使i的值為1、j的值
為2、k
的值為3,請寫出正確的輸入語句
scanf("%d,%d,%d〃,&i,&j,&k);。
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,則正確的輸入
是m=123n二456P=789。
16.有inta;floatb,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d,b=%f,c=
%f\n",a,b,c);
,若運(yùn)行時(shí)從鍵盤上輸入9876543210〈回
車〉,則程序的輸出結(jié)果是a=98,
b=765.000000,
c=4321.000000______________
17.有intm=0256,n=256;則
printf("%o%o\n",m,n);的輸出結(jié)果是
256400____________
18.有intx=102,y=012;,則
printf("%2d,%2d\n",x,y);的輸出結(jié)果是—
102,10—
19.有定義和語句:inta;charc=10;float
f=100.0;doublex;a=f/=c*=(x=6.5);
,則
printf("%d%d%3.1f%3.1f\n",a,c,f,x);的輸
出結(jié)果是1651.56.o
20.若有定義和語句:intm=0xabc,n=0xabc;
m-=n;則printf("%o\n”,m);的輸出結(jié)果是
_0________O
21.若有intm=32,n=032;,則
printf("%d,%x\n",m,n);執(zhí)行后輸出結(jié)果是
32,la
22.若有inta=1234;,貝tlprintf("%2d\n",a);
的輸出結(jié)果是1234
23.若變量已正確說明為float類型,要通過
語句scanf(“%f%f%f”,&a,&b,&c);給a賦
于1
0.0,b賦予22.0,c賦予33.0,不正確的輸
入形式是Bo
A)10〈回車>22〈回車>33v回車〉B)
10.0,22.0,33.0〈回車〉
C)10.0<回車>22.033.0<回車>D)10
22〈回車〉33〈回車〉
24.若有intx=3,y=l;則
printf("%d%d\n",x++,y+2);的輸出結(jié)果是
33_
25.若有定義和語句:doubled;floatf;longI;
inti;i=f=l=d=20^;貝Uprintf("%
d%ld%f%f\n",i,l,f,d);的輸出結(jié)果是(小數(shù)點(diǎn)
后只寫一位)666.0
6.0o
26.以下說法中正確的是
Do
A)#define和printf者B是C語句
B)#define是C語句,而printf不是
C)printf是C語句,但#(^甘的不是
D)#define和printf都不是C語句
27.若有intk=17;,貝Llprintf("%d,%o,%x
\n“,k,k,k);的輸出結(jié)果是17,21,
11
28.以下敘述中正確的是
CO
A)輸入項(xiàng)可以是一個(gè)實(shí)型常量,
如:scanf(”%f”,3.5);
B)只有格式控制,沒有輸入項(xiàng),也能正確輸
入數(shù)據(jù)到內(nèi)存,例如:scakf(“a=%d,b=%cT);
C)當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址,例
如:scanf(“%f”,&f);
29.若有定義和語句:intu=010,v=0xl0,w=10;
則printf("%d,%d,%d\n",u,v,w);輸出結(jié)果是
.8,16,10
__________________________________O
30.若有inta=l,b=4,c=2;floatx=10.5,y=4.0,
z;z=(a+b)/c+sqrt((double)y)*l.?/c+
x;,貝Llprintf("%f\n",z);的輸出結(jié)果是
_______________________________________________________o
31.若有inta=2,c=5;,則
printf(,二%%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=O,j=O,k=O;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d\n",ij,k);若
從鍵盤輸入:102030〈回車>。輸出結(jié)果是
_______________________________________________________________O
34.若有inta,b,c;a=25;b=025;c=0x25;,則
printf("%d%d%d\n",a,b,c);的輸出結(jié)果
是O
35.有以下語句段
intnl=10,n2=20;
printf(〃n,nl,n2);
要求按以下格式輸出nl和n2的值,每個(gè)
輸出行從第一列開始,請?zhí)羁铡?/p>
nl=10n2=20
36.若有語句inti=-19J=i%4;則
printf("%d\n",j);的輸出結(jié)果是
37.有inta=0;a+=(a=8);則printf("%d\n",a);
的輸出結(jié)果是O
38.有inta=l,b=2;a=a+b;b=a-b;a=a?b;貝II
printf("%d,%d\n”b);的輸出結(jié)果是
39.有unsignedshorta=65536;intb;,貝
printf("%d\n",b=a);的輸出結(jié)果是
40.語句printf(“\10289\n“);的數(shù)據(jù)結(jié)果為:
解答:
1.表達(dá)式語句
2.getchar()
3.putchar()
4.gets()
5.puts()
6.scanf(“格式控制字符串”,地址表列);
Zprintf(“格式控制字符串”,輸出表列);
8.stdio.h
9.scanf("%c”,&ch);
10.printf(zz%s?\HelloWord!);
或者:printf("HelloWord!”);
11.printf(zzx=%ld\n,,,x);
12.12或者1
2
13.i=10,j=20
14.scanf("%d,%d,%d〃,&i,&j,&k);
15.m=123n=456p=789
16.a=98,b=765.000000,c=4321.000000
17.256400
18.102,10
19.1651.56.5
20.0
21.32,la
22.1234
23.B
24.33
25.666.06.0
26.D
27.17,21,11
28.C
29.8,16,10
30.13.700000
31.a=%d,b=%d
32.220.000000
33.10300
34.252137
35.nl=%d\nn2=%d
36.-3
37.16
38.2,1
39.0
40.B89
二.閱讀程序?qū)懡Y(jié)果
解答:
三.補(bǔ)充程序
解答:
四.改錯(cuò)題
解答:
五.編程一
解答:
六.編程二
解答:
第四章選擇結(jié)構(gòu)
一.填空
1.在if,while,case,do,else等關(guān)鍵字中,用
于選擇結(jié)構(gòu)的有(
).
2.已知a=l;那么if(a=2)printf("%d",2);
elseprintf("%d",1);的輸出結(jié)
果是().
3.已知chara='A';那么if(a>65)
printf("%s","bigger");elseprintf("%s"
,"smaller");的輸出結(jié)果是
().
4.表示“xNyNz”的C語言表達(dá)式是
()o
5.在C語言中,用于實(shí)現(xiàn)選擇結(jié)構(gòu)的語句有
()語句和()語
句
6.判斷兩個(gè)浮點(diǎn)型變量x和y是否相等一般
用:if(<le-6)…o
7.設(shè)有程序段:t=6;a=7;b=8;if(a=b)t=a;,這段
程序執(zhí)行后,t的結(jié)果是()
8.設(shè)a=l,b=2,c=3,d=4,則表達(dá)
式:a>b?a:c>d?a:d的結(jié)果為
()。
9.表達(dá)式98&&8&&31&&(98-牙)的值為
()o
10.若inta=3;貝Ll表達(dá)式(a>2)&&!(?>
69)的值為()o
解答:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
二.閱讀程序?qū)懡Y(jié)果
1.#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);
)
2.
#include<stdio.h>
voidmain()
intx=l,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<stdio.h>
voidmain()
(
charchi=E;
if(chl>='A')
chl++;
else
chl+=32;
printf("chl=%c\n",chi);
}
#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);
}
5.#include<stdio.h>
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<stdio.h>
intmain()
charchl=,a,,ch2='B,,ch3=,E,;
if(chl>ch2)
if(ch2>ch3)
ch3++;
else
-ch3;
printf("ch3=%c\n",ch3);
return0;
}
7.#include<stdio.h>
intmain()
floatx,y;
scanf("%f",&x);
switch((int)x/10)
case0:y=i.o;
printf("y=%f\n",y);break;
case1:y=2*x+l;
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.#include<stdio.h>
intmain()
,,
charchl=A'/ch2='B;
switch(chl)
(
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<stdio.h>
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<stdio.h>
voidmain()
(
inti=0,a=2;if(i==0)
printf(“**”);
else
printf("$$”);
printf(…);
}
11.
#include<stdio.h>
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<stdio.h>
voidmain()
(
inta=l,b=0;switch(a)
(
case1:switch(b)
(
case0:
printf("**O**");break;
case
l:printf("**l**");break;
}
case2:printf("**2**");break;
}
}
13.
#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;
}
14.#include<stdio.h>
intmain()
(
inta=0,b=l,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<stdio.h>
intmain()
{inta=l;switch(a){
case0:printf("**0**");break;
casel:printf("**l**");break;
case2:printf("**2**");break;
}
return0;}
16.#include<stdio.h>
intmain()
{intx,y;
scanf("%d",&x);
y=x>12?x+10:x-12;
printf("%d\n",y);
return0;}
輸入:12c回車〉
17.#include<stdio.h>
intmain()
(
floatx,y;
charop;
doubler;
scanf("%c%f%f",&op,&x,&y);
switch(op)
{caser=x+y;break;
caser=x-y;break;
caser=x*y;break;
caser=x/y;break;
}
printf("%.lf",r);
return0;}
輸入:3.5〈回車〉
18.#include"stdio.h"
voidmain()
(
inta=7;if(a>9||a<10)
a=a/3;else
a=a%3;printf("a=%d",a);
}
19.#include<stdio.h>
voidmain()
(
inta=20;switch(a%3){
case0:printf("O");
case1:printf("l");
case2:printf("2");
default:printf("3");
}
printf("4");
}
20.#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);
}
解答:
1.運(yùn)行結(jié)果:
9,7
2.a=l,b=3
3.chl=F
4.3,5
5.m=21
6.ch3=D
7.y=31.600000
8.Good!
Best!
9.A
B
C
10.***
11.q=35
12.**0****2**
13.*&
14.d=20
15**i**
16.0
17.0.6
18.a=2
19.234
20.8,1
三.補(bǔ)充程序
1.根據(jù)輸入字符的ASCII碼來判別字符的類
別。由ASCII碼表可知ASCII值小于32的為
控制字
符。在“0”和“9”之間的為數(shù)字,在“A”
和“Z”之間為大寫字母,在“a”和“z”
之
間為小寫字母,其余則為其它字符。
#include"stdio.h"
#include"string.h"
intmain()
charc;
printf("inputacharacter:");
if(c<32)printf("Thisisacontrol
character\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"stdio.h"
intmain()
(
floata,b;
printf("inputexpression:a+(-,*,/)b\n");
scanf("%f%c%f",&a,&c,&b);
switch(c)
(
caseprintf("%f\n",a+b);
case
printf("%f\n",a-b);break;
caseprintf("%f\n",a*b);break;
case
_______;break;
default:printf("inputerror\n");
}
return0;}
3.輸入三個(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;}
4.#include"stdio.h"
intmain()
inta;
printf("inputintegernumber:");
scanf("%d",&a);
casel:printf("Monday\n");break;
printf("Tuesday\n");break;
case3:printf("Wednesday\n");break;
case
4: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或aWb四種關(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(“AWB\rT);
return0;}
6.根據(jù)以下函數(shù)關(guān)系,對輸入的每個(gè)x值,
計(jì)算出相應(yīng)的y值。
0x<0
x0<=x<10
1010<=X<20
)=.
error20<=x<30
0.5xx+2030<=x<40
2其它
#include"stdio.h"
intmain()
(
intx,c,m;
floaty;
scanf("%cT,&x);
c=-l;else
c=_____________________________________
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;}
7.
找出x,y,z三個(gè)數(shù)中的最小數(shù),并判斷該
數(shù)是否等于bo
#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;
}
8.輸入兩個(gè)運(yùn)算數(shù)x,y和一個(gè)運(yùn)算符號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)
(
caser=x+y
*
_____________________9
r=x-y;break;
case
?*?.
__________;break;
r=x/y;break;
}
printf("%f",r);
return0;}
9.根據(jù)輸入字符的ASCII碼來判別字符的類
別。由ASCII碼表可知ASCH值小于32的為
控制字
符。在“0”和“9”之間的為數(shù)字,在“A”
和“Z”之間為大寫字母,在“a”和“z”
之
間為小寫字母,其余則為其它字符。
#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;}
10.找出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;
}
解答:
1.c=getchar();
(c>=,0,&&c<='91)
(c>=7V&&c<二Z)
else
2.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)
else
6.if(x<0)
c=x/10;
break;
else
7.x:y;
u:z;
(v==b)
else
8.break;
case
r=x*y;
case
9.if(c<32)
elseif(c>=7V&&c<二Z)
elseif(c>='a'&&c<='z')
else
10.b:a
c:u
(v==x)
else
四.改錯(cuò)題
解答:
五.編程一
1.求分段函數(shù)
1(x<0)
7=12x(1<x<5)
&(x>5)
的值,輸入X值,輸出結(jié)果。
2.從鍵盤上輸入一個(gè)數(shù)x,計(jì)算并輸出下列
分段函數(shù)y的值。
-Xx<0
sinx+x0<x<l
y
x310<x<20
未定義
<strong>其它〈/strong〉
3.某運(yùn)輸公司運(yùn)費(fèi)計(jì)算時(shí)根據(jù)運(yùn)輸距離打
折計(jì)算,折扣的計(jì)算方法如下:
,0s<250
2%250<s<800
discount=<
5%800<s<1500
8%s21500
(其中,discount表示折扣,S表示運(yùn)輸
距離)。
編寫一完整程序,輸入運(yùn)輸距離,統(tǒng)計(jì)運(yùn)
費(fèi)并輸出。每公里的運(yùn)費(fèi)通過符號常量定義
為2
?5o
4.編程輸入一元二次方程的三個(gè)系數(shù),求解
一元二次方程的實(shí)根,無實(shí)根時(shí)不用求虛
根,
給出相應(yīng)提示信息即可。
5.給定三條邊,判斷其是否能構(gòu)成三角形,
若能構(gòu)成,判斷其是等腰三角形、等邊三角
形
、直角三角形還是普通三角形。
6.從鍵盤輸入一個(gè)三角形的三條邊,判斷是
否能組成三角形,若能組成三角形,則輸出
它
的面積。
7.從鍵盤輸入一個(gè)百分制的學(xué)生成績,輸出
其對應(yīng)的分?jǐn)?shù)等級,其中90-100為A,SO-
89
為B,70?79為C,60?69為D,60以下為
Eo
8.編寫一個(gè)程序,從鍵盤輸入三個(gè)整數(shù)給a,
b,c,然后交換它們中的數(shù),把a(bǔ)中原來的
值
給b,把b中原來的值給c,把c中原來的
值給ao
9.輸入一個(gè)字符,判斷其是否為英文字母,
若是英文字母,則將其大小寫進(jìn)行轉(zhuǎn)換,若
不
是英文字母,則不變。
10.給定三個(gè)整數(shù)型x,y,z,輸出三個(gè)數(shù)中
的最大值和最小值。
解答:
1.#include"stdio.h"
#include"math.h"
voidmain()
(
floatx,y;
printf("inputx\n");
scanf("%f",&x);
if(x<0)y=l;elseif(x<=5)y=2*x;
else
y=sqrt(x);
printf("x=%5.1fy=%8.3f\n",x,y);
}
2.#include"stdio.h"
#include"math.h"
voidmain()
(
floatx,y;
printf("inputx\n");
scanf("%f",&x);
if(x>20||x>l&&x<10){
printf("無定義\n“);
return;
}
if(x<0)y=-x;
elseif(x<=l)y=sin(x)+x;
elseif(x>=10&&x<=20)y=x*x*x;
printf("x=%5.1fy=%8.3f\n",x,y);
}
3.#include"stdio.h"
#include"math.h"
#defineprice2.5
voidmain()
(
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;else
discount=0.08;
cost=s*(l-discount)*price;
printf("distance=%5.1f;cost=%5.1f\n",s,cost
);
}
4./*功能:求一元二次方程的解。*/
#include"math.h"
#include"stdio.h"
main()
{floata,b,c,disc,xl,x2;scanf("%f,%f,%f",
&a,&b,&c);
disc=b*b-4*a*c;
if(disc==0)
printf("xl=x2=%7.2f\n",-b/(2*a));
/*輸出兩個(gè)相等的實(shí)根*/
elseif(disc>0)
{xl=(-b+sqrt(disc))/(2*a);/*求出兩個(gè)不
相等的實(shí)根*/
x2=(-b-sqrt(disc))/(2*a);
printf("xl=%7.2f,x2=%7.2f\n",xl,x2);
}
else
printf(“無實(shí)根\n“);
}
5.#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("等邊三角形\rT);
elseif(a==b||b==c||c==a)
printf("等腰三角形\n“);
else
if(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"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);
}
else
printf("不能構(gòu)成三角形\n");
}
7.#include<stdio.h>
voidmain()
(
intscore;
chard;
printf("lnputscore\n");
scanf("%d",&score);
if(score>100||score<0){printf("data
error!\n");
return;
}
switch(score/10){case10:case
9: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<stdio.h>
voidmain()
(
inta,b,c,t;
printf("lnputa,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<stdio.h>
voidmain()
(
charcl,c2;printf("lnputaletter:
);
cl=getchar();
if(cl>='a,&&cl<=,z')
c2=cl+'A'-'a,;
elseif(cl>='A,&&cl<=,Z,)
c2=cl+'a'-'A,;
else
c2=cl;printf("原字符:%c轉(zhuǎn)換后
為:%c\n",cl,c2);
}
10.
#include<stdio.h>
voidmain()
(
inta,b,c,max,min;
printf("lnputa,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)
一.填空
LC語言中提供了三種循環(huán)控制語句,它們
是:()、do-while語句、()。
2.break語句在C程序中只能出現(xiàn)在兩種場
合:一是用于()語句中,二是用于(
)語句中。
3.以下程序段中的語句printf(****”)要執(zhí)
行5次,請?jiān)诳瞻滋幪钊牒线m的數(shù)。
for(i=l;i<=();i=i+2)
printf(“***”);
4.定義intk=10;執(zhí)行語句while(k<20)k
+=1;后,k的值為()°
5.在循環(huán)控制結(jié)構(gòu)中break語句的作用是
)。
6.在循環(huán)控制結(jié)構(gòu)中continue語句的作用
是:()。
7.若已知inta[5][5];并在運(yùn)行過程中a數(shù)
組已經(jīng)賦值;要打印次對角線元素,在空白
處
填入合適的值/表達(dá)式;
for(i=0;i<5;i++)
for(j=();j>=0;j-)
printf("%5d",a[i][j]);
8.執(zhí)行完語句sum=0;for(i=0;i<10;i++)
{if(i%5==0)sum+=i;
sum=()
9.在使用while語句中需要注意,為了防止
“死循環(huán)”的發(fā)生,在循環(huán)體中一定耍有(
)語句。
10.do-while語句中,判斷循環(huán)條件在
(),執(zhí)行循環(huán)體在()。(填“先”
“后
”)
解答:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
二.閱讀程序?qū)懡Y(jié)果
1.#include<stdio.h>
voidmain()
(
intnumber,digit;
number=1234;while
(number!=0)
(
digit=number%10;
printf("%d",digit);
number=number/10;
}
}
2.#include<stdio.h>
#defineN5
voidmain()
(
inti;
for(i=l;i<N;i++)
printf("%d\n",i*i);
}
3.#include<stdio.h>
voidmain()
(
inti,s,x;
s=0;x=15;
for(i=l;i<=5;i++)
if(x%i==0)
s=s+i;
printf("i=%d,s=%d\n",i,s);
}
4.#include<stdio.h>
voidmain()
(
intcounter=l;while(counter
<=5){
printf("%d\n",counter);
counter++;
)
}
5.#include<stdio.h>
intmain()
inti,sum,m,a;
sum=O;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<stdio.h>
intmain()
(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級上數(shù)學(xué)教案-三角形的面積練習(xí)課-蘇教版秋
- 三年級上冊數(shù)學(xué)教案-1.1 估算兩、三位數(shù)乘一位數(shù)丨蘇教版
- 學(xué)習(xí)2025年雷鋒精神六十二周年主題活動(dòng)實(shí)施方案 (3份)-76
- 蘇教版數(shù)學(xué)三年級上冊單元測試卷-第四單元-兩、三位數(shù)除以一位數(shù)含答案
- 人教版三年級英語上冊期末測試卷
- 2025年河南省安全員《A證》考試題庫及答案
- 2025遼寧省安全員知識題庫
- 醫(yī)院鋼結(jié)構(gòu)居間合同范本
- 2025年度城市綜合體車位租賃合同
- 2025年度股權(quán)質(zhì)押合同工商局備案及企業(yè)環(huán)境管理體系認(rèn)證服務(wù)協(xié)議
- 濰坊2025年山東濰坊市產(chǎn)業(yè)技術(shù)研究院招聘7人筆試歷年參考題庫附帶答案詳解
- 小學(xué)五年級體育教案全冊(人教版)
- 2024《整治形式主義為基層減負(fù)若干規(guī)定》全文課件
- 《教育向美而生-》讀書分享課件
- 2024年 江蘇鳳凰新華書店集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 20以內(nèi)加減法口算題(10000道)(A4直接打印-每頁100題)
- 《固體物理學(xué)》全冊完整教學(xué)課件
- 水生觀賞動(dòng)物鑒賞與維護(hù)課程
- ATOS阿托斯葉片泵PFE-31PFE-41PFE-51選型資料樣本
- 體育測量與評價(jià)PPT課件-第三章 身體形態(tài)的測量與評價(jià)
- 學(xué)生個(gè)人成長檔案實(shí)用模板
評論
0/150
提交評論