C語言程序設(shè)計(jì)基礎(chǔ)教程課后習(xí)題答案_第1頁
C語言程序設(shè)計(jì)基礎(chǔ)教程課后習(xí)題答案_第2頁
C語言程序設(shè)計(jì)基礎(chǔ)教程課后習(xí)題答案_第3頁
C語言程序設(shè)計(jì)基礎(chǔ)教程課后習(xí)題答案_第4頁
C語言程序設(shè)計(jì)基礎(chǔ)教程課后習(xí)題答案_第5頁
已閱讀5頁,還剩109頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

C語言課后習(xí)題習(xí)題答案詳解(11級教材)

第1章

1.1填空題

1.1.1應(yīng)用程序ONEFUNC.C中只有一種函數(shù),這個(gè)謳數(shù)H勺名稱是—main。

1.1.2一種函數(shù)由函數(shù)頭和函數(shù)體兩部分構(gòu)成。

1.1.3在C語言中,輸入操作是由庫函數(shù)—scant完畢歐J,輸出操作是由庫函數(shù)_prin1f_完

畢嘰

1.1.4經(jīng)過文字編輯建立的源程序文件的擴(kuò)展名是_.c_;編譯后生成目的程序文件,擴(kuò)展

名是_.obj_;連接后生成可執(zhí)行程序文件,擴(kuò)展名是一?xe_;運(yùn)營得到成果。

1.1.5C語言程序日勺基本單位或者模塊是函數(shù)。

1.1.6C語言程序的語句結(jié)束符是二—。

1.1.7編寫一種C程序,上機(jī)運(yùn)營要經(jīng)過的環(huán)節(jié):。

1.1.8在一種C語言源程序中,注釋部分兩側(cè)II勺分界符分別為」*_和

1.1.9C語言中的標(biāo)識符只能由三種字符構(gòu)成,它們是字母、數(shù)字和下劃線。

且第一種字符必須為字母或下劃線。

1.1.10C語言中的標(biāo)識符可分為關(guān)鍵字、預(yù)定義標(biāo)識符和顧客標(biāo)識符3類。

1.2選擇題

1.2.1一種C程序的執(zhí)行是從(A)。

A)本程序的main函數(shù)開始,到main函數(shù)結(jié)束

B)本程序文件的J第一種函數(shù)開始,到本程序文件的最終一種函數(shù)結(jié)束

C)本程序H勺main函數(shù)開始,到本程序文件H勺最終一種函數(shù)結(jié)束

D)本程序文件的第一種函數(shù)開始,到本程序main函數(shù)結(jié)束

1.2.2如下論述不正確的是(C)。

A)一種C源程序可由一種或多種函數(shù)構(gòu)成

B)一種C源程序必須涉及一種main函數(shù)

C)在C程序中,注釋闡明只能位于一條語句的背面

D)C程序的基本構(gòu)成單位是函數(shù)

1.2.3C語言要求:在一種源程序中,main函數(shù)的位置(C)。

A)必須在程序的開頭B)必須在系統(tǒng)調(diào)用的庫函數(shù)H勺背面

C)能夠在程序的任意位置D)必須在程序口勺最終

1.2.4C編譯程序是(A)o

A)將C源程序編譯成H的程序U勺程序

B)一組機(jī)器語言指令

C)將C源程序編譯成應(yīng)用軟件

D)C程序的機(jī)器語言版本

1.2.5要把高級語言編寫的源程序轉(zhuǎn)換為目的程序,需要使用(D)。

A)編輯程序B)驅(qū)動(dòng)程序C)診療程序D)編譯程序

1.2.6如下論述中正確的是(C)。

A)C語言比其他語言高級

B)C語言能夠不用編譯就能被計(jì)算機(jī)辨認(rèn)執(zhí)行

C)C語言以接近英語國家日勺自然語言和數(shù)學(xué)語言作為語言日勺體現(xiàn)形式

1.2.7D)C語言出現(xiàn)的最晚,具有其他語言時(shí)一切優(yōu)點(diǎn)

1.2.8如下論述中正確的是(A)。

A)C程序中注釋部分能夠出FI前程序中任意合適的地方

B)花括號“{”和“}”只能作為函數(shù)體的定界符

C)構(gòu)成C程序的基本單位是函數(shù),全部函數(shù)名都能夠由顧客命名

1.2.9D)分號是C語句之間n勺分隔符,不是語句的部分

1.2.10如下論述中正確的是(B)。

A)C語言的源程序不必經(jīng)過編譯就能夠直接運(yùn)營

B)C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制H勺機(jī)器指令

C)C源程序經(jīng)編譯形成H勺二進(jìn)制代碼能夠直接運(yùn)營

