二級(jí)C語(yǔ)言強(qiáng)化班_第1頁(yè)
二級(jí)C語(yǔ)言強(qiáng)化班_第2頁(yè)
二級(jí)C語(yǔ)言強(qiáng)化班_第3頁(yè)
二級(jí)C語(yǔ)言強(qiáng)化班_第4頁(yè)
二級(jí)C語(yǔ)言強(qiáng)化班_第5頁(yè)
已閱讀5頁(yè),還剩277頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 1,基本概念; 2,考點(diǎn)較少,不斷重復(fù); 3,注重細(xì)節(jié);各種各種“程序程序”的概念的概念程序:程序:人們把需要用計(jì)算機(jī)完成的工作寫成一條條指令,并把這些指令存儲(chǔ)在內(nèi)存中,當(dāng)人們給出執(zhí)行命令后,計(jì)算機(jī)就按指令順序自動(dòng)進(jìn)行操作。這些可以連續(xù)執(zhí)行的一條條指令的集合稱為“程序”。程序設(shè)計(jì)語(yǔ)言的發(fā)展機(jī)器語(yǔ)言:CPU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成匯編語(yǔ)言:用助記符號(hào)描述的指令系統(tǒng) 低級(jí)語(yǔ)言:機(jī)器語(yǔ)言和匯編語(yǔ)言 高級(jí)語(yǔ)言:分為面向?qū)ο蟮恼Z(yǔ)言及面向過程的語(yǔ)言兩種。 用匯編語(yǔ)言和高級(jí)語(yǔ)言寫的程序,稱為源程序。C語(yǔ)言即為高級(jí)語(yǔ)言,C語(yǔ)言源程序文件的擴(kuò)展名為.c各種程序之間的轉(zhuǎn)換匯編語(yǔ)言-匯編程序-機(jī)器語(yǔ)

2、言高級(jí)語(yǔ)言-編譯程序-目標(biāo)程序(二進(jìn)制語(yǔ)言)-鏈接程序-可執(zhí)行程序(二進(jìn)制語(yǔ)言)計(jì)算機(jī)只能執(zhí)行機(jī)器語(yǔ)言程序,對(duì)于匯編語(yǔ)言和高級(jí)語(yǔ)言源程序必須經(jīng)過轉(zhuǎn)換后才能被計(jì)算計(jì)算機(jī)只能執(zhí)行機(jī)器語(yǔ)言程序,對(duì)于匯編語(yǔ)言和高級(jí)語(yǔ)言源程序必須經(jīng)過轉(zhuǎn)換后才能被計(jì)算機(jī)執(zhí)行。機(jī)執(zhí)行。真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)1.下列敘述中錯(cuò)誤的是A、計(jì)算機(jī)不能直接執(zhí)行用C語(yǔ)言編寫的源程序B、C程序經(jīng)編譯后,生成后綴為.obj的文件是一個(gè)二進(jìn)制文件C、后綴為.obj的文件,經(jīng)連接程序生成后綴為.Exe的文件是一個(gè)二進(jìn)制文件D、后綴為.obj和.exe的二進(jìn)制文件都可以直接運(yùn)行2.以下敘述中錯(cuò)誤的是A、C語(yǔ)言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序

3、B、C程序經(jīng)過編譯、連接步驟之后才能形成一個(gè)真正可以執(zhí)行的二進(jìn)制機(jī)器指令文件C、用C語(yǔ)言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個(gè)文本文件中D、C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將轉(zhuǎn)換成二進(jìn)制的機(jī)器指令3.計(jì)算機(jī)能直接執(zhí)行的程序是A、源程序B、目標(biāo)程序C、匯編程序D、可執(zhí)行程序4.C語(yǔ)言源程序的后綴是A、.exeB、.cC、.objD、.cp5.以下說明中正確的是、C語(yǔ)言比其它語(yǔ)言高級(jí)、C語(yǔ)言可以不用編譯就能被計(jì)算機(jī)執(zhí)行、C語(yǔ)言以接近英語(yǔ)和數(shù)學(xué)言語(yǔ)作為語(yǔ)言的表達(dá)式、C語(yǔ)言出現(xiàn)最晚,具有其它語(yǔ)言的一切優(yōu)點(diǎn)以下敘述中正確的是A、C語(yǔ)言的源程序不必通過編譯就可以直接運(yùn)行B、C語(yǔ)言

4、中的每條可執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令C、C程序經(jīng)編譯形成的二進(jìn)制代碼可直接執(zhí)行D、C語(yǔ)言中的函數(shù)不可以單獨(dú)進(jìn)行編譯1.算法的概念:算法是指為解決某個(gè)特定問題而采取的確定且有限的步驟。2.算法的五個(gè)特點(diǎn)有窮性:一個(gè)算法包含的步驟是有限的。即在若干個(gè)步驟后結(jié)束,并且每一步都在合理時(shí)間內(nèi)完成確定性:算法中每一條指令必須有確切的含義,不能有二義性,對(duì)于相同的輸入必能得出相同的執(zhí)行結(jié)果??尚行裕核惴ㄖ兄付ǖ牟僮?,都可以通過已經(jīng)驗(yàn)證可以實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次后實(shí)現(xiàn)。有零個(gè)或多個(gè)輸入:算法都是用來處理數(shù)據(jù)對(duì)象的,通常情況下這些數(shù)據(jù)對(duì)象需要通過輸入來得到有1個(gè)或多個(gè)輸出:算法的目的是為了求解。

5、這些“解”只有通過輸出得到。3.評(píng)價(jià)算法的標(biāo)準(zhǔn):時(shí)間復(fù)雜度 空間復(fù)雜度 真題實(shí)戰(zhàn)真題實(shí)戰(zhàn) 1 算法中,對(duì)需要執(zhí)行的每一步驟操作,必須給出清楚、嚴(yán)格的規(guī)定,這屬于算法的是 A、正當(dāng)性 B、可行性C、確定性D、有窮性 2 以下敘述中錯(cuò)誤的是 A、算法正確的程序最終一定會(huì)結(jié)束 B、算法正確的程序可以有零個(gè)輸出 C、算法正確的程序可以有零個(gè)輸入 D、算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果 參考答案:參考答案:1C 2B 牛刀小試牛刀小試 一個(gè)算法應(yīng)該具有“確定性”等5個(gè)特性,下面對(duì)另外4個(gè)特性的描述中錯(cuò)誤的是 A、有零個(gè)或多個(gè)輸入 B、有零個(gè)或多個(gè)輸出 C、有窮性 D、可行性 參考答案:參考答案

6、:B 知識(shí)點(diǎn)知識(shí)點(diǎn) 結(jié)構(gòu)化程序的三種基本結(jié)構(gòu) 順序結(jié)構(gòu):執(zhí)行時(shí)按順序逐條執(zhí)行,沒有分支,沒有轉(zhuǎn)移??捎少x值語(yǔ)句、輸入/輸出語(yǔ)句等構(gòu)成。 選擇結(jié)構(gòu):根據(jù)不同的條件執(zhí)行不同分支中的語(yǔ)句??捎蒳f語(yǔ)句、switch語(yǔ)句等構(gòu)成。 循環(huán)結(jié)構(gòu):根據(jù)各自的條件使一組語(yǔ)句重復(fù)執(zhí)行多次或一次也不執(zhí)行??捎蒮or語(yǔ)句、while語(yǔ)句等構(gòu)成。 由上述三種基本結(jié)構(gòu)可以構(gòu)成任意復(fù)雜的程序。由上述三種基本結(jié)構(gòu)可以構(gòu)成任意復(fù)雜的程序。 模塊化結(jié)構(gòu):將復(fù)雜任務(wù)分解成若干個(gè)子任務(wù),每個(gè)子任務(wù)又可分解成多個(gè)小子任務(wù),每個(gè)小子任務(wù)只需完成一個(gè)簡(jiǎn)單的功能。在程序設(shè)計(jì)時(shí)用一個(gè)小模塊實(shí)現(xiàn)這些功能。稱這樣的程序設(shè)計(jì)方法為“模塊化”方法,由

