c語言期末考試題庫_第1頁
c語言期末考試題庫_第2頁
c語言期末考試題庫_第3頁
c語言期末考試題庫_第4頁
c語言期末考試題庫_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

習題一一、選擇題1.C語言是一種(

C

)。A.初級語言

B.

匯編語言

C.

高級語言

D.

機器語言2.以下不是

C語言的特色的是(

D)。A.語言簡短緊湊

B.

能夠直接對硬件進行操作C.數(shù)據(jù)種類豐富

D.

是面向?qū)ο蟮某绦蛟O計語言3.一個

C程序的履行是從(

A)。A.本程序的

main

函數(shù)開始,到

main

函數(shù)結(jié)束本函數(shù)的第一個數(shù)開始,到本程序言件的最后一個函數(shù)結(jié)束本程序的main函數(shù)開始,到本程序言件的最后一個函數(shù)結(jié)束D.本函數(shù)的第一個數(shù)開始,到本程序main函數(shù)結(jié)束4.以下表達正確的選項是(C)。在C程序中,main函數(shù)一定位于程序的最前面C程序的每行只好寫一條語句C語言的自己沒有輸入輸出語句在對一個C程序進行編譯的過程中,能夠發(fā)現(xiàn)說明中的拼寫錯誤5.以下表達不正確的選項是(D)。一個C源程序可由一個或多個函數(shù)構(gòu)成一個C源程序一定包含一個main函數(shù)C程序的基本構(gòu)成單位是函數(shù)在C程序中,說明說明只好位于一條語句的后邊6.C語言規(guī)定:在一個源程序中,main函數(shù)的地點(C)。A.一定在最開始B.一定在系統(tǒng)調(diào)用的庫函數(shù)的后邊C.能夠隨意D.一定在最后7.一個C語言程序是由(B)。A.一個主程序和若干子程序構(gòu)成B.函數(shù)構(gòu)成C.若干過程構(gòu)成D.若干子程序構(gòu)成8.以下表達中正確的選項是(C)。A.C程序的基本構(gòu)成單位是語句B.C程序中的每一行只好寫一條語句C.C語句一定以分號結(jié)束D.C語言一定在一行內(nèi)寫完9.以下表達中正確的選項是(C)。A.C程序中的說明只好出此刻程序的開始地點和語句的后邊B.C程序書寫格式嚴格,要求一行內(nèi)只好寫一個語句C.C程序書寫格式自由,一個語句能夠?qū)懺诙嘈猩嫌肅語言編寫的程序只好放在一個程序言件中10.以下表達中正確的選項是(C)。A.C語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始履行能夠在程序中由用戶指定隨意一個函數(shù)作為主函數(shù),程序?qū)⒋撕箝_始履行C語言規(guī)定一定用main作為主函數(shù)名,程序此后開始履行,在此結(jié)束main可作為用戶表記符,用以命名隨意一個函數(shù)作為主函數(shù)11.以下表達中正確的選項是(A)。A.每個C程序言件中都一定要有一個main函數(shù)在C程序中main( )地點是固定的C程序中全部函數(shù)之間都能夠互相調(diào)用,與函數(shù)所在地點沒關在C程序的函數(shù)中不可以定義另一個函數(shù)12.C語言源程序的基本單位是(B)。A.過程

B.

函數(shù)

C.

子程序

D.

表記符13.以下對于算法的特色描繪中錯誤的選項是(

D)。A.有窮性

B.

確立性

C.

有零個或多個輸入

D.有零個或多個輸出14.以下選項中不屬于算法特征的是(C)。A.有窮性B.確立性C.簡短性D.有效性15.用C語言編寫的代碼程序(B)。A.可馬上履行B.是一個源程序C.經(jīng)過編譯即可履行D.經(jīng)過編譯解說才能履行二、填空題1.C語言的源程序一定經(jīng)過2.C語言源程序言件的后綴是成文件的后綴是.exe

.c

編譯和連結(jié)后,才能被計算機履行。;經(jīng)過編譯后,生成文件的后綴是.obj;經(jīng)過連結(jié)后,生。3.C語言從源程序的書寫到上機運轉(zhuǎn)輸出結(jié)果要經(jīng)過編寫、

編譯

、連結(jié)、履行四個步驟。4.構(gòu)造化程序由次序構(gòu)造、選擇構(gòu)造和循環(huán)構(gòu)造三種基本構(gòu)造構(gòu)成。5.C語言源程序的基本單位是函數(shù)。6.一個

C語言源程序是由若干函數(shù)構(gòu)成,此中最少應含有一個

主函數(shù)(或

main函數(shù))

。7.在一個

C語言源程序中,說明部分雙側(cè)的分界符為

/*

*/

。8.

算法

是程序設計的靈魂。9.C語言程序只好從main函數(shù)開始履行。10.自然語言、流程圖和偽代碼都能夠用來表示算法,此中

流程圖

是算法的圖形化表示方法。三、編程/思慮題1.簡述C語言的主要特色。1.C語言的主要特色有:(1)C語言擁有構(gòu)造化的高級編程語言應有的全部高級指令,使程序員不需要知道硬件細節(jié)。同時,C也擁有一些初級指令,同意程序員能夠直接迅速地訪問硬件。(2)C語言是構(gòu)造式語言。(3)C語言是一種高效的語言。(4)C語言簡短緊湊,使用方便靈巧。(5)C語言運算符豐富。(6)C語言是一種可移植性語言。2.要獲得一個能夠正常運轉(zhuǎn)的C語言程序,一般經(jīng)過哪幾個過程?編寫C語言程序源代碼,編譯源文件,連結(jié)程序,履行程序。3.算法擁有哪些特色?3.算法擁有以下特色:(1)有窮性;(2)確立性;(3)有零個或多個輸入;(4)有一個或多個輸出;(5)有效性。4.用流程圖表示求解1×2×3×4×5的算法。5.參照本章例題,編寫一個C程序,輸出以下信息:*********************************ThisisasimpleCprogram!答.#include<>voidmain( ){printf("*********************************\n");printf("ThisisasimpleCprogram!\n");printf("*********************************\n");習題二一、選擇題1.以下幾個選項中,屬于

C語言的基本數(shù)據(jù)種類的是(

B)。A.整型、實型、構(gòu)造體種類

B.整型、實型、字符型C.整型、邏輯型、實型

D.

整型、字符型、數(shù)組種類語言規(guī)定,表記符的命名只好由字母、數(shù)字和下劃線三種字符構(gòu)成,且第一個字符

C

)。A.一定是字母

B.一定是下劃線

C.一定是字母或下劃線

D.一定是數(shù)字3.以下表記符中,合法的表記符為(

B)。1