D)C語言中的函數(shù)不能夠單獨(dú)進(jìn)行編譯

1.2.11用C語言編寫的代碼程序(B)。

A)可立即執(zhí)行B)是一種源程序

C)經(jīng)過編譯即可執(zhí)行D)經(jīng)過編譯解釋才干執(zhí)行

1.2.12如下論述中正確的是(C)o

A)在C語言中,main函數(shù)必須位于程序的最前面

B)C語言時(shí)每行㈡只能寫一條語句

C)C語言本身沒有輸入輸出語句

1.2.13D)在對一種C程序進(jìn)行編譯的過程中,能夠發(fā)覺注釋中H勺拼寫錯(cuò)誤

下列4組選項(xiàng)中,均不是C語言關(guān)鍵字的選項(xiàng)是(A)。

A)defineB)getcC)includeDJwhile

IFcharscantgo

typeprintfcasepow

下列4組選項(xiàng)中,均是C語言關(guān)鍵字的選項(xiàng)是(B)。

A)autoB)switchC)signedD)if

enumtypedefunionstruct

includecontinuescanttype

C語言中的標(biāo)識符只能由字母、數(shù)字和下劃線3種字符構(gòu)成,且第一種字符(C)。

A)必須為字母B)必須為下劃線

C)必須為字母或下劃線D)能夠是字母、數(shù)字和下劃線中任一種字符

1.3編程題

參照本章例題,編寫一種C程序,要求輸出如下字符。

WelcometoExpo2023!

Shanghai2023

#inchide<stdio.h>

voidmain()

printf(木*木***木*木東*木*木*木*木木***木**本*******木木*******木*木**木*木*木********木*木***

*木木***\n“);

printfC4WelcometoExpo2023!\n");

printf("Shanghai2O23\n’');

printf("*****^*木本木本木東*木*木*木*木木***木******水***木木木******木*木木********************

*木木***\n'')?

設(shè)計(jì)一程序,輸入3個(gè)整數(shù),計(jì)算并顯示輸出這3個(gè)整數(shù)之和。

#include<stdio.h>

voidniain()

inta,b,c;

printf(44inputa,b,c:\n");

scanf("%d%d%d",%a,%b,%c);

printf(44thcsumofa,b,cis%5d\n,,,a+b+c);

I

第2章

2.1填空題

2.1.1C程序中數(shù)據(jù)有常量和變量之分,其中,用一種標(biāo)識符代表一種常量的,稱

為符號常量。。語言要求在程序中對用到歐J全部數(shù)據(jù)都必須指定其數(shù)據(jù)類型,

對變量必須做到先定義,后使用。

2.1.2C語言中,用關(guān)鍵字float定義單精度實(shí)型變量,用關(guān)鍵字double定義雙精度實(shí)

型變量,用關(guān)鍵字char定義字符型變量。

2.1.3在C語言中,以16位PC機(jī)為例,一種char型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為

1;一種int型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為2,則int型數(shù)據(jù)的取值范圍為

-32768-32767。一種float型數(shù)據(jù)在內(nèi)存中所占I向字節(jié)數(shù)為4;一種double

型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為8。單精度型實(shí)數(shù)的有效位是6-7

位,雙精度型實(shí)數(shù)的有效位是15-16位。

2.1.4設(shè)C語言中口勺一種基本整型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),若欲將整數(shù)135791正確無

誤地寄存在變量a中,應(yīng)采用的類型闡明語句是longinta=15791;。

2.1.5C的字符常量是用單引號括起來的1個(gè)字符,而字符串常量是用雙引號括

起來口勺字符序列。

2.1.6C語言中,用開頭的字符序列稱為轉(zhuǎn)義符。轉(zhuǎn)義符“\n”日勺功能是回車換行;

轉(zhuǎn)義符“\r”的功能是回車。

2.1.7若有定義:charc='\010’;則變量c中涉及U勺字符個(gè)數(shù)為1。

2.1.8負(fù)數(shù)在計(jì)算機(jī)中是以補(bǔ)碼形式表達(dá)。

2.1.9C語言中,&作為雙目運(yùn)算符是表達(dá)的是按位與,而作為單FI運(yùn)算符時(shí)表達(dá)I向

是取地址。

2110在C語言的賦值體現(xiàn)式中,賦值號左邊必須是變量。

自增運(yùn)算符++、自減運(yùn)算符-,只能用于變量,不能用于常量或體現(xiàn)式。++和--的結(jié)合

方向是“自右左至左

若a是int型變量,則執(zhí)行下面體現(xiàn)式后a時(shí)值為2。

a=25/3%3

寫出卜.列數(shù)所相應(yīng)H勺其他進(jìn)制數(shù)(D相應(yīng)十進(jìn)制,B相應(yīng)二進(jìn)制,o相應(yīng)八進(jìn)制,H

相應(yīng)十六進(jìn)制)

32D=100000B=40o=20H

75D=1001011B=113o=4BH

2.1.11假設(shè)己指定i為整型變量,f為float變量,d為double型變量,e為long型變量,有

式子10+宣+i*fde,則成果為double型。

若有定義:intx=3,y=2;floata=2.5,b=3.5;則下面體現(xiàn)式時(shí)值為10

(x+y)%2+(int)a/(int)b

2.1.125/3時(shí)值為1,5.0/3口勺值為1.6666670

2.1.13若有如下定義,intm=5,y=2;則執(zhí)行體現(xiàn)式y(tǒng)+=y-=m*=y后的y值是-16。

2.1.14若a是int型變量,則體現(xiàn)式(a=4*5,a+2),a+6的值為26。

若x和n均為int型變量,且x的)初值為12,n的初值為5,則執(zhí)行體現(xiàn)式x%=(n%=2)