7、一個(gè)個(gè)功能模塊構(gòu)成的程序結(jié)構(gòu)為模塊化結(jié)構(gòu)。真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)以下敘述中錯(cuò)誤的是A、C語(yǔ)言是一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言B、結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成C、使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問題D、結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法參考答案:參考答案:C牛刀小試牛刀小試C語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是A、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)B、if、 switch 、breakC、for 、while 、do-whileD、if、for、continue參考答案:參考答案:AC程序的結(jié)構(gòu)和格式程序的結(jié)構(gòu)和格式知識(shí)點(diǎn)知識(shí)點(diǎn)1 格式特點(diǎn)1)習(xí)慣用小寫字母,大小寫敏感;2)不使用行號(hào),

8、無程序行概念;3)可使用空行和空格;4)常用鋸齒形書寫格式;2 結(jié)構(gòu)特點(diǎn) 2.1函數(shù)與主函數(shù)函數(shù)與主函數(shù)程序由一個(gè)或多個(gè)函數(shù)組成;必須有且只能有一個(gè)主函數(shù)main();程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行; 2.2程序語(yǔ)句程序語(yǔ)句C程序由語(yǔ)句組成;用“;”作為語(yǔ)句終止符; 2.3注釋注釋/* */為注釋,不能嵌套不產(chǎn)生編譯代碼 2.4 編譯預(yù)處理命令編譯預(yù)處理命令: 命令行,不是C語(yǔ)句真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)1 對(duì)于一個(gè)正常運(yùn)行的C程序,以下敘述中正確的是 A、程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束 B、程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在main函

9、數(shù)中結(jié)束 C、程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束。 D、程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束。2 以下關(guān)于函數(shù)的敘述中正確的是 A、 每個(gè)函數(shù)都可以被其他函數(shù)調(diào)用(包括main 函數(shù)) B、每個(gè)函數(shù)都可以被單獨(dú)編譯 C、每個(gè)函數(shù)都可以單獨(dú)運(yùn)行 D、在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)3 以下敘述中正確的是 A、 C語(yǔ)言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開始執(zhí)行 B、可以在程序中由用戶指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行 C、C語(yǔ)言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)束 D、main可作為用戶標(biāo)識(shí)符,用以命名任意一個(gè)函數(shù)作

10、為主函數(shù)4 以下敘述中正確的是 A、 C程序的基本組成單位是語(yǔ)句 B、 C程序中每一行只能寫一條語(yǔ)句 C、簡(jiǎn)單C語(yǔ)句必須以分號(hào)結(jié)束 (復(fù)合語(yǔ)句) D、 C語(yǔ)句必須在一行內(nèi)寫完 參考答案:參考答案:1A2B3C4C知識(shí)點(diǎn)知識(shí)點(diǎn)1、 標(biāo)識(shí)符的概念:標(biāo)識(shí)符是用來標(biāo)識(shí)變量、符號(hào)常量、函數(shù)、數(shù)組、類型、標(biāo)號(hào)以及一些具有專門含義的有效字符序列。通俗地講,標(biāo)識(shí)符就是一個(gè)名字。2 、標(biāo)識(shí)符分為三類: 關(guān)鍵字 預(yù)定義標(biāo)識(shí)符 用戶標(biāo)識(shí)符3、 標(biāo)識(shí)符 3.1 組成: 只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必須是字母或下劃線; 大小寫敏感; 不能使用關(guān)鍵字; 3.2長(zhǎng)度:最長(zhǎng)32個(gè)字符; 3.3 命名原則: 見名

11、知意; 不宜混淆 如1與I, o與0;真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)1.下列定義變量的語(yǔ)句中錯(cuò)誤的是 A、int _int;B、double int_; C、char For; D、float US$;2.以下敘述中錯(cuò)誤的是 A、用戶所定義的標(biāo)識(shí)符允許使用關(guān)鍵字 B、用戶所定義的標(biāo)識(shí)符應(yīng)盡量做到“見名知意” C、用戶所定義的標(biāo)識(shí)符必須以字母或下劃線開頭 D、用戶定義的標(biāo)識(shí)符中大、小寫字母代表不同標(biāo)識(shí)3.下列不合法的用戶標(biāo)識(shí)符是 A、 j2_KEY B、DoubleC、 4d D、_8_4.按照C語(yǔ)言規(guī)定的用戶標(biāo)識(shí)符命名規(guī)則,不能出現(xiàn)在標(biāo)識(shí)符中的是: A、大寫字母 B、連接符 C、數(shù)字字符 D、下劃線5.可在

12、C程序中用做用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是 A) and B) Date C) Hi D) case _2007 y-m-d Dr.Tom Bigl6.以下選項(xiàng)中不合法的標(biāo)識(shí)符是 A、printB、FORC、 &aD、 _00 參考答案:參考答案:1D2A3C4B5A6C知識(shí)點(diǎn)知識(shí)點(diǎn)1.常量的概念:程序運(yùn)行時(shí)其值不能改變的量(即常數(shù))2.常量的分類符號(hào)常量:用標(biāo)識(shí)符代表常量用標(biāo)識(shí)符代表常量定義格式: #define 符號(hào)常量 常量一般用大寫字母是宏定義預(yù)處理命令,不是C語(yǔ)句直接常量整型常量 實(shí)型常量 字符常量 字符串常量3.整型常量(三種形式):十進(jìn)制整數(shù):由數(shù)字09和正負(fù)號(hào)表示.如 123

13、,-456,0八進(jìn)制整數(shù):由數(shù)字0開頭,后跟數(shù)字07表示.如0123,011十六進(jìn)制整數(shù):由0 x開頭,后跟09,af,AF表示. 如0 x123,0Xff 八進(jìn)制和十六進(jìn)制只能是正數(shù)。 要掌握三種形式之間的轉(zhuǎn)換關(guān)系。4.實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù)) 表示形式: 十進(jìn)制數(shù)形式:(必須有小數(shù)點(diǎn)):(必須有小數(shù)點(diǎn)) 指數(shù)形式:(e或或E之前必須有數(shù)字;指數(shù)必須為整數(shù))之前必須有數(shù)字;指數(shù)必須為整數(shù)) 在計(jì)算機(jī)中,實(shí)數(shù)一律是以指數(shù)形式存儲(chǔ)的。計(jì)算機(jī)中存儲(chǔ)整數(shù)不會(huì)出現(xiàn)誤差,存儲(chǔ)實(shí)型數(shù)往往存入誤差。5.字符常量:用單引號(hào)單引號(hào)括起來的單個(gè)普通字符或轉(zhuǎn)義字符. 6.字符串常量:用雙引號(hào)雙引號(hào)(“”)括起來的字