C4.以下表記符中,不合法的表記符為(A)。A.intB._n55.以下不合法的字符常量是(D)。A.‘a(chǎn)’B.’”’C.’\n’D.”a”6.以下不合法的字符串常量是(A)。A.‘a(chǎn)bc’B.”abc”C.”dfb345”D.””7.以下不合法的轉(zhuǎn)義字符是(D)。A.‘\\’B.‘\t’C.‘\x6a’D.’\89’8.下邊四個選項中,均是不合法的轉(zhuǎn)義字符的選項是(B)。A.‘’’‘\t’‘’B.‘\1234’‘\018’‘\x3h’C.‘\n’‘\16’‘”‘D.‘\x8a’‘\&’‘\101’9.以下整型常量中,不合法的是(D)。B.-16C.0x4b10.下邊四個選項中,均是不合法的整型常量的選項是(A)。A.-0f10182e5B.250xf3C.065-54-0a4D.0130xk5-06911.以下實型常量中,不合法的是(C)。A.0.0B..123C.123D.12.以下實型常量中,合法的是(D)。A.e3B.2e4.3C.–e4D.2e-413.下邊四個選項中,均是不合法的實型常量的選項是(B)。A.2e5B.e5682e-4123e-5-e-3123e14.在C語言中,int、char和short三各樣類數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)(D)。A.由用戶自己定義B.均為2個字節(jié)C.是隨意的D.由所使用的編譯系統(tǒng)決定15.如有說明語句:charc=’\72’;則變量c(A)。A.包含1個字符B.包含2個字符C.包含3個字符D.說明不合法,c的值不確立16.設變量a是整型,f是實型,i是雙精度型,則表達式10+’a’+i*f值的數(shù)據(jù)種類為(C)。A.intB.floatC.doubleD.不確立17.設有說明語句:charw;intx;floaty;doublez;則表達式w*x+z-y值的數(shù)據(jù)類型為(D)。A.floatB.charC.intD.double18.在C語言中,負整數(shù)在內(nèi)存中的儲存形式是(A)。A.補碼B.反碼C.原碼D.ASCII碼19.在C語言中,字符型數(shù)據(jù)在內(nèi)存中的儲存形式是(D)。A.補碼B.反碼C.原碼D.ASCII碼20.在C語言中,實型數(shù)據(jù)在內(nèi)存中的儲存形式是(B)。A.小數(shù)形式B.指數(shù)形式C.十進制形式D.ASCII碼21.在C語言中,設一個short型數(shù)據(jù)在內(nèi)存中占用2個字節(jié)儲存,則unsignedshort型數(shù)據(jù)的取值范圍為(C)。A.0~255B.0~32767C.0~65535D.0~4722.在C語言中,設一個float型數(shù)據(jù)在內(nèi)存中占用4個字節(jié)來儲存,則一個float型數(shù)據(jù)的有效數(shù)字位數(shù)為(B)。A.5位B.6~7位~16位D.18~19位23.已知小寫字母’a’的ASCII碼為十進制數(shù)97,則履行語句c=’a’+2后,變量c中的字符為(B)。A.AB.cC.CD.b24.設有定義floatx=;則履行(int)x以后,x的值為(A)。A.B.3C.4D.25.若想確立所使用的編譯系統(tǒng)中,int型數(shù)據(jù)所占用的儲存寬度,可使用(B)進行測試。A.(int)(int)C.(int)xD.(sizeof)int二、填空題語言中的實型變量分為兩各樣類,它們是float和double。語言中的常量分為普平常量和符號常量兩各樣類3.C語言中的表記符只好由3種字符構(gòu)成,他們是字母、數(shù)字、下劃線、和。4.在C語言中,有一類特別字符以“”開頭,稱為轉(zhuǎn)義字符。轉(zhuǎn)義字符’\n’的功能是回車換行;轉(zhuǎn)義字符’\r’的功能是,回車不換行。5.在C語言中,用要點字float定義單精度實型變量,用要點字DOUBLE定義雙精度實型變量,用要點字char定義字符型變量。6.要定義雙精度實型變量a和b,并使它們的初值都為,則定義語句為doubea=,b=;。7.設C語言中一個short型數(shù)據(jù)占用2個字節(jié)儲存,一個int型數(shù)據(jù)占用4個字節(jié)儲存,則要將數(shù)值32768正確無誤的儲存在變量x中,應使用的定義語句為intx=32768。8.如有定義charch;則履行ch=’A’+32后,變量ch中的字符為‘a(chǎn)’。9.以下程序運轉(zhuǎn)后的輸出結(jié)果是9,90。#include<>voidmain( ){intx=011,y=0x5a;printf("%d,%d\n",x,y);}10.以下程序的輸出結(jié)果是BeijingChina。include<>voidmain( ){printf("Beijing\nChina\n",n);}三、思慮題1.C語言規(guī)定對所實用到的變量一定“先定義,后使用”,這樣做有什么利處?1.解:C語言中,要求對所實用到的變量“先定義,后使用”,這樣做的利處是:能夠保證程序中變量名使用得正確;在編譯時就能為變量分派相應的儲存單元;便于在編譯過程中檢核對該變量進行的運算能否合法。2.字符常量和字符串常量有什么差別?2.解:字符常量是一個字符,在程序中是用單撇號括起來的;字符串常量由0個或若干個字符組合而成,在程序中是用雙撇號括起來的,在儲存時,系統(tǒng)自動在字符串最后加上一個字符串結(jié)束符’\0’。3.若想要將一個大寫字母變換為對應的小寫字母,能夠如何操作?解:在內(nèi)存中,字符型數(shù)據(jù)以ASCII碼儲存,ASCII碼是一串二進制編碼,每個字符的ASCII碼對應一個整數(shù)值,大寫字母與其對應小寫字母的

ASCII

碼對應整數(shù)值相差

32。所以,要將一個大寫字母變換為小寫字母,只要將該變量的值加上

32即可。4.常量’a’與”a”在內(nèi)存中所占用的字節(jié)數(shù)能否同樣?為何?4.解:常量’a’與”a”在內(nèi)存中所占用的字節(jié)數(shù)不同樣,由于’a’是字符常量,在內(nèi)存中占用一個字節(jié)儲存,而”a”是字符串常量,在內(nèi)存中儲存時,系統(tǒng)自動在以后加上一個字符串結(jié)束符’\0’,在內(nèi)存中占用2個字節(jié)儲存。5.如有定義inta;floatf,則表達式’c’+a+f的結(jié)果為何種數(shù)據(jù)種類?為何?5.如有定義inta;floatf,則表達式’c’+a+f的結(jié)果為double型。由于表達式中float型,在計算以前一定先變換為double型,依據(jù)數(shù)據(jù)種類的自動變換規(guī)則,表達式的結(jié)果為double型。

f為6.設

C語言中,一個

short

型數(shù)據(jù)占用

2個字節(jié)儲存,如有定義

shortx=-12

,則變量

x的值-12

在內(nèi)存中儲存的二進制代碼是如何表示的?6.解:整數(shù)在內(nèi)存中以補碼形式儲存,負數(shù)的補碼為反碼

+1,所以,當

x=-12

時,其在內(nèi)存中的儲存形式為:

。7.設

C語言中,一個

short

型數(shù)據(jù)占用

2個字節(jié)儲存,如有定義

shortx=32768

,則用輸出語句

printf

(”%d\n”,x

);輸出

x值為多?為何?7.解:輸出結(jié)果為-32768,由于一個short型數(shù)據(jù)在內(nèi)存中占用2個字節(jié)儲存,所能表示的數(shù)值范圍為-32768~32767,當x=32768時,高出了其能表示的范圍,發(fā)生了溢出,數(shù)值32768的二進制編碼的16位正好對應數(shù)值-32768。8.如有x為int型變量,則履行x=后,變量x的值為多少?為何?8.解:如有x為int型變量,則履行x=后,變量x的值為3,由于x為int型變量,不可以存儲實型數(shù)據(jù),當把一個實型數(shù)據(jù)賦給x時,發(fā)生了數(shù)據(jù)種類變換,系統(tǒng)自動把實型數(shù)據(jù)的小數(shù)部分舍去。9.分析下邊兩個程序運轉(zhuǎn)結(jié)果能否同樣?為何?程序A:#include<>程序B:#include<>voidmain( )voidmain( ){{}

charc1,c2;intc1,c2;c1=’a’;c1=97;c2=’b’;c2=98;printf(“%c,%c\n”,c1,c2);}