后x曰勺值為:0。

若有定義語句:inte=1,f=4,g=2;floatm=10.5,n=4.0,k;,則執(zhí)行體現(xiàn)式

k=(e+f)/g+sqrt((doublein)*1.2/g+m后k時(shí)值是13.7?

2.2選擇題

2.2.1逗號體現(xiàn)式”(a=3*5,a*4),a+15用勺值是(C)。

A>15B)60C)30D)不擬定

2.2.2若有如下定義和語句:

charc1='a',c2=T;

printf("%d,%c\n",c2-c1,c2-,a'+,B,);

則輸出成果是:(D)

A)2,MB)5,!C)2,ED)5,G

2.2.3sizeof(float)是(B)。

A)一種雙精度地體現(xiàn)式B)一種整型體現(xiàn)式

C)一種函數(shù)調(diào)用D)一種不正當(dāng)?shù)捏w現(xiàn)式

若有如下定義,則能使值為3的體現(xiàn)式是(D)。

intk=7,x=12;

A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)

在C語言中,要求運(yùn)算數(shù)必須是整型H勺運(yùn)算符是(A)。

A)%B)/c)<D)

下面4個(gè)選項(xiàng)中,均是正當(dāng)整型常量口勺選項(xiàng)是(A)6

A)160B)-OxcdfC)-01D)-0x48a

-Oxffff01a986,0122e5

011Oxe0668Ox

下面4個(gè)選項(xiàng)中,均是不正當(dāng)浮點(diǎn)數(shù)H勺選項(xiàng)是(B)(,

A)160.B)123C)-.18D)-e3

0.122e4.2123e4.234

E3.e50.01e3

2.2.4下面正確的字符常量是(C)o

A)"C"B)"\\"C)'W'D)”

在C語言中,inhchar和short三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)(D)。

A)由顧客自己定義B)均為2個(gè)字節(jié)

C)是任意的D)由所用機(jī)器的機(jī)器字長決定

假設(shè)全部變量均為整型,則體現(xiàn)式(a=2,b=5,b++,a+b)后x的值為(B)4

A)7B)8C)6D)2

假設(shè)全部變量均為整型,則體現(xiàn)式x=(i=4,j=16,k=32)后xl均值為(C)。

A)4B>16C)32D)52

若有代數(shù)式,則正確的C語言體現(xiàn)式是(D)。

A)fabs(x*3+log(x))B)fabs(pow(x,3)+log(x))

C)abs(pow(x,3.0)+log(x))D)fabs(pow(x,3.0)+log(x))

設(shè)變量n為float類型,m為int類型,則如下能實(shí)現(xiàn)將n中的數(shù)值保存小數(shù)點(diǎn)后兩位,

第三位進(jìn)行四舍五入運(yùn)算時(shí)體現(xiàn)式是(B).

A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0

C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0

2.2.5如下不正確的論述是(D)?

A)在C語言中,逗號運(yùn)算符的優(yōu)先級最低

B)在C語言中,APH和aph是兩個(gè)不同的變量

C)若a和b類型相同,在執(zhí)行了賦值體現(xiàn)式a=b后b中的值將放入a中,而b中及I

值不變

2.2.6D)當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對于整型變量只能輸入整型數(shù)值,對于實(shí)型變量

只能輸入實(shí)型數(shù)值

2.2.7如下正確的J論述是(D)o

A)在C語言中,每行中只能寫一條語句

B)若a是實(shí)型變量,C程序中允許賦值a=10,所以實(shí)型變量中允許寄存整型數(shù)

C)在C程序中,不論是整數(shù)還是實(shí)數(shù),都能被精確無誤地表達(dá)

D)在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符

