




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言詳細例題大全1.1 單項選擇題1.二進制語言是屬于( )面向機器語言 面向問題語言 面向過程語言 面向匯編語言解人們研制了許許多多計算機程序設計語言,其中二進制語言直接來自計算機的指令系統(tǒng),與具體計算機緊密相關,所以是一種面向機器語言。面向問題語言是為了易于描述和求解某類特定領域的問題而專門設計的一種非過程語言。面向過程語言是一種能方便描述算法過程的計算機程序設計語言。有匯編語言,但沒有面向匯編語言。匯編語言也是一種面向機器的語言,與機器語言比較,匯編語言用有助于記憶的符號來代表二進制代碼。所以解答是。2.下列語言中不屬于面向過程的語言是( )高級語言 低級語言 C語言 PASCAL語言
2、解 C語言和 PASCAL等程序設計語言都是高級語言,它們用于描述復雜加工的處理過程,所以也稱它們是面向過程語言。低級語言是指機器語言和匯編語言,低級語言是面向機器的語言,而不是面向問題的語言。所以解答是。3.下列字符中屬于鍵盤符號的是( ) n t b解鍵盤符號是指鍵盤上有標記,并能在顯示器上直接以其標記字樣顯示的字符。有許多鍵盤上有標記的符號,它們不是用于直接顯示的,鍵入這種字符用于表示特定的意義,如常用的回車符。為了能讓C程序標記這種符號,程序采用轉義字符的方式書寫這種字符。如'n'、't' 、'b'都不是鍵盤字符,在 C語言中,它們都得用
3、轉義字符來表達。只有字符才是鍵盤字符。所以解答是。但在C程序中,反斜杠字符已特別用作轉義字符的引導符,它也得用轉義字符的表達形式書寫,將它寫成。4.下列字符列中,不是用來表達轉義字符是( ) ' 074 0解轉義字符有三種書寫形式:反斜社字符后接上某個規(guī)定的字符;反斜杠字符后接上13個八進制數(shù)字符;反斜社字符和字符X之后接上1至2個十六進制數(shù)字符。后兩種分別八進制數(shù)和十六進制數(shù)直接給出字符的ASCll代碼值。而074是八進制整數(shù),不是轉義字。所以解答是。5.不是C語言提供的合法關鍵字是()switch begin case default解因C語言的關鍵字表中沒有begin,它不是C語
4、言的關鍵字。所以解答是。6.下列字符列中,能作為單個標識符是()l? a a2 a.3 a_3解在C語言中,規(guī)定標識符是這樣一種字符序列,由英文字母或下線字符開始,后接任1個英文字母、下線字符和數(shù)字符組成。所以問題所列的字符列只有a3是標識符,其余都l是標識符,一個是由字符?開頭、一個中間有字符,另一個有字符。所以解答是。7.在C語言中,下列說法中錯誤的是()函數(shù)定義可以分為兩個部分:函數(shù)說明部分和函數(shù)體主函數(shù)可以調用任何非主函數(shù)任何非主函數(shù)可以調用其它任何非主函數(shù)程序可以從任何函數(shù)開始執(zhí)行解每個C函數(shù)的定義分兩部分,函數(shù)說明部分和函數(shù)體,所以敘述 是正確的敘述。C語言中,函數(shù)可以遞歸調用,主
5、函數(shù)可以調用程序中的任何函數(shù),當然可以調用任何非主教的其它函數(shù),所以敘述是一個正確的敘述。同樣理由,敘述也是正確的。C語言規(guī),C程序只有一個主函數(shù),并總是從主函數(shù)開始執(zhí)行,不能從非主函數(shù)開始執(zhí)行。所以,說程可以從任何函數(shù)開始執(zhí)行是錯誤的。所以解答是。1.2 填充題1.匯編語言屬于面向_語言,高級語言屬于面向_語言。解匯編語言與具體計算機密切有關,是屬于面向機器的語言;而高級語言用來描述求解題的算法,所以是面向過程的語言。所以解答是:面向機器和面向過程。2.用高級語言編寫的程序稱為_程序,它可以通過_程序翻譯一句執(zhí)一句的方式執(zhí)行,也可以通過_程序一次翻譯產生_程序,然后執(zhí)行。解用高級語言編寫的程
6、序稱為源程序,源程序不能在計算機上直接運行,運行源程序有種方式:一種是通過解釋程序,對源程序逐句解釋執(zhí)行;另一種是先讓編譯程序將源程序一翻譯產生目標程序(目標程序是計算機可直接執(zhí)行的機器語言程序,它是一種二進制代碼程),然后執(zhí)行目標程序。3.轉義字符是由_符號開始,后接單個字符或若干字符組成。4.C語言詞類主要分為_、_、_和_等。解語言的基本詞匯是指直接由字符序列組成,有確定意義的最基本單位,所以C語言詞匯有:字面形式常量。特殊符號(主要是運算符)、保留字和標識符等四類。而表達式、函數(shù)調用等是更高級的語言成分,如表達式中還可分運算分量和運算符等;函數(shù)調用也是一種表達式,它有函數(shù)名標識符、圓括
7、號和實際參數(shù)表等。利用基本詞匯,按照給定的C語言的句法規(guī)則,就可命名程序對象,描述表達式計算、構造語句、函數(shù),直至整個程序。5.C語言的語句主要分為_語句、_語句、_語句_語句、_語句和_語句等。解C語言有多種不同功能的語句,有用于定義數(shù)據的,有用于各種存儲和計算的,有用于程序流程控制的,有多種分類方法。C語言的語句主要有:數(shù)據定義語句、表達式語句、流程控制語句、復合語句、空語句和其它語句。程序中經常使用的賦值表達式語句和函數(shù)調用表達式語句都是典型的表達式語句。6.C程序是由函數(shù)構成的。其中有并且只能有_個主函數(shù)。C語言程序的執(zhí)行總是由_函數(shù)開始,并且在_函數(shù)中結束(如別的函數(shù)未調用終止程序執(zhí)
8、行的庫函數(shù))解C程序是由若干函數(shù)構成的。其中有并且只能有1個主函數(shù)(用main命名)。C程序的執(zhí)行總是由主函數(shù)開始執(zhí)行,通常在主函數(shù)中結束(如沒有在別的函數(shù)中調用終止程序執(zhí)行的庫函數(shù)的話)。7.C語言程序的注釋可以出現(xiàn)在程序中的任何地方,一個注釋以雙符號作為開始標記,以雙符號_作為結束標記。解C語言程序的注釋可以出現(xiàn)在程序基本單詞之間的任何地方, C語言程序的注釋以雙符號。非為開始標記,并以雙符號。作為結束標記。2.1 單項選擇題1.下列字符列中,可以作為“字符串常量”的是( ) ABC ABC“ abc a解C程序中,一個字符率常量是表示一個字符序列,書寫時,用雙引號字符前后括住這個字符序列
9、。所以只有“ABC”是一個正確的字符率常量,其余都不是。其中,ABC可作為標識符,字符列abc不能出現(xiàn)在C程序中,a是一個字符常量。所以解答是。2.在以字節(jié)存儲字符的系統(tǒng)中,n 在內存占用的字節(jié)數(shù)是( )1 2 3 4解一般來說,一個字符在內存中只占1個字節(jié),n是轉義字符,其意義是換行符,它作為一個字符存儲,在內存也只占五個字節(jié)。所以解答是。3.字符串“XyZ”在內存占用的字節(jié)數(shù)是( )3 4 6 8解字符串中的每個字符占1個字節(jié),但C程序在存儲字符串時,要在最后一個有效字符后面接上 1個字符串結束的標記符0。這樣,存儲字符串常量“xyZ”需要 4個字節(jié)。所以解答是。4.在以下字符列中,合法的
10、長整型常數(shù)是( ) OL 4962710 0.054838743 2.1869el0解為表示不同范圍的整數(shù),整型數(shù)據分短整型、基本型和長整型,并對三種整型內部表示的最高位的不同理解,又分別分成無符號和帶符號兩種。若要明確指明一個整數(shù)是長整型的,必須在整數(shù)之后接上字符L。所以OL是一個長整型的整型常量,而4962710是基本整型數(shù)據,而對于用2個字節(jié)表示一個基本整型數(shù)據的系統(tǒng)來說,該整數(shù)將因超出范圍而是一個錯誤的整數(shù);0.054839743和2.1869el0都是double型的實數(shù)。所以解答是。5.一個char型數(shù)據,它的值在內存中存放的是()ASCll代碼值 BCD代碼值 內碼值 十進制代碼
11、值解計算機存儲字符,通常是存儲字符的某種代碼值。有許多種字符編碼的方法,最流行的是ASCII代碼。在C語言中,Char型數(shù)據也用ASCII代碼表示。所以解答是。6.設變量 m,n,a,b,c,d均為以執(zhí)行(ma)|(ncd)后,m,n的值是( )0,0 0,1 l,0 1,1解計算(mab)|(n=c=d)的過程是先計算邏輯或的左運算分量(m=a=b)的值,由于賦位運算符的優(yōu)先級比關系運算符=的優(yōu)先級低,又先計算 a=b.因 a,b均為0后,所以比較結果值為1.將1賦給變量m,使變量m的值變?yōu)? .同時這個賦值運算的結果也是1,這樣邏輯運算的左運算分量的值為1.由于邏輯或運算的左運算分量值為1
12、,按照C語言對邏輯或運算優(yōu)化計算的規(guī)定,不再計算邏輯或的右運算分量,而直接得到邏輯或運算的結果為1 .由于邏輯或的右運算分量不曾計算過,所以變量n的值也不為變化。這樣,上述表達式計算后,變量m的情為1,變量n的值為0.所以解答是。7.設a為5,執(zhí)行下列計算后,b的值不為2的是( ) ba2 b6-(a) ba2 ba3?3:2解因兩個整型數(shù)據相除,結果是整數(shù),當a的值為5時,計算表達式b=a2后,使b的值為2.計算表達式b6-(a)是先計算子表達式(a)的,先讓a的值減1變成4,并以減1后的a為子表達式的結果,所以子表達式的結果為4,最后使b的值為2.在計算表達式b= a%2時,求余運算a2的
13、結果為1,最后使變量b的值為1.計算表達式ba3?3:2時,先計算條件表達式a3?3:2,以2為結果,最后也使變量b的值為人所以解答是。8.執(zhí)行語句“x(a3,ba);”后,X,a,b的值依次為( )3,3,2 2,3,2 3,2,3 2,3,3解計算表達式x(a=3,b=a)時,先計算賦值號右端圓括號內的逗號表達式。遠號表達式要求各子表達式順序計算,并以最后予表達式的值為整個逗號表達式的結果。所以該表達式計算時,先讓變量a的值為3,a的值是a當時的值,以該值為結果賦給變量b,并以該值為遠號表達式的值賦給變量x,然后a的值被減少1.所以計算該表達式后,使變量x,a,b的值依次為3,2,3.所以
14、解答是。9.設整型變量m,n,a,b,c,d均為1,執(zhí)行“( ma>b)(nab)”后m,n的值是( )0,0 0,l 1,0 1 ,l解表達式(ma b)(na b)是一個邏輯表達式,它的計算過程是先計算邏輯與的左分量(mab,其中又是先計算ab.因ab不成立,結果為0,將0賦給變量m,最后邏輯與的左分量結果為0.由于邏輯運算采用特別的優(yōu)化計算規(guī)則,當邏輯與的左分量結果為0時,不再計算邏輯與的右分量,而直接以0為邏輯與的結果。所以,上述表達式計算使m的值變?yōu)?,而n的值沒有變,依舊為l.所以解答是。10,設有代碼“int a3;”,則執(zhí)行了語句“a+=a-= a*a;”后,變量a的值是
15、( )3 0 9 -12解由于賦值運算符的結合性自右至左,語句“a+=a-=a*a;”的執(zhí)行是先計算a*a,得到值 9,再計算 aa*a,使 a的值為-6,接著計算 aa,使 a的值為-12.所以解答是。11.在以下一組運算符中,優(yōu)先級最高的運算符是( ) % 解常規(guī)運算符的優(yōu)先級自高到低的排列順序是算術運算符、移位運算符、關系運算符。按位運算符、邏輯運算符、條件運算符、賦值運算符、逗號運算符。所以問題所給的四個運算符按優(yōu)先級自高到低的排列順序是,。所以解答是。12.設整型變量i的值為3,則計算表達式ii后表達式的值為( )0 l 2 表達式出錯解有些運算符只有一個字符,也有許多運算符由兩個字
16、符組成。特別是有些字符既可是單個字符的運算符,又能組成雙字符的運算符。編譯系統(tǒng)在識別源程序時,通常是盡量多地讀八字符,能組成多字符單詞的先盡量組成多字符單詞。所以表達式ii,被編譯器理解為(i)-i.另外,當表達式中某變量有后綴自增和自減運算時,先按變量的原值計算表達式,然后再對變量進行自增和自減運算。同樣地,當表達式中某變量有前綴自增和自減運算時,先對變量進行自增和自減運算,然后再按變量的新值計算表達式。按這個約定,求表達式(i)-i是計算ii的值為0,然后再對i作自減運算。這樣,表達式(i)-i的值為0.所以解答是。13.設整型變量 a、b、c均為2,表達式 a+b+c+ 的結果是( )6
17、 9 8 表達式出錯解與上一小題解答的理由相同,表達式a+b+c+被系統(tǒng)理解成:(a+)+(b+)+c+)。表達式“變量+”的值是變量的原來值,所以在變量a、b.c均為2的前題下,執(zhí)行上述表達式,得到結果為6.所以解答是。14.若已定義 x和 y為double類型,則表達式: xl, yx32結果是( )l 2 2.0 2.5解由于變量x和y都是double類型,表達式 xl, yx32是先計算 x1,由于 1是整型的,x是double類型的,該計算先將整數(shù)1轉換成double類型的1.0,并將1.0賦給變量x.計算 yX32是先求 32的值,因是兩整數(shù)相除,結果是整型值 1,然后在計算 X1
18、時,也先將 1轉換成 1.0,然后求得 Xl的值為2.0,最后將該值賦給變量 y,并得到整個表達式的值為2.0.所以解答是。15.設a=1,b=2,c3,d4則表達式a b?a:c d?a:d的結果為()4 3 2 1解條件運算符的優(yōu)先級比關系運算符的優(yōu)先級低,并且它的結合性是自右向左的,所以表達式ab?a:cd?a:d可用圓括號等價地寫成(ab?a:(c<D)?A:D)。因AB成立,計算結果為A的值1.所以解答是。16.設a為整型變量,下列C表達式中,不能表達數(shù)學關系式:10a15的是( )10a15 a11|a12| a13| a14a10a15 ?。╝10)?。╝=15)解數(shù)學關系
19、式 10a 15表示。只能是 11, 12, 13, 14四個值之 l.用 C表達式表示這個條件,可寫成a10 a15,或?。╝10)&&?。╝=15),或a11|a12 | a=13|a14等。若寫成10a15,該算式的計算順序是先求出10a的結果0或1,然后以這個結果與15比較,是否小于15,顯然這與數(shù)學式子的意義是不一致的。所以解答是。17.下列表達式中,正確的C賦值表達式是( )a7bCa7 C7ba7a(7b, b, a7) a 7b, ca7解賦值運算符是運算符之一,賦值運算也可以出現(xiàn)在一般表達式中。賦值運算時,出現(xiàn)在賦值運算符左邊的表達式應該是引用一個存儲對象,例
20、如變量。不可以是一個數(shù)值計算表達式。如表達式a7bca7因算術運算符比賦值運算符的優(yōu)先級高,要把a7的結果賦給7bc,這是錯誤的。同樣理由,表達式a 7ba7也是錯誤的。而表達式a(7b,b,a7)就是正確的賦值表達式,它是先計算賦值號左邊的括號內的表達式,括號表達式內是一個逗號表達式,遠號表達式要求順序逐一計算各子表達式,并以最后一個子表達式的值作為遠號表達式的結果,最后將該結果賦給變量a.而表達式a7b,ca7則不是一個賦值表達式,而是一個逗號表達式,它由兩個賦值子表達式組成。所以解答是。18.若有以下定義: char a;int b;float c; double d;則表達式a*b+d
21、-c值的類型為( )float int char double解基本類型的數(shù)據可以混合運算,但運算時,對要求運算分量類型相同的運算來說,如運算分量的類型不是全相同,則會有自動類型轉換發(fā)生。類型自動轉換規(guī)則規(guī)定類型低(簡單)的向類型高(復雜)的轉換。各類型由高到低的排列順序是:long double、float、unsigned long、long、unsigned int、int這樣,若有定義: char a; int b;float c;double d;則表達式a*b+d-c的值的類型是double的。首先計算 a*b,得到int類型的值,接著計算a*b+d,得到double類型的值,最后
22、計算a*b+d-c,得到double類型的值。所以解答是。19.表達式“9!=7”的值是( )true 非0值 0 1解關系運算的結果只有0和1,若關系成立,則結果為1;若關系不成立,則結果為0.因關系式9!7成立,所以表達式的結果為1.雖然1也是非0值,在供選擇的答案中有1,所以最確切的解答是。20.用十進制數(shù)表示表達式“12|012”的運算結果是( )1 0 14 16解按位運算將運算分量視作二進位的位申信息,對兩運算分量的對應位進行運算,產生H進位的位串信息結果。整數(shù)12最低8位二進位是00001100,整數(shù)012是八進制數(shù),它的最低8位二進位是00001010.這兩個二進位位串信息按位
23、或運算,得到結果是00001110,對應十進制數(shù)14,八進制數(shù)是016.所以解答是。21.設字符型變量 a3,b6,計算表達式 C(ab) 2后C的二進制值是( ) 00011100 00000111 00000001 00010100解a的值為3,寫成8位二進制數(shù)形式是00000011,b的值為6,寫成8位二進制數(shù)形式是00000110.表達式c(ab)<<2,先計算a與b的按位加,得到結果00000101,將這結果向左移2位,得到二進位的位串信息是00010100.所以解答是。22.設 a,b和 c都是int型變量,且a3,b4,c5,則下面的表達式中值為 0的是( )ab a
24、b a|b+cbc ?。╝<B)!|1)解對于表達式ab,兩個非O運算分量的邏輯與結果為1.對于表達式ab,由于關系式成立,結果也為此又由于變量 a為非 0,表達式a|b+cbc的結果也為1.對于表達式!(ab)!c|1),先是計算(ab)得到結果1;計算!C得到結果為0;再計算它們的邏輯與,結果為0.繼續(xù)與1求邏輯或,得到結果為1.最后,對1求邏輯非,得到結果為0.所以解答是。23.設Ch是Char型變量,其值為A,則下面表達式的值是( )ch(chAchZ)?(ch32):chA a Z z解由于字符型變量ch的值為 A,計算表達式chh Ach Z)?(ch32):ch,先計算其中
25、條件表達式,由于條件(chAhZ)成立,該條件表達式以 ch3297為結果,將該值賦給變量 ch,以字符表達這個值為a。所以解答是。24. 設有無符號短整型變量i、j、k,i值為013,j值為 OX13.計算表達式“ki|j 3”后,k的值是( ) 06 0177776 066 0177766解將變量 i的八進制數(shù)值 013寫成二進制形式為00001011,將變量j的十六進制值 oxl3寫成二進制數(shù)形式為00010011.表達式ki|j3的計算過程是先求i,結果用八進制代碼表示為0177764;接著計算j3,結果為02.對它們進行按位或運算結果為0177766.所以解答是。2.2 填充題1.在
26、內存中,存儲字符串“X”要占用_個字節(jié),存儲字符X要占用_個字節(jié)。解計算機存儲一個字符用1個字節(jié),存儲字符串時,每個字符要占用1個字節(jié),另在字符串的有效字符之后存儲1個字符串的結束標記符。所以存儲字符率“X要占用2個字節(jié),存儲字符X只要1個字節(jié)。2.在C程序中,判邏輯值時,用_表示邏輯值“真”,又用_表示邏輯值假“。在求邏輯值時,用_表示邏輯表達式值為”真“,又用_表示邏輯表達式值為”假“。解在C程序中,判邏輯值時,用非0值表示真;而判邏輯值時,用值0表示假。但邏輯表達式計算結果,邏輯表達式值為真是用1表示的,而邏輯表達式的值為假,則用0表示。3.定義符號常量的一般形式是_.解定義符號常量用預
27、處理命令的宏定義,其定義的一般形式是:4.在函數(shù)內,說明變量時,若省略存儲類型符,系統(tǒng)默認其為_存儲類別,該存儲類別的類型符為_.解在函數(shù)內,說明變量時,若省略存儲類型符,系統(tǒng)就默認其為自動存儲類別,該存儲類別用auto標識。5.無符號基本整型的數(shù)據類型符為,雙精度實型數(shù)據類型符為,字符型數(shù)據類型符為,。解無符號的基本整型的類型符為unsigned int,或簡寫成unsigned.雙精度實型數(shù)據類型符為double,字符型數(shù)據類型符為char.6.定義指定數(shù)據類型的變量時,較完整的一般形式是。解要指定變量的存儲類型,定義指定類型的變量,其一般形式是:存儲類型符數(shù)據類型符變量名1,變量名2,;
28、7.設有下列運算符:、,其中優(yōu)先級最高的是_,優(yōu)先級最低的是_.解對運算符、,按它們的優(yōu)先級自高到低的順序排列為:、所以,優(yōu)先級最高的是+,優(yōu)先級最低的是。8.設二進制數(shù)A是0A101111,若想通過異或運算 AB使 A的高4位取反,低4位不變,則二進制數(shù)B應_.解按位加運算的一個重要應用是讓某個整型變量的二進位位串信息的某些位信息反向,0變成1,而1變成0. 這只要設計這樣一個位串信息,讓要變反的位為1,不要改變的位為0,用這個位串信息與整型變量按位加就能得到希望的結果。要使字節(jié)的高4位取反,低4位不變,則需要位串信息是11110000,寫成八進制數(shù)是0360,寫成十六進制數(shù)為0xF0.9.
29、設a3, b= 2,Cl,則 Cb的值為_.,a b C的值為_.解因a的值為3,b的值是2,條件ah為真,其值為1.表達式abc的求值順序是計算ab,結果為1,接著計算1c,因c的值為1,條件1c為假,結果為0.10.老已知a10,b20,則表達式!ab的值為_.解計算表達式!ab,先計算!a ,因a的值為1O,!a 的值為0.關系表達式020為真,所以表達式!ab的值為1.11.設X和y均為 int型變量,且Xl,y2,則表達式 1.0xy的值為_.解計算表達式 1.0xy,先求 xy,因 x和 y是整型變量,其中的除運算是整除, 12的結果為0.接著計算1.00,計算時,先將右分量轉換成
30、0.0,最后得到結果1.0.12.設整型變量 X、y、Z均為 5:執(zhí)“xyx”后,x_,執(zhí)行“xyz”后,x_.執(zhí)行“X(yZ)?X2:X2,3,2后,X_.解在變量x、y、z的值均為5的情況下,計算各表達式。由于表達式xyz等價于表達式XX(yZ),所以計算后X的值為5.表達式X%=yZ等價于表達式XX%(yz),所以計算后x的值也為5.表達式x(yz)? x2: x2,3,2的計算過程用圓括號描述其計算順序是:(X=(yZ)?X2:X2),3),2即這是一個逗號運算表達式,由一個賦值表達式和兩個數(shù)值構成,逗號表達式要求順序求各子表達式的值。表達式X(yZ)? X2:X2的計算是先求賦值號右
31、邊的條件表達式,因條件(yz)為假,求出X2的值為3,將該值賦給變量X,使X的值為3.13.能表述“20 X 30或 X100”的 C語言表達式是_.解首先表述20x30的C表達式可寫成20xx30.所以表述“20x30或x-100”的 C表達式為 20X X 30|X100.14,請寫出數(shù)學式x/y*z的C語言表達式_.解數(shù)學式子表述的是x除以y乘z的積,寫成C表達式可以寫為x(y*z),或可等價地寫成xyZ.15.C語言中運算結果可以當成邏輯值使用的表達式有:_表達式、_.表達式、_表達式、_表達式、_表達式、_表達式。解在C語言中,邏輯判斷以非0值為真,以0值為假。所以,幾乎所有的表達式
32、的運算結果都可以當成邏輯值使用,如算術表達式、關系表達式、邏輯表達式、賦值表達式、逗號表達式、條件表達式等。3.1 單項選擇題1.設 a3,b4執(zhí)廳printf(“d,d,(a,b),(b,a);”的輸出是( )3,4 4,3 3, 3 4,4解在調用格式輸出函數(shù)的語句中,其中每個格式符對應一個輸出項,格式符d要求輸出項內容以十進制整數(shù)形式輸出。第一個輸出項(a,b)是一個逗號表達式,該表達式的值是b的值,輸出4.接著輸出字符逗號。第二個輸出項(b,a)的值是a的值,輸出3.所以語句執(zhí)行將輸出4,3.正解的選擇是。define符號常量名 常量2.使用“Scanf(”X=%f,y%f“,x,&a
33、mp;y)”,要使 X,y均為1.25,正確的輸入是( )1.25,1.25 1.25 1.25 x1.25,y1.25 X1.25 y1.25解格式輸入函數(shù)的格式字符串中的字符可以分成三類:空格類字符、其它普通字符和格式轉換說明。其中空格類字符用來跳過一個空格類字符序列,直至下一個非空格類字符。普通字符要求輸入字符與其完全相同。格式轉換說明對輸入字符列按格式轉換說明進行轉換,得到內部值存儲到對應輸入項所指定的存儲位置中。函數(shù)調用scanf(“x%f,y=%f,x,&y)以普通字符X=開頭,輸入時也要先輸入X。接著是一個浮點數(shù)輸入格式,所有能構成一個浮點數(shù)1.25的字符序列都能滿足要求
34、。接著是普通字符列”,y“,在輸入的浮點數(shù)之后也要有字符列”,y“。最后又是浮點數(shù)輸入格式,同樣所有能構成一個浮點數(shù)1.25的字符序列都能滿足要求。問題給出的供選擇答案中只有x=1.25,y1.25是能滿足上述要求的。所以正確選擇是。3.設有int i010,j=10;則執(zhí)行“printf(”%d,%dn“,+i,j);”的輸出是( )ll, 10 9,10 010, 9 10, 9解變量i和j的初值分別為八進制數(shù)010和十進制數(shù) 10,函數(shù)調用Printf(“%d,%dn”,+i,j)中,+i的值是變量 i增1后的值,原來值是八進制數(shù) 010,等于十進制數(shù)8,輸出9.j的值是變量j減1之前的
35、值,輸出10.格式字符申中的逗號是普通字符照原樣輸出。所以問題給出的格式輸出函數(shù)調用將輸出9,10.正確的解答是。4.設a,b為字符型變量,執(zhí)行“scanf(”a%c,b%c“,&a,&b)”后使a為A,b為B,從鍵盤上的正確輸入是( )A“B A,B AA,BB a=A bB解函數(shù)調用scanf(“c%c,b%c”,&c,&b)中,普通字符必須按格式字符串要求照原樣輸入,c格式對緊接的任何字符都輸入。所以實現(xiàn)問題的要求,輸入字符列應為“aA,bB”。另外要特別指出,在程序中,為表示字符常量,字符前后需加單引號。但用字符格式輸入字符時,在要輸入字符前后不必另鍵人
36、單引號。若鍵人單引號,則這個單引號也將作為字符被輸入。正確的解答是。5.設X、y、Z、t均為int型變量,則執(zhí)行以下語句后,t的值為( )xyz1;t+x|+y+z;不定值 2 l 0解語句序列“xyzl;t+x|+y&&+z;”使變量x的值為1,變量t是賦一個邏輯表達式的值。在C語言中,由邏輯與和邏輯或構成的邏輯表達式有特別的計算規(guī)則,順序計算各邏輯子表達式,并當一旦能得到邏輯表達式的結果時,就立即結束邏輯表達式的計算,不再計算后繼邏輯子表達式。本題的邏輯表達式是兩個運算分量的邏輯或,而且左運算分量+X的值為非0,立即得到邏輯或運算的結果為1,并將1賦給變量t,所以變量t的值
37、為1.正確解答為。6設x、y、z均為int型變量,則執(zhí)行以下語句后,x、y, z的值為( )X1; y0; Z2; yZ |+ X;2、l、3 2、0、3 2、l、3 2、1、2解語句序列“xl;y0;z2; y+&&+z|+x;”先使變量x的值為 1,變量y的值為0,變量Z的值為2.由邏輯與和邏輯或構成的邏輯表達式的特別計算規(guī)則,順序計算各邏輯子表達式,并當一旦能得到邏輯子表達式的結果時,就立即結束邏輯子表達式的計算,不再計算該邏輯子表達式。計算y+因y的值為0,使y+&&+z的結果為0,立即去計算+X,這次計算使變量y的值變成1,而變量Z的值本改變。接著計算
38、+X,使X的值變?yōu)?.所以經上述語句執(zhí)行后,X、y、Z的值依次為2、1、Z. 確解答為。7.假定所有變量均已正確定義,下列程序段運行后X的值是( )abc0; x35;if(!a)x; else if(b);if(c)x3;else x=4;34 4 35 3解以變量 a,b,c的值均為 0,變量x的值為 35,語句:if(!a)x;else if(b);if(c)x3;else x4;由兩個證語句組成。首先執(zhí)行前一個if語句“if(!a)x;else if(b);”,因變量a的值為0,條件!a成立,執(zhí)行x使x的值變?yōu)?4.接著執(zhí)行后繼的if語句“if(c)x3; else X4;”,因變量c
39、的值為0,條件不成立而執(zhí)行X4,最終使變量X的值為4.正確解答是。注意前一個if語句的else部分的成分語句只有“if(b);”,這是一個單分支if語句,8.下面的程序段所表示的數(shù)學函數(shù)關系是( )yl;if( x! 0)if(x0)yl; else y0 ;1(x0) 1(x0) y 0(x 0) y-l(X0)1(X0) 0(X0)o(X 0) -l(X 0) y -1(x 0) y 1(X 0)1(X 0) 0(X 0)解程序段首先置變量y的值為一l,接著按變量x值的不同情況重置變量y的值。重置的首要條件是x!0,若變量x的值為0,則不再重置變量y的值,所以在X值為0情況下,y的值是-l
40、.在變量X的值不等于0的條件下,若X的值大于0,重置變量y的值為1;若變量X的值小于0,重置變量y的值為0.所以程序段實現(xiàn)當變量x的值為0時,變量y的值為-1;當變量X的值大于0時,置變量y的值為1;當變量X的值小于0時,置變量y的值為0.正確解答為。9.下列語句中,句法錯誤的是(不考慮語義)( ) while(xy)5 ; do x while(x10) ;while(0); do 2;while(ab);解 while語句的一般形式是:while(表達式) 語句這里的表達式可以是任何合理的表達式,語句可以是任何語句,包括空語句,或表達式語句??赡軙鴮懙膚hile語句沒有任何意義,如供選擇的
41、while(xy)5;和while(0);,但這兩個語句的句法沒有任何錯誤。do-While語句的一般形式是:do語句while(表達式);其中的成分語句也可以是任何語句,但供選擇答案do xwhile(x=10) ;中的代碼x+是一個表達式,不是語句,所以是錯誤的。正確解答是。10,循環(huán)語句“for(x0, y0;(y!=123)|( x4);x);”的循環(huán)執(zhí)行( )無限次 不確定次 4次 3次解for循環(huán)語句的初始化部分置變量x和y的初值為0,循環(huán)條件是(y!123)|(x4),每次循環(huán)后變量X的值增1.由于循環(huán)過程中變量y的值本被修改過,循環(huán)條件又是一個邏輯或,其左分量(y!123)永遠
42、成立,也就是循環(huán)條件永遠成立。所以該循環(huán)語句將循環(huán)執(zhí)行無限次。正確解答是。11.若i、j已定義為int類型,則以下程序段中的內循環(huán)體的執(zhí)行次數(shù)是( )for( i5; i; i)for(j 0; j4;j)20 24 25 30解問題所給的程序段的外循環(huán)是一個階循環(huán)語句,它的初始化部分置變量i的初值為5,循環(huán)條件簡寫成i,即i!0,每次循環(huán)后變量i的值減1.所以外循環(huán)共控制5次循環(huán)。內循環(huán)也是一個for循環(huán)語句,它的初始化部分置變量j的初值為0,循環(huán)條件是j<4,每次循環(huán)后變量j的值增1.所以內循環(huán)共控制4次循環(huán)。這樣,如內循環(huán)的體內未曾對變量i和j有修改,在內、外循環(huán)一起控制下,內循環(huán)
43、的體共被重復執(zhí)行20次。正確解答是。12.假定a和b為int型變量,則執(zhí)行以下語句后b的值為( )a1; b10;do ba; a;while<(b0);9 -2 -1 8解在這個程序段中,循環(huán)開始前變量a的值為1,b的值為10,每次循環(huán)從變量b減去a,并讓a增1,并在循環(huán)條件判定時,又讓b減去1.第一次循環(huán)后,變量b的值變成9,變量a的值變?yōu)?,循環(huán)判斷時,因b的值大于0,循環(huán)條件不成立,結束循環(huán)。但在循環(huán)判斷時,讓b減去了1,所以循環(huán)結束時,變量b的值為8.正確的解答是。且其成分語句為空語句。13.設x和y為int型變量,則執(zhí)行下面的循環(huán)后,y的值為( )for(yl, xl; y5
44、0; y)if(x10) break;if(x2=1) x5; continue;X 3;2 4 6 8解 for循環(huán)語句的初始化部分置變量x和y的初值為1,循環(huán)條件是(y50),每次循環(huán)后變量y的值增1,控制循環(huán)最多執(zhí)行50次。循環(huán)體有三個語句:首先在發(fā)現(xiàn)變量X的值大于等于10時,結束循環(huán);接著是當變量X除2的余數(shù)為1(即變量X是奇數(shù))時,讓變量X值增5,讓X變成偶數(shù),并直接進入下一輪循環(huán);如變量X是偶數(shù),則從變量X減去3,讓變量X變成奇數(shù)。由上述分析知,每兩次循環(huán)使變量X的值增加2.第一次循環(huán)后,變量X的值變成6.第二次循環(huán)后,變量X的值變成3.第三次循環(huán)后,變量X的位變成8.第四次循環(huán)后
45、,變量X的值變成5.第五次循環(huán)后,變量X的值變成 10.第六次循環(huán)時,因變量X的位大于等于 10,直接跳出循環(huán),這次循環(huán)是非正常結束,對變量y的修正只執(zhí)行了5次。所以循環(huán)結束后,變量y的值增至6.正確的解答是。14.在C語言中,下列說法中正確的是( )不能使用“do語句while(條件)”的循環(huán)“do語句While(條件)”的循環(huán)中必須使用“break”語句退出循環(huán)“do語句while(條件)”的循環(huán)中,當條件非0時將結束循環(huán)“do語句while(條件)”的循環(huán)中,當條件為0時將結束循環(huán)解 do-while語句的一般形式是:do語句while(表達式);其語義是重復執(zhí)行其成分語句,直至表示條件
46、的表達式值為0時結束。do-while語句是正常使用的一種循環(huán)結構之一。do-while語句的循環(huán)結束條件由while后的表達式值為0所控制,并不一定要有break語句跳出循環(huán)來結束循環(huán)。do-while語句在條件值非0時,將繼續(xù)循環(huán),而不是結束循環(huán)。條件值為0時,才結束循環(huán)。所以正確的選擇是。15.若有以下程序段,W和k都是整型變量,則不能與該程序段等價的循環(huán)語句是( )W k;LB: if(w0) gotO LE;w - -;printf(“*”);goto LB;LE:for(wk;w!0;W)printf(“*”); w k;While(W!0) Prinif(“* ”); w k;d
47、ow; prinif(“*”); while( W! 0); for(wk;W;W) printf(“*”);解問題所給出的程序段用goto語句構造一個循環(huán)控制結構,該循環(huán)結構的初值是讓變量W的值為k的值,循環(huán)結束條件是W的情等于0,循環(huán)體是讓變量W的值減1,并輸出一個字符* .上述循環(huán)控制過程用for循環(huán)可描述如下:for(w=k;W!0; W) printh(“*”);或寫成:for(wk ;w;w) printf(“*”);若用while語句,可描述如下:Wk;while(w!0)printf(“*”);w+;/*在w等于0時,也執(zhí)行了一次 w,這里是對w最后減1的補嘗*/或更直觀地寫成
48、:Wk;while(w!0) w;Printf(“*”);若用do-while語句,可描述如下:Wk;if(W)dow; prinif(“*”); while(w);若寫成:Wk;doW; printf(“*”); while(w!=0);是不正確的,因為原代碼當k的值為0時,不輸出字符*,而上面的改寫,當k的值為0時,將輸出許許多多的字符*.所以解答應是。3.2 填充題1.結構化程序設計規(guī)定的三種基本結構是_結構,選擇結構和_結構。解結構化程序設計的三種基本控制結構是順序結構、選擇結構和循環(huán)結構。2.若有定義“int a25,b14, c19;”,以下語句的執(zhí)行結果是_.if a25b2c)
49、prinif(“*ad,bd,cdn”, a,b,c);else printf(“#ad,bd,cdn”, a, b,c);解問題所給的if語句中,條件a+25b2c+是先求邏輯與的第一個運算分量,它是一個關系式,關系成立。接著判定第二個邏輯與運算分量,又是一個關系式,由于變量b的值是14,b不小于等于2,運算分量的關系式不成立,導致if語句的條件為假,執(zhí)行else部分。在求且語句的條件時,計算了2個邏輯與分量,使變量a的值增了1,變量 b的值被減了1.所以輸出內容是:a=26,b13,c19.3.以下兩條if語句可合并成一條if語句為_.if(ab) x1;else y2;if(ab)pri
50、ntf(“*y=%dn” ,y);else printf( “#x%dn” ,x);解在以上兩條if語句中,兩個條件剛巧相反。若將前一個if語句的第一個成分語句與第二個if語句的第二個成分語句合并;第一個if語句的第二個成分語句與第二個if語句的第一個成分語句合并,寫成一條if語句如下:if(ab)x1;printf(“#x%dd,x);else y2; printf(“*y%dn”,y);4.設 i,j,k均為 int型變量,則執(zhí)行完下面的for語句后,k的值為_.for(i=0,j10;ij;i,j)kij;解該 for語句以i為0、j為10初始化,循環(huán)條件是 ij,每次循環(huán)后 i增 1、j減 1,循環(huán)體是將 i與j的和賦給 k.這樣變量 k將保存的是最后一次賦給它的值。一次循環(huán)后 i為 l.j為 9,二次循環(huán)后 i為 2.j為 8,五次循環(huán)后 i為 5.j為 5,繼續(xù)第六次循環(huán),將 i與 j的和10存于 k后,i為 6、j為 4,結束循環(huán)。所以循環(huán)執(zhí)行后 k為10.5.下列程序的功能是輸入一個整數(shù),判斷是不是素數(shù),若為素數(shù)輸出1,否則輸出0,請為程序填空。main()int i,X,y=1;scanf(“d”,x);for(i=2;i<=x/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人安全防護技巧的試題及答案
- 確保通過的保安證考試試題及答案
- 2025保安證考試考情分析試題及答案
- 防盜知識與技能試題及答案
- 2025年保安證考試備忘清單試題及答案
- 2025年保安證考前必看試題及答案
- 廣東省5g通信基站建設工程項目一標段
- 試題縱深研究的保安證試題及答案
- 2025年保安證考試圖解寶典試題及答案
- 江西信息應用職業(yè)技術學院《品牌經營與管理》2023-2024學年第二學期期末試卷
- 鋁液外泄應急演練方案
- 2024年民法典知識競賽考試題庫及答案(共50題)
- 高中英語時態(tài)語法單選題100道及答案解析
- 大數(shù)據與人工智能營銷(南昌大學)知到智慧樹章節(jié)答案
- 分泌性中耳炎-3
- 《中國心力衰竭診斷和治療指南2024》解讀(下)
- 外篷房安裝施工及售后服務方案
- GB/T 6556-2024機械密封的型式、主要尺寸、材料和識別標志
- 成人肥胖食養(yǎng)指南(2024年版)
- 物流服務師(高級工)職業(yè)技能鑒定考試及答案
- 新人教版英語五年級下冊教材解讀
評論
0/150
提交評論