14、符序列,存儲(chǔ)時(shí),每個(gè)字符串尾自動(dòng)加一個(gè) 0 作為字符串結(jié)束標(biāo)志。 真題實(shí)戰(zhàn)真題實(shí)戰(zhàn) 有以下程序,其中%u表示按無符號(hào)整數(shù)輸出,程序運(yùn)行后的輸出結(jié)果是 #include “stdio.h” main() unsigned int x=0 xFFFF; /* x的初值為16進(jìn)制數(shù) */ printf(“%un”,x); A-1B65535C32767D0 xFFFF 下列不合法的數(shù)值常量是 A、 011B、 1e1C、 8.0E0.5D、0 xabcd 參考答案:參考答案:1、B2、C 3、88C語(yǔ)言基本數(shù)據(jù)類型及其定義規(guī)則(變量)語(yǔ)言基本數(shù)據(jù)類型及其定義規(guī)則(變量)知識(shí)點(diǎn)知識(shí)點(diǎn)變量概念:其值可以

15、改變的量變量定義應(yīng)遵循原則:先定義,后使用。變量的分類整型變量實(shí)型變量字符型變量注意:無字符串變量真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)以下程序運(yùn)行后的輸出結(jié)果是main( ) int x=0210; printf(%Xn,x); 參考答案:參考答案:1、88基本類型數(shù)據(jù)的相互轉(zhuǎn)換基本類型數(shù)據(jù)的相互轉(zhuǎn)換知識(shí)點(diǎn)知識(shí)點(diǎn)doublefloatlongunsignedintchar,short低高低高轉(zhuǎn)換的優(yōu)先級(jí):doublefloatlongunsignedintchar,short低高強(qiáng)制類型轉(zhuǎn)換一般形式:(類型名)(表達(dá)式) 真題實(shí)戰(zhàn)真題實(shí)戰(zhàn) 以下選項(xiàng)中值為1的表達(dá)式是 A、 1-0B、 1-0 C、 1-0D、 0

16、-0 設(shè)有定義:float x=123.4567;,則執(zhí)行下列語(yǔ)句 printf(%fn,(int)(x*100+0.5)/100.0); 后的輸出結(jié)果是 已知字母A的ASCII碼為65。以下程序運(yùn)行后的輸出結(jié)果為 main( ) char a,b; a=A+5-3; b=a+6-2; printf(%d %cn,a,b); 參考答案:參考答案:1、B2、123.4600003、67 G 有以下程序,程序運(yùn)行后的輸出結(jié)果為 main() unsigned int a; int b=-1; a=b; printf(“%u”,a); A、-1B、65535C、32767D、-32768 以下程序運(yùn)

17、行后的輸出結(jié)果是 main() int a,b,c; a=25;b=025;c=0 x25; printf(“%d %d %dn”,a,b,c); 參考答案參考答案:1、B2、25 21 37常見算術(shù)運(yùn)算符的使用常見算術(shù)運(yùn)算符的使用基本的算術(shù)運(yùn)算符:、 (減法/取負(fù)) 、/、% (取余數(shù))除法運(yùn)算:C語(yǔ)言規(guī)定:兩個(gè)整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。求余數(shù)運(yùn)算:要求兩側(cè)的操作數(shù)均為整型整型數(shù)據(jù),否則出錯(cuò)。兩邊運(yùn)算數(shù)類型不一致:系統(tǒng)將自動(dòng)進(jìn)行轉(zhuǎn)換,使兩邊一致后再進(jìn)行運(yùn)算。實(shí)型數(shù)的運(yùn)算:所有實(shí)型數(shù)的運(yùn)算均以雙精度方式進(jìn)行,若是單精度,則在尾數(shù)部分添0,轉(zhuǎn)換為雙精度。算術(shù)表達(dá)式的概念表達(dá)式的概念:

18、 用運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(常量、變量和函數(shù)等)連接起來的、符合語(yǔ)言語(yǔ)法規(guī)則的式子,稱為表達(dá)式。算術(shù)表達(dá)式的概念:表達(dá)式中的運(yùn)算符都是算術(shù)運(yùn)算符。強(qiáng)制類型轉(zhuǎn)換表達(dá)式轉(zhuǎn)換格式為: (要轉(zhuǎn)換成的數(shù)據(jù)類型要轉(zhuǎn)換成的數(shù)據(jù)類型)(被轉(zhuǎn)換的表達(dá)式被轉(zhuǎn)換的表達(dá)式)注意:強(qiáng)制轉(zhuǎn)換類型得到的是一個(gè)所需類型的中間量,原表達(dá)式類型并不發(fā)生變化。 以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),數(shù)為0的表達(dá)式為( A、x%2=1B、x/2C、x%2!=0D、x%2=0 下列isprime 函數(shù)的功能是判斷形參a 是否為素?cái)?shù),是素?cái)?shù),函數(shù)返回1,否則返回0。請(qǐng)?zhí)羁?int isprime(int a) int i; for(i=2;

19、i=a/2;i+ +) if(a%i= =0) ; ; 設(shè)有定義:int k=1,m=2; float f=7;則下列選項(xiàng)中錯(cuò)誤的表達(dá)式是 A、k=k =k B、-k+ + C、k%int(f)D、k =f =m 參考答案:參考答案:1、D 2、return 0 return 13、C算術(shù)運(yùn)算符的優(yōu)先級(jí)順序算術(shù)運(yùn)算符的優(yōu)先級(jí)順序算術(shù)運(yùn)算符的優(yōu)先級(jí)算術(shù)運(yùn)算符和圓括號(hào)的結(jié)合性所謂結(jié)合性是指,當(dāng)一個(gè)操作數(shù)兩側(cè)的運(yùn)算符具有相同的優(yōu)先級(jí)時(shí),該操作數(shù)是先與左邊的運(yùn)算符結(jié)合,還是先與右邊的運(yùn)算符結(jié)合。自左至右的結(jié)合方向,稱為左結(jié)合性。反之,稱為右結(jié)合性。結(jié)合性是語(yǔ)言的獨(dú)有概念。除單目運(yùn)算符、賦值運(yùn)算符和條件

20、運(yùn)算符是右結(jié)合性外,其它運(yùn)算符都是左結(jié)合性。算術(shù)運(yùn)算符的結(jié)合方向是“自左至右”,即:在執(zhí)行“a b + c”時(shí),變量b先與減號(hào)結(jié)合,執(zhí)行“a - b”;然后再執(zhí)行加c的運(yùn)算。 真題實(shí)戰(zhàn)真題實(shí)戰(zhàn) 表達(dá)式3.6-52+1.2+5%2 的值是_ A、4.3B、4.8C、3.3D、3.8 下列不能正確計(jì)算代數(shù)式sin2(1/2)/3值的C 語(yǔ)言表達(dá)式是_ A、1/3 *sin(1/2)*sin(1/2)B、sin(0.5)*sin(0.5)/3 C、pow(sin(0.5),2)/3D、1/3.0*pow(sin(1.0/2),2) 參考答案:參考答案:1、D2、A 設(shè)有定義:float a=2,b=

21、4,h=3;以下C語(yǔ)言表達(dá)式與代數(shù)式計(jì)算結(jié)果不相符的是 A、(a+b)*h/2B、(1/2)*(a+b)*hC、(a+b)*h*1/2D、h/2*(a+b) 參考答案:B賦值表達(dá)式的求值規(guī)則賦值表達(dá)式的求值規(guī)則賦值運(yùn)算的一般形式:變量變量 = 賦值表達(dá)式賦值表達(dá)式賦值運(yùn)算符的優(yōu)先級(jí)只高于逗號(hào)運(yùn)算符,比其它的運(yùn)算符優(yōu)先級(jí)都低,且具有自右向左的結(jié)合性。如:a=2+7/3賦值運(yùn)算符不是數(shù)學(xué)中的“等于號(hào)”,而是進(jìn)行“賦予”操作。賦值運(yùn)算符左邊只能是變量,不能是常量或是表達(dá)式。如a+b=c就是錯(cuò)誤的。賦值運(yùn)算符右邊也可以是賦值表達(dá)式。如a=b=7+1,而a=7+1=b則是錯(cuò)誤的?!薄耙曌鬟\(yùn)算符,a=19