printf(

“%c,%c\n”,c1,c2);9.解:兩個程序的運轉(zhuǎn)結(jié)果同樣。由于字符型數(shù)據(jù)以ASCII碼儲存,ASCII碼是一串二進制編碼,每個字符的ASCII碼對應一個整數(shù)值。所以,在必定范圍內(nèi),整型數(shù)據(jù)和字符型數(shù)據(jù)是能夠通用的。字符’a’和’b’對應的ASCII編碼值分別為97,98。10.分析下邊程序的運轉(zhuǎn)結(jié)果:#include<>voidmain( ){charc1='A',c2='B',c3='C',c4='\101',c5='\x42';printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);printf("%c\t%c\bB\n",c4,c5);aAbB□□□□cC□□□□□□abcA□□□□□□□BB}習題三一、選擇題1.如有代數(shù)式

3ae

,則不正確的

C語言表達式是(

C

)。bcA.a/b/c*e*3

B.3*a*e/b/c

C.3*a*e/b*c

D.a*e/c/b*32.在

C語言中,要求運算數(shù)一定是整型的運算符是(

D)。A./B.=C.++D.%3.如有定義語句:inta=7;floatx=,y=;

則表達式

x+a%3*(int)(x+y)%2/4

的值(

A

)。

C.

如有定義

intx=5,y=2

,則表達式

5/2

的結(jié)果為(

B

)。

B.2

C.

D.35.判斷

char型變量

ch

能否為大寫字母的正確表達式是(

C)。A.‘A’<=ch<=’Z’

B.(ch>=

’A’)&(ch<=

’Z’)C.(ch>=

’A’)&&(ch<=’Z’)

D.(ch>=

’A’)and(ch<=

’Z’)6.為表示關系

a≥b≥c,則正確的

C語言表達式為(

C)。A.a>=b>=c

B.(a>=b)&(b>=c)C.(a>=b)&&(b>=c)

D.(a>=b)||(b>=c)7.邏輯運算符雙側(cè)運算對象的數(shù)據(jù)種類(D)。A.只好是0或1B.只好是0或非0正數(shù)C.只好是整型或字符型D.能夠是任何數(shù)據(jù)種類8.以下運算符中,優(yōu)先級最高的是(B)。A.<B.+C.&&D.==9.設x、y、z是int型變量,且有x=3,y=4,z=5,則下邊表達式中值為0的是(D)。A.‘x’&&’y’B.x<=yC.x||y+z&&y-zD.!((x<y)&&!z||1)10.已知x=43,ch=’A’,y=0;則表達式(x>=y&&ch<’B’&&!y)的值為(B)。A.0B.1C.“假”D.true11.以下表達式中,不滿足條件“當x為奇數(shù)時價為真,當x為偶數(shù)時價為假”的是(C)。A.x%2==1B.!(x%2==0)C.?。▁%2)D.x%212.設有inta=1,b=2,c=3,d=4,m=2,n=2;則履行表達式(m=a>b)&&(n=c>d)后,n的值為(C)。A.0B.1C.2D.313.判斷char型變量c能否為0到9的數(shù)字的正確表達式為(C)。A.‘0’<=c<=’9’B.0<=c<=9C.c>=’0’&&c<=’9’>=0&&c<=914.設有intx=3,y=4,z=5,則履行表達式?。▁+y)+z-1&&y+z/2的結(jié)果是(D)。A.6B.0C.2D.115.以下程序的運轉(zhuǎn)結(jié)果是(B)。#include<>voidmain( ){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d\n”,a,b);}A.6,1B.2,1C.6,0D.2,016.履行以下語句后x的值為intx=5,y=6,t=1,a=2,b=3,z=4;(x=t>a)&&(y=b>z)A.5,6B.5,0C.0,6D.0,0

,y的值為

C

)。17.以下表達式中,與表達式

!a

等價的是(

D)。A.a==0

B.a==1

C.!a==0

D.!a==118.以下符合C語語言法的賦值表達式是(D)。A.a=10+n+m=a+3B.a=10+m,b=a+5C.b=b*8=2D.a+=a-=(m=4)*(n=3)19.如有inta=7,b=12,則以下表達式中,值為3的是(D)。A.b%=(a%=5)B.b%=(a-a%5)C.b%=a-a%5D.(b%=a)-(a%=5)20.已知各變量的種類說明以下。inta=2,b;doublex=;則以下不符合C語語言法的表達式是(A)。A.x%(-3)B.a+=2C.a+=a-=(b=4)D.x/=(b=3)21.設以下變量均為int種類,則值不等于7的表達式是(C)。A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)22.若x,i,j,k都是int型變量,則履行表達式x=(i=4,j=16,k=32)后,x的值為(C)。A.4B.16C.32D.5223.履行下邊程序段后,輸出結(jié)果為(C)。intx=13,y=5;printf(“%d”,x%=(y/2));A.3B.2C.1D.024.設x,y均為float型變量,則以下不合法的賦值語句是(B)。A.x=B.y=(x%2)/10;C.x*=y+8;D.x=y=0;25.設inta=10,則履行語句a+=a*=a/5+10;后,a的值是(A)。.120C26.設有定義語句intx=2;則以下表達式中,值不為6的是(D)。A.x*=x+1B.x=2,3*xC.x*=(1+x)D.2*x,x+=227.已知變量x、y、z都為int型,則履行z=2+(y=1,y+=1,x=y,x+8)后,x和z的值分別為(A)。=2,z=12B.x=2,z=10C.x=10,z=12D.x=10,z=1028.若w=1,x=2,y=3,z=4,則條件表達式w<x?w:y<z?y:z的值是(D)。A.4B.3C.2D.129.若w、x、y、z、m均為int型變量,則履行下邊語句后,m的值為(A)。w=1;x=2,y=3;z=4m=(w<x)?w:x;m=(m<y)?m:ym=(m<z)?m:z;30.若運轉(zhuǎn)時給變量

x輸入12,則以下程序的運轉(zhuǎn)結(jié)果是(

A)。#include<>voidmain( ){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(

“%d\n”,y);}A.031.若已知

num、sum均為int

D.10型變量,且num=sum=7;則計算表達式

sum=num++,sum++后,sum的值為(

B)。A.7

B.8

C.9

D.1032.如有

intx=11

,則表達式(

x++*1/3)的結(jié)果為(

B)。A.5

B.3

C.4

D.633.如有定義語句:

intx=3

;則以下表達式中,值為

5的是(

A

)。A.++x,x+1

B.x+=2,--x

C.x+=2,x+1

D.x++,x++34.若已知

m,n,x,y

int

型變量,則履行以下語句后,變量

y的值為(

D

)。m=10;n=5;x=(--m==n++)?--m:++n;y=n;A.5

B.10

C.6

D.735.履行以下程序段后,變量a,b,cintx=10,y=9;inta,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;A.a=9,b=9,c=9B.a=8,b=8,c=10a=1,b=11,c=10

的值分別為(BC.a=9,b=10,c=9

)。D.36.以下程序的輸出結(jié)果是(C)。#include<>voidmain( ){intw=3,z=7,x=10;printf(“%d\n”,x>10?x+100:x-10);printf(“%d\n”,w++||z++);printf(“%d\n”,!w>z);printf(“%d\n”,w&&z);}A.0B.1C.0D.011111100111037.以下對于運算符優(yōu)先次序的描繪中正確的選項是(C)。關系運算符<算術運算符<賦值運算符<邏輯與運算符邏輯與運算符<關系運算符<算術運算符<賦值運算符賦值運算符<邏輯與運算符<關系運算符<算術運算符算術運算符<關系運算符<賦值運算符<邏輯與運算符38.以下運算符中,優(yōu)先級最高的是(D)。A.<

