




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
高級程序設計課后習題及答案第一章概述一、單項選擇題1.二進制語言是屬于()A.面向機器語言B.面向問題語言C.面向過程語言D.面向匯編語言解:A.人們研制了許許多多計算機程序設計語言,其中二進制語言直接來自計算機的指令系統,與具體計算機緊密相關,所以是一種面向機器語言.面向問題語言是為了易于描述和求解某類特定領域的問題而專門設計的一種非過程語言.面向過程語言是一種能方便描述算法過程的計算機程序設計語言.有匯編語言,但沒有面向匯編語言.匯編語言也是一種面向機器的語言,與機器語言比較,匯編語言用有助于記憶的符號來代表二進制代碼.2.將匯編語言編寫的程序翻譯成目標程序的是()程序A.解釋B.編譯C.匯編D.源解:C.3.不屬于面向機器語言的是()A.符號語言B.二進制語言C.匯編語言D.C語言解:D.4.下列語言中不屬于面向過程的語言是()A.高級語言B.低級語言C.C語言D.ALGOL語言解:B.C語言和ALGOL等程序設計語言都是高級語言,它們用于描述復雜加工的處理過程,所以也稱它們是面向過程語言.低級語言是指機器語言和匯編語言,低級語言是面向機器的語言,而不是面向過程的語言.5.將高級語言編寫的程序翻譯成目標程序的是()程序A.解釋B.編譯C.匯編D.源解:B.6.不屬于高級語言的計算機語言是()語言A.BASICB.CC.ALGOLD.符號解:D.二、填空題1.匯編語言屬于面向____語言,高級語言屬于面向____語言.解:匯編語言與具體計算機密切有關,是屬于面向機器的語言;而高級語言用來描述求解題的算法,所以是面向過程的語言.所以解答是:機器,過程.2.用高級語言編寫的程序稱為____程序,它可以通過____程序翻譯一句執行一句的方式執行,也可以通過____程序一次翻譯產生____程序,然后執行.解:用高級語言編寫的程序稱為源程序,源程序不能在計算機上直接運行,運行源程序有種方式:一種是通過解釋程序,對源程序逐句解釋執行;另一種是先讓編譯程序將源程序翻譯產生目標程序(目標程序是計算機可直接執行的機器語言程序,它是一種二進制代碼程),然后執行目標程序.所以解答時:源,解釋,編譯,二進制.3.從計算機角度出發,程序就是____,程序設計就是____.解:用某種計算機能理解并執行的計算機語言描寫解決問題的方法步驟;分析解決問題的方法步驟,并將其記錄下來的過程.第二章C語言的基本知識一、單項選擇題1.屬于C語言字符集中可顯示字符的是()A.\B.\nC.\tD.\b解:A2.不屬于C語言字符集中的符號是()A.\B.|C.≤D.^解:C3.下列選項中,不是轉義字符的是()A.\\B.\'C.074D.\0解:C4.下列選項中,正確的轉義字符是()A.\0F1B.\"C.\094D.\0xF1解:B5.下列給出的符號串中,不屬于C語言保留字的是()A.swithB.cherC.caseD.else解:B6.下列給出的符號串中,屬于C語言保留字的是()A.ifB.iFC.IfD.IF解:A7.下列給出的符號串中,可作為標識符的是()A.?aB.a=2C.a.3D.a_3解:D8.下列給出的符號串中,不能作為C語言標識符的是()A.a_2B._2aC._a2D.2_a解:D9.下列給出的符號串中,可以作為C語言標識符的是()A.staticB.doC.registerD.GOTO解:D10.下列說法中錯誤的是()A.主函數可以分為2個部分:主函數頭和主函數體B.主函數可以調用任何不是主函數的其他函數C.任何函數可以調用不是主函數的其他函數D.程序總是從排在程序最前面的某個函數開始執行解:D程序總是在主函數中開始執行,并在主函數中結束二、填空題1.轉義字符是由____符號開始的單個字符或者若干個字符組成的.解:反斜杠2.C語言的保留字規定全部由____字母組成,解:英文小寫3.C語言標識符是由____或____開頭的字母、數字、下劃線組成的一串符號.ANSIC規定標識符的長度≤____個字符;而PC機上規定前____個字符有效.解:字母,下劃線,32,84.C語言詞類主要分為____,____,____,____,____和____6類.解:常量,變量,運算符,函數調用,表達式,保留字5.C語言的語句主要分為____語句,____語句,____語句,____語句,____語句,____語句,____語句和____語句.解:數據定義,賦值,函數調用,表達式,流程控制,復合,空,其他6.在C語言中既是詞類,又能單獨組成語句的有____和____兩類.解:保留字,標識符7.C語言的程序是由若干個函數組成的,其中有且僅有一個函數名規定為____的主函數.解:main8.C程序的執行總是由____函數開始,并且在____函數中結束.解:主,主9.C語言程序的注釋可以出現在程序中的任何地方,它總是以____符號作為開始標記,以____符號作為結束標記.解:/*,*/10.C語句的最后一定要有一個____號.解:分11.使用TurboC調試C程序的主要操作步驟分為____,____,____,____,____,____.解:輸入新程序或調入已存在的程序,編輯修改源程序,源程序清單存盤,編譯連接生成目標程序,執行目標程序,顯示運行結果.第三章基本數據類型、運算符和表達式一、單項選擇題1.下列選項中屬于C語言字符常量的是()A.'abc'B."\n"C.'a'D.'a\0'解:C2.下列選項中屬于字符串常量的是()A.ABCB."ABC"C.'abc'D.'a'解:B.C程序中,一個字符串常量是表示一個字符序列,書寫時,用雙引號字符前后括住這個字符序列.所以只有"ABC"是一個正確的字符率常量,其余都不是.其中,ABC可作為標識符,字符列'abc'不能出現在C程序中,'a'是一個字符常量.3.在PC機中,'\n'在內存占用的字節數是()A.1B.2C.3D.4解:B.一般來說,一個字符在內存中只占1個字節,'\n'是轉義字符,其意義是換行符,它作為一個字符存儲,在內存占2個字節.4.下列字符串常量中,占用內存字節數為2的字符串常量是()A."12"B."1"C."1\0"D."\n\n"解:B5.字符串"ABC"在內存占用的字節數是()A.3B.4C.6D.8解:B.字符串中的每個字符占1個字節,但C程序在存儲字符串時,要在最后一個有效字符后面接上1個字符串結束的標記符'\0'.這樣,存儲字符串常量"ABC"需要4個字節.6.在C語言中,合法的長整型常量是()A.0LB.4962C.0.054838743D.2.1869el0解:A.為表示不同范圍的整數,整型數據分短整型、基本型和長整型,并對三種整型內部表示的最高位的不同理解,又分別分成無符號和帶符號兩種.若要明確指明一個整數是長整型的,必須在整數之后接上字符'L'.所以0L是一個長整型的整型常量,而4962是基本整型數據;0.054839743和2.1869el0都是double型的實數.7.下列符號常量的定義中正確的是()A.#defineN3B.defineN3C.#defineN_13D.#defineN13解:C8.設有宏定義"#defineR2+3",則R*R的宏替換結果正確的是()A.(2+3)*(2+3)B.2+3*2+3C.5*5D.5.0*5.0解:B9.char型數據在內存中存放的是()A.ASCII代碼值B.二進制代碼值C.八進制代碼值D.十進制代碼值解:A.計算機存儲字符,通常是存儲字符的某種代碼值.有許多種字符編碼的方法,最流行的是ASCII代碼.在C語言中,char型數據用ASCII代碼表示.10.下列說法中錯誤的是()A.整形變量可以存放字符常量的值B.字符型變量可以存放任意整形常量的值C.變量必須先定義,后使用D.字符串的長度不等于它占用的字節數解:B11.設整型變量i的值為3,則表達式i---i的值為()A.0B.1C.2D.3解:A.有些運算符只有一個字符,也有許多運算符由兩個字符組成.特別是有些字符既可是單個字符的運算符,又能組成雙字符的運算符.編譯系統在識別源程序時,通常是盡量多地讀字符,能組成多字符單詞的先盡量組成多字符單詞.所以表達式i---i,被編譯器理解為(i--)-i.另外,當表達式中某變量有后綴自增和自減運算時,先按變量的原值計算表達式,然后再對變量進行自增和自減運算.同樣地,當表達式中某變量有前綴自增和自減運算時,先對變量進行自增和自減運算,然后再按變量的新值計算表達式.按這個約定,求表達式(i--)-i是計算i-i的值為0,然后再對i作自減運算,這樣,表達式i---i的值為0.12.設整型變量a,b,c均為2,表達式a+++b+++c++的結果是()A.6B.9C.8D.12解:A.與上一小題解答的理由相同,表達式a+++b+++c++被系統理解成(a++)+(b++)+(c++).表達式"變量++"的值是變量的原來值,所以在變量a,b,c均為2的前題下,執行上述表達式,得到結果為6.13.表達式"10!=9"的值是()A.trueB.非0值C.0D.1解:D.關系運算的結果只有0和1,若關系成立,則結果為1;若關系不成立,則結果為0.因關系式10!=9成立,所以表達式的結果為1.14.設a為整型變量,下列C表達式中,不能表達數學關系式:10<a<a10&&a<15D.!(a<=10)&&!(a>=15)解:A.數學關系式10<a10&&a<15,或!(a<=10)&&!(a>=15)或a==11||a==12||a===13||a==14,若寫成10<a10的結果0或1,然后以這個結果與15比較,是否小于15.顯然這與數學式子的意義是不一致的.15.設a,b和c都是int型變量,且a=3,b=4,c=5,則下面的表達式中值為0的是()A.'a'&&'b'B.a<=bC.a||b+c&&b-cD.!((a<b)&&!c||1)解:D.對于表達式'a'&&'b',兩個非O運算分量的邏輯與結果為1.對于表達式a<=b,由于關系式成立,結果也為1,又由于變量a為非0,表達式a||b+c&&b-c的結果也為1.對于表達式!((a<b)&&!16.設x為整型變量,和表達式!(!x)的值完全相同的表達式是()A.x==0B.x==1C.x!=0D.x!=1解:C17.設有代碼inta=3;,則執行了語句a+=a-=a*a;后,變量a的值是()A.3B.0C.9D.-12解:D.由于賦值運算符的結合性自右至左,語句a+=a-=a*a,的執行是先計算a*a,得到值9,再計算a-=a*a,使a的值為-6,接著計算,a+=a,使a的值為-12.18.下列表達式中,正確的C賦值表達式是()A.a=7+b+c=a+7B.c=7+b++=a+7C.a=(7+b,b++,a+7)D.a=7+b,c=a+7解:C.賦值運算符是運算符之一,賦值運算也可以出現在一般表達式中.賦值運算時,出現在賦值運算符左邊的表達式應該是引用一個存儲對象,例如變量.不可以是一個數值計算表達式.如表達式a=7+b+c=a+7因算術運算符比賦值運算符的優先級高要把a+7的結果賦給7+b+c,這是錯誤的.同樣理由,表達式a=7+b++=a+7也是錯誤的.而表達式a=(7+b,b++,a+7)就是正確的賦值表達式,它是先計算賦值號左邊的括號內的表達式,括號表達式內是一個逗號表達式,遠號表達式要求順序逐一計算各子表達式,并以最后一個子表達式的值作為逗號表達式的結果,最后將該結果賦給變量a.而表達式a=7+b,c=a+7則不是一個賦值表達式,而是一個逗號表達式,它由兩個賦值子表達式組成.19.設變量m,n,a,b,c,d均為0,執行(m=a==b)||(n=c==d)后,m,n的值是()A.0,0B.0,1C.1,0D.1,1解:C.計算(m=a==b)||(n=c==d)的過程是先計算邏輯或的左運算分量(m=a==b)的值.由于賦位運算符的優</b)&&!></b)&&!c||1)></a</a</a先級比關系運算符==的優先級低,又先計算a==b.因a,b均為0后,所以比較結果值為1.將1賦給變量m,使變量m的值變為1.同時這個賦值運算的結果也是1,這樣邏輯運算的左運算分量的值為1.由于邏輯或運算的左運算分量值為1,按照C語言對邏輯或運算優化計算的規定,不再計算邏輯或的右運算分量,而直接得到邏輯或運算的結果為1,由于邏輯或的右運算分量不曾計算過,所以變量n的值也不為變化.這樣上述表達式計算后,變量m的值為1,變量n的值為0.20.設整型變量m,n,a,b,c,d均為1,執行"(m=a>b)&&(n=a>b)"后m,n的值是()A.0,0B.0,1C.1,0D.1,l解:B.表達式(m=a>b)&&(n=a>b)是一個邏輯表達式,它的計算過程是先計算邏輯與的左分量m=a>b,其中又是先計算a>b.因a>b不成立,結果為0,將0賦給變量m,最后邏輯與的左分量結果為0.由于邏輯運算采用特別的優化計算規則,當邏輯與的左分量結果為0時,不再計算邏輯與的右分量,而直接以0為邏輯與的結果.所以,上述表達式計算使m的值變為0,而n的值沒有變,依舊為l.21.若已定義x和y為double類型,則表達式:x=1,y=x+3/2結果是()A.1B.2C.2.0D.2.5解:C.由于變量x和y都是double類型,表達式x=l,y=x+3/2是先計算x=1,由于1是整型的x是double類型的,該計算先將整數1轉換成double類型的1.0,并將1.0賦給變量x.計算y=x+3/2是先求3/2的值,因是兩整數相除,結果是整型值1,然后在計算x+1時,也先將1轉換成1.0,然后求得x+l的值為2.0,最后將該值賦給變量y,并得到整個表達式的值為2.0.22.執行語句"x=(a=3,b=a--);"后,x,a,b的值依次為()A.3,3,2B.2,3,2C.3,2,3D.2,3,3解:C.計算表達式x=(a=3,b=a--)時,先計算賦值號右端圓括號內的逗號表達式.逗號表達式要求各子表達式順序計算,并以最后予表達式的值為整個逗號表達式的結果,所以該表達式計算時,先讓變量a的值為3,a--的值是a當時的值,以該值為結果賦給變量b,并以該值為逗號表達式的值賦給變量x,然后a的值被減少1.所以計算該表達式后,使變量x,a,b的值依次為3,2,3.23.設a為5,執行下列計算后,b的值不為2的是()A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?3:2解:C.因兩個整型數據相除,結果是整數,當a的值為5時,計算表達式b=a/2后,使b的值為2.計算表達式b=6-(--a)是先計算子表達式(--a)的,先讓a的值減1變成4,并以減1后的a為子表達式的結果,所以子表達式的結果為4,最后使b的值為2.在計算表達式b=a%2時,求余運算a%2的結果為1,最后使變量b的值為1.計算表達式b=a>3?3:2時,先計算條件表達式a>3?3,2,以2為結果,最后也使變量b的值為2.24.設a=1,b=2,c=3,d=4則表達式a<b?a:c解:D.條件運算符的優先級比關系運算符的優先級低,并且它的結合性是自右向左的,所以表達式a<b?a:c<d?a</b?a:c<d?a</b?a:c:d可用圓括號等價地寫成(a<b?a:((c<d)?a:d).因a<b成立,計算結果為a的值1.25.設charch='A',則表達式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是()A.'A'B.'a'C.'Z'D.'z'解:B.由于字符型變量ch的值為'A',計算表達式ch=(ch>='A'&&ch<='Z')?(ch+32):ch.先計算其中條件表達式,由于條件(ch>='A'&ch<='Z')成立,該條件表達式以ch+32=97為結果,將該值賦給變量ch,以字符表達這個值為'a'.26.在C語言中,結果不等于4的表達式是()A.sizeof(double)B.sizeof(long)C.sizeof(float)D.sizeof(unsignedlong)解:A27.用十進制數表示表達式"12|012"的運算結果是()A.1B.0C.14D.16解:C.按位運算將運算分量視作二進位的位運算,對兩運算分量的對應位進行運算,產生進位的位串信息結果.整數12最低8位二進位是00001100,整數012是八進制數,它的最低8位二進位是00001010.這兩個二進位位串信息按位或運算,得到結果是00001110,對應十進制數14,八進制數是016.28.設有定義"chara=3,b=6,c;"計算表達式c=(a^b)<<2后c的二進制值是()A.00011100B.00000111C.00000001D.00010100解:D.a的值為3,寫成8位二進制數形式是00000011,b的值為6,寫成8位二進制數形式是00000110.表達式c=(a^b)<<2,先計算a與b的按位加,得到結果00000101,將這結果向左移2位,得到二進位的位串信息是00010100.29.設有定義shorti=013,j=0x13,k;,計算表達式k=~i|j>>3;后,k的值是()A.06B.0177776C.066D.0177766解:D.將變量i的八進制數值013寫成二進制形式為00001011,將變量j的十六進制值0xl3寫成二進制數形式為00010011.表達式k=~i|j>>3的計算過程是先求~i,結果用八進制代碼表示為0177764,接著計算j>>3,結果為02,對它們進行按位或運算結果為0177766.30.設整型變量x,y,z均已賦值,下列選項中,正確的賦值表達式是()A.<解:B31.在以下一組運算符中,優先級最高的運算符是()A.<=B.=C.%D.&&解:C.常規運算符的優先級自高到低的排列順序是算術運算符,移位運算符,關系運算符,按位運算符邏輯運算符,條件運算符,賦值運算符,逗號運算符.所以問題所給的四個運算符按優先級自高到低的排列順序是%,<=,&&,=.32.在以下一組運算符中,優先級最高的運算符是()A.--B.==C.||D.&&解:A33.若有以下定義:chara;intb;floatc;doubled;則表達式a*b+d-c值的類型為()A.floatB.intC.charD.double解:D.基本類型的數據可以混合運算,但運算時,對要求運算分量類型相同的運算來說,如運算分量的類型不是全相同則會有自動類型轉換發生.類型自動轉換規則規定類型低(簡單)的向類型高(復雜)的轉換.各類型由高到低的排列順序是:longdouble,float,unsignedlong,long,unsignedint,int.這樣,若有定義:chara;intb;floatc;doubled;則表達式a*b+d-c的值的類型是double的.首先計算a*b,得到int類型的值,接著計算a*b+d,得到double類型的值,最后計算a*b+d-c,得到double類型的值.34.關于運算時的數據類型轉換,下列說法中錯誤的是()A.表達式計算中,數據要轉換成數據長度最長的數據類型再運算B.賦值時,右邊表達式的運算結果轉換成左邊變量的數據類型再賦值C.賦值時,左邊變量的數據類型轉換成右邊表達式的運算結果類型再輔助D.(float)(n+m)是先計算n+m,然后再將結果強行轉換成單精度實型解:C二、填空題1.C語言中的常量有4種類型:整型,實型,____型,____型.解:數值,字符2.用十進制表示整型常量-017為____,表示整型常量-0xF為____.解:-15,-143.無符號短整型數據的表示范圍是____至____.解:0,655354.在內存中存儲"A"要占用____個字節,存儲字符'A'要占用_____個字節.解:計算機存儲一個字符用1個字節,存儲字符串時,每個字符要占用1個字節,另在字符串的有效字符之后存儲1個字符串的結束標記符.所以存儲"A"要占用2個字節,存儲字符'A'只要1個字節.5.在內存中存放字符串,其最后一個字符為"空字符",對應的轉義字符為____,其值為____.解:\0,06.符號常量的定義方法是____.解:定義符號常量用預處理命令的宏定義,其定義的一般形式是:#define符號常量常量7.設有宏定義#defineX3-2;則2*X的宏替換結果是____.解:2*3-28.定義變量的語句格式是____.解:數據類型符變量1,變量2,…;9.無符號基本整型的數據類型符為____,雙精度實型數據類型符為____,字符型數據類型符為____解:無符號的基本整型的類型符為unsignedint,或簡寫成unsigned.雙精度實型數據類型符為double,字符型數據類型符為char.10.定義整型有名常量nn的初值為199,正確的定義語句是____.解:constintnn=199;11.設x和y均為int型變量,且x=l,y=2,則表達式1.0+x/y的值為____.解:計算表達式1.0+x/y,先求x/y,因x和y是整型變量,其中的除運算是整除,1/2的結果為0.接著計算1.0+0,計算時,先將右分量轉換成0.0,最后得到結果1.0.12.請寫出數學式a/bc的C語言表達式____.解:數學式子表述的是a除以b乘c的積,寫成表達式可以寫為x/(y*z),或可等價地寫成x/y/z.13.設a=3,b=2,c=l,則c>b的值為____,a>b>c的值為______.解:0,0.因a的值為3,b的值是2,條件a>b為真,其值為1.表達式a>b>c的求值順序是計算a>b,結果為1,接著計算1>c,因c的值為1,條件1>c為假.結果為0.14.C語言中作為運算對象時的邏輯值真是用____表示的,邏輯值假是用____表示的.邏輯表達式值為真時是用____表示的,邏輯表達式值為假時是用____表示的.解:在C程序中,判邏輯值時,用非0值表示真,用值0表示假;但邏輯表達式計算結果,邏輯表達式值為真是用1表示的,而邏輯表達式的值為假,則用0表示.15.若已知a=10,b=20,則表達式!a解:計算表達式!a<b,先計算!a,因a的值為1o,!a的值為0.關系表達式0<20為真,所以表達式!a16.能表述20<x<30或x<-100的c語言表達式是____.解:首先表述20<x<30的c表達式可寫成20<x&&x<30.所以表述20<x<30或x<-100的c表達式為20<x&&x<30||x<-100.17.設變量x,y,z均為實型,表示其中至少有一個負數的表達式是____.解:x<0||y<0||z<018.表達式'a'>'A'>=1<=0==1!=0的值等于____.解:表達式計算時可按照順序(((('a'>'A')>=1)<=0)==1)!=0,首先計算'a'>'A'得到1,然后計算1>=1得到1,再計算1<=0得到0,再計算0==1得到0最后計算0!=0得到0,故表達式的值為0.19.設二進制數A是00101101,若想通過異或運算A^B使A的高4位取反,低4位不變,則二進制數B應是____.解:按位加運算的一個重要應用是讓某個整型變量的二進位位串信息的某些位信息反向,0變成1,而1變成0.這只要設計這樣一個位串信息,讓要變反的位為1,不要改變的位為0,用這個位串信息與整型變量按位加就能得到希望的結果.要使字節的高4位取反,低4位不變,則需要位串信息是11110000,寫成八進制數是0360,寫成十六進制數為0xF0.20.設整型變量x,y,z均為5:A.執行x-=y-x后,x=____;B.執行x%=y+z后,x=____;C.執行x=(y>z)?x+2:x-2,3,2后,x=____.解:在變量x,y,z的值均為5的情況下,計算各表達式.由于表達式x-=y-z等價于表達式x=x-(y-z),所以計算后x的值為5.表達式x%=y+z等價于表達式x=x%(y+z),所以計算后x的值也為5.表達式x=(y>z)?x+2:x-2,3,2的計算過程用圓括號描述其計算順序是:x=(y>z)?x+2:x-2,3,2,即這是一個逗號運算表達式,由一個賦值表達式和兩個數值構成,逗號表達式要求順序求各子表達式的值.表達式x=(y>z)?x+2:x-2的計算是先求賦值號右邊的條件表達式,因條件(y>z)為假,求出x-2的值為3,將該值賦給變量x,使x的值為3.21.設有下列運算符<<,+,++,&&,<=,其中優先級最高的是____,優先級最低的是____.解:對運算符<<,+,++,&&,<=,按它們的優先級自高到低的順序排列為:++,+,<<,<=,&&,所以優先級最高的是++,優先級最低的是&&.22.C語言中運算結果可以當成邏輯值使用的表達式有____表達式,____表達式,____表達式,____表達式,____表達式和____表達式.解:算術,關系,邏輯,賦值,逗號,條件.在c語言中,邏輯判斷以非0值為真,以0值為假.所以,幾乎所有的表達式的運算結果都可以當成邏輯值使用,如算術表達式,關系表達式,邏輯表達式,賦值表達式,逗號表達式,條件表達式等.第四章順序結構、選擇結構和循環結構的程序設計一、單項選擇題1.設a=3,b=4,執行"printf("%d,%d",(a,b),(b,a));"的輸出是()A.</x<30的c表達式可寫成20<x&&x<30.所以表述20<x<30或x<-100的c表達式為20<x&&x<30||x<-100.></x<30或x<-100的c語言表達式是____.></b,先計算!a,因a的值為1o,!a的值為0.關系表達式0<20為真,所以表達式!a3,4B.4,3C.3,3D.4,4解:B.在調用格式輸出函數的語句中,其中每個格式符對應一個輸出項,格式符%d要求輸出項內容以十進制整數形式輸出.第一個輸出項(a,b)是一個逗號表達式,該表達式的值是b的值,輸出4.接著輸出字符逗號.第二個輸出項(b,a)的值是a的值,輸出3.所以語句執行將輸出4,3.2.使用語句"scanf("x=%f,y=%f",&x,&y)",要使x,y均為1.25,正確的輸入是()A.1.25,1.25B.1.251.25C.x=1.25,y=1.25D.x=1.25y=1.25解:C.格式輸入函數的格式字符串中的字符可以分成三類:空格類字符,其它普通字符和格式轉換說明.其中空格類字符用來跳過一個空格類字符序列,直至下一個非空格類字符.普通字符要求輸入字符與其完全相同.格式轉換說明對輸入字符列按格式轉換說明進行轉換,得到內部值存儲到對應輸入項所指定的存儲位置中.函數調用scanf("x=%f,y=%f,&x,&y)以普通字符x=開頭,輸入時也要先輸入x=.接著是一個浮點數輸入格式,所有能構成一個浮點數1.25的字符序列都能滿足要求.接著是普通字符列",y=",在輸入的浮點數之后也要有字符列",y=".最后又是浮點數輸入格式,同樣所有能構成一個浮點數1.25的字符序列都能滿足要求.問題給出的供選擇答案中只有x=1.25,y=1.25是能滿足上述要求的.3.設有inti=010,j=10;則執行"printf("%d,%d\n",++i,j--);"的輸出是()A.ll,10B.9,10C.010,9D.10,9解:B.變量i和j的初值分別為八進制數010和十進制數10,函數調用printf("%d,%d\n",++i,j--)中,++i的值是變量i增1后的值,原來值是八進制數010,等于十進制數8,輸出9.j--的值是變量j減1之前的值,輸出10.格式字符申中的逗號是普通字符照原樣輸出.所以問題給出的格式輸出函數調用將輸出9,10.4.設a,b為字符型變量,執行"scanf("a=%c,b=%c",&a,&b);"后使a為'A',b為'B',從鍵盤上的正確輸入是()A.'A''B'B.'A','B'C.A=A,B=BD.a=A,b=B解:D.函數調用scanf("c=%c,b=%c",&c,&b)中,普通字符必須按格式字符串要求照原樣輸入,c格式對緊接的任何字符都輸入.所以實現問題的要求,輸入字符列應為"a=A,b=B".另外要特別指出,在程序中,為表示字符常量,字符前后需加單引號.但用字符格式輸入字符時,在要輸入字符前后不必另鍵人單引號.若鍵人單引號,則這個單引號也將作為字符被輸入.5.設x,y,z,t均為int型變量,則執行以下語句后,t的值為()x=y=z=1;t=++x||++y&&++z;A.不定值B.2C.lD.0解:C.語句序列"x=y=z=1;t=++x||++y&&++z;"使變量x的值為1,變量t是賦一個邏輯表達式的值.在C語言中,由邏輯與和邏輯或構成的邏輯表達式有特別的計算規則,順序計算各邏輯子表達式,并當一旦能得到邏輯表達式的結果時,就立即結束邏輯表達
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 留學簽證續簽與延期服務合同
- 旅游度假村特色攤位租賃與休閑娛樂合同
- 產業鏈整合廠房租賃合同續簽補充協議范本
- 高新技術產業園區廠房及場地租賃合同范本
- 車輛轉讓與駕駛技能培訓及考試服務協議
- 大型倉儲物流園區物業運營與管理合同
- 財務數據分析員勞動合同書
- 叉車操作員技能考核與晉升合同
- 采棉機智能化改造與運營維護合同
- 社區車輛無償租賃管理公約
- 公路養護勘察設計工作大綱講義
- 認識居民身份證微課說課稿課件
- 授受關系課件-高三日語一輪復習
- 2009年《四川省建設工程工程量清單計價定額》
- 生產設備點檢記錄表
- 鋼管樁支護工程檢驗批質量驗收記錄表
- 假發行業知識產品
- GB∕T 33628-2017 風力發電機組高強螺紋連接副安裝技術要求
- 超高壓技術介紹、應用和工藝
- 公司治理完整測試題【附答案】
- 汽車維修工時收費標準二類企業
評論
0/150
提交評論