22、是一個(gè)表達(dá)式,C語(yǔ)言規(guī)定最左邊變量中所得到的新值就是賦值表達(dá)式的值。復(fù)合賦值表達(dá)式的一般形式:變量變量 雙目運(yùn)算符雙目運(yùn)算符 = 表達(dá)式表達(dá)式 結(jié)合方向:自右向左左側(cè)必須是變量,不能是常量或表達(dá)式( 3=x-2*y; 及 a+b=3; 都是錯(cuò)誤的)賦值運(yùn)算中的類型轉(zhuǎn)換當(dāng)賦值號(hào)左邊的變量為短整型,右邊的值為長(zhǎng)整型時(shí),短整型變量只能接受長(zhǎng)整型數(shù)據(jù)低位上的兩個(gè)字節(jié)的數(shù)據(jù),高位上的數(shù)據(jù)將丟失。也就是說,右邊的值不能超過短整型的數(shù)值范圍。當(dāng)賦值號(hào)左邊的變量為無符號(hào)整型,右邊的值為有符號(hào)整型時(shí),則把內(nèi)存中的內(nèi)容原樣復(fù)制。右邊數(shù)據(jù)的范圍不應(yīng)超出左邊變量可以接受的數(shù)據(jù)范圍。同時(shí)要注意,這時(shí)負(fù)數(shù)將轉(zhuǎn)換為正數(shù)。當(dāng)

23、賦值號(hào)左邊的變量為有符號(hào)整型,右邊的值為無符號(hào)整型時(shí),復(fù)制的機(jī)制同上,這時(shí),若符號(hào)位為1,將按負(fù)數(shù)處理。以下敘述中錯(cuò)誤的是A、C程序中的#include和#define均不是C語(yǔ)句B、除逗號(hào)運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級(jí)最低C、C程序中,j+; 是賦值語(yǔ)句D、C程序中,+、-、*、/、%是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算。下列能正確定義且賦初值的語(yǔ)句是A、 int nl=n2=10; B、char c=32;C、float f=f+1.1; D、 double x=12.3E2.5; 若變量x、y 已正確定義并賦值,下列符合C 語(yǔ)言語(yǔ)法的表達(dá)式是A、+x,y=x- B、 x+1=yC、x=x

24、+10=x+y D、 double(x)/10參考答案:參考答案:1、D2、B 3、A逗號(hào)表達(dá)式的求值規(guī)則逗號(hào)表達(dá)式的求值規(guī)則知識(shí)點(diǎn)知識(shí)點(diǎn)逗號(hào)表達(dá)式的形式:表達(dá)式:表達(dá)式1,表達(dá)式表達(dá)式2,表達(dá)式表達(dá)式n結(jié)合性:從左向右優(yōu)先級(jí):所有運(yùn)算符中,逗號(hào)運(yùn)算符優(yōu)先級(jí)最低所有運(yùn)算符中,逗號(hào)運(yùn)算符優(yōu)先級(jí)最低逗號(hào)表達(dá)式的值:等于表達(dá)式n的值用途:常用于循環(huán)for語(yǔ)句中真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)執(zhí)行以下程序后的輸出結(jié)果是main()int a=10;a=(3*5,a+4); printf(a=%dn,a);自加自減運(yùn)算符自加自減運(yùn)算符知識(shí)點(diǎn)知識(shí)點(diǎn)自增、自減運(yùn)算符只能用于變量,不能用于常量和表達(dá)式。5+、-(a+b)等都

25、是非法的。自增、自減運(yùn)算符和其它運(yùn)算符混合使用時(shí),其結(jié)合性為:至右向左。自增、自減運(yùn)算符,無論作為前綴(+a,-a)還是后綴( a +, a -)運(yùn)算符,對(duì)于變量本身來說自增1或自減1都具有相同的效果,但對(duì)表達(dá)式來說卻有著不同的值。真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)設(shè)有定義:int k=0;,以下選項(xiàng)的四個(gè)表達(dá)式中與其他三個(gè)表達(dá)式的值不相同的是A、k+B、k+=1C、+kD、k+1 有以下程序,程序運(yùn)行后的輸出結(jié)果為 main( ) int x,y,z; x=y=1; z=x+ +,y+ +,+ +y; printf(%d,%d,%dn,x,y,z); A、2,3,3B、2,3,2 C、2,3,1D、2,2,1

26、 下列程序的輸出結(jié)果是 main( ) int m=12, n=34; printf(%d %d, m+ +,+ +n); printf(%d %dn,n+ +,+ +m); A、 12 35 35 14B、 12 35 35 13 C、 12 34 35 14 D、 12 34 35 13 參考答案:參考答案:1、A2、C 3、A 牛刀小試牛刀小試 下列關(guān)于單目運(yùn)算符+、-敘述中正確的是 A、它們的運(yùn)算對(duì)象可以是任何常量和變量 B、它們的運(yùn)算對(duì)象可以是char型變量和int型變量,但不能是float型變量 C、它們的運(yùn)算對(duì)象可以是int型變量,但不能是double型和float型變量 D、它

27、們的運(yùn)算對(duì)象可以是char型變量,int型變量和float型變量 有以下程序,程序運(yùn)行后的輸出結(jié)果是 main() char a=a,b; printf(“%c, ”,+a); printf(“%cn”,b=a+); A、b,bB、a,bC、b,cD、a,c 參考答案:參考答案:1、D2、C賦值表達(dá)式與賦值語(yǔ)句賦值表達(dá)式與賦值語(yǔ)句賦值語(yǔ)句:在賦值表達(dá)式的尾部加上一個(gè)“;”,又稱為表達(dá)式語(yǔ)句。賦值語(yǔ)句必須在最后出現(xiàn)分號(hào),分號(hào)是語(yǔ)句中必不可少的部分。任何賦值表達(dá)式都可以加上分號(hào)而成為賦值語(yǔ)句,C語(yǔ)言規(guī)定賦值號(hào)左邊不能為常量或表達(dá)式。真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)若以下選項(xiàng)中的變量已經(jīng)正確定義,則正確的賦值語(yǔ)句是

28、A、x1=26.8%3; B、1+2=x2;C、x3=0 x12; D、x4=1+2=3;參考答案:參考答案:1、C數(shù)據(jù)的輸出數(shù)據(jù)的輸出知識(shí)點(diǎn)知識(shí)點(diǎn)字符輸出函數(shù):putchar( c )格式輸出函數(shù):printf(“格式控制串格式控制串”,輸出,輸出表表)格式字符、長(zhǎng)度修飾符和附加格式字符以及它們各自的功能。在格式控制字符串中,格式說明與輸出項(xiàng)從左到右在類型上必須一一對(duì)應(yīng)匹配。在格式控制串中,格式說明與輸出項(xiàng)的個(gè)數(shù)應(yīng)相同,若格式說明明少于輸出項(xiàng),則多余的輸出項(xiàng)不輸出,相反,對(duì)于多余的格式將輸出不定值。在格式控制串中,可以包含任意的合法字符(包括轉(zhuǎn)義字符)。數(shù)據(jù)的輸入數(shù)據(jù)的輸入字符輸入函數(shù) :g