B.%

C.&&

D.++39.設

x、y

z是int

型變量,且

x=3,y=4,z=5,

則下邊表達式中值為

0的是(

C

)。A.‘x’&&’y’

B.x<=y<=zC.y+z&&y-z&&(x+1)%2

D.!x||x<y&&140.以下不可以將變量

c中的大寫字母變換為對應小寫字母的語句是(

D)。A.c+=32

B.c=c-

‘A’+’a’

C.c=c-65+97

D.c=c-32二、填空題1.若s是int型變量,且有s=6,則表達式s%2+(s+1)%2的值為1。2.若a是int型變量,則計算表達式a=25/3%3后,a的值為2。3.如有定義:intb=7;floata=,c=;則表達式a+(int)(b/3*(int)(a+c)/2)%4的值為。4.如有定義:inta=2,b=3;floatx=,y=;則表達式(float)(a+b)/2+(int)x%(int)y的值為。5.如有定義:intx=3,y=2;floata=,b=;則表達式(x+y)%2+(int)a/(int)b的值為。6.當a=3,b=2,c=1時,表達式f=a>b>c的值為0。7.當a=5,b=4,c=2時,表達式a>b&&!c的值為0。語言供給的三種邏輯運算符是&&、||、!。9.若a=2,b=4,則表達式!(x=a)||(y=b)&&0的值為0。10.若a=1,b=4,c=3,則表達式?。╝<b)||!c&&1的值為0。11.若a=6,b=4,c=3,則表達式a&&b+c||b-c的值為1。12.若a=3,b=4,c=5,則表達式a||b+c&&b==c的值為1。條件“0≤x≤1或-1≤x≤0”的C語言表達式是x>=0&&x<=1||x>=-1&&x<=0。14.如有定義:intm=5,y=2;則計算表達式y(tǒng)+=y-=m*=y后,y的值為-16。15.若a是int型變量,且a的初值為6,則計算表達式a+=a-=a*a后,a的值為-60。16.若a是int型變量,則表達式(a=4*5,a*2),a+6的值為26。17.若x和n均為int型變量,且有x=n=5,則計算表達式x+=n++后,x的值為10,n的值為6。18.若n、i均為int型變量,則表達式n=i=2,++i,i++的值為3。19.如有定義:intx=1,y=0;則表達式x<(y+x)?’B’:’C’>y++?’A’:’Z’的值為。20.如有定義:intx=0,y=1;則表達式x++*x--!=’y’?8-4:y的值為4。三、思慮/編程題1.設有定義:inta=3,b=4;floatx=,y=;分析下邊算術表達式的值1)x+a%2*(int)(x+y)%2/42)(float)(a+b)/2+(int)y%(int)x2.C語言中如何表示“真”和“假”?系統(tǒng)如何判斷一個量的“真”“假”?2.假如一個表達式的值為“真”,則以1表示,假如值為“假”,則以0表示;當判斷一個量的邏輯值時,系統(tǒng)將0判斷為“假”,將非0判斷為“真”。3.設有定義:inta=3,b=4,c=5,試分析以下表達式的值:a+b>c&&b==c0a||b+c&&b-c1(3)!(a>b)&&!c||11(4)!(x=a)&&(y=b)&&0(5)!(a+b)+c-1&&b+c/214.設有定義:

inta=15,n=7;

試分析以下表達式履行后

a的值為多少?(1)a+=a

(2)a-=5

(3)a*=5-2(4)a%=(n%3)

(5)a/=(a+a)

(6)a+=a-=a*a(7)a+=a-=a*=a4.(1)30;(2)10;(3)45;(4)0;(5)0;(6)-420;(7)05.設有定義:inta,b;試分析下邊表達式履行后變量a、b和表達式的值各是多少?a=3,b=a+2,a++,(b++)+1.a(chǎn)=4,b=6,

表達式的值為

6;“%d,%d\n”,a,c);6.試分析下邊程序的運轉(zhuǎn)結(jié)果。#include<>voidmain( ){inti=10,j=10;intm,n;m=++i;n=j--;printf(“%d,%d,%d,%d\n”,i,j,m,n);6.11,9,11,107.試分析下邊程序的運轉(zhuǎn)結(jié)果。#include<>voidmain( ){inta,b,c;a=b=1;c=a++-1;printf(“%d,%d\n”,a,c);c+=-a+++(++b||++c);printf(}2,03,-18.若程序運轉(zhuǎn)時從鍵盤輸入345,試分析下邊程序的運轉(zhuǎn)結(jié)果:#include<>voidmain( ){intx,y,z,max;scanf(“%d%d%d”,&x,&y,&z);max=x>y&&x>z?x:y>x&&y>z?y:z;printf(“%d\n”,max);}59.編寫程序,從鍵盤輸入整型變量x的值,判斷并輸出x是奇數(shù)還是偶數(shù)。9.#include<>voidmain( ){intx;printf("

請輸入

x的值:");scanf("%d",&x);x%2?printf("

奇數(shù)\n"):printf("

偶數(shù)\n");}10.編寫程序,從鍵盤輸入一個大寫字母賦給字符型變量ch,并將其變換成對應小寫字母后輸出。]10.#include""voidmain( ){charch;printf("請輸入一個大寫字母:");scanf(“%c”,&ch);ch=ch+32;printf("%c\n",ch);}習題四一、選擇題1.C語言程序的三種基本構(gòu)造是(A)。A.次序構(gòu)造、選擇構(gòu)造、循環(huán)構(gòu)造B.遞歸構(gòu)造、循環(huán)構(gòu)造、轉(zhuǎn)移構(gòu)造C.嵌套構(gòu)造、遞歸構(gòu)造、次序構(gòu)造D.循環(huán)構(gòu)造、轉(zhuǎn)移構(gòu)造、次序構(gòu)造2.以下能正確立義且賦初值的語句是(B)。n1=n2=10;c=32;f=f+;x=以下能正確立義整型變量a,b和c并為其賦初值5的語句是(A)。A.inta=b=c=5;B.inta,b,c=5;C.a=5,b=5,c=5;D.a=b=c=5;4.在以下選項中,不正確的賦值語句是(D)。A.++t;=(n2=(n3=0));=i==j;=b+c=15.有以下程序:main( ){inta=0,b=0;a=10;b=20;printf("a+b=%d\n",a+b);}程序運轉(zhuǎn)后的輸出結(jié)果是(B)。+b=10+b=30C.30

D.

犯錯6.有以下程序段:charch='a';intk=12;printf("%c,%d,",ch,ch,k);

printf("k=%d\n",k);已知字符

a的

ASCII

十進制代碼為

97,則履行上述程序段后輸出結(jié)果是(

D)。因變量種類與格式描繪符的種類不般配輸出無定值輸出項與格式描繪符個數(shù)不符,輸出為零值或不定值,97,12k=12,97,k=127.履行下邊程序段后的輸出結(jié)果是(D)。inta=15;printf("a=%d,a=%o,a=%x\n",a,a,a);=15,a=15,a=15=15,a=017,a=0xf=15,a=17,a=0xf=15,a=17,a=f8.以下程序的輸出結(jié)果是(A)。main( ){inta=010,b=10,c=0x10;printf("%d,%d,%d",a,b,c);},10,16

,10,10

C.10,10,10