2.3編程題

編寫一程序,求出給定半徑「的圓的面積和周長,并輸出計(jì)算成果。其中,r

時(shí)值由顧客輸入,用實(shí)型數(shù)據(jù)處理。

#include<stdio.h>

#definePI3.14159

voidmain()

(

floatr,c,s;

printf(Minputthe半徑");

scanf("%f",&r);

c=2*PI*r;

s=PI*r*r;

printf("周長為%5.2f,面積為%5.2f\n”,c,s);

)

已知華氏溫度和攝氏溫度之間H勺轉(zhuǎn)換關(guān)系是:C=5/9*(F-32)。編寫一程序,將

顧客輸入的華氏溫度轉(zhuǎn)換為攝氏溫度,并輸出成果。

#include<stdio.h>

voidmain()

(

floatc,f;

printf("inputthe華氏溫度");

scanf("%f",&f);

c=5.0/9*(f-32);

printff華氏溫度為%5.2f,攝氏溫度為%5.2f\n”,f,c);

)

習(xí)題三

3.1填空題

3.1.1程序的三種基本構(gòu)造是隨仁、選擇、循環(huán)。

3.1.2執(zhí)行(a=3.0+5,a*4),a+=-6;變量a及體現(xiàn)式的值分別為2.0,2.0

3.1.3卜.列語句被執(zhí)行后日勺執(zhí)行成果是「\abc\def。

inta=1;

printf("%d\\%s\\%s”,a,"abc","def');

3.1.4getchar()函數(shù)的作用是從鍵盤上接受?種字符。

運(yùn)營如下程序后,顧客輸入I23456abc,輸出成果為123,45,6。

voidmain()

{inta,b;

charc;

scant("%3d%2d%3c';&a,&b,&c);

printf("%d,%d,%c",a,b,c);

)

3.1.5下面程序的輸出成果是1112。

#include<stdio.h>

voidmain()

{inti=10;

{/*inti=20;*/

i++;

printf("%d”,i++);

)

printf("%d\n",i);

)

下面程序運(yùn)營后,從鍵盤輸入30,則程序日勺輸出成果是

a=31,Ha=11,Oa=37。

voidmain()

{inta;

scant&a);

a++;

w,

printf(a=%d1Ha=%x,Oa=%o\a,a,a);

}

3.1.6下面程序的輸出成果是a=-3

b=D'

“END”o

voidmain()

{inta,b=68;

a=-3;

printf('Ya=%d\n\tb=\'%c\'\n\"end\”\n”,a,b);}

3.1.7下面程序的輸出成果是成果7000000。

#include<stdio.h>

#include<matn.h>

main()

{inta=1,b=4,c=2;

floatx=10.5,y=4.0,z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x;

)

下面程序運(yùn)營后,若輸入a=2,b=3

成果是X1=6.U。

x2=0.67°

voidmain()

{floata,b,x1,x2;

scanf(Ma=%f,b=%f,&a,&b):

x1=a*b;

x2=a/b;

printf(Hx1=%5.2f\nx2=%5.2f\n",x1,x2);

)

3.2選擇題

3.2.1指出下面正確的輸入語句是(B)。

A)scant(*,a=b=%d',,&a,&b);B)scanf(,,a=%d,b=%r,&m,&f);

C)scanf("%3c”,c);D)scanf(M%5.2f;&f);

3.2.2執(zhí)行scanf("%d%c%r,&a,&b,&c)語句,若輸入1234al2f56則變量a,b,c啊直為

(C)o

A)a=1234b=,a,c=12.56B)a=1b=2c=341256

C)a=1234b=,a,c=12.0D)a=1234b='a12'c=56.0

3.2.3執(zhí)行scanf("a=%d,b=%d",&a,&b)語句,若要使變量a和b的值分別為3和4,則

正確的輸入措施為(C)。

A)3,4B)a:3b:4C)a=3,b=4D)34

3.2.4設(shè)b=1234,執(zhí)行printf(',%%d@%d',,b)語句輸出成果為:(D)。

A)1234B)%1234C)%%d@1234D)%d@1234

若x是int型變量,y是float型變量,所用scant語句為

scanf("x=%d,y=%f",&x,&y);正確日勺輸入操作是(A)。

A)x=10,y=66.6<0$>B)1066.6v回車)

C)10v回車>66.6v回車>D)x=10〈回車>y=66.6〈回車〉

3.2.5設(shè)a,b均是int型變量,則如下不正確的函數(shù)調(diào)用為(D)。

A)getchar();B)putcharfMOS*);

