




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、88全國計算機等級考試二級C培訓講義 第一章 程序設計和C語言本章考綱:1. 程序的構(gòu)成,main函數(shù)和其他函數(shù)。2. 頭文件,數(shù)據(jù)說明,函數(shù)的開始和結(jié)束標志以及程序中的注釋。3. 源程序的書寫格式。4. C語言的風格。本章考試方式:以筆試和上機兩種形式考核。筆試中??疾椋?)、(2)、(4),分值約占2%。上機程序改錯中??疾椋?),抽中幾率約為8%。本章知識要點:1. 了解程序設計的基本概念2. 熟記計算機語言的分類3. 重點掌握算法的概念及特性4. 重點掌握C程序構(gòu)成及書寫格式5. 重點掌握上機步驟及編程環(huán)境本章內(nèi)容:一、 程序:是指可以被計算機連續(xù)執(zhí)行的一條條指令的集合,是人與機器進行
2、對話的語言。用程序設計語言編寫程序的過程稱為程序設計。二、 計算機語言是人與計算機進行交流的工具。分為機器語言、匯編語言和高級語言。三、 算法:是為解決一個問題而采取的方法和步驟,可以采用偽代碼、流程圖和N-S圖等進行算法描述。算法具有:有窮性、確定性、有效性、零個或多個輸入、一個或多個輸出的特性。四、 三種基本的控制結(jié)構(gòu):順序、選擇、循環(huán)結(jié)構(gòu)。五、 C程序構(gòu)成及書寫特點C程序的基本單位是函數(shù)。一個C程序由一個或多個函數(shù)構(gòu)成,有且只能有一個主函數(shù)(main)。不論main函數(shù)在整個程序中的位置如何,C程序的執(zhí)行總是從main開始到main結(jié)束,各函數(shù)之間可以相互調(diào)用,但其他函數(shù)不能調(diào)用主函數(shù)。
3、函數(shù)的構(gòu)成形式:編譯預處理命令返回值類型 函數(shù)名稱(形參類型 形參)變量定義 執(zhí)行語句 /*注釋*/ 或者 /注釋執(zhí)行語句書寫格式:標識符區(qū)分大小寫,一般變量采用小寫,符號常量采用大寫。C語句用分號(;)表示結(jié)束。但是在預處理命令、函數(shù)頭、花括號之后不能加分號。六、 上機步驟及開發(fā)環(huán)境1. 編輯源程序,源程序以“.c”作為擴展名2. 編譯,將源程序轉(zhuǎn)換成目標代碼,形成“.obj”的二進制文件3. 連接,將目標文件和庫函數(shù)及其他文件連接,形成可執(zhí)行的二進制文件“.exe”4. 運行開發(fā)環(huán)境:VC6.0歷年考試真題:1、下列敘述中錯誤的是( D )2006年4月選擇第44題A. C語言源程序經(jīng)編譯
4、后生成后綴為.obj的目標程序B. C語言經(jīng)過編譯、連接步驟之后才能形成一個真正可執(zhí)行的二進制機器指令文件C. 用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中D. C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令2、下列敘述中錯誤的是(B)2006年4月選擇第45題A. 算法正確的程序最終一定會結(jié)束B. 算法正確的程序可以有零個輸出C. 算法正確的程序可以有零個輸入D. 算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果3、下列敘述中錯誤的是(A)2006年9月選擇第11題A. 一個C語言程序只能實現(xiàn)一種算法B. C程序可以由多個程序文件組成C. C程序
5、可以由一個或多個函數(shù)組成D. 一個C函數(shù)可以單獨作為一個C程序文件存在4、下列敘述中正確的是(D)2006年9月選擇第12題A. 每個C程序文件中都必須要有一個main()函數(shù)B. 在C程序中main()函數(shù)的位置是固定的C. C程序中所有函數(shù)之間都可以相互調(diào)用,與函數(shù)所處位置無關D. 在C程序的函數(shù)中不能定義另一個函數(shù)5、在算法中,對需要執(zhí)行的每一步操作,必須給出清楚、嚴格的規(guī)定,這屬于算法的(C)2007年4月選擇第11題A. 正當性B. 可行性C. 確定性D. 有窮性6、下列敘述中錯誤的是(D)2007年4月選擇第12題A. 計算機不能直接執(zhí)行用C語言編寫的源程序B. C程序經(jīng)C編譯程序
6、編譯后,生成后綴為.obj的文件是一個二進制文件C. 后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個二進制文件D. 后綴為.obj和.exe的二進制文件都可以直接運行7、下列敘述中錯誤的是(C)2007年4月選擇第14題A. C語言是一種結(jié)構(gòu)化程序設計語言B. 結(jié)構(gòu)化程序由順序、分支、循環(huán)3種基本結(jié)構(gòu)組成C. 使用3種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題D. 結(jié)構(gòu)化程序設計提倡模塊化的設計方法8、對于一個正常運行的C程序,下列敘述中正確的是(A)2007年4月選擇第15題A. 程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束B. 程序的執(zhí)行總是從程序的第一個函數(shù)開始,在mai
7、n函數(shù)結(jié)束C. 程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束D. 程序的執(zhí)行總是從程序中的第一個函數(shù)開始,在程序的最后一個函數(shù)結(jié)束9、C語言源程序名的后綴是(B)2007年9月選擇第11題A. .exeB. .cC. .objD. .cp10、下列敘述中正確的是(C)2007年9月選擇第14題A. C語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行B. 可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C. C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)束D. main可作為用戶標識符,用以命名任意一個函數(shù)作為主函數(shù)第二章 數(shù)據(jù)類型及運算本章考綱:1. C
8、的數(shù)據(jù)類型(基本類型、構(gòu)造類型、指針類型、空類型)及定義方法。2. C運算符的種類、運算優(yōu)先級和結(jié)合性。3. 不同類型數(shù)據(jù)間的轉(zhuǎn)換與運算4. C表達式類型(賦值表達式、算術表達式、關系表達式、邏輯表達式、條件表達式、逗號表達式)和求值規(guī)則。本章考試方式:以筆試和上機兩種形式考核。筆試中多出現(xiàn)在選擇題第13至18題,填空題第6、7題,分值約占10%。上機考中,(1)、(3)和(4)是考查重點,在3種題型中均有體現(xiàn),抽中幾率約為56%。本章知識要點:1. 重點掌握標識符的合法性判斷,符號常量的使用2. 重點掌握整型變量和實型變量的分類及說明以及整型常量和實型常量的表示方法3. 熟記字符常量和字符串
9、常量的表示,重點掌握字符運算原理4. 重點掌握數(shù)據(jù)類型的轉(zhuǎn)換原理及執(zhí)行過程5. 重點掌握算術運算符的分類及運算符的優(yōu)先級和結(jié)合性6. 重點掌握復合的賦值表達式及表達式類型轉(zhuǎn)換7. 重點掌握自增自減運算符的用法(優(yōu)先級、結(jié)合性和執(zhí)行過程)8. 重點掌握逗號運算符的執(zhí)行過程本章內(nèi)容:一、標識符:由字母、數(shù)字和下劃線組成,并且必須以字母或下劃線開頭。C語言中的關鍵字不能用作其他用途,如不能用作變量或函數(shù)名。1、 以下選項中合法的標識符是(C)(2009年3月)A) 1_1 B)1-1 C)_11 D)1_2、 以下選項中不合法的標識符是(C)(2008年4月) A)print B)FOR C)&a
10、D)_003、 可在C程序中用做用戶標識符的一組標識符是(A)(2007年9月)A)and B)Date C)Hi D)case _2007 y-m-d Dr.Tom Bigl4、 按照C語言規(guī)定的用戶標識符命名規(guī)則,不能出現(xiàn)在標識符中的是(B)(2007年4月)A)大寫字母 B)連接符 C)數(shù)字字符 D)下劃線5、以下不合法的用戶標識符是(C)(2006年4月)A)j2_KEY B)Double C) 4d D) _8_二、常量和變量在程序運行過程中,其值不能被改變的量稱為常量。符號常量的表示:#define 標識符 常量#define PI 3.14159 /* PI 就是一個符號常量,代
11、表3.14159 */main()float r,area; r=3; area=PI*r*r;printf(narea=%f,area);在程序運行過程中,其值可以改變的量稱為變量。一個變量具有兩個要素:變量名和變量值。一個變量名實質(zhì)上是代表內(nèi)存中的一個存儲單元,該單元中的存儲的內(nèi)容就是變量值,通過變量名來引用變量的值。三、整型數(shù)據(jù)整型常量有3種表示方法:十進制表示法:123,-456,112L等八進制表示法:014,077十六進制表示法:0xA0F注: 只有十進制數(shù)可以是負數(shù),其余進制只能是無符號數(shù)。無符號數(shù)可用后綴u(U)表示。整型變量分為以下3類:基本整型:用int表示,在VC6內(nèi)存中
12、占4個字節(jié)短整型:用short int或short表示,在內(nèi)存中占2個字節(jié)長整型:用long int或long表示,在內(nèi)存中占4個字節(jié)還可以加上unsigned,將變量定義為無符號型。四、實型數(shù)據(jù)實型常量有兩種表示方式:十進制小數(shù)形式:3.1415、0.123、.145、34.、123f指數(shù)形式:6.0E3(E或e之前必需有數(shù),之后必須是整數(shù))實型變量分3類:單精度:float 占4個字節(jié),有6-7位有效位數(shù)雙精度:double 占8個字節(jié),有15-16位有效位數(shù)長雙精度:long double 占16個字節(jié),有18-19位有效位數(shù)五、字符型數(shù)據(jù)(在內(nèi)存中存放的是字符量的ASCII碼)字符常量
13、:一對單引號括起來的單個字符。(轉(zhuǎn)義字符),a、n字符變量:類型說明符char,在內(nèi)存中占一個字節(jié)。C語言允許對整型變量賦字符值,也允許對字符變量賦整型值。1、 以下選項中不屬于字符常量的是(B)(2008年4月) A)C B)C C)xCC0 D)0722、 以下合法的字符常量的是(A) A)x13 B)081 C)65 D)”n”3、 已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97。下列不能將變量c中的大寫字母轉(zhuǎn)換為對應小寫字母的語句是(D)(2007年4月)A)c=(c-A)%26+a B)c=c+32 C)c=c-A +a D)c=(A+c)%26-a4、 以下選項
14、中,值為1的表達式(B)。(2006年9月) A)1-0 B)1-0 C)1-0 D)0-0六、字符串常量:用一對雙撇號括起來的零個或多個字符序列。如:”china”在存儲字符串時,系統(tǒng)會在字符串的末尾自動加上一個0作為字符串的結(jié)束標志,所以“china”在內(nèi)存中實質(zhì)是占6個字節(jié)的空間。C語言沒有字符串變量,對字符串的處理都是通過字符數(shù)組來完成。1、以下選項中,能用作數(shù)據(jù)常量的是(D)(2009年3月)A)o115 B) 0118 C)1.5e1.5 D) 115L2、以下選項中不能作為C 語言合法常量的是(A)。A)cd B)0.1e+6 C)a D)0113、以下不合法的數(shù)值常量是(C)A
15、)011 B)lel C) 8.0 E0.5 D) 0xabcd4、C 源程序中不能表示的數(shù)制是(A)。(2008年9月)A)二進制 B)八進制 C)十進制 D)十六進制5、以下關于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(D)(2007年9月)A)均占4個字節(jié) B)根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)C)由用戶自己定義 D)由C語言編譯系統(tǒng)決定6、以下選項中,合法的一組C語言數(shù)值常量是(B)(2007年9月)A)028 B)12. C).177 D)0x8A. 5e-3 0Xa23 4e1.5 10,000-0xf 4.5e0 0abc 3.e5七、變量的定義C語言規(guī)
16、定,變量必須先定義后使用。變量定義形式: 數(shù)據(jù)類型 變量名1,變量名2,.; 如:int sum,a; float score,b; char c; 變量在定義時可以初始化,如: int sum=0,a=1; float score=0.0,b=1.5; char c=a; 此賦初值錯誤:int sum=a=1;賦初值只能對單個變量進行。1、以下選項中正確的定義語句是(C)。(2008年9月)A)double a; b; B)double a=b=7; C)double a=7, b=7; D)double, a, b;2、以下定義語句中正確的是(B)(2008年4月) A)int a=b=0
17、 ; B)char A=65+1,b=b; C)float a=1,*b=&a,*c=&b ; D)double a=0.0;b=1.1;3、下列定義變量的語句中錯誤的是(D)。(2006年9月) A)int _int; B)double int_; C)char For; D)float US$八、不同數(shù)據(jù)類型之間的轉(zhuǎn)換doublefloatlongunsignedintchar,short一個運算符兩邊的運算數(shù)類型不一致時,需轉(zhuǎn)換成相同類型,即較低類型轉(zhuǎn)換成教高類型(此過程編譯系統(tǒng)自動完成)。 類型轉(zhuǎn)換圖:可以使用強制類型轉(zhuǎn)換,格式:(類型說明符)(表達式)如:(double)a; (in
18、t)(x+y); (int)x+y;main()float x;int i;x=3.6;i=(int)x;printf(x=%f,i=%d,x,i);結(jié)果:x=3.600000,i=3main()float x,y;int i,j;x=3.6;y=3.8;i=(int)x+(int)y;j=(int)(x+y);printf(i=%d,j=%d,i,j);九、算術運算符加(+)、減(-)、乘(*)、除(/)、求余(%)、自增(+)、自減(-)注:當兩個整數(shù)進行除法運算時,得到的結(jié)果仍然為整數(shù),如5/2=2,要想得到小數(shù),必須將分子或分母中的任意一個轉(zhuǎn)換成浮點數(shù),如1.0/2=0.5。求余運算要
19、求兩側(cè)的操作數(shù)均為整型。運算符都有優(yōu)先級和結(jié)合性,見書后附錄。除單目運算、賦值運算符和條件運算符是右結(jié)合性外,其他運算都是左結(jié)合性。1、表達式(int)(double)(5/2)+2.5)的值是【6】(2009年3月)答案:42、以下不能正確表示代數(shù)式2ab/cd的C 語言表達式是(D)。(2008年9月)A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2 D)2*a*b/c*d3、以下選項中,當x為大于1的奇數(shù)時,值為0的表達式(D)A)x%2=1 B)x/2 C)x%2!=0 D)x%2=04、表達式3.6-5/2+1.2+5%2的值是(D)(2006年4月)A)4.3
20、 B) 4.8 C) 3.3 D) 3.8十、賦值運算符合表達式C語言中的賦值運算符是“=”,其功能是將右側(cè)表達式的值賦給左側(cè)的變量如:a=5;b=c=8;復合的賦值表達式:變量operater=表達式,operater代表運算符。如:a+=5,等價于a=a+5;a+=x+y,等價于a=a+(x+y)1、設變量已正確定義并賦值,以下正確的表達式是(C)(2008年4月) A)x=y*5=x+z B)int(15.8%5) C)x=y+z+5,+y D)x=25%5.02、若變量均已正確定義并賦值,以下合法的C語言賦值語句是(A)(2007年9月)A)x=y=5; B)x=n%2.5; C)x+
21、n=I; D)x=5=4+1;3、若變量x、y已正確定義并賦值,以下符合C語言語法的表達式是(A)(2006年9月) A)+x,y=x- B)x+1=y C)x=x+10=x+y D)double(x)/104、設變量a 和b 已正確定義并賦初值。請寫出與a-=a+b 等價的賦值表達式 【6】 (2008年9月)答案:a=-b;十一、自增和自減運算+和-運算,其功能是使變量的值自動加和減1。如:a+,等價于a=a+1自增和自減有兩種用法:前置運算:如+a,其運算規(guī)則是先使變量的值增(減)1,然后再以變化后的表達式值參與其他運算。后置運算:如a+,其運算規(guī)則是變量先參與其他運算,然后再使變量的值
22、增(減)1。1、 設有定義:int x=2;,以下表達式中,值不為6的是(D)(2009年3月)A) x*=x+1 B) x+,2*x C)x*=(1+x) D)2*x,x+=22、 設有定義:int k=0;,以下選項的四個表達式中與其他三個表達式的值不相同的是(A) (2007年4月)A) k+ B)k+=1 C)+k D)k+1十二、逗號表達式表達式1,表達式2,表達式3,.,表達式n其計算過程是從左到右逐個求每個表達式的值,取最右邊一個表達式的值作為該逗號表達式的值。#include void main()int a,b; a=1; b=(a+,a+3); printf(a=%dn,a
23、); printf(b=%dn,b); a=2 b=51、有以下程序 main() int x,y,z; x=y=1; z=x+,y+,+y; printf(%d,%d,%dn,x,y,z); 程序運行后的輸出結(jié)果是(C)。(2006年9月) A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,12、設變量已正確定義為整型,則表達式n=i=2,+i,i+的值為 答案:33、以下程序輸出結(jié)果是 (2007年4月)main() int a=10; a=(3*5,a+4); printf(“a=%dn”,a);答案:14第三章 基本語句本章考綱:1. 表達式語句、空語句、復合語句。2. 輸入
24、輸出函數(shù)的調(diào)用,正確輸入數(shù)據(jù)并正確設計輸出格式。本章考試方式:多以上機形式考核,在3種題型中均有體現(xiàn),抽中幾率約為35%。本章知識要點:1. 重點掌握各種語句的使用。2. 熟記scanf和printf函數(shù)的格式3. 重點理解scanf函數(shù)中地址列表的含義,重點掌握格式控制串中不同字符的作用。4. 重點理解printf函數(shù)中格式控制串的含義,重點掌握格式控制串中不同字符的作用。5. 重點理解getchar和putchar函數(shù)的作用。本章內(nèi)容:一、C語句分類C語句可以分為5類:1. 控制語句:用來實現(xiàn)對程序流程的選擇、循環(huán)、轉(zhuǎn)向和返回等進行控制。如:if等2. 函數(shù)調(diào)用語句,如:printf(th
25、is is a c program”);3. 表達式語句:在表達式的末尾加上分號構(gòu)成的語句。如:a=a+4; 4. 空語句:單獨的一個分號“;”構(gòu)成的語句。空語句的執(zhí)行不產(chǎn)生任何動作,有時用來作流程的轉(zhuǎn)向點,也可以用來作循環(huán)語句的循環(huán)體。5. 復合語句:由一對花括號“”把一些語句括起來,在語法上作為一個整體對待,相當于一條語句。如:z=x+y;z+;1、若函數(shù)中有定義語句:int k;,則(B)(2009年3月)A)系統(tǒng)將自動給k賦初值0B)這時k中值無定義C)系統(tǒng)將自動給k賦初值-1D)這時k中無任何值2、以下能正確定義且賦初值的語句是(B)。(2005年9月)A)int n1=n2=10;
26、 B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;二、scanf函數(shù)用來從標準輸入設備(鍵盤)輸入數(shù)據(jù)到計算中。一般格式: scanf(格式控制串,地址表列)如:scanf(“%d%f%c”,&a,&b,&c);“格式控制串”用來指定每個輸入項的輸入格式。通常由若干個格式說明組成,格式說明由 “%”開頭,后跟格式字符,如“%d”,“%c”等。格式字符說明見輔導教材p43頁。“地址表列”需要讀入的是所有變量的地址或字符串的首地址。使用說明:1. 除了格式說明符和附加格式字符外,如果還有其他字符,則在輸入數(shù)據(jù)時要求按一一對應的位置原樣輸入這些字符。
27、形式1:scanf(“%d,%d”,&a,&b);正確的輸入方式:12,35形式2:scanf(“a=%d,b=%d”,&a,&b);正確的輸入方式:a=12,b=352. 可以指定輸入數(shù)據(jù)所占的列數(shù),系統(tǒng)自動按指定的數(shù)據(jù)截取所需的數(shù)據(jù)。如:scanf(“%4d%4d”,&a,&b);當輸入12345678時,系統(tǒng)自動將1234賦給a,將5678賦給b。如:scanf(“%4c”,&ch);如果從鍵盤輸入xyz3個字符,由于ch只能接收一個字符,系統(tǒng)自動將第一個字符x賦給ch。3. 輸入的數(shù)值數(shù)據(jù)之間用間隔符(空格、制表符或回車符)隔開,間隔符數(shù)量不限,如果在格式說明中認為制定寬度時,也可以使
28、用此方式。4. 在%后有一個“*”附加格式字符,表示跳過它指定的列數(shù)。5. 地址表應該是變量的地址,因此,應該在變量名前加上取地址的運算符“&”。6. 在用“%c”格式輸入字符時,空格和轉(zhuǎn)義字符都將作為有效字符進行輸入。如:scanf(“%c%c%c”,&c1,&c2,&c3);如果輸入 a b 后按下回車鍵,則c1、c2、c3的值分別為a、空格、b7. 鍵盤輸入數(shù)據(jù)的個數(shù)應該與格式要求的個數(shù)相同,少于要求個數(shù)時,函數(shù)等待輸入,直到滿足要求或遇到非法字符為止;多于要求個數(shù)時,多余的數(shù)據(jù)將留在緩沖區(qū)作為下一次輸入操作的輸入數(shù)據(jù)。8. 在輸入數(shù)據(jù)時,遇到以下情況時該輸入結(jié)束l 遇到空格,或按回車鍵
29、或按跳格(TAB)鍵l 按指定的寬度結(jié)束l 遇到非法輸入1、 若有定義語句:double x,y,*px,*py,執(zhí)行了px=&x, py=&y;之后,正確的輸入語句是(B)(2009年3月)A)scanf(“%f%f”,x,y);B) scanf(“%f%f”,&x,&y);C) scanf(“%lf%le”,px,py);D) scanf(“%lf%lf”,x,y);2、 程序段:int x=12;double y=3.141593; printf(“%d%8.6f”,x,y);的輸出結(jié)果是(A)(2009年3月)A)123.141593B)12 3.141593C)12,3.141593
30、D) 123.1415933、 有以下程序#includemain() int a1,a2;char c1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);printf(“%d,%c,%d,%c”,a1,c1,a2,c2);若想通過鍵盤輸入,使得a1的值為12,a2的是為34,c1的值為字符a,c2的值為字符b,程序輸出結(jié)果是:12,a,34,b,則正確的輸入格式是(A)(以下_代表空格,代表回車)(2009年3月)A)12a34bB)12_a34_bC)12,a,34,bD)12_a34_b4、 若變量已正確定義為int 型,要通過語句scanf(%d, %d, %
31、d, &a, &b, &c);給a 賦值1、給b 賦值2、給c 賦值3,以下輸入形式中錯誤的是( 代表一個空格符)(B)(2008年9月)A) 1,2,3 B)1 2 3C)1, 2, 3 D)1,2,35、若在定義語句:int a,b,c,*p=&c;之后,接著執(zhí)行以下選項中的語句,則能正確執(zhí)行的語句是(C)A)scanf(%d,a,b,c); B)scanf(%d%d%d,a,b,c);C)scanf(%d,p); D)scanf(%d,&p);6、有以下程序段int j; float y; char name50;scanf(%2d%f%s,&j,&y,name);當執(zhí)行上述程序段,從鍵
32、盤上輸入55566 7777abc后,y的值為(B)(2007年9月)A)55566.0 B)566.0 C)7777.0 D)566777.07、 設變量均已正確定義,若要通過scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);語句為變量a1和a2賦數(shù)值10和20,為變量c1和c2賦字符X和Y。以下所示的輸入形式正確的是(注:代表空格字符)(D)(2007年4月) A)10X20Y回車 B)10X20Y回車 C)10X回車 D)10X回車20Y回車 20Y回車8、 設有定義:int a; float b;執(zhí)行scanf(%2d%f,&a,&b);語句時,若從鍵盤輸入876 5
33、43.0,a和b的值分別是(B)。(2006年9月) A)876和543.000000 B)87和6.000000 C)87和543.000000 D)76和543.0000009、執(zhí)行以下程序時輸入1234567,則輸出結(jié)果是 . (2007年9月)#include main() int a=1,b;scanf(%2d%2d,&a,&b);printf(%d %dn,a,b);答案:12 34三、printf函數(shù)用于按指定得格式在屏幕上輸出若干任意類型的數(shù)據(jù)。一般格式: printf(格式控制串,輸出表列);如:printf(“a=%d,b=%dn”,a,b);“格式控制串”用來指定每個輸出
34、項的輸出格式。組成格式控制串的字符通常由格式說明、轉(zhuǎn)移字符和按原樣輸出的字符3部分組成。l 格式說明由“%”開頭,后跟格式字符(p46頁),用來指定數(shù)據(jù)的輸出格式。輸出格式中的格式說明的個數(shù)和輸出表列中的數(shù)據(jù)個數(shù)應一樣。l 轉(zhuǎn)義字符是以“”開始的字符,用來實現(xiàn)換行、跨越指標為或輸出單引號、雙引號等。l 除了以上兩類字符之外,在格式串中的其他字符將按原樣輸出。 輸出表列是要輸出的各項數(shù)據(jù),可以是常量、變量、函數(shù)或表達式,其具體類型有格式控制串中的格式字符決定。使用說明:1. 掌握格式字符和附加格式字符的作用。2. 在格式控制串中,格式說明和輸出項在類型上必須一一對應。并且格式說明的個數(shù)和輸出項的
35、個數(shù)應該相同,如果不同,系統(tǒng)則作以下處理:l 如果格式說明的個數(shù)小于輸出項數(shù),多余的數(shù)據(jù)項不顯示l 如果格式說明的個數(shù)多于輸出項數(shù),對多余的格式將輸出不定值或0值1、有以下程序段 char ch; int k; ch=a; k=12; printf(%c,%d,ch,ch,k); printf(k=%dn,k); 已知字符a的ASCll十進制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是(D)(2008年4月) A)因變量類型與格式描述符的類型不匹配輸出無定值 B)輸出項與格式描述符個數(shù)不符,輸出為零值或不定值 C)a,97,12k=12 D)a,97,k=122、有以下程序,其中%u表示按無符號整
36、數(shù)輸出main()unsigned int x=0xFFFF;/* x的初值為十六進制數(shù) */Printf(“%un”,x);程序運行后的輸出結(jié)果是(B)(2007年4月)A)-1 B)65535 C)32767 D)0XFFFF3、有以下程序 main() int a=0,b=0; a=10; /*給a賦值 b=20; 給b賦值 */ printf(a+b=%dn,a+b); /* 輸出計算結(jié)果 */ 程序運行后輸出結(jié)果是(B)(2006年9月) A)a+b=0 B)a+b=30 C)30 D)出錯4、若變量x、y已定義為int類型且x的值為99,y的值為9,請將輸出語句printf(【 】
37、,x/y);補充完整,使其輸出的計算結(jié)果形式為:x/y=11(2009年3月)答案:”x/y=%d”5、若整型變量a 和b 中的值分別為7 和9,要求按以下格式輸出a 和b 的值:a=7b=9請完成輸出語句:printf ( 【 】 ,a,b); (2008年9月)答案:a=%dnb=%dn6、以下程序運行后的輸出結(jié)果是 【 】 。main() int m=011,n=11; printf(%d %dn,+m,n+);答案:10 117、若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請寫出完整的輸出語句【 】。(2006年4月)答案:pr
38、intf(“a=%d,b=%d”,a,b);四、getchar函數(shù)其功能是從鍵盤上輸入一個字符,格式為: getchar();函數(shù)值就是從輸入設備得到的一個字符。如:a=getchar();說明:1. 輸入回車符時才結(jié)束,回車前的所有字符都會逐個顯示在屏幕上。2. 此函數(shù)將輸入的第一個字符作為函數(shù)的返回值。通常將寒暑的返回值賦給一個字符型變量或整型數(shù)據(jù)。五、putchar函數(shù)作用是向輸出設備上輸出一個字符,格式為: putchar(ch);其中ch可以使常量、變量、轉(zhuǎn)義字符或表達式等,其數(shù)據(jù)類型可以是字符型或整型。1、當用戶要求輸入的字符串中含有空格時,應使用的輸入函數(shù)是(C)(2007年9月
39、)A)scanf() B)getchar() C)gets() D)getc()2、已知字符A的ASCII碼值為65,以下程序運行時若從鍵盤輸入:B33,則輸出結(jié)果是【 】 #include “stdio.h” main() char a,b;a=getchar();scanf(“%d”,&b);a=a-A+0;b=b*2;printf(“%c %cn”,a,b);答案:1 B第四章 選擇結(jié)構(gòu)程序設計本章考綱:1. 用if語句實現(xiàn)選擇結(jié)構(gòu)。2. 用switch語句實現(xiàn)多分支結(jié)構(gòu)。3. 選擇結(jié)構(gòu)的嵌套。本章考試方式:以筆試和上機兩種形式考核。筆試中多出現(xiàn)在選擇題第18至21題,填空題第8、9題,
40、分值約占8%。上機考中, 3種題型中均有體現(xiàn),并且(1)常與循環(huán)結(jié)構(gòu)結(jié)合使用,抽中幾率約為37%。本章知識要點:1. 熟記關系、邏輯運算符的種類,重點記憶其運算符的優(yōu)先級。2. 熟記條件運算符的格式,重點掌握條件表達式的執(zhí)行原理。3. 熟記if語句的基本形式,重點掌握if語句的執(zhí)行原理。4. 熟記switch語句的基本形式,重點掌握if語句的執(zhí)行原理。本章內(nèi)容:一、關系運算符和表達式關系運算符就是將兩個值進行比較的運算符。C提供6種:小于()、小于等于(=)、等于(=)、不等于(!=)前四種運算符的優(yōu)先級相同,后兩者的優(yōu)先級相同,且前四種的優(yōu)先級高于后2種;關系運算符都是左結(jié)合的。用關系運算符
41、將兩個表達式聯(lián)結(jié)起來的式子稱為關系表達式。基本形式為; 表達式1 關系運算符 表達式2說明:l 表達式1和表達式2可以是常量、變量、算術表達式、關系表達式、邏輯表達式、賦值表達式及字符表達式等。l 關系運算的結(jié)果是一個邏輯值,當關系成立,值為真,否則為假。由于C語言沒有邏輯型數(shù)據(jù),所以用1代表真,用0代表假。如:53 值 1 5= =3 值為 0 若a=2,b=1,c=0 則:(ab)= =c 值 0 d=ab值 1 f=abc值 1二、邏輯運算符和邏輯表達式C提供3種邏輯運算符:與(&)、或(|)、非(!)說明:l 優(yōu)先級為:非與或,與和或運算符具有左結(jié)合性,非運算符具有右結(jié)合性。l 邏輯運
42、算的值也只有真和假兩個,分別用1和0表示。由邏輯運算符和運算對象所組成的表達式稱為邏輯表達式,一般形式為: 表達式1 邏輯運算符 表達式2說明:l 邏輯運算的對象可以是C語言中任意合法的表達式。l 邏輯表達式的運算結(jié)果為邏輯量真或假。在C語言中,邏輯假用數(shù)值0表示,邏輯真用數(shù)值1表示。但是當判斷一個量是否為真時,以非0代表真,以0代表假。l 在邏輯運算過程中,并不是每一個表達式都會被執(zhí)行,當執(zhí)行與運算時,如果第一個運算量為假,那么后一個運算量將不被執(zhí)行,因為與運算時,有一個操作數(shù)為0結(jié)果就會為0;當執(zhí)行或運算時,如果第一個運算量為真,那么后一個運算量將不被執(zhí)行,因為或運算時,有一個操作數(shù)為1結(jié)
43、果就會為1。如a=1,b=2,c=3,d=4,m=1,n=1 (m=ab)&(n=cd)運算后,m=0,n=11、執(zhí)行以下程序段后,w 的值為(C)(2008年9月)int w=A, x=14, y=15;w=(x | y)&(w=2&c=2&c=2&c=A&kk=Akk=a&(kk+32)=z D)isalpha(kk)&(kkc,a+cb,b+ca。 請?zhí)羁铡#?006年4月)main()float a,b,c;scanf(“%f%f%f”,&a,&b,&c);if(【 】)printf(“YESn”);/*a,b,c能構(gòu)成三角形*/else printf(“NOn”);/*a,b,c不能
44、構(gòu)成三角形*/答案:(a+bc)&(a+cb)&(b+ca)7、已有定義:char c= ;int a=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&a;后b的值為【 】。(2008年4月)答案:0三、if語句if語句是一種選擇結(jié)構(gòu)控制語句,對給定的條件進行判斷,然后決定執(zhí)行哪種操作。C提供以下幾種if語句形式:1. 單分支結(jié)構(gòu)形式為: if(表達式) 語句體說明:l 其中的表達式可以是任意合法的C語言表達式。l 語句體部分可以是一條語句,也可以是用花括號括起來的語句組(復合語句)。l 其執(zhí)行過程是,先計算表達式的值,若為真(邏輯值為1),即條件成立,執(zhí)行語句體,否則不執(zhí)行語句體,而去執(zhí)行
45、if語句的下一條語句。如:if (xy) printf(“%d”,x);2. 雙分支結(jié)構(gòu)形式為: if(表達式) 語句體1 else 語句體2執(zhí)行過程:先計算表達式的值,若為真(邏輯值為1),即條件成立,執(zhí)行語句體1,否則執(zhí)行語句體2。 如: if (xy) printf(“%d”,x); else printf(“%d”,y);3. 多分支結(jié)構(gòu):當出現(xiàn)多種選擇情況時使用形式為: if(表達式1)語句體1 else if(表達式2) 語句體2 . else if(表達式n)語句體n else 語句體n+1執(zhí)行過程:先判斷表達式1的條件是否成立,如果成立,執(zhí)行語句體1,否則判斷表達式2,若成立,
46、執(zhí)行語句體2,否則繼續(xù)判斷表達式3,以此類推,若所有表達式都不成立,則執(zhí)行語句體n+1。4. 嵌套結(jié)構(gòu)在if或else子句中又包含一個或多個if語句。注:else總是與它上面的最近的、未配對的if配對,且else后不跟條件(表達式)。1、main() int x; scanf(“%d”,&x); if(x- -0) y=1; B) y=0;else if(x=0) y=0;if(x0) y=1;else y=-1;else if(x=0)if(x=0);if(x0) y=1;if(x0) y=1;else y=0;else y=-1; else y=-1;3、以下是if語句的基本形式: if(表達式)語句其中“表達式” (D)(2009年3月)A)必須是邏輯表達式B)必須是關系表達式C)必須是邏輯表達式或關系表達式D)可以是任意合法的表達式4、有以下程序段int a, b, c;a=10; b=50; c=30;if (ab)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療軟件購買合同范本
- 縣城餐飲轉(zhuǎn)讓合同范本
- 三個合伙購房合同范例
- 廚師保密協(xié)議合同范本
- 原油供銷合同范例
- 合伙創(chuàng)業(yè)辦廠合同范本
- 賣賣布合同范本
- 加工磚頭銷售合同范本
- 人保車險客戶專員合同范本
- 分期購買釘鞋合同范本
- 2025年黑龍江民族職業(yè)學院單招職業(yè)技能測試題庫必考題
- 《CAD發(fā)展歷程》課件
- 新建鐵路專用線工程可行性研究報告
- 【地理】自然環(huán)境課件-2024-2025學年七年級地理下學期(人教版2024)
- 護膚基礎知識
- 店鋪商鋪出租協(xié)議書
- 小學生網(wǎng)絡安全教育
- 2024年中國作家協(xié)會所屬單位招聘考試真題
- 統(tǒng)編版語文八年級下冊全冊大單元整體教學設計表格式教案
- 2023年新改版教科版科學三年級下冊活動手冊參考答案(word可編輯)
- FPC產(chǎn)品簡介及設計規(guī)范
評論
0/150
提交評論