,10,169.以下程序的運轉(zhuǎn)結(jié)果是(

A

)。(注:□代表空格

)#include<>main( ){intm=5,n=10;printf("%d,%d\n",m++,--n);}A.5,9B.6,9C.5,10D.6,1010.設有以下程序:#include<>main( ){inta=201,b=012;printf(“%2d,%2d\n”,a,b);}程序履行后的輸出結(jié)果是(B)。,02

,10

C.01,10

,0111.有定義語句

inta,b;

,若要經(jīng)過語句

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

使變量

a獲得數(shù)值

6,變量

b獲得數(shù)值

5,下邊輸入形式中錯誤的選項是(

C)。(注:□代表空格

)A.6,5<

回車>

B.6,

□□5<回車>C.65<.

回車>

D.6,<

回車>5<回車>12.已有以下定義和輸入語句,若要求

a1,a2,c1,c2

的值分別為

10,20,A和

B,當從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是(A)。(注:□表示空格)inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);A.10A□20B<回車>B.10□A□20□B<回車>C.10A□20B<回車>D.10A20□B<回車>13.已有定義語句intx;floaty;且履行scanf("%3d%f",&x,&y);語句,若從第一列開始輸入數(shù)據(jù)12345□678<回車>,則x的值為(B)。(注:□表示空格)B.123C.4514.有輸入語句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);為使變量a的值為1,b的值為3,c的值為2;從鍵盤輸入數(shù)據(jù)的正確形式應該是(D)。(注:□表示空格)A.132<回車>B.1,3,2<回車>C.a=1□b=3□c=2<回車>D.a=1,b=3,c=2<回車>15.設有以下程序:include<>main( ){charch1='A',ch2='a';printf("%c\n",(ch1,ch2));}則以下表達中正確的選項是(B)。程序的輸出結(jié)果為大寫字母A程序的輸出結(jié)果為小寫字母a運轉(zhuǎn)時產(chǎn)生錯誤信息D.格式說明符的個數(shù)少于輸出項的個數(shù),編譯犯錯16.履行下邊程序段后的輸出是(A)。(注:□表示空格)floatf1=;printf(“%%ff1=%8.3f\n”,f1);A.%ff1=

□B.%ff1===17.以下不符合

C語法的賦值語句是(

C)。A.m=(2+1,m=1);B.m=n=0;C.m=1,n=2D.n++;18.以下程序的輸出結(jié)果是(D)。(注:□代表空格)main( ){printf("\n*s1=%15s*","chinabeijing");printf("\n*s2=%―5s*","chi");}A.*s1=chinabeijing□□□*B.*s1=chinabeijing*s2=**chi**s2=chi□□*C.*s1=*□□chinabeijing*D.*s1=□□□*s2=□□chi**s2=chi□□*

□□□chinabeijing*

*19.依據(jù)以下定義語句和數(shù)據(jù)輸入方式,

scanf

語句的正確形式應為(

B)。已有定義:floatf1,f2;數(shù)據(jù)的輸入方式:

<回車><