29、etchar( )格式輸入函數(shù):scanf(“格式控制串”,地址表)熟知各種格式字符的功能scanf函數(shù)中的輸入項(xiàng)必須是“地址量”輸入數(shù)據(jù)時(shí),各個(gè)數(shù)據(jù)間可以用空格符、回車符或Tab 鍵作為分隔符除了3中所述分隔符外,還可以自己指定其它字符作為分隔符,但在輸入時(shí)應(yīng)輸入與這些字符相同的字符。輸入數(shù)據(jù)時(shí),遇到以下情況時(shí)該數(shù)據(jù)被認(rèn)為表示結(jié)束:遇到空格、Tab鍵或回車符按指定的寬度結(jié)束,如”%4d“,只取4列遇到非法輸入。復(fù)合語(yǔ)句與空語(yǔ)句復(fù)合語(yǔ)句與空語(yǔ)句知識(shí)點(diǎn)知識(shí)點(diǎn)復(fù)合語(yǔ)句:用 括起來的一組語(yǔ)句一般形式: 數(shù)據(jù)說明部分; 執(zhí)行語(yǔ)句部分; 空語(yǔ)句:由單獨(dú)的分號(hào)組成真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)以下敘述中錯(cuò)誤的是A、C語(yǔ)

30、句必須以分號(hào)結(jié)束 B、復(fù)合語(yǔ)句在語(yǔ)法上被看作一條語(yǔ)句C、空語(yǔ)句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行D、賦值表達(dá)式末尾加上分號(hào)就構(gòu)成賦值語(yǔ)句參考答案參考答案:1、C關(guān)系運(yùn)算關(guān)系運(yùn)算關(guān)系運(yùn)算符= (小于或等于)(大于)(小于)=(等于)!=(不等于)關(guān)系運(yùn)算的優(yōu)先級(jí)關(guān)系運(yùn)算符自身的優(yōu)先級(jí)(=、)四個(gè)優(yōu)先相同(!=、=)兩個(gè)優(yōu)先級(jí)相同(=、)優(yōu)先級(jí)高于(!=、=)與其它運(yùn)算符的優(yōu)先級(jí)關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符,但高于賦值運(yùn)算符。關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來,進(jìn)行關(guān)系運(yùn)算的式子。應(yīng)避免對(duì)實(shí)數(shù)作相等或不等的判斷.關(guān)系表達(dá)式的結(jié)果值為1或0。當(dāng)關(guān)系表達(dá)式成立時(shí),其結(jié)果值為1當(dāng)關(guān)系表達(dá)式不

31、成立時(shí),其值為0。 真題實(shí)戰(zhàn)真題實(shí)戰(zhàn) 在以下給出的表達(dá)式中,與while(E)中的E不等價(jià)的表達(dá)式是 A、(!E=0) B、(E0)|(E0) C、(E=0) D、(E!=0) 參考答案:參考答案:1、C 邏輯運(yùn)算邏輯運(yùn)算邏輯運(yùn)算符的種類(三類):! & | 運(yùn)算量: 0表示“假”,非0表示“真” 運(yùn)算結(jié)果: 0表示“假”,1表示“真”邏輯運(yùn)算符的優(yōu)先級(jí)與結(jié)合方向 優(yōu)先級(jí)(!高-&中-|低) 結(jié)合方向(自左向右)短路特性:邏輯表達(dá)式求解時(shí),并非所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的解時(shí),才執(zhí)行該運(yùn)算符 若&的左邊運(yùn)算結(jié)果已經(jīng)為0, 則&

32、amp;右邊的表達(dá)式將不再進(jìn)行計(jì)算,結(jié)果總為0; 若|左邊運(yùn)算結(jié)果已經(jīng)為1,則|右邊的表達(dá)式也不再進(jìn)行計(jì)算,結(jié)果總為1。 若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|10的是 A、abs(x-y)10 & x-y10 C、(x-y)10D、(x-y)*(x-y)a) |(m=ab); printf(“%d %d n”,k,m); A、0,0 B、0,1C、1,0D、1,1 參考答案:參考答案:1、C2、C條件表達(dá)式及其構(gòu)成的選擇結(jié)構(gòu)條件表達(dá)式及其構(gòu)成的選擇結(jié)構(gòu)條件運(yùn)算符由兩個(gè)符號(hào)“?”和“:”組成,要求有3個(gè)操作對(duì)象,稱為三目運(yùn)算符,它也是C語(yǔ)言中唯一的三元運(yùn)算符。條

33、件表達(dá)式的一般形式為:表達(dá)式表達(dá)式1?表達(dá)式?表達(dá)式2:表達(dá)式:表達(dá)式3表達(dá)式1值為真時(shí),取表達(dá)式2的值,表達(dá)式1的值為假時(shí),取表達(dá)式3的值。通常情況下,表達(dá)式1可以是關(guān)系表達(dá)式或是邏輯表達(dá)式,用于描述表達(dá)式中的條件,表達(dá)式2和表達(dá)式3可以是常量、變量或表達(dá)式。條件運(yùn)算符的優(yōu)先級(jí):高于賦值運(yùn)算符,但是低于高于賦值運(yùn)算符,但是低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符關(guān)系運(yùn)算符和算術(shù)運(yùn)算符條件運(yùn)算符的結(jié)合方向:為為“自右向左自右向左”。 以下程序運(yùn)行后的輸出結(jié)果是 main() int x,a=1,b=2,c=3,d=4; x=(ab)?a:b; x=(ax)?x:d; printf(“%dn”,x); 有以下

34、程序段,執(zhí)行該程序后,k的值是 int k=0,a=1,b=2,c=3; k=ac?c:k; A、3B、2C、1D、0 參考答案:B真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)有以下程序,程序運(yùn)行后的輸出結(jié)果是main()int i=1, j=2,k=3;if(i+=1 & (+j=3 | k+=3)printf(“%d %d %dn”,i,j,k)A、1 2 3B、2 3 4C、2 2 3D、2 3 3有以下程序,程序運(yùn)行后的輸出結(jié)果是main()int a=1,b=2,m=0,n=0,k;k=(n=ba)|(m=a0?p/10:p%3); 參考答案參考答案:1、3if語(yǔ)句語(yǔ)句if語(yǔ)句是選擇結(jié)構(gòu)的一種形式,又稱

35、為條件分支語(yǔ)句。格式為:if (expression) statementif語(yǔ)句的流程控制方式是:根據(jù)給定的條件進(jìn)行判定,由判定的結(jié)果(真或假)決定執(zhí)行給出的兩種操作之一。真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)當(dāng)把以下四個(gè)表達(dá)式用作if語(yǔ)句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其他三個(gè)選項(xiàng)含義不同,這個(gè)選項(xiàng)是A、k%2B、k%2=1C、(k%2)!=0D、!k%2=1以下程序運(yùn)行后的輸出結(jié)果是main( ) int a=3,b=4,c=5,t=99;if(ba&ac)t=a; a=c; c=t;if(ac&b0 & y!=0); C、if(xy)x-D、if(ybc) printf(“%dn”,d)