C)scanf("%d,%2d”,&a,&b);D)putcharCV);

3.2.6下列程序的執(zhí)行成果是(C)o

#include<stdio.h>

voidmain()

{inta=5;

floatx=3.14;

a*=x*(,E,-'A,);

printf(H%An,,,(float)a);}

A)62.800000B)62C)62.000000Dl63.000000

3.2.7若輸入2.50,下列程序的執(zhí)行成果是(A)o

voidmain()

{floatr,area:

scant("%f”,&r);

printf(Karea=%f\nM,area=1/2*r*r);}

A)UB)3.125C)3.13D)程序有錯(cuò)

3.3編程題

編寫程序,從鍵盤上輸入2個(gè)整數(shù)給變量a和b,互換a、b值然后輸出。

〃參照程序

include<stdio.h>

voidmain()

{inta,b,temp;

scanf("%d%dn,&a,&b);

printf("\n互換前:a=%d,b=%d\n",a,b);

temp=a;a=b;b=temp;

printf("互換后:a=%d,b=%d\n",a,b);

)

試編寫一種程序,任意輸入一種小寫字母,分別按八進(jìn)制、十進(jìn)制、十六進(jìn)制、

字符格式輸出。

〃參照程序:

#include<stdio.h>

voidmain()

{charc;

printf(”請輸入1個(gè)小寫字母:\n”);

scanf("%c",&c);

printf("八進(jìn)制:%o\n十進(jìn)制:%d\n",c,c);

printf(“十六進(jìn)制:%x\n字符:%c\n",c,c);

輸入一種華氏溫度,要求輸出攝氏溫度,輸出要有文字闡明,取2位小數(shù)。公式

為:

〃參照程序:

#include<stdio.h>

voidmain()

{floatc,f;

printf(“請輸入一種華氏溫度:\n");

c=5.0/9*(132);

printf(“華氏溫度F=%.2f\n",f);

printf(“攝氏溫度c=%.2f\n,\c);

設(shè)圓半徑r=3,圓柱高h(yuǎn)=4,求圓周長、圓面積、圓球表面積、圓球體積、圓

柱體積。用scanf輸入數(shù)據(jù),輸出計(jì)算成果,輸出時(shí)要求有文字闡明,取小數(shù)點(diǎn)后2位數(shù)

字。請編程序。

〃參照程序:

#include<stdio.h>

#definePI3.1415926

voidmain()

{floatr,h,c,sl,s2,vl,v2;

printf(“請輸入圓半徑,圓柱高:");

scanf(u%f,%f\&r,&h);

c=2*PI*r;sl=PI*r*r;s2=4*PI*r*r;

vl=4/3*PI*r*r*r:v2=sl*h:

printf(t4r=%.2f,h=%.2f\n,,,r,h);

printf(“圓周長=%.2f,圓面積二%.2f\n”,sl,s2);

printf(“圓體積=%.2f,圓柱體積二%.2f\n”,vl,v2);

}

習(xí)題四

4.1填空題

4.1.1表達(dá)條件:10vxv100或xvO的C語言體現(xiàn)式是10<x&&x<100||x<0。

4.1.2若要求在if后一對圓括號中表達(dá)a不等于0的關(guān)系,則能正確表達(dá)這一關(guān)系的體

現(xiàn)式為a。

4.1.3若已知a=10,b=20,則體現(xiàn)式!avb的I值為!。

4.1.4當(dāng)a=3,b=2,c=1時(shí),體現(xiàn)式f=a>b>c曰勺值是0。

415設(shè)y為int型變量,請寫出描述“y是奇數(shù)”的體現(xiàn)式y(tǒng)%2!=0。

4.1.6設(shè)x,y,z為int型變量,請寫出描述“x或y中有一種不不小于z”日勺體現(xiàn)式

x<z&&y>=z||x>=z&&y<z。

已知a=7.5,b=2,c=3.6,體現(xiàn)式a>b&&c>a||a<b&&!c>b時(shí)值是1。

假設(shè)a=5,b=2,c=4,如下體現(xiàn)式的值依次為:o

(1)a%b*c&&c%b*a

(2)b%c*a&&a%c*b

(3)a%b*c||c%b*a

(4)b%c*a||a%c*b

假設(shè)a=3,b=4,c=5,x=0,y=0,如下各體現(xiàn)式時(shí)值依次為0,1,1,0,1。

(1)a+b>c&&b==c

(2)a||b+c&&b-c

(3)!(a>b)&&!c||1

(4)?(x=a)&&(y=b)&&0

(5)?(a+b)+c-1&&b+c/2

兩次運(yùn)營下面的程序,假如從鍵盤上分別輸入6和4,輸出的成果是7和5。

voidmain()

{intx;

scanf("%d”,&x);

if(x++>5)

printf("%d”,x);

else

printf("%d\n”,x--);}

4.2.1選擇題:

設(shè)a為整型變量,不能正確體現(xiàn)數(shù)學(xué)關(guān)系:10vav15日勺C語言體現(xiàn)式是(A)。

A)W<a<i5B)a==l1||a==l2||a==l3||a==i4

C)a>10&&a<15D)!(a<=10)&&!(a>=15)

在如下一組運(yùn)算符中,優(yōu)先級最高日勺是(C)o

A)<=B)=C)%D)&&

設(shè)a,b,c都是int型變量,且a=3,b=4,c=5,則下面體現(xiàn)式中,值為0的體現(xiàn)式是

D)。

A)'a'&&'b'B)a<=bC)c||+c&&b-cD)!((a<b)&&!c||1)