回車>A.scanf("%f,%f",&f1,&f2);B.scanf("%f%f",&f1,&f2);C.scanf("%3.2f%2.1f",&f1,&f2);D.scanf("%3.2f%,2.1f",&f1,&f2);20.閱讀以下程序,當輸入數(shù)據(jù)的形式為25,13,10<回車>,程序的輸出結(jié)果為(

D)。main( ){intx,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n",x+y+z);}A.x+y+z=48

B.x+y+z=35

C.x+z=35

D.

不確立值21.以下

scanf

函數(shù)的表達中,正確的選項是(

D)。A.輸入一項能夠為一實型常量,如

scanf("%f",;B.只有格式控制,沒有輸入項,也能進行正確輸入,如scanf("a=%d,b=%d");C.當輸入一個實型數(shù)據(jù)時,格式控制部分應規(guī)定小數(shù)點后的位數(shù),如

scanf("%4.2f

",&f);D.當輸入數(shù)據(jù)時,一定指明變量地點,如

scanf("%f",&f);22.如有以下定義,則正確的賦值語句是(

B)。inta,b;floatx;A.a=1,b=2,

B.b++;

C.a=b=5

D.b=int(x);23.已知

ch

是字符型變量,下邊不正確的賦值語句是(

A)。A.ch='a+b';

B.ch='\0';

C.ch='7'+'9';

D.ch=5+9;24.設A.++x;25.設

x,y均為float型變量,則以下不合法的賦值語句是(B.y=(x%2)/10;C.x*=y+8;D.x=y=0;inta=10,則履行語句a+=a*=a/5+10;后,a的值是(.120C

D)。A)。26.以下程序的運轉(zhuǎn)結(jié)果是(

D)。include<>main( ){intx1=0xabc,x2=0xdef;x2-=x1;printf("%x\n",x2);}D.33327.有以下程序,此中%u表示按無符號整數(shù)輸出:main( ){unsignedintx=0xFFFF;printf("%u\n",x);}程序運轉(zhuǎn)后的輸出結(jié)果是(B)。.65535C28.設有以下程序:include<>main( ){charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar( );c6=getchar( );putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);}若運轉(zhuǎn)時從鍵盤輸入數(shù)據(jù):abc<回車>defg<回車>,則輸出結(jié)果是(B)。A.abcdB.abdeC.abef29.以下程序的運轉(zhuǎn)結(jié)果是(A)。(注:□表示空格)main( ){inty=23456;printf("y=%3x\n",y);printf("y=%8x\n",y);printf("y=%#8x|n",y);}=5ba0

=

□□□

5ba0y=y=

□□□□5ba0□□0x5ba0

y=y=

□□□□□□□□□0x5ba0

5ba0=5ba0y=5ba0y=0x5ba0

=5ba0y=y=####5ba0

□□□□

5ba030.若x,y均定義為

int

型,z定義為

double

型,以下不合法的

scanf

函數(shù)調(diào)用語句是(

D

)。A.scanf("%d%lx,%le",&x,&y,&z);

("%2d

%*d%lf",&x,&y,&z);("%x%*d%o",&x,&y,&z);

("%x%o%6.2f",&x,&y,&z);二、填空題語句的最后用

;

結(jié)束。2.以下printf語句中的負號的作用是輸出數(shù)據(jù)左對齊#include<>main( )

。{intx=12;doublea=;printf("%6d##\n",x);printf("%-6d##\n",x);}3.以下printf語句中*號的作用是能夠使同一輸出語句中的輸出寬度得以改變。#include<>main( ){inti=1;printf("##%*d\n",i,i);}4.以下程序的輸出結(jié)果是x=1y=2*sum*=3。main( ){intx=1,y=2;printf("x=%dy=%d*sum*=%d\n",x,y,x+y);}5.以下程序的輸出結(jié)果是261。#include<>main( ){intm=177;printf("%o\n",m);}6.已有定義inta;floatb,x;charc1,c2;為使a=3,b=,x=,c1='a',c2='A',正確的scanf函數(shù)調(diào)用語句是scanf("%d%f%f%c%c",&a,&b,&c1,&c2);。7.若整型變量a和b中的值分別為7和9,要求按以下格式輸出a和b的值:a=7b=9請達成輸出語句:printf("_______a=%d\nb=%d\n_______",a,b);。8.以下程序運轉(zhuǎn)后的輸出結(jié)果是10,11。main( ){intm=011,n=11;printf("%d,%d\n",++m,n++);}9.以下程序的輸出結(jié)果是20。#include<>main( ){intn=0;n+=(n=10);printf("%d\n",n);}10.履行以下程序時輸入1234567<CR>,則輸出結(jié)果是1234。#include<>main( ){inta=1,b;scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);}11.以下程序的輸出結(jié)果是*,*。main( ){printf("*%f,%4.3f*\n",,;}12.以下程序的輸出結(jié)果是2,48,,。#include<>main( ){intn=100;charc;floatf=;doublex;x=f*=n/=(c=48);printf("%d,%d,%3.1f,%3.1f\n",n,c,f,x);}13.若要求以下程序的輸出結(jié)果為,則[]中應填入的是。include<>main( ){intk=2,m=5;floats,x=,y=[];s=2/3+k*y/x+m/2;printf("%4.2f\n",s);}14.已知字母A的ASCII碼值為65。以下程序的輸出結(jié)果是a=66,b=E。include<>main( ){chara,b;a='A'+'4'-'3';b='A'+'6'-'2';printf("a=%d,b=%c\n",a,b);}如有以下定義和語句,為使變量c1獲得字符'A',變量c2獲得字符'B',正確的輸入形式是A□□□B□□□<回車>。charc1,c2;scanf("%4c%4c",&c1,&c2);三、編程題1.編寫程序,用一個16進制數(shù)對整型變量a賦值,按十進制數(shù)輸出a的值。1.#include<>main( ){inta;a=0x123;printf(“%d\n”,A.;}2.編寫程序,把450分鐘換算成用小時和分鐘表示,而后進行輸出。2.#include<>main( ){inth,m,t=450;h=t/24;m=t%24;printf("450分鐘換算成小時和分鐘表示:%d小時,%d分鐘\n",h,m);}3.編寫程序,從終端鍵盤輸入圓的半徑r,圓柱的高h,分別計算出圓周長c1,圓面積cs,和圓柱的體積cvz。輸出計算結(jié)果時要求有文字說明,并取小數(shù)點后3.#include<>main( ){floatpi,r,h,c1,cs,cvz;printf("請輸入圓的半徑r和圓柱的高h:");scanf("%f,%f",&r,&h);

2為數(shù)字。pi=;c1=2*pi*r;cs=pi*r*r;cvz=pi*r*r*h;printf("圓的周長為:%6.2f\n",c1);printf("圓的面積為:%6.2f\n",cs);printf("圓柱的體積為:%6.2f\n",cvz);}4.編寫程序,輸入一個字母,輸出與之對應的ASCII碼,輸入輸出都要有相應的文字提示。4.#include<>main( ){charch;printf("請輸入一個字母:");scanf("%c",&ch);printf("字母%c對應的ASCII碼為%d\n",ch,ch);}5.編寫程序,從鍵盤輸入兩個整數(shù),分別計算出它們的商和余數(shù)。輸出時,商要求保存2為小數(shù),并對第三位進行四舍五入。5.#include<>main( ){intx,y;printf("請輸入兩個整數(shù):");scanf("%d%d",&x,&y);printf("兩數(shù)的商是%5.2f,兩數(shù)的余數(shù)是%d\n",(double)x/y,x%y);}6.編寫程序,從鍵盤輸入一個華氏溫度,要求輸出攝氏溫度。公式為c=5/9*(f-32),輸出要有相應的文字說明。6.#include<>main( ){floatf,c;printf("請輸入華氏溫度:");scanf("%f",&f);c=*(f-32);printf("攝氏溫度為:%f\n",C.;}7.編寫程序,從鍵盤輸入一個大寫字母,要求輸出對應的小寫字母,輸入輸出都要有相應的文字提示。7.#include<>main( ){charch;printf("請輸入一個大寫字母:");scanf("%c",&ch);ch=ch+32;printf("小寫字母為:%c\n",ch);}8.編寫程序,從鍵盤輸入三個整數(shù),求它們的均勻值。輸出計算結(jié)果時要求有文字說明,并取小數(shù)點后2為數(shù)字。8.#include<>main( ){intnum1,num2,num3;floataver;printf("請輸入三個整數(shù):");scanf("%d,%d,%d",&num1,&num2,&num3);aver=(num1+num2+num3)/;printf("三個整數(shù)分別為:%d,%d,%d\n",num1,num2,num3);printf("均勻值=%7.2f\n",aver);}9.編寫程序,從鍵盤輸入兩個整數(shù)給變量x和y,互換x和y的值后輸出。輸入輸出都要有相應的文字提示。9.#include<>main( ){intx,y,t;printf("請輸入兩個整數(shù):");scanf("%d,%d",&x,&y);printf("互換前:x=%d,y=%d\n",x,y);t=x;x=y;y=t;printf("互換后:x=%d,y=%d\n",x,y);}10.編寫程序,用gechar函數(shù)讀入兩個字符給ch1、ch2,而后分別用putchar函數(shù)和printf函數(shù)輸出這兩個字符。10.#include""main( ){charch1,ch2;printf("請輸入兩個字符:");ch1=getchar( );ch2=getchar( );printf("用putchar函數(shù)輸出結(jié)果為:");putchar(ch1);putchar(ch2);putchar('\n');printf("用printf函數(shù)輸出結(jié)果為:");printf("%c,%c\n",ch1,ch2);}習題一、選擇題1.在C語言中,緊跟在要點字if后一對圓括號里的表達式(D)。A.只好用邏輯表達式B.只好用關系表達式C.只好用邏輯表達式或關系表達式D.能夠是隨意表達式2.在嵌套使用if語句時,C語言規(guī)定else老是(C)。A.和以前與其擁有同樣縮進地點的if配對B.和以前與其近來的if配對C.和以前與其近來的且不帶else的if配對D.和以前的第一個if配對3.如有條件表達式(exp)?a++:b--,則以下表達式中能完整等價于表達式(exp)的是(B)。A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)4.以下程序的輸出是(B)。main( ){intx=2,y=-1,z=2;if(x<y)if(y<0)z=0;elsez+=1;printf(“%d\n”,z);}A.3B.2C.1D.05.如有表達式(w)?(-x):(++y),此中與w等價的表達式是(D)。==1==0C.w!=1!=06.C語言中的switch語句形式以下所示,要點字switch后一對圓括號中表達式exp的種類是(A)。switch(exp){case常量表達式1:語句1;case常量表達式n:語句n;default:語句n+1;}A.只好是整型或字符型B.只好是int種類C.只好是字符型D.只好是整型或?qū)嵭鸵韵虏徽_的if語句形式是(D)。(x>y&&x!=y);(x==y)x+=y;(x!=y)scanf(“%d”,&x)elsescanf(“%d”,&y);D.if(x<y){x++;y++;}8.履行以下程序后的輸出是(B)。inti=-1;if(i<=0)printf(“****\n”)elseprintf(“%%%%\n”);A.****B.有語法錯誤,不可以正確履行C.%%%%cD.%%%%9.以下表達正確的選項是(D)。語句只好用于switch語句B.在switch語句中一定使用default語句一定與switch語句中的case配對D.在switch語句中,不必定使用break語句10.已知intx=10,y=20,z=30;履行以下語句后x,y,z的值是(B)。if(x>y)z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=2011.已知a,b,c的值分別為1,2,3,則履行以下語句后a,b,c的值分別是(D)。if(a++<b){c=a;a=b;b=c;}elsea=b=c=0;,0,0,2,3C.1,2,1,2,2如有定義”intx,y;”并已正確給變量賦值,則以下選項與表達式”(x-y)?(x++):(y++)

”中的條件表達式”

(x-y)

”等價的是(

C

)。A.(x-y>0)

B.(x-y<0)

C.(x-y<0||x-y>0)

D.(x-y==0)13.以下程序(D)。main( ){inta=5,b=0,c=0;if(a=b+c)printf(“***\n”);elseprintf(“$$$\n”);}A.有語法錯誤不可以經(jīng)過編譯C.輸出***D.

B.

能夠經(jīng)過編譯但不可以經(jīng)過連結(jié)輸出$$$有以函數(shù)關系是:當x<0,y=x-1;當x=0,y=x,當x>0,y=x+1。以下能正確表示上邊關系的程序段是(A.y=x+1;if(x>=0)if(x==0)y=x;

C)。B.y=xif(x!=0)if(x>0)y=x+1;

-1elsey=x

-1;

elsey=x;C.if(x<=0)

D.y=x;if(x<0)y=xelsey=x;elsey=x+1;

-1;

if(x<=0)if(x<0)y=xelsey=x+1;

-1;15.若運轉(zhuǎn)時為變量

x輸入

12,則以下程序的運轉(zhuǎn)結(jié)果是(

A)。main( ){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}A.0B.22C.12D.10以下if語句中格式正確的選項是(B)。(a>b)b++elsea++;(a>b){b++;printf(else{a++;printf((a>b){b++;printf(“%d”,b)}(a>b)b++;printf(

“%d”,b);}“%d”,a);}“%d”,b);else{a++;printf(

“%d”,a);}

elseprintf(

“%d”,a);17.以下語法正確的

if

語句是(

B

)。(x>0)

(x>0)printf(“%f”,x)elseprintf(“%f”,

-x);

{x=x+y;printf(elseprintf(

“%f”,x);}“%f”,-x);(x>0)

(x>0){x=x+y;printf(elserintf(

“%f”,x);}“%f”,-x);

x=x+y;printf(elseprintf(

“%f”,x);“%f”,-x);18.有以下程序,從鍵盤上輸入

3和

4,則程序輸出是(

B)。#include<>main( ){inta,b,s;scanf(“%d%d”,&a,&b);s=a;if(a<b)s=b;s=s*sprintf(“%d”,s);}.16

C19.有以下程序,從鍵盤上輸入#include<>main( ){intx,y;printf(“Enteraninteger(x):scanf(“%d”,&x);if(x++<0)y=-1;elseif(x==0)y=0;elsey=1;printf(“%d”,y);

-1,則程序輸出是(”);

A

)。}.0