36、; else if(c-1=d)=1)printf(“%dn”,d+1); elseprintf(“%dn”,d+2); 參考答案參考答案:3嵌套的嵌套的if語(yǔ)句語(yǔ)句 if - else 配對(duì)原則:缺省 時(shí),else總是和它上面離它最近的未配對(duì)的if配對(duì)真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)在嵌套使用if語(yǔ)句時(shí),C語(yǔ)言規(guī)定else總是A、和之前與其具有相同縮進(jìn)位置的if配對(duì)B、和之前與其最近的if配對(duì)C、和之前與其最近不帶else的if配對(duì)D、和之前的第一個(gè)if配對(duì)設(shè)變量 a,b,c,d和y都已經(jīng)正確定義并已經(jīng)賦值。若有以下if語(yǔ)句,該語(yǔ)句所表示的含義是if(ab)if(c= =d) y=0;else y=1; 參

37、考答案:參考答案:1、C 2、C 牛刀小試牛刀小試 有以下程序,程序運(yùn)行后的輸出結(jié)果是 main() int a=3,b=4,c=5,d=2; if(ab) if(bc)printf(“%d”,d+1); elseprintf(“%d”,+d+1); printf(“%dn”,d); A、2B、3C、43D、44 參考答案參考答案:Aswitch語(yǔ)句及其與語(yǔ)句及其與break語(yǔ)句構(gòu)成的選擇結(jié)構(gòu)語(yǔ)句構(gòu)成的選擇結(jié)構(gòu)switch語(yǔ)句及其與break語(yǔ)句構(gòu)成的選擇結(jié)構(gòu)的格式switch(表達(dá)式) case E1: 語(yǔ)句組 1; break; case E2: 語(yǔ)句組 2; break; . case

38、En: 語(yǔ)句組 n; break; default: 語(yǔ)句組 ; break; 常量表達(dá)式必須是與表達(dá)式對(duì)應(yīng)一致的整數(shù)、字符或枚舉常量。各case語(yǔ)句標(biāo)號(hào)的值應(yīng)該互不相同。switch后的表達(dá)式通常為字符型變量,也允許是枚舉型變量,其結(jié)果為相應(yīng)的整數(shù)、字符或枚舉常量。break語(yǔ)句不是一定需要加上的。在執(zhí)行完一個(gè)case后面的語(yǔ)句后,若沒遇到break語(yǔ)句,就自動(dòng)進(jìn)入下一個(gè)case繼續(xù)執(zhí)行,而不再判斷是否與之匹配,直到遇到break語(yǔ)句才停止執(zhí)行,退出break語(yǔ)句。因此,若想執(zhí)行一個(gè)case分支后立即跳出switch語(yǔ)句,就必須在此分支的后面添加一個(gè)break語(yǔ)句。switch語(yǔ)句及其與br

39、eak語(yǔ)句構(gòu)成的選擇結(jié)構(gòu)的執(zhí)行過程首先計(jì)算switch后面圓括號(hào)表達(dá)式的值,然后用其結(jié)果依次與各個(gè)case的常量表達(dá)式相比較,若圓括號(hào)中表達(dá)式的值與某個(gè)case后面的常量表達(dá)式的值相等,就執(zhí)行此case后面的語(yǔ)句,執(zhí)行后遇break語(yǔ)句就退出switch語(yǔ)句;若圓括號(hào)中表達(dá)式的值與所有的case后面的常量表達(dá)式的值都不相同,則執(zhí)行default后面的語(yǔ)句n+1,執(zhí)行后退出switch語(yǔ)句,退出后程序流程轉(zhuǎn)向開關(guān)語(yǔ)句的下一個(gè)語(yǔ)句。 真題實(shí)戰(zhàn)真題實(shí)戰(zhàn) 有以下程序,程序運(yùn)行后的輸出結(jié)果是 #include stdio.h main() int k=5,n=0; do switch(k)case 1:

40、 case 3: n+=1; k-;break;default: n=0;k-;case 2: case 4: n+=2;k-;break; printf(%d,n); while (k0 & n0)case 1:switch(b0) case 1: printf(); break; case 2: printf(!); break; case 0: switch(c=5) case 0: printf(*); break; case 1: printf(#); break; case 2: printf($); break; default : printf(&); prin

41、tf(n); #& 以下程序運(yùn)行后的輸出結(jié)果是2,1 main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y)case 0: a+; break; case 1: b+; break; case 2: a+;b+;break; printf(%d %dn,a,b); 有以下程序,程序運(yùn)行后的輸出結(jié)果是 main() int a=15,b=21,m=0; switch(a%3) case 0: m+;break; case 1: m+; switch(b%2)default: m+; case 0: m+; break; printf

42、(”%dn”, m); A、1B、2C、3D、4語(yǔ)句標(biāo)號(hào)和語(yǔ)句標(biāo)號(hào)和GOTO語(yǔ)句語(yǔ)句知識(shí)點(diǎn)知識(shí)點(diǎn)語(yǔ)句標(biāo)號(hào)標(biāo)號(hào)可以是任意合法的標(biāo)識(shí)符,在標(biāo)識(shí)符后面加上一個(gè)冒號(hào),如flag1: stop0:就形成了一個(gè)語(yǔ)句標(biāo)號(hào)。通常,標(biāo)號(hào)用作goto語(yǔ)句的轉(zhuǎn)向目標(biāo)。如:goto stop;stop: 語(yǔ)句goto語(yǔ)句一般形式為:goto語(yǔ)句標(biāo)號(hào)語(yǔ)句標(biāo)號(hào);功能:無條件轉(zhuǎn)移語(yǔ)句說明:不能用整數(shù)作標(biāo)號(hào)只能出現(xiàn)在goto所在函數(shù)內(nèi),且唯一只能加在可執(zhí)行語(yǔ)句前面限制使用goto語(yǔ)句While語(yǔ)句語(yǔ)句while語(yǔ)句的一般形式:while( 表達(dá)式表達(dá)式 ) 循環(huán)體語(yǔ)句組;循環(huán)體語(yǔ)句組;while后的表達(dá)式,可以是C語(yǔ)言中任意

43、合法的表達(dá)式,通常為關(guān)系表達(dá)式或邏輯表達(dá)式,但也可以是其它運(yùn)算表達(dá)式當(dāng)表達(dá)式值的值為零時(shí),表示條件為假;表達(dá)式值為非零時(shí),表示條件為真。循環(huán)體可以是一條簡(jiǎn)單可執(zhí)行語(yǔ)句,也可以是復(fù)合語(yǔ)句。while語(yǔ)句的執(zhí)行流程計(jì)算“表達(dá)式”,根據(jù)其結(jié)果判斷循環(huán)是否繼續(xù)如果表達(dá)式值為非0,執(zhí)行循環(huán)體語(yǔ)句組,執(zhí)行完畢后,再計(jì)算表達(dá)式的值,根據(jù)其值作出判斷。如果表達(dá)式的值為0,則結(jié)束循環(huán),執(zhí)行執(zhí)行while語(yǔ)句的下一條語(yǔ)句。如果第一次計(jì)算時(shí)表達(dá)式的值就為0,則循環(huán)語(yǔ)句一次也不被執(zhí)行,流程直接跳過while語(yǔ)句,執(zhí)行下一條語(yǔ)句。真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)有以下程序,執(zhí)行后的輸出結(jié)果是A、1B、2C、4D、死循環(huán)main( )

44、int k=5;while(-k) printf(%d,k-=3);printf(n);有下列程序,若運(yùn)行時(shí)從鍵盤輸入:18,11,則程序的輸出結(jié)果是 main( ) int a,b;printf(Enter a,b: ); scanf(%d,%d,&a,&b);while(a!=b) while(ab)a-=b;while(ba)b-=a;printf(%3d%3dn,a,b);參考答案:參考答案:1、A2、1 1 牛刀小試牛刀小試 有以下程序,程序執(zhí)行后的輸出結(jié)果是 main( ) int x=0,y=5,z=3; while(z-0 & +x5) y=y-1; p