在C語言的if語句中,用作判斷的體現(xiàn)式為(D)o

A)關(guān)系體現(xiàn)式B)邏輯體現(xiàn)式C)算術(shù)體現(xiàn)式D)任意體現(xiàn)式

在如下運(yùn)算符中,優(yōu)先級最高II勺運(yùn)算符是(B)o

A)<=B)/C)!=D)&&

假設(shè)全部變量均為整型,體現(xiàn)式(a=2,b=5,a>b?a++:b++,a+b)的值是(B)),

A)7Bi8C)9D)2

在C語言中,能代表邏輯值“真用勺是(D)。

A)trueB)不小于0的I數(shù)C)非0整數(shù)D)非0H勺數(shù)

在如卜運(yùn)算符中,優(yōu)先級最高的)運(yùn)算符是(A)o

A)!B)=C)+D)||

4.2.2邏輯運(yùn)算符兩側(cè)運(yùn)算對象的數(shù)據(jù)類型(D)。

A)只能是0或1B)只能是0或非0正數(shù)

C)只能是整型或字符型數(shù)據(jù)D)能夠是任何類型的數(shù)據(jù)

4.2編程題

編寫一種C程序,要求從鍵盤輸入一種整數(shù),判斷該整數(shù)是否能夠被17整除。(解析:

當(dāng)該數(shù)與17的余數(shù)為零時(shí),即能夠被17整除。)

〃參照程序

include<stdio.h>

voidmain()

inta;

printf(“請輸入一種整數(shù):”);

scanf("%d",&a);

if(a%17==0)