C

D.

不確立的值20.以下程序的輸出是(C)。main( ){inta=100,x=10,y=20,ok1=5,ok2=0;if(x<y)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf(“%d\n”,a);}A.1B.0C.21.有以下程序,程序運轉(zhuǎn)的結(jié)果是(#include<>main( ){intx=1,y=2,z=3;if(x>y)if(y<z)printf(“%d”,++z);elseprintf(“%d”,++y);printf(“%d\n”,x++);}311C.2

-1D

D.)。

值不確立若變量已正確立義,有以下程序段:inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf(“%d,%d,%d\n”,a,b,c);其輸出結(jié)果是(

B

)。A.程序段有語法錯誤,5,3C.3,5,523.以下程序的輸出是(A)。#include””main( ){intx=1;if(x=2)printf(“OK”);elseif(x<2)printf(“%d\n”,x):elseprintf(“Quit”);A.OKB.QuitC.1D.

,5,7

無輸出結(jié)果有以下程序:main( ){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf(‘%d,%d,%d,%d\n”,a,b,c,d);}程序輸出(D)。,1,2,0

,0,0,3

C.1,1,2,0

D.

編譯有錯25.以下程序所表示的分段函數(shù)是(#include””

D)。main( ){intx,y;printf(

“Enterx:

”);scanf(“%d”,&x);y=x>=0?2*x+1:0;printf(“x=%d:f(x)=%d”,x,y);}A.f(x)=0(x<=0)B.f(x)=0(x>=0)f(x)=2x+1)(x>0)f(x)=2x+1(x<0)C.f(x)=2x+1(x<0)D.f(x)=0(x<0)f(x)=0(x>=0)f(x)=2x+1(x>=0)26.若w=1,x=2,y=3,z=4,則條件表達式w<x?w:y<z?y:z.3C27.若w,x,y,z,m均為int型變量,則履行下邊語句后的w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;.2C

的值是(m值是(A

D)。

)。若履行下邊的程序時從鍵盤上輸入10,則輸出的是(B)。main( ){inta;scanf(“%d”,&a);if(a++>10)printf(“%d\n”,++a);elseprintf(“%d\n”,a--);}.11C29.有以下程序,輸出的是(B)。main( ){intx=100,a=10,b=20,v1=5,v2=0;if(a<b)if(b!=15)if(!v1)x=1;elseif(v2)x=10;x=-1;printf(“%d\n”,x);}B.-1C.1有以下程序,(A)是正確的判斷。main( ){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d\n”,x,y);}A.有語法錯誤B.若輸入3和4,則輸出4和5C.若輸入4和3,則輸出3和4D.若輸入4和3,則輸出4和431.設變量x和y均已正確立義并賦值,以下的if語句中,在編譯時將產(chǎn)生錯誤信息的是(C)。(x++);(x>y&y!=0);(x>y)x--(y<0){;}elsey++;elsex++;32.若變量都已正確立義,則以下程序段的輸出是(B)。a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf(“a=%db=%dc=%d\n”,a,b,c);=10b=30c=10

=10b=50c=10

C.a=50b=30c=10

=50b=30c=5033.當a=1,b=3,c=5,d=4if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;34.以下程序的輸出是(#include””main( )

時,履行以下程序段后B)。

x的值是(

B

)。{inta=5,b=8,c=3,max;max=a;if(c>b)if(c>a)max=c;elseif(b>a)max=b;printf(“max=%d\n”,max);}A.max=8B.max=5C.max=3D.35.以下程序的運轉(zhuǎn)結(jié)果是(D)。main( ){intk=4,a=3,b=2,c=1;printf(“\n%d\n”,k<a?k:c<b?c:a);}36.以下程序運轉(zhuǎn)后的輸出結(jié)果是(C)。#include<>main( ){intx=2,y=3;printf(x>y?"***x=%d":"###y=%d\n",x,y);}

無輸出結(jié)果A.語法錯誤B.***x=2C.###y=237.有以下程序,運轉(zhuǎn)后的輸出結(jié)果是(main( ){inta=2,b=0,c=-1;if(a=b+c)if(a>0)b=c=a;elseif(a==0)a=b=c=0;elsea=b=c=1;elsea=b=c=-1;printf(“%d,%d,%d”,a,b,c);}

D.###y=3A)。,1,138.若u,w,x,y

,0,0C.-1,-1,-1均為正整型變量,則以下正確的switch

,2,2語句是(A

)。(x+y)

x{case10:u=x+y;break;

{default:u=x+y;case11:w=x

-y;break;

case10:w=x

-y;break;}

case11:u=x*y;break;(x*x+y*y)

(pow(x,2)+pow(y,2))

(注:

pow是求冪的數(shù)學函數(shù)){case3:

{case1:case3:w=x+y;break;case3:w=x+y;break;

case0:case5:w=x

-y;case0:w=y-x;break;

}39.有以下程序,程序的運轉(zhuǎn)結(jié)果是(D)。#include<>main( ){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf(“a=%d,b=%d\n”,a,b);}=1,b=0=2,b=2C.a=1,b=1=2,b=140.有以下程序,運轉(zhuǎn)后的結(jié)果是(C)。#include<>main( ){intx=0,y=2,z=3;switch(x){case0:switch(y==2){case1:printf("*");break;case2:printf("%");break;}case1:switch(z){case1:printf("$");case2:printf("*");break;default:printf("#");}}}A.*B.*$C.*#D.*$*二、填空題若運轉(zhuǎn)時輸入:16<回車>,則以下程序的運轉(zhuǎn)結(jié)果是#include<>voidmain( )

your$yuan/xiaoshi。{intyear;printf(“Inputyouryear:”);scanf(“%d”,&year);if(year>=18)printf(

“your

$yuan/xiaoshi

”);elseprintf(

“your

$yuan/xiaoshi

”);}2.以下程序?qū)臄?shù)學表達式