45、rintf(%d,%d,%dn,x,y,z); 參考答案:參考答案:1、3,2,-1Do while循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)do-while語(yǔ)句的格式do 循環(huán)體語(yǔ)句組; while(表達(dá)式) ;(1)do是C語(yǔ)言的關(guān)鍵字,必須和while 聯(lián)合使用。(2)循環(huán)由do開始,至while結(jié)束。while后的分號(hào)“;”不能丟,它表示do-while語(yǔ)句的結(jié)束。do-while循環(huán)體的執(zhí)行過程執(zhí)行循環(huán)體語(yǔ)句組。計(jì)算“循環(huán)繼續(xù)條件”表達(dá)式。如果“循環(huán)繼續(xù)條件”表達(dá)式的值為非 0(真),則轉(zhuǎn)向(1)繼續(xù)執(zhí)行;否則,轉(zhuǎn)向(3)。執(zhí)行do-while的下一條語(yǔ)句。do-while循環(huán)語(yǔ)句的特點(diǎn):先執(zhí)行循環(huán)體語(yǔ)句組,

46、然先執(zhí)行循環(huán)體語(yǔ)句組,然后再判斷循環(huán)條件。后再判斷循環(huán)條件。 有以下程序 main() int s=0,a=1,n; scanf(%d,&n); do s+=1;a=a-2; while(a!=n); printf(%dn,s); 若要使程序的輸出值為2,則應(yīng)該從鍵盤給n輸入的值是 A、-1B、-3C、-5D、0 參考答案:參考答案:1、Bfor語(yǔ)句的一般形式語(yǔ)句的一般形式知識(shí)點(diǎn)知識(shí)點(diǎn)for語(yǔ)句的格式for(表達(dá)式表達(dá)式1;表達(dá)式;表達(dá)式2;表達(dá)式;表達(dá)式3) 循環(huán)體語(yǔ)句組;循環(huán)體語(yǔ)句組;for循環(huán)的執(zhí)行過程求解“變量賦初值”表達(dá)式。求解“循環(huán)繼續(xù)條件”表達(dá)式。如果其值非0,執(zhí)行(3)

47、;否則,轉(zhuǎn)至(4)。執(zhí)行循環(huán)體語(yǔ)句組,并求解“循環(huán)變量增值”表達(dá)式,然后轉(zhuǎn)向(2)。執(zhí)行for語(yǔ)句的下一條語(yǔ)句。 真題實(shí)戰(zhàn)真題實(shí)戰(zhàn) 設(shè)變量已正確定義,則以下能正確計(jì)算f=n!的程序段是A、f=0;for (i=1;i=n;i+) f*=i;B、f=1;for(i=1;i1;i+) f*=i;D、f=1;for(i=n;i=2;i-) f*=i;有以下程序,程序運(yùn)行時(shí),從鍵盤輸入:0 1,程序執(zhí)行后的輸出結(jié)果是main()char k; int i;for(i=1;i=0;i-)t*=i;printf(“%dn”,t);參考答案:參考答案:1、0 牛刀小試牛刀小試 有以下程序,程序運(yùn)行后的輸出結(jié)

48、果是 main() int k=4,n=0; for(;nk;) n+; if(n%3!=0)continue; k-; printf(%d,%dn,k,n); A、1,1 B、2,2 C、3,3 D、4,4 參考答案:參考答案:1、C嵌套循環(huán)結(jié)構(gòu)嵌套循環(huán)結(jié)構(gòu)1 循環(huán)語(yǔ)句的循環(huán)體內(nèi),又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),叫做循環(huán)的嵌套。三種循環(huán)可互相嵌套,層數(shù)不限外層循環(huán)可包含兩個(gè)以上內(nèi)循環(huán),但不能相互交叉嵌套循環(huán)的跳轉(zhuǎn)禁止: 從外層跳入內(nèi)層 跳入同層的另一循環(huán) 向上跳轉(zhuǎn)2 循環(huán)的嵌套可以有多層,但是第一層循環(huán)在邏輯上必須是完整的。有以下程序,程序運(yùn)行后的輸出結(jié)果是main()int i,j;for(i

49、=1;i4;i+)for(j=i;j4;j+)printf(%d*%d=%d ,i,j,i*j);printf(n);A、111122133 214226 319B、111122133 224236 339C、111 122224 132236339D、111 212224 313 326339有以下程序,程序運(yùn)行后的輸出結(jié)果是#include stdio.hmain()int a44=1,4,3,2,8,6,5,7, 3,7,2,5,4,8,6,1,i,j,k,t;for(i=0;i4;i+)for(j=0;j3;j+)for(k=j+1;kaki) t=aji,aji=aki,aki=t;

50、for(i=0;i4;i+)printf(%d,aii);A、1,6,5,7 B、8,7,3,1C、4,7,5,2 D、1,6,2,1參考答案:參考答案:1、B2、A 牛刀小試牛刀小試 有以下程序,程序運(yùn)行后輸出結(jié)果是_ main() int i,n=0; for(i=2;i5;i+) doif(i%3)continue;n+; while(!i); n+; printf(n=%dn,n); 參考答案參考答案:1、n=4break在循環(huán)結(jié)構(gòu)中的應(yīng)用在循環(huán)結(jié)構(gòu)中的應(yīng)用知識(shí)點(diǎn)知識(shí)點(diǎn)break語(yǔ)句的使用說明:只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句。當(dāng)break出現(xiàn)在循環(huán)體中的swit

51、ch語(yǔ)句體內(nèi)時(shí),則執(zhí)行break后,跳出本層循環(huán)體。注意:break語(yǔ)句使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)。break語(yǔ)句只能跳出一層循環(huán),即從當(dāng)前循環(huán)層中跳出。如果要跳出多層循環(huán),可使用goto語(yǔ)句。真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)下列敘述中正確的是A、break 語(yǔ)句只能用于switch 語(yǔ)句B、在switch 語(yǔ)句中必須使用defaultC、 break 語(yǔ)句必須與switch 語(yǔ)句中的case 配對(duì)使用D、在switch 語(yǔ)句中,不一定使用break 語(yǔ)句有以下程序,程序執(zhí)行后的輸出結(jié)果是main( ) int a=1,b;for(b=1;b=8) break;if(a%2=1)a+=5; c

52、ontinue;a=3;printf(%dn,b);A、3B、4C、5D、6參考答案:參考答案:1、D2、B 牛刀小試牛刀小試 以下程序運(yùn)行后的輸出結(jié)果是 main() int i,m=0,n=0,k=0; for(i=9;i=11;i+) switch(i/10) case 0 : m+;n+;break; case 10 :n+;break; default : k+;n+; printf(%d %d %d,m,n,k); 參考答案:參考答案:1、1 3 2continue在循環(huán)結(jié)構(gòu)中的應(yīng)用在循環(huán)結(jié)構(gòu)中的應(yīng)用 continue的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著