p「intf("%d能被17整除

else

printf(M%d不能被17整除\n”,a);

編寫一種C程序,計(jì)算并顯示由下列闡明擬定H勺一周薪水。假如工時(shí)不不小

于40,則薪水按每小時(shí)8元計(jì);不然,按320元加二超出40小時(shí)部分的每小時(shí)12元。

(解析:一周工時(shí)數(shù)為鍵盤輸入,顯示其相應(yīng)薪水為輸出。)

〃參照程序

#include<stdio.h>

voidmain()

(

floata,wage;

printf(“請輸入工時(shí)數(shù):");

scanf(H%f;&a);

if(a<0)printfC'error!,1);

else

{if(a<40)wage=a*8;

elsewage=320+(a-40)*12;

printf("周薪水=%.1f元\n”,wage);

)

)

編寫一種C程序,要求從鍵盤輸入三個(gè)整數(shù)a,b,c,輸出其中最大U勺數(shù)。(解

析:求極值問題。設(shè)置一種變量max總是保存兩數(shù)比較時(shí)較大的那個(gè)值。詳細(xì)措施如卜.:

先將aH勺值賦給max,假如max<b則將b的I值賦給max,然后再用max與c進(jìn)行比較,

假如max<c則將c時(shí)值賦給max,這么能使max總是保存最大H勺值。最終輸出max。)

〃參照程序

#include<stdio.h>

voidmain()

{

inta,b,cmax;

printf(“請輸入三個(gè)整數(shù):”);

scanfC'%d%d%d”,&a,&b,&c);

if(a>b)max=a;

elsemax=b;/*max=a>b?a:b;*/

if(c>ma>:)max=c;/*max=max>c?max:c;*/

printf("最大值max=%d\n,,,max);

)

編寫一種C程序,要求從鍵盤輸入三個(gè)整數(shù)x,y,z,請把這三個(gè)數(shù)由小到大輸

出。(解析:排序問題。想措施把三個(gè)數(shù)進(jìn)行調(diào)換,使得最小時(shí)數(shù)放到x變量里,最大的

數(shù)放在z變量里。詳細(xì)措施如下:先將x與y進(jìn)行比較,假如x>y則將x與y的值進(jìn)行

互換,然后再用x與z進(jìn)行比較,假如x>z則將x與z時(shí)值進(jìn)行互換,這么能使X最小;

然后將y與z比較,棄將較小時(shí)值保存在y里而較大的值放在z里。最終,依次輸出X、

y、Zo)

〃參照程序

include<stdio.h>

voidmain()

(

intx,y,z,a;

printf(uinput3integer:\n");

scanf("%d,%d,%d”,&x,&y,&z);

if(x>y)/*使x<=y*/

{a=x;x=y;y=a;}

if(x>z)〃使x<=z*/

{a=x;x=z;z=a;}

if(y>z)/*使y<=z7

{a=z;z=y;y=a;}

print1(4<\nx=%d,y=%d,z=%d\n",x,y,z);

)

編寫一種C程序,要求從鍵盤輸入一種不多于5位的正整數(shù)x,要求輸出:一、它是

幾位數(shù):二、逆序打印出各位數(shù)字,例如:原數(shù)為789,應(yīng)輸出987。(解析:該問

題口勺關(guān)鍵是分解出每一位上口勺數(shù)字:

a=x/10000;/*分解出萬位上的數(shù)字*/

b=x%10000/1000;/*分解出千位上的數(shù)字*/

c=x%1000/100;/*分解出百位上的數(shù)字*/

d=x%100/10;/*分解出十位上的數(shù)字*/

e=x%10;/*分解出個(gè)位上的數(shù)字*/

經(jīng)過檢測各數(shù)字是否為零,便可懂得x是幾位數(shù),例如:if(a)則x是5位數(shù)。)

〃參照程序

#include<stdio.h>

voidmain()

{longx;inta,b,c,d,e;

printf("\ninputx:");scanf("%ld",&x);

e=x%10;c=x/10%10;c=x/100%10;b=x/1000%10;a=x/10000;

if(x>=1E+5||x<=0)

printi("Outofrange!\n");

else

{if(a>3)printf("5位數(shù),反序數(shù)字是:%d%d%d%d%d\n",e,d,c:b,a);

elseif(b>0)printf("4位數(shù),反序數(shù)字是:%d%d%d%d\n",e,d,c,b);

elseif(c>0)printf(M3位數(shù),反序數(shù)字是:%d%d%d\n",e,d,c);

elseif(d>0)printf("2位數(shù),反序數(shù)字是:%d%d\n”,e,d);

elseprintf("1位數(shù),數(shù)字是:%d\n",e);

}

)

編寫一種C程序,要求從鍵盤輸入兩個(gè)數(shù),并根據(jù)提醒輸入的數(shù)字,選擇對這兩

個(gè)數(shù)的I運(yùn)算,并輸出相應(yīng)運(yùn)算成果。要求提醒為:

1.作加法;

2.做乘法;

3.做除法:

(解析:可使用switch語句,以提醒輸入H勺數(shù)字為根據(jù),作分支構(gòu)造設(shè)計(jì),使

得提醒輸入1時(shí),將兩數(shù)之和輸出;提醒輸入2時(shí),將兩數(shù)之積輸出;提醒輸入3時(shí),將

兩數(shù)之商輸出--注意,除數(shù)不可為零口勺檢測與提醒。)

〃參照程序

include<stdio.h>

voidmain()

{floatop1,op2;intsign;

printf("請輸入兩個(gè)操作數(shù):ab\n");

scanf("%f%f",&op1,&op2);

prints請選擇進(jìn)行的I運(yùn)算(1,2,3,4):\n");

printf("1:+\nu);

printf("2:An");

printf("3:*\n");

printf("4:An");

printf("您選擇:");

scanf("%dH,&sign);

switch(sign)

{case1:printf("\n%f+%f=%f\n",op1,op2,op1+op2);break;

case2:printf("\n%f-%f=%f\n",op1,op2,op1-op2);break;

case3:printf("\n%f*%f=%f\nH,op1,op2,op1*op2);break;

,,

case4:if(op2){printf("\n%f/%f=%f\n,op15op2,op1/op2);break;}

else{printf("\n除數(shù)不能為0\n°);break;}

default:printf("\n您選擇的運(yùn)算不對\n");

)

)

習(xí)題五

5.1填空題

5.1.1C語言三個(gè)循環(huán)語句分別是while語句,dowhile語句和for語句。

5.1.2至少執(zhí)行一次循環(huán)體的循環(huán)語句是dowhile.

5.1.3循環(huán)功能最強(qiáng)的循環(huán)語句是

下面程序段是從健盤輸入口勺字符中統(tǒng)計(jì)數(shù)字字符日勺個(gè)數(shù),用換行符結(jié)束循環(huán)。請?zhí)?/p>

填空。

intn=0,c;

c=getchar();

while(c!^\n)

{if(c>='0'&&cv='9‘)n++;

c=getchar();}

在執(zhí)行如下程序時(shí),假如鍵盤上輸入:ABCdef〈回車),則輸出為abcDEF。

#include<stdio.h>

{charch;

while((ch=getchar())!='\n')

{if(ch>='A'&&ch<=,Z,)ch=ch+32;

elseif(ch>=,a'&&ch<=,z,)ch=ch-32;

printf("\n");}

卜.面程序的功能是用輾轉(zhuǎn)相除法求兩個(gè)正整數(shù)的最大公約數(shù),請?zhí)羁铡?/p>

#include<stdio.h>

voidmain()

{intr,m,n;

scanf("%d,%d',&m,&n);

if(m<n){r=m;m=n;n=r}

r=m%n;

while(r){m=n;n=r;r=m%n;)

printf("%d'n",n);

)

當(dāng)運(yùn)營如下程序時(shí),從鍵盤輸入“right?v問車〉”,則下面程序的運(yùn)營成果是

sjhiuo

#include<stdio.h>

voidmain()

{charc;

while((c=getchar())!=,?t)putchar(++c);

)

5.1.4下面程序的運(yùn)營成果是一s=254.

#include<stdio.h>

voidmain()

{inta,s,n,count;

a=2;s=0;n=1;count=1;

while(count<=7){n=n*a;s=s+n;++count;}

printf(Hs=%dB,s);}

執(zhí)行下面程序段后,k的值是36o

k=1;n=263;

do{k*=n%10;n/=10;}while(n);

5.1.5下面程序的運(yùn)營成果是-10°

#include<stdio.h>

voidmain()

{inti;

for(i=100;i>=0;i-=10);

printf("%d\n”,i);}

5.1.6下面程序使循環(huán)結(jié)束的條件式i==O.

#include<stdio.h>

voidmain()

{inti;

for(i=250;i;i-=5)

printf(',%d\n,,,i);

}

5.1.7如下程序輸出成果為x=-1,v=21.

#include<stdio.h>

voidmain()

{intx,y;

for(x=30,y=0;x>=10,y<20;x-,y++)

x/=2,y+=2;

printf(Hx=%d,y=%d\n",x,y);

下面程序日勺功能是計(jì)算1-3+5-7+...-99+100/V直,請?zhí)羁铡?/p>

#include<stdio.h>

voidmain()

{inti,t=1,s=0;

for(i=1;i<=101;i+=2)

{t=t*i:s=s+t;t=-t/i;}

printf("%d\n”.s);

)

5.1.8下面程序的運(yùn)營成果是二二。

#include<stdio.h>

voidmain()

{inti,j=4;

for(i=j;i<2*j;i++)

switch(i/j)

{case0:

case1:printf("*");break;

case2:printf("#");}

)

5.1.9下面程序的輸出成果是i=6,k=4。

#include<stdio.h>

voidmain()

{inti,j,k=19;

while(i=k-1)

{k-=3;

if(k%5==0){i++;continue;}

elseif(k<5)break;

i++;

)

printf(Hi=%d,k=%d\n",ik);

)

5.2選擇題

設(shè)有程序段:intk=10;while(k=0)k=k-1則下面描述正確的是(C)。

A)while循環(huán)執(zhí)行10次B)循環(huán)時(shí)無限循環(huán)

C)循環(huán)體語句一次也不執(zhí)行D)循環(huán)體語句執(zhí)行一次

有如下程序:

#include<stdio.b>

voidmain(){while(putchar(getchar())!='?');}

當(dāng)輸入“china?”時(shí),程序的執(zhí)行成果是(D)o

A)chinaB)dijobC)dijiob?D)china?

5.2.1語句while(!E);中時(shí)體現(xiàn)式!E等價(jià)于(A)。

A)E==0B)E!=1C)E!=0D)E==1

5.2.2下面程序段的運(yùn)營成果是(A)。

a=1;b=2;c=2;

while(a<b<c)

{t=a;a=b;b=t;c-}

printf(K%d,%d,%d",a,b,c);

A)1,2,0B)2,1,0C)1,2,1D)2,1,1

5.2.3下面程序段的輸出成果是(C)。

intn=0;

while(n++<=2);printf("%d”,n);

A)2B)3C)4D)有語法錯(cuò)誤

下面程序的功能是將從鍵盤輸入的一對數(shù),由小到大排序輸出。當(dāng)輸入一

對相等數(shù)時(shí)結(jié)束循環(huán),請選擇填空。

#include<stdio.h>

voidmain()

{inta,b,t;

scanf(4,%d,%d",&a,&b);

while(B)

{if(a>b)

{t=a;a=b;b=t;}

printf(%d,%d\n,,,a,b);

scanf('4%d,%d,,,&a,&b);

)

A)!a=bB)a!=bC)a==

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論