當a<0,b=-1;當

a=0,b=0;當

a>0,b=1

。include””main( ){inta,b;scanf(“%d”,&a);if(a<0)b=-1;elseif(a==0)b=0;elseb=1;printf(“a=%d,b=%dn”,a,b);}3.若運轉(zhuǎn)時輸入:5999<回車>,則以下程序的運轉(zhuǎn)結(jié)果(保存小數(shù)點后一位)是main( ){intx;floaty;scanf(“%d”,&x);if(x>=0&&x<=2999)y=18+*x;if(x>=3000&&x<=5999)y=36+*x;if(x>=6000&&x<=10000)y=54+*x;

。printf(

“%6.1f”,y);}4.以下程序的功能是:輸出

x、y、z

三個數(shù)中的最大者。請?zhí)羁铡ain( ){intx

=4,y=6,z=7;intu,v

;if(

x>y

)u=x;elseu=y;if(u>z)v=u;elsev=z;printf(“v=%d”,v);}5.以下程序的輸出結(jié)果是x=2。include””main( ){intx,y;x=y=2;if(x==1)if(x==2)printf(“x=%d\n”,x=x+y);elseprintf(“x=%d\n”,x=x-y);printf(“x=%d\n”,x);}下邊程序的功能是:依據(jù)函數(shù)關系(當2<x<=10,y=x(x+2);當-1<x<=2,y=2x;當x<=-1,y=x-1)。對輸入的每個x值計算出相應的main( ){intx,y;scanf(“%d”,&x);if(x>2&&x<=10)y=x*(x+2);elseif(x>-1&&x<=2)y=2*x;elseif(x<=-1)y=x-1;elsey=-1;if(y!=-1)printf(“d”,y);elseprintf(“error”);}

y值。請?zhí)羁铡R韵鲁绦虻墓δ苁牵阂罁?jù)輸入的三角形的三條邊,判斷能否能構(gòu)成三角形,若能夠則輸出它的面積。請?zhí)羁铡?include<>main( ){floata,b,c;floats,area;scanf(“%f%f%f”,&a,&b,&c);if(a+b>c&&b+c>a&&a+c>b){s=(a+b+c)/2;area=sqrt(s*(s

-a)*(s

-b)*(s

-c));printf(

“%f”,area);}elseprintf(

“不可以輸出三角形”

);}8.以下程序的運轉(zhuǎn)結(jié)果是main( )

-1

。{inta=2,b=3,c;c=a;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;printf(“%d\n”,c);}9.以下程序的運轉(zhuǎn)結(jié)果是0,1。main( ){intx,y,z;x=3;y=z=4;printf(“%d,”,(x>=y>=x)?1:0);printf(“%d\n”,z>=y&&y>=x);}以下程序的功能是計算x、y個z中的最小值。請?zhí)羁铡ain( ){intx=4,y=5,z=8;intu,v;u=x<y?x:y;v=u<z?u:z;printf(“%d”,v);}11.將以下含有

switch

語句的程序段改寫成對應的含有非嵌套

if

語句的程序段。請?zhí)羁铡:衧witch語句的程序段:intx,y,m;y=(int)(x/10);switch(y){case10:m=5;break;case9:m=4;break;case8:m=3;break;case7:m=2;break;case6:m=1;break;default:m=0;}含有含if語句的程序段:intx,m;if(x<110&&x>=100)m=5;if(x<100)&&(x>=90))m=4;if(x<90)&&(x>=80))m=3;if(x<80)&&(x>=70))m=2;if(x<70)&&(x>=60))m=1;if((x<60)||(x>109))m=0

;12.以下程序段的輸出結(jié)果是

x=5Thevalueofxisunknown.

。#include””main( ){intx,y;x=5;switch(x){case1:case2:case3:case4:printf(case5:printf(default:printf(}

“x<5\n”);“x=%d\n”,x);“Thevalueofxisunknown.\n

”);}13.以下程序的運轉(zhuǎn)結(jié)果是F。main( ){if(2*2==5<2*2==4)printf(“T”);elseprintf(“F”);}以下程序的功能是#include””main( ){intx,y,sum,product;

輸入兩個數(shù)x,y,比較x+y和x*y哪個大。。printf(“Enterxandy:”);scanf(%d,%d”,&x,&y);sum=x+y;product=x*y;if(sum>product)printf(“(x+y)>(x*y)”);elseprintf(“(x*y)>=(x+y)”);}15.以下程序的運轉(zhuǎn)結(jié)果是2,0,0。main( ){inta,b,c;ints,w,t;s=w=t=0;a=-1;b=3;c=3;if(c>0)s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;}elseif(c>0)w=a-b;elset=c;printf(“%d,%d,%d”,s,w,t);}16.以下程序的運轉(zhuǎn)結(jié)果是20。main( ){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;printf(“%d\n”,d);}17.以下程序的運轉(zhuǎn)結(jié)果是5,5,1。#include<>voidmain(void){intx,y=1,z;if(y!=0)x=5;printf(“%d\n”,x);if(y==0)x=4;elsex=5;printf(“%d\n”,x);x=1;if(y<0)if(y>0)x=4;elsex=5;printf(“\t%d\n”,x);}18.為了使以下程序的輸出結(jié)果為t=4,輸入值a和b應滿足的條件是0<a<b。main( ){ints,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;elseif(a==b)t=5;elset=2*s;printf(“s=%d,t=%d”,s,t);}依據(jù)以下給出的嵌套if語句,填寫對應的switch語句,使它達成同樣的功能。(假定mark的值在1~100之間。)*if語句:if(mark<60)k=1;elseif(mark<70)k=2;elseif(mark<80)k=3;elseif(mark<90)k=4;elseif(mark<100)k=5;*switch語句:switch(mark/10){case0:case1:case2:case3:case4:case5:k=1;break;case6:k=2;break;case7:k=3;break;case8:k=4;break;case9:case10:k=5;}如有以下程序段,且grade的值為C,則輸出結(jié)果是switch(grade){case’A’:printf(“85~100\n”);case’B’:printf(“70~84\n”);case’C’:printf(“60~69\n”);case’D’:printf(“<60\n”);default:printf(“error!\n”);}三、編程題1.編寫程序,輸入一個整數(shù),判斷輸出它是奇數(shù)還是偶數(shù)#include<>main( ){intx;printf("請輸入一個整數(shù):");scanf("%d",&x);if(x%2==0)printf("%d是偶數(shù)!\n",x);

60~69<60Error!。elseprintf("%d是奇數(shù)!\n",x);}。2.編寫程序,輸入整數(shù)a和b,若a2+b2>100,則輸出a2+b2的百位以上數(shù)字,不然直接輸出a2+b2的和。#include<>main( ){inta,b,x,y;scanf("%d,%d",&a,&b);x=a*a+b*b;if(x>100){y=x/100;printf("%d",y);}elseprintf("%d",x);}3.有一函數(shù):0

x<0y=

x

0<x<=10-+20

x>10編寫程序,輸入一個

x值,

計算輸出

y值。3.#include<>main( ){intx;floaty;scanf("%d",&x);if(x<0)y=0

溫馨提示

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

最新文檔

評論

0/150

提交評論