53、再一次進(jìn)行循環(huán)的條件判斷。continue語(yǔ)句只是結(jié)束循環(huán)結(jié)構(gòu)中的本次本次循環(huán),并非跳出整個(gè)循環(huán)過程。對(duì)while和do-while語(yǔ)句,遇continue語(yǔ)句后,轉(zhuǎn)向執(zhí)行while之后圓括號(hào)內(nèi)的條件表達(dá)式的判斷。執(zhí)行continue語(yǔ)句并沒有使整個(gè)循環(huán)終止。真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)有以下程序,程序執(zhí)行后的輸出結(jié)果是main( ) int i,j,x=0;for(i=0;i2;i+) x+;for(j=0;j=3;j+) if(j%2) continue;x+;x+;printf(x=%dn,x);A、x=4B、x=8C、x=6D、x=12參考答案:參考答案:1、B字符型常量的定義字符型常量的定義知識(shí)

54、點(diǎn)知識(shí)點(diǎn)字符常量:是用一對(duì)單引號(hào)括起來的一個(gè)字符單引號(hào)中的大寫字母和小寫字母代表不同的字符常量,如A和a是不同的字符常量。字符常量只能包含一個(gè)字符。在C語(yǔ)言中,字符常量具有數(shù)值,這個(gè)值就是該字符在規(guī)定的字符集中的ASCII代碼值。在ASCII字符集中的256個(gè)字符的值為0255。字符常量在機(jī)器內(nèi)以整型常量的形式存放,占一個(gè)字節(jié)。因此,字符常量與整型量等價(jià)。真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)已知字符A的ASCII碼值為65,以下語(yǔ)句的輸出結(jié)果是_char ch=B;printf(“%c%dn”,ch,ch)參考答案:參考答案:1、B 66字符型常量的運(yùn)算字符型常量的運(yùn)算字符型常量可參與任何整數(shù)運(yùn)算和關(guān)系運(yùn)算。 字

55、符型常量的數(shù)值是它們的ASCII碼值,字符型常量的運(yùn)算都是以它們的ASCII代碼值為進(jìn)行運(yùn)算。真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)已知大寫字母A的ascii碼是65,小寫字母a的ascii碼是97。以下不能將變量c中的大寫字母轉(zhuǎn)換為對(duì)應(yīng)的小寫字母的語(yǔ)句是A、c=(c-A)%26+aB、 c=c+32C、 c=c-A+aD、c=(A+c)%26-a參考答案:參考答案:1、D 牛刀小試牛刀小試 數(shù)字字符0的ASCII值為48,若有以下程序,程序運(yùn)行后的輸出結(jié)果是 main() char a=1,b=2; printf(“%c”,b+); printf(“%dn”,b-a); A、3,2B、50,2C、2,2D、2,5

56、0 有以下程序,執(zhí)行后的輸出結(jié)果是 main() char a; a=H-A+0; printf(%cn,a); 參考答案:參考答案:1、D2、7轉(zhuǎn)義字符的定義轉(zhuǎn)義字符的定義轉(zhuǎn)義字符常量:是以一個(gè)“”開頭的字符序列。轉(zhuǎn)義字符常量只代表一個(gè)字符。反斜線后的八進(jìn)制數(shù)可以不用0開頭。反斜線后的十六進(jìn)制數(shù)只可由小寫字母x開頭,不允許用大寫字母X,也不能用0 x開頭。C語(yǔ)言規(guī)定,被一對(duì)單引號(hào)括起來的字符不允許是單引號(hào)或反斜杠,即或真題實(shí)戰(zhàn)真題實(shí)戰(zhàn)以下合法的字符常量是A、 x13B、081C、 65D、 “n”已經(jīng)定義ch為字符型變量,以下賦值語(yǔ)句中錯(cuò)誤的是A、ch=; B、ch=62+3;C、ch=NU

57、LL; D、ch=xaa;參考答案:參考答案:1、A2、A字符型變量的定義字符型變量的定義知識(shí)點(diǎn)知識(shí)點(diǎn)字符型變量的說明格式:char 變量名表;字符變量在內(nèi)在中占一個(gè)字節(jié),只能存放一個(gè)字符,可以是ASCII字符集中的任何字符。當(dāng)把字符放入一個(gè)字符變量中時(shí),字符變量中的值就是該字符的ASCII碼值。在合法的取值范圍內(nèi),字符型變量與整型變量可以通用。下列程序的功能是輸入任意整數(shù)給n 后,輸出n 行由大寫字母A 開始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5 時(shí)(注意:n 不得大于10),程序運(yùn)行結(jié)果如下,請(qǐng)?zhí)羁胀瓿稍摮绦?。main( )int i,j,n; char ch=A;scanf(%d,&

58、amp;n);if(n11)for(i=1;i=n;i+ +)for(j=1; j=n-i+1;j+ +) printf(%2c,ch); ; ;else printf(n is too large!n)printf(n);A B C D EF G H IJ K LM NO參考答案參考答案1、ch+ printf(“n”); 牛刀小試牛刀小試 有以下程序編譯時(shí)出現(xiàn)錯(cuò)誤,以下敘述中正確的是 main( ) char a,b,c,*d; a=; b=xbc; c=0 xab; d=“0127”; printf(“%c%c%cn”,a,b,c,*d); A、程序中只有a=;語(yǔ)句不正確 B、b=xbc

59、;語(yǔ)句不正確 C、d=“0127”;語(yǔ)句不正確 D、a=;和c=0 xab;語(yǔ)句都不正確 參考答案:參考答案:1、D字符串常量的定義及其與字符型常量的區(qū)別字符串常量的定義及其與字符型常量的區(qū)別字符串常量是由雙引號(hào)括起來的一串字符。在C語(yǔ)言中,系統(tǒng)在每個(gè)字符串的最后都自動(dòng)加入一個(gè)字符“0”作為字符串結(jié)束的標(biāo)志。字符串常量與字符常量的區(qū)別使用的引號(hào)的類型不同容量不同:字符常量只能是單個(gè)字符,字符串常量則可以含一個(gè)或多個(gè)字符。占用內(nèi)存空間不同:字符常量占一個(gè)字節(jié)的內(nèi)存空間,字符串常量中的內(nèi)存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加1。增加的一個(gè)字節(jié)用來存放字符0作為字符串的結(jié)束標(biāo)志。C語(yǔ)言中沒有專門存放字符串的字

60、符串變量,字符串如果需要放在變量中,應(yīng)該放在一個(gè)字符型數(shù)組中,即用一個(gè)字符型數(shù)組來存放一個(gè)字符串。 真題實(shí)戰(zhàn)真題實(shí)戰(zhàn) 有以下程序,程序運(yùn)行后的輸出結(jié)果是 main( ) char a7=a00a0 0; int i,j; i=sizeof(a); j=strlen(a); printf(%d %dn,i,j); A、2 2B、7 6C、7 2D、6 2 參考答案:參考答案:1、C用用printf和和scanf函數(shù)對(duì)字符進(jìn)行輸出和輸入函數(shù)對(duì)字符進(jìn)行輸出和輸入用printf函數(shù)輸出字符時(shí),只須使用格式說明%c,可以在格式字符前加一個(gè)整數(shù),用來指定輸出字符的寬度。用scanf函數(shù)輸入字符時(shí),也要使用格式說明%c.當(dāng)使用的格式說明%c一個(gè)緊接一個(gè)時(shí),在輸入字符時(shí),字符之間沒有間隔符,這時(shí)空格、回車符和橫向跳格符都將按字符輸入。當(dāng)交叉輸入數(shù)值和字符數(shù)據(jù)時(shí),即在輸入項(xiàng)表中交替出現(xiàn)字符變量和數(shù)值變量:例如: int a1,a2;char c

溫馨提示

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

評(píng)論

0/150

提交評(píng)論