全國(guó)計(jì)算機(jī)二級(jí)C基礎(chǔ)知識(shí)重點(diǎn)講解_第1頁
全國(guó)計(jì)算機(jī)二級(jí)C基礎(chǔ)知識(shí)重點(diǎn)講解_第2頁
全國(guó)計(jì)算機(jī)二級(jí)C基礎(chǔ)知識(shí)重點(diǎn)講解_第3頁
全國(guó)計(jì)算機(jī)二級(jí)C基礎(chǔ)知識(shí)重點(diǎn)講解_第4頁
全國(guó)計(jì)算機(jī)二級(jí)C基礎(chǔ)知識(shí)重點(diǎn)講解_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

全國(guó)計(jì)算機(jī)二級(jí)C基礎(chǔ)知識(shí)重點(diǎn)講解全國(guó)計(jì)算機(jī)二級(jí)C基礎(chǔ)知識(shí)重點(diǎn)講解28/28全國(guó)計(jì)算機(jī)二級(jí)C基礎(chǔ)知識(shí)重點(diǎn)講解全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C基礎(chǔ)知識(shí)重點(diǎn)講解程序設(shè)計(jì)和C語言本章考綱:程序的構(gòu)成,main函數(shù)和其他函數(shù)。頭文件,數(shù)據(jù)說明,函數(shù)的開始和結(jié)束標(biāo)記以及程序中的注釋。源程序的書寫格式。C語言的風(fēng)格。本章知識(shí)要點(diǎn):了解程序設(shè)計(jì)的基本概念熟記計(jì)算機(jī)語言的分類重點(diǎn)駕馭算法的概念及特性重點(diǎn)駕馭C程序構(gòu)成及書寫格式重點(diǎn)駕馭上機(jī)步驟及編程環(huán)境本章考試方式:筆試(4分)本章內(nèi)容:程序:是指可以被計(jì)算機(jī)連續(xù)執(zhí)行的一條條指令的集合,是人及機(jī)器進(jìn)行對(duì)話的語言。用程序設(shè)計(jì)語言編寫程序的過程稱為程序設(shè)計(jì)。計(jì)算機(jī)語言是人及計(jì)算機(jī)進(jìn)行溝通的工具。分為機(jī)器語言,匯編語言和高級(jí)語言。算法:是為解決一個(gè)問題而實(shí)行的方法和步驟,可以采納偽代碼,流程圖和N-S圖等進(jìn)行算法描述。算法具有:有窮性,確定性,有效性,零個(gè)或多個(gè)輸入,一個(gè)或多個(gè)輸出的特性。三種基本的限制結(jié)構(gòu):依次,選擇,循環(huán)結(jié)構(gòu)。C程序構(gòu)成及書寫特點(diǎn)C程序的基本單位是函數(shù)。一個(gè)C程序由一個(gè)或多個(gè)函數(shù)構(gòu)成,有且只能有一個(gè)主函數(shù)(main)。不論main函數(shù)在整個(gè)程序中的位置如何,C程序的執(zhí)行總是從main開始到main結(jié)束,各函數(shù)之間可以相互調(diào)用,但其他函數(shù)不能調(diào)用主函數(shù)。構(gòu)成:編譯預(yù)處理命令返回值類型函數(shù)名稱(形參類型形參){變量定義執(zhí)行語句/*…注釋…*/執(zhí)行語句}……書寫格式:標(biāo)識(shí)符區(qū)分大小寫,一般變量采納小寫,符號(hào)常量采納大寫。C語句用分號(hào)(;)表示結(jié)束。但是在預(yù)處理命令,函數(shù)頭,花括號(hào)之后不能加分號(hào)。上機(jī)步驟及開發(fā)環(huán)境編輯源程序,源程序以“.c”作為擴(kuò)展名編譯,將源程序轉(zhuǎn)換成目標(biāo)代碼,形成“.obj”的二進(jìn)制文件連接,將目標(biāo)文件和庫函數(shù)及其他文件連接,形成可執(zhí)行的二進(jìn)制文件“.exe”運(yùn)行開發(fā)環(huán)境:VC6.0考試真題:1,下列敘述中錯(cuò)誤的是(D)——2006年4月選擇第44題C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序C語言經(jīng)過編譯,連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個(gè)文本文件中C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令2,下列敘述中錯(cuò)誤的是(B)——2006年4月選擇第45題算法正確的程序最終肯定會(huì)結(jié)束算法正確的程序可以有零個(gè)輸出算法正確的程序可以有零個(gè)輸入算法正確的程序?qū)τ谙嗤妮斎肟隙ㄓ邢嗤慕Y(jié)果3,下列敘述中錯(cuò)誤的是(A)——2006年9月選擇第11題一個(gè)C語言程序只能實(shí)現(xiàn)一種算法C程序可以由多個(gè)程序文件組成C程序可以由一個(gè)或多個(gè)函數(shù)組成一個(gè)C函數(shù)可以單獨(dú)作為一個(gè)C程序文件存在4,下列敘述中正確的是(D)——2006年9月選擇第12題每個(gè)C程序文件中都必須要有一個(gè)main()函數(shù)在C程序中main()函數(shù)的位置是固定的C程序中全部函數(shù)之間都可以相互調(diào)用,及函數(shù)所處位置無關(guān)在C程序的函數(shù)中不能定義另一個(gè)函數(shù)5,在算法中,對(duì)須要執(zhí)行的每一步操作,必需給出清晰,嚴(yán)格的規(guī)定,這屬于算法的(C)——2007年4月選擇第11題正值性可行性確定性有窮性6,下列敘述中錯(cuò)誤的是(D)——2007年4月選擇第12題計(jì)算機(jī)不能直接執(zhí)行用C語言編寫的源程序C程序經(jīng)C編譯程序編譯后,生成后綴為.obj的文件是一個(gè)二進(jìn)制文件后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個(gè)二進(jìn)制文件后綴為.obj和.exe的二進(jìn)制文件都可以直接運(yùn)行7,下列敘述中錯(cuò)誤的是(C)——2007年4月選擇第14題C語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言結(jié)構(gòu)化程序由依次,分支,循環(huán)3種基本結(jié)構(gòu)組成運(yùn)用3種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問題結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法8,對(duì)于一個(gè)正常運(yùn)行的C程序,下列敘述中正確的是(A)—2007年4月選擇第15題程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在main函數(shù)結(jié)束程序的執(zhí)行總是從main函數(shù)開始,在程序的最終一個(gè)函數(shù)中結(jié)束程序的執(zhí)行總是從程序中的第一個(gè)函數(shù)開始,在程序的最終一個(gè)函數(shù)結(jié)束9,C語言源程序名的后綴是(B)——2007年9月選擇第11題.exe.c.obj.cp10,下列敘述中正確的是(C)——2007年9月選擇第14題C語言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開始執(zhí)行可以在程序中由用戶指定隨意一個(gè)函數(shù)作為主函數(shù),程序?qū)慕耖_始執(zhí)行C語言規(guī)定必需用main作為主函數(shù)名,程序?qū)慕耖_始執(zhí)行,在此結(jié)束Main可作為用戶標(biāo)識(shí)符,用以命名隨意一個(gè)函數(shù)作為主函數(shù)數(shù)據(jù)類型及運(yùn)算(記憶加理解)本章考綱:C的數(shù)據(jù)類型(基本類型,構(gòu)造類型,指針類型,空類型)及定義方法。C運(yùn)算符的種類,運(yùn)算優(yōu)先級(jí)和結(jié)合性。不同類型數(shù)據(jù)間的轉(zhuǎn)換及運(yùn)算C表達(dá)式類型(賦值表達(dá)式,算術(shù)表達(dá)式,關(guān)系表達(dá)式,邏輯表達(dá)式,條件表達(dá)式,逗號(hào)表達(dá)式)和求值規(guī)則。本章知識(shí)要點(diǎn):重點(diǎn)駕馭標(biāo)識(shí)符的合法性推斷,符號(hào)常量的運(yùn)用重點(diǎn)駕馭整型變量和實(shí)型變量的分類及說明以及整型常量和實(shí)型常量的表示方法熟記字符常量和字符串常量的表示,重點(diǎn)駕馭字符運(yùn)算原理重點(diǎn)駕馭數(shù)據(jù)類型的轉(zhuǎn)換原理及執(zhí)行過程重點(diǎn)駕馭算術(shù)運(yùn)算符的分類及運(yùn)算符的優(yōu)先級(jí)和結(jié)合性重點(diǎn)駕馭復(fù)合的賦值表達(dá)式及表達(dá)式類型轉(zhuǎn)換重點(diǎn)駕馭自增自減運(yùn)算符的用法(優(yōu)先級(jí),結(jié)合性和執(zhí)行過程)重點(diǎn)駕馭逗號(hào)運(yùn)算符的執(zhí)行過程本章考試方式:筆試(16分)+上機(jī)(5分)本章內(nèi)容:一,標(biāo)識(shí)符:由字母,數(shù)字和下劃線組成,并且必需以字母或下劃線開頭。C語言中的關(guān)鍵字不能用作其他用途,如不能用作變量或函數(shù)名。以下選項(xiàng)中合法的標(biāo)識(shí)符是(2009年3月)A)1_1B)1-1C)_11D)1__以下選項(xiàng)中不合法的標(biāo)識(shí)符是(2008年4月)

A)printB)FORC)&aD)_00可在C程序中用做用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是(2007年9月)A)andB)DateC)HiD)case

_2007y-m-dDr.TomBigl依據(jù)C語言規(guī)定的用戶標(biāo)識(shí)符命名規(guī)則,不能出現(xiàn)在標(biāo)識(shí)符中的是(2007年4月)A)大寫字母B)連接符C)數(shù)字字符D)下劃線以下不合法的用戶標(biāo)識(shí)符是(2006年4月)A)j2_KEYB)DoubleC)4dD)_8_二,常量和變量在程序運(yùn)行過程中,其值不能被改變的量稱為常量。符號(hào)常量的表示:#define標(biāo)識(shí)符常量#definePI3.14159/*PI就是一個(gè)符號(hào)常量,代表3.14159*/main(){ floatr,area; r=3; area=PI*r*r; printf("\narea=%f",area);}在程序運(yùn)行過程中,其值可以改變的量稱為變量。一個(gè)變量具有兩個(gè)要素:變量名和變量值。一個(gè)變量名實(shí)質(zhì)上是代表內(nèi)存中的一個(gè)存儲(chǔ)單元,該單元中的存儲(chǔ)的內(nèi)容就是變量值,通過變量名來引用變量的值。三,整型數(shù)據(jù)整型常量有3種表示方法:十進(jìn)制表示法:123,-456,112L等八進(jìn)制表示法:014,077十六進(jìn)制表示法:0xA0F注:只有十進(jìn)制數(shù)可以是負(fù)數(shù),其余進(jìn)制只能是無符號(hào)數(shù)。無符號(hào)數(shù)可用后綴u(U)表示。整型變量分為以下3類:基本整型:用int表示,在VC6內(nèi)存中占4個(gè)字節(jié)短整型:用shortint或short表示,在內(nèi)存中占2個(gè)字節(jié)長(zhǎng)整型:用longint或long表示,在內(nèi)存中占4個(gè)字節(jié)還可以加上unsigned,將變量定義為無符號(hào)型。四,實(shí)型數(shù)據(jù)實(shí)型常量有兩種表示方式:十進(jìn)制小數(shù)形式:3.1415,0.123,.145,34.,123f指數(shù)形式:6.0E3(E或e之前必需有數(shù),之后必需是整數(shù))實(shí)型變量分3類:?jiǎn)尉龋篺loat占4個(gè)字節(jié),有6-7位有效位數(shù)雙精度:double占8個(gè)字節(jié),有15-16位有效位數(shù)長(zhǎng)雙精度:longdouble占16個(gè)字節(jié),有18-19位有效位數(shù)五,字符型數(shù)據(jù)(在內(nèi)存中存放的是字符量的ASCII碼)字符常量:一對(duì)單引號(hào)括起來的單個(gè)字符。(轉(zhuǎn)義字符),’a’,’\n’字符變量:類型說明符char,在內(nèi)存中占一個(gè)字節(jié)。C語言允許對(duì)整型變量賦字符值,也允許對(duì)字符變量賦整型值。main(){ charc1,c2; c1='a';c2='b'; c1=c1-32;c2=c2-32; printf("%c%c\n",c1,c2); printf("%d%d",c1,c2);}以下選項(xiàng)中不屬于字符常量的是(2008年4月)

A)'C'B)"C"C)'\xCC0'D)'\072'以下合法的字符常量的是

A)'\x13'B)’\081’C)'65'D)”\n”轉(zhuǎn)義算一個(gè)字符已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97。下列不能將變量c中的大寫字母轉(zhuǎn)換為對(duì)應(yīng)小寫字母的語句是(2007年4月)A)c=(c-‘A’)%26+’a’B)c=c+32C)c=c-‘A’+’a’D)c=(‘A’+c)%26-‘a(chǎn)’以下選項(xiàng)中,值為1的表達(dá)式________。(2006年9月)A)1-‘0’B)1-‘\0’C)’1’-0D)’\0’-‘0’六,字符串常量:用一對(duì)雙撇號(hào)括起來的零個(gè)或多個(gè)字符序列。如:”china”在存儲(chǔ)字符串時(shí),系統(tǒng)會(huì)在字符串的末尾自動(dòng)加上一個(gè)’\0’作為字符串的結(jié)束標(biāo)記,所以“china”在內(nèi)存中實(shí)質(zhì)是占6個(gè)字節(jié)的空間。C語言沒有字符串變量,對(duì)字符串的處理都是通過字符數(shù)組來完成。以下選項(xiàng)中,能用作數(shù)據(jù)常量的是(2009年3月)A)o115B)0118C)1.5e1.5D)115LA假如是0115就是一個(gè)合法的8進(jìn)制常量,不過以o開頭就成了變量名B以0開頭是八進(jìn)制,不過八進(jìn)制只能是0~7,于是錯(cuò)誤C的尾數(shù)是1.5正確,但是階碼為1.5錯(cuò)誤,只能為整數(shù)D的后綴L代表長(zhǎng)型,115L則表示長(zhǎng)整型,因此正確以下選項(xiàng)中不能作為C語言合法常量的是()。A)'cd'B)0.1e+6C)"\a"D)'\011'以下不合法的數(shù)值常量是A)011B)lelC)8.0E0.5D)0xabcdC源程序中不能表示的數(shù)制是()。(2008年9月)二進(jìn)制B)八進(jìn)制C)十進(jìn)制D)十六進(jìn)制%d十進(jìn)制,%o八進(jìn)制,%x十六進(jìn)制以下關(guān)于long,int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(2007年9月)

A)均占4個(gè)字節(jié)B)依據(jù)數(shù)據(jù)的大小來確定所占內(nèi)存的字節(jié)數(shù)

C)由用戶自己定義D)由C語言編譯系統(tǒng)確定以下選項(xiàng)中,合法的一組C語言數(shù)值常量是(2007年9月)

A)028B)12.C).177D)0x8A

.5e-30Xa234e1.510,000

-0xf4.5e00abc3.e5A中028是八進(jìn)制,不該出現(xiàn)8,C中4e1.5錯(cuò)了,e后面不該是小數(shù),D中10,000錯(cuò)誤,沒有這種寫法。七,變量的定義C語言規(guī)定,變量在運(yùn)用時(shí)必需先定義后運(yùn)用。變量定義形式:數(shù)據(jù)類型變量名1[,變量名2,…….];如:intsum,a;floatscore,b;charc;變量在定義時(shí)可以初始化,如:intsum=0,a=1;floatscore=0.0,b=1.5;charc=’a’;此賦初值錯(cuò)誤:intsum=a=1;賦初值只能對(duì)單個(gè)變量進(jìn)行。以下選項(xiàng)中正確的定義語句是()。(2008年9月)doublea;b;B)doublea=b=7;C)doublea=7,b=7;D)double,a,b;B中b應(yīng)先定義再運(yùn)用以下定義語句中正確的是(2008年4月)

A)inta=b=0;B)charA=65+1,b='b';

C)floata=1,*b=&a,*c=&b;D)doublea=0.0;b=1.1;A錯(cuò)在b未定義應(yīng)改為inta,b;a=b=0;B正確C錯(cuò),錯(cuò)在無法初始化convertfrom'float**'to'float*D錯(cuò)應(yīng)當(dāng)為doublea=0.0,b=1.1;把分號(hào)改為逗號(hào)下列定義變量的語句中錯(cuò)誤的是________。(2006年9月)A)int_int;B)doubleint_;C)charFor;D)floatUS$八,不同數(shù)據(jù)類型之間的轉(zhuǎn)換doublefloatlongunsigneddoublefloatlongunsignedintchar,short類型轉(zhuǎn)換圖:可以運(yùn)用強(qiáng)制類型轉(zhuǎn)換,格式:(類型說明符)(表達(dá)式)如:(double)a;(int)(x+y);(int)x+y;main(){ floatx;inti; x=3.6; i=(int)x; printf("x=%f,i=%d",x,i);}結(jié)果:x=3.600000,i=3main(){ floatx,y; inti,j; x=3.6; y=3.8; i=(int)x+(int)y; j=(int)(x+y); printf("i=%f,j=%d",i,j);}九,算術(shù)運(yùn)算符加(+),減(-),乘(*),除(/),求余(%),自增(++),自減(--)注:當(dāng)兩個(gè)整數(shù)進(jìn)行除法運(yùn)算時(shí),得到的結(jié)果仍舊為整數(shù),如5/2=2,要想得到小數(shù),必需將分子或分母中的隨意一個(gè)轉(zhuǎn)換成浮點(diǎn)數(shù),如1.0/2=0.5。求余運(yùn)算要求兩側(cè)的操作數(shù)均為整型。運(yùn)算符都有優(yōu)先級(jí)和結(jié)合性,見書后附錄。除單目運(yùn)算,賦值運(yùn)算符和條件運(yùn)算符是右結(jié)合性外,其他運(yùn)算都是左結(jié)合性。表達(dá)式(int)((double)(5/2)+2.5)的值是【6】(2009年3月)答案:4以下不能正確表示代數(shù)式2ab/cd(2008年9月)的C語言表達(dá)式是()。A)2*a*b/c/dB)a*b/c/d*2C)a/c/d*b*2D)2*a*b/c*d以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式A)x%2==1B)x/2C)x%2!=0D)x%2==0表達(dá)式3.6-5/2+1.2+5%2的值是(2006年4月)A)4.3B)4.8C)3.3D)3.8十,賦值運(yùn)算符合表達(dá)式C語言中的賦值運(yùn)算符是“=”,其功能是將右側(cè)表達(dá)式的值賦給左側(cè)的變量如:a=5;b=c=8;復(fù)合的賦值表達(dá)式:變量operater=表達(dá)式,operater代表運(yùn)算符。如:a+=5,等價(jià)于a=a+5;a+=x+y,等價(jià)于a=a+(x+y)設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是(2008年4月)

A)x=y*5=x+zB)int(15.8%5)

C)x=y+z+5,++yD)x=25%5.0若變量均已正確定義并賦值,以下合法的C語言賦值語句是(2007年9月)A)x=y==5;B)x=n%2.5;C)x+n=I;D)x=5=4+1;若變量x,y已正確定義并賦值,以下符合C語言語法的表達(dá)式是________。(2006年9月)A)++x,y=x--B)x+1=yC)x=x+10=x+yD)double(x)/10設(shè)變量a和b已正確定義并賦初值。請(qǐng)寫出及a-=a+b等價(jià)的賦值表達(dá)式【6】。(2008年9月)答案:a=-b;十一,自增和自減運(yùn)算++和--運(yùn)算,其功能是使變量的值自動(dòng)加和減1。如:a++,等價(jià)于a=a+1自增和自減有兩種用法:前置運(yùn)算:如++a,其運(yùn)算規(guī)則是先使變量的值增(減)1,然后再以變化后的表達(dá)式值參及其他運(yùn)算。后置運(yùn)算:如a++,其運(yùn)算規(guī)則是變量先參及其他運(yùn)算,然后再使變量的值增(減)1。設(shè)有定義:intx=2;,以下表達(dá)式中,值不為6的是(2009年3月)A)x*=x+1B)x++,2*xC)x*=(1+x)D)2*x,x+=2設(shè)有定義:intk=0;,以下選項(xiàng)的四個(gè)表達(dá)式中及其他三個(gè)表達(dá)式的值不相同的是(2007年4月)k++B)k+=1C)++kD)k+1K++意味著0給予該表達(dá)式然后K加1。像printf("%d",K++)它要輸出的是后十二,逗號(hào)表達(dá)式表達(dá)式1,表達(dá)式2[,表達(dá)式3,…..,表達(dá)式n]其計(jì)算過程是從左到右逐個(gè)求每個(gè)表達(dá)式的值,取最右邊一個(gè)表達(dá)式的值作為該逗號(hào)表達(dá)式的值。#include<stdio.h>voidmain(){inta,b;a=1;b=(a++,a+3);printf("a=%d\n",a);printf("b=%d\n",b);}有以下程序(2006年9月)main(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運(yùn)行后的輸出結(jié)果是________。A)2,3,3B)2,3,2C)2,3,1D)2,2,1=(右結(jié)合)的優(yōu)先級(jí)比,(左結(jié)合)高1級(jí)優(yōu)先級(jí)左結(jié)合()圓括號(hào)[]下標(biāo)運(yùn)算符->指向結(jié)構(gòu)體成員運(yùn)算符.結(jié)構(gòu)體成員運(yùn)算符2級(jí)優(yōu)先級(jí)右結(jié)合!邏輯非運(yùn)算符~按位取反運(yùn)算符++自增運(yùn)算符--自減運(yùn)算符-負(fù)號(hào)運(yùn)算符(類型)類型轉(zhuǎn)換運(yùn)算符*指針運(yùn)算符&地址及運(yùn)算符sizeof長(zhǎng)度運(yùn)算符3級(jí)優(yōu)先級(jí)左結(jié)合*乘法運(yùn)算符/除法運(yùn)算符%取余運(yùn)算符4級(jí)優(yōu)先級(jí)左結(jié)合+加法運(yùn)算符減法運(yùn)算符5級(jí)優(yōu)先級(jí)左結(jié)合<<左移運(yùn)算符>>右移運(yùn)算符6級(jí)優(yōu)先級(jí)左結(jié)合<,<=,>,>=關(guān)系運(yùn)算符7級(jí)優(yōu)先級(jí)左結(jié)合==等于運(yùn)算符!=不等于運(yùn)算符8級(jí)優(yōu)先級(jí)左結(jié)合&按位及運(yùn)算符9級(jí)優(yōu)先級(jí)左結(jié)合^按位異或運(yùn)算符10級(jí)優(yōu)先級(jí)左結(jié)合|按位或運(yùn)算符11級(jí)優(yōu)先級(jí)左結(jié)合&&邏輯及運(yùn)算符12級(jí)優(yōu)先級(jí)左結(jié)合13級(jí)優(yōu)先級(jí)右結(jié)合:條件運(yùn)算符14級(jí)優(yōu)先級(jí)右結(jié)合=+=-=*=/=%=>>=<<=&=^=|=全為賦值運(yùn)算符15級(jí)優(yōu)先級(jí)左結(jié)合,逗號(hào)運(yùn)算符設(shè)變量已正確定義為整型,則表達(dá)式n=i=2,++i,i++的值為[]答案:3以下程序輸出結(jié)果是(2007年4月)Main(){inta=10;a=(3*5,a+4);printf(“a=%d\n”,a);}答案:14基本語句本章考綱:表達(dá)式語句,空語句,復(fù)合語句。輸入輸出函數(shù)的調(diào)用,正確輸入數(shù)據(jù)并正確設(shè)計(jì)輸出格式。本章知識(shí)要點(diǎn):重點(diǎn)駕馭各種語句的運(yùn)用。熟記scanf和printf函數(shù)的格式重點(diǎn)理解scanf函數(shù)中地址列表的含義,重點(diǎn)駕馭格式限制串中不同字符的作用。點(diǎn)理解printf函數(shù)中格式限制串的含義,重點(diǎn)駕馭格式限制串中不同字符的作用。重點(diǎn)理解getchar和putchar函數(shù)的作用。本章考試方式:筆試(7分)+上機(jī)(15分)本章內(nèi)容:一,C語句分類C語句可以分為5類:限制語句:用來實(shí)現(xiàn)對(duì)程序流程的選擇,循環(huán),轉(zhuǎn)向和返回等進(jìn)行限制。如:if等函數(shù)調(diào)用語句,如:printf("thisisacprogram”);表達(dá)式語句:在表達(dá)式的末尾加上分號(hào)構(gòu)成的語句。如:a=a+4;空語句:?jiǎn)为?dú)的一個(gè)分號(hào)“;”構(gòu)成的語句??照Z句的執(zhí)行不產(chǎn)生任何動(dòng)作,有時(shí)用來作流程的轉(zhuǎn)向點(diǎn),也可以用來作循環(huán)語句的循環(huán)體。復(fù)合語句:由一對(duì)花括號(hào)“{}”把一些語句括起來,在語法上作為一個(gè)整體對(duì)待,相當(dāng)于一條語句。如:{z=x+y;z++;}若函數(shù)中有定義語句:intk;,則(2009年3月)A)系統(tǒng)將自動(dòng)給k賦初值0

B)這時(shí)k中值無定義C)系統(tǒng)將自動(dòng)給k賦初值-1

D)這時(shí)k中無任何值以下能正確定義且賦初值的語句是()。(2005年9月)

A)intn1=n2=10;B)charc=32;

C)floatf=f+1.1;D)doublex=12.3E2.5;二,scanf函數(shù)用來從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)輸入數(shù)據(jù)到計(jì)算中。一般格式:scanf(格式限制串,地址表列)如:scanf(“%d%f%c”,&a,&b,&c);“格式限制串”用來指定每個(gè)輸入項(xiàng)的輸入格式。通常由若干個(gè)格式說明組成,格式說明由“%”開頭,后跟格式字符,如“%d”,“%c”等?!暗刂繁砹小表氁x入的是全部變量的地址或字符串的首地址。運(yùn)用說明:除了格式說明符和附加格式字符外,假如還有其他字符,則在輸入數(shù)據(jù)時(shí)要求按一一對(duì)應(yīng)的位置原樣輸入這些字符。形式1:scanf(“%d,%d”,&a,&b);正確的輸入方式:12,35形式2:scanf(“a=%d,b=%d”,&a,&b);正確的輸入方式:a=12,b=35可以指定輸入數(shù)據(jù)所占的列數(shù),系統(tǒng)自動(dòng)按指定的數(shù)據(jù)截取所需的數(shù)據(jù)。如:scanf(“%4d%4d”,&a,&b);當(dāng)輸入12345678時(shí),系統(tǒng)自動(dòng)將1234賦給a,將5678賦給b。如:scanf(“%4c”,&ch);假如從鍵盤輸入xyz3個(gè)字符,由于ch只能接收一個(gè)字符,系統(tǒng)自動(dòng)將第一個(gè)字符‘x’賦給ch。輸入的數(shù)值數(shù)據(jù)之間用間隔符(空格,制表符或回車符)隔開,間隔符數(shù)量不限,假如在格式說明中認(rèn)為制定寬度時(shí),也可以運(yùn)用此方式。在%后有一個(gè)“*”附加格式字符,表示跳過它指定的列數(shù)。地址表應(yīng)當(dāng)是變量的地址,因此,應(yīng)當(dāng)在變量名前加上取地址的運(yùn)算符“&”在用“%c”格式輸入字符時(shí),空格和轉(zhuǎn)義字符都將作為有效字符進(jìn)行輸入。如:scanf(“%c%c%c”,&c1,&c2,&c3);假如輸入ab后按下回車鍵,則c1,c2,c3的值分別為a,空格,b鍵盤輸入數(shù)據(jù)的個(gè)數(shù)應(yīng)當(dāng)及格式要求的個(gè)數(shù)相同,少于要求個(gè)數(shù)時(shí),函數(shù)等待輸入,直到滿意要求或遇到非法字符為止;多于要求個(gè)數(shù)時(shí),多余的數(shù)據(jù)將留在緩沖區(qū)作為下一次輸入操作的輸入數(shù)據(jù)。在輸入數(shù)據(jù)時(shí),遇到以下狀況時(shí)該輸入結(jié)束遇到空格,或按回車鍵或按跳格(TAB)鍵按指定的寬度結(jié)束遇到非法輸入若有定義語句:doublex,y,*px,*py,執(zhí)行了px=&x,py=&y;之后,正確的輸入語句是(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);%f用來輸入float類型變量%lf用來輸入double類型便類%le表示用科學(xué)計(jì)數(shù)法輸入double程序段:intx=12;

doubley=3.141593;printf(“%d%8.6f”,x,y);的輸出結(jié)果是(2009年3月)A)123.141593

B)123.141593

C)12,3.141593

D)123.1415938.6f輸出是浮點(diǎn)數(shù),域?qū)挒?,保留六位小數(shù)有以下程序(2009年3月)#include<stdio.h>main(){inta1,a2;charc1,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,則正確的輸入格式是(以下_代表空格,<CR>代表回車)A)12a34b<CR>

B)12_a34_b<CR>C)12,a,34,b<CR>

D)12_a34_b<CR>若變量已正確定義為int型,要通過語句scanf("%d,%d,%d",&a,&b,&c);給a賦值1,給b賦值2,給c賦值3,以下輸入形式中錯(cuò)誤的是(ò代表一個(gè)空格符)()。(2008年9月)A)òòò1,2,3<回車>B)1ò2ò3<回車>C)1,òòò2,òòò3<回車>D)1,2,3<回車>若在定義語句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項(xiàng)中的語句,則能正確執(zhí)行的語句是

A)scanf("%d",a,b,c);B)scanf("%d%d%d",a,b,c);

C)scanf("%d",p);D)scanf("%d",&p);有以下程序段(2007年9月)

intj;floaty;charname[50];

scanf("%2d%f%s",&j,&y,name);

當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為

A)55566.0B)566.0C)7777.0D)566777.0設(shè)變量均已正確定義,若要通過scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);語句為變量a1和a2賦數(shù)值10和20,為變量c1和c2賦字符X和Y。以下所示的輸入形式正確的是(注:□代表空格字符)(2007年4月)A)10□X□20□Y〈回車〉B)10□X20□Y〈回車〉C)10□X〈回車〉D)10X〈回車〉20□Y〈回車〉20Y〈回車〉各個(gè)輸入之間可以是空格,回車,制表符。空格也是字符設(shè)有定義:inta;floatb;執(zhí)行scanf("%2d%f",&a,&b);語句時(shí),若從鍵盤輸入876543.0<回車>,a和b的值分別是________。(2006年9月)A)876和543.000000B)87和6.000000C)87和543.000000D)76和543.000000執(zhí)行以下程序時(shí)輸入1234567,則輸出結(jié)果是_______.(2007年9月)

#include

main()

{inta=1,b;

scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);

}答案:1234三,printf函數(shù)用于按指定得格式在屏幕上輸出若干隨意類型的數(shù)據(jù)。一般格式:printf(格式限制串,輸出表列);如:printf(“a=%d,b=%d\n”,a,b);“格式限制串”用來指定每個(gè)輸出項(xiàng)的輸出格式。組成格式限制串的字符通常由格式說明,轉(zhuǎn)移字符和按原樣輸出的字符3部分組成。格式說明由“%”開頭,后跟格式字符(p46頁),用來指定數(shù)據(jù)的輸出格式。輸出格式中的格式說明的個(gè)數(shù)和輸出表列中的數(shù)據(jù)個(gè)數(shù)應(yīng)一樣。轉(zhuǎn)義字符是以“\”開始的字符,用來實(shí)現(xiàn)換行,跨越指標(biāo)為或輸出單引號(hào),雙引號(hào)等。除了以上兩類字符之外,在格式串中的其他字符將按原樣輸出。輸出表列是要輸出的各項(xiàng)數(shù)據(jù),可以是常量,變量,函數(shù)或表達(dá)式,其詳細(xì)類型有格式限制串中的格式字符確定。運(yùn)用說明:駕馭格式字符和附加格式字符的作用。在格式限制串中,格式說明和輸出項(xiàng)在類型上必需一一對(duì)應(yīng)。并且格式說明的個(gè)數(shù)和輸出項(xiàng)的個(gè)數(shù)應(yīng)當(dāng)相同,假如不同,系統(tǒng)則作以下處理:假如格式說明的個(gè)數(shù)小于輸出項(xiàng)數(shù),多余的數(shù)據(jù)項(xiàng)不顯示假如格式說明的個(gè)數(shù)多于輸出項(xiàng)數(shù),對(duì)多余的格式將輸出不定值或0值有以下程序段(2008年4月)

charch;intk;

ch='a';k=12;

printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);

已知字符a的ASCll十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是

A)因變量類型及格式描述符的類型不匹配輸出無定值

B)輸出項(xiàng)及格式描述符個(gè)數(shù)不符,輸出為零值或不定值

C)a,97,12k=12D)a,97,k=12有以下程序,其中%u表示按無符號(hào)整數(shù)輸出(2007年4月)Main(){unsignedintx=0xFFFF;/*x的初值為十六進(jìn)制數(shù)*/Printf(“%u\n”,x);}程序運(yùn)行后的輸出結(jié)果是A)-1B)65535C)32767D)0XFFFF有以下程序(2006年9月)main(){inta=0,b=0;a=10;/*給a賦值b=20;給b賦值*/printf("a+b=%d\n",a+b);/*輸出計(jì)算結(jié)果*/}程序運(yùn)行后輸出結(jié)果是________。a+b=0B)a+b=30C)30D)出錯(cuò)留意換行符的位置若變量x,y已定義為int類型且x的值為99,y的值為9,請(qǐng)將輸出語句printf(【7】,x/y);補(bǔ)充完整,使其輸出的計(jì)算結(jié)果形式為:x/y=11(2009年3月)答案:”x/y=%d”若整型變量a和b中的值分別為7和9,要求按以下格式輸出a和b的值:(2008年9月)a=7b=9請(qǐng)完成輸出語句:printf("【7】",a,b);答案:a=%d\nb=%d\n以下程序運(yùn)行后的輸出結(jié)果是【7】。main(){intm=011,n=11;printf("%d%d\n",++m,n++);}答案:1011若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請(qǐng)寫出完整的輸出語句__[6]____。(2006年4月)答案:printf(“a=%d,b=%d”,a,b);四,getchar函數(shù)其功能是從鍵盤上輸入一個(gè)字符,格式為:getchar();函數(shù)值就是從輸入設(shè)備得到的一個(gè)字符。如:a=getchar();說明:輸入回車符時(shí)才結(jié)束,回車前的全部字符都會(huì)逐個(gè)顯示在屏幕上。此函數(shù)將輸入的第一個(gè)字符作為函數(shù)的返回值。通常將寒暑的返回值賦給一個(gè)字符型變量或整型數(shù)據(jù)。五,putchar函數(shù)作用是向輸出設(shè)備上輸出一個(gè)字符,格式為:putchar(ch);其中ch可以使常量,變量,轉(zhuǎn)義字符或表達(dá)式等,其數(shù)據(jù)類型可以是字符型或整型。當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)運(yùn)用的輸入函數(shù)是(2007年9月)

A)scanf()B)getchar()C)gets()D)getc()最重要的區(qū)分是gets讀一行,getchar()讀一個(gè)字符。先看原型:char*gets(char*ptr);intgetchar(void);作用是:gets()用于從標(biāo)準(zhǔn)輸入流stdin讀入一個(gè)整行(以'\n'或EOF)結(jié)束,寫入ptr指向的字符數(shù)組,并返回這個(gè)指針;出錯(cuò)或遇到文件結(jié)束時(shí)則返回NULL。行末的'\n'從流中取出,但不寫入數(shù)組。gets()不檢查被寫入的數(shù)組大小。getchar()用于從標(biāo)準(zhǔn)輸入流stdin讀入一個(gè)字符,并返回這個(gè)字符。假如讀到文件結(jié)尾,則返回EOF。留意到EOF不能用char類型表示,所以getchar()函數(shù)返回的是一個(gè)int型的數(shù)。運(yùn)用時(shí)也應(yīng)當(dāng)留意這一點(diǎn)。已知字符A的ASCII碼值為65,以下程序運(yùn)行時(shí)若從鍵盤輸入:B33<回車>,則輸出結(jié)果是[]#include“stdio.h”Main(){chara,b;a=getchar();Scanf(“%d”,&b);a=a-‘A’+’0’;b=b*2;printf(“%c%c\n”,a,b);}答案:1Ba=a-‘A’+’0’=1+‘0’='1'b=b*2=33*2=66輸出是%c字符型的格式所以就應(yīng)當(dāng)是1B選擇結(jié)構(gòu)程序設(shè)計(jì)本章考綱:用if語句實(shí)現(xiàn)選擇結(jié)構(gòu)。用switch語句實(shí)現(xiàn)多分支結(jié)構(gòu)。選擇結(jié)構(gòu)的嵌套。本章知識(shí)要點(diǎn):熟記關(guān)系,邏輯運(yùn)算符的種類,重點(diǎn)記憶其運(yùn)算符的優(yōu)先級(jí)。熟記條件運(yùn)算符的格式,重點(diǎn)駕馭條件表達(dá)式的執(zhí)行原理。熟記if語句的基本形式,重點(diǎn)駕馭if語句的執(zhí)行原理。熟記switch語句的基本形式,重點(diǎn)駕馭if語句的執(zhí)行原理。本章考試方式:筆試(12分)+上機(jī)(50分)本章內(nèi)容:一,關(guān)系運(yùn)算符和表達(dá)式關(guān)系運(yùn)算符就是將兩個(gè)值進(jìn)行比較的運(yùn)算符。C供應(yīng)6種:小于(<),大于(>),小于等于(<=),大于等于(>=),等于(==),不等于(!=)前四種運(yùn)算符的優(yōu)先級(jí)相同,后兩者的優(yōu)先級(jí)相同,且前四種的優(yōu)先級(jí)高于后2種;關(guān)系運(yùn)算符都是左結(jié)合的。用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式聯(lián)結(jié)起來的式子稱為關(guān)系表達(dá)式?;拘问綖?;表達(dá)式1關(guān)系運(yùn)算符表達(dá)式2說明:表達(dá)式1和表達(dá)式2可以是常量,變量,算術(shù)表達(dá)式,關(guān)系表達(dá)式,邏輯表達(dá)式,賦值表達(dá)式及字符表達(dá)式等。關(guān)系運(yùn)算的結(jié)果是一個(gè)邏輯值,,當(dāng)關(guān)系成立,值為真,否則為假。由于C語言沒有邏輯型數(shù)據(jù),所以用1代表真,用0代表假。如:5>3值1 5==3值為0 若a=2,b=1,c=0則:(a>b)==c值0d=a>b 值1f=a>b>c 值1二,邏輯運(yùn)算符和邏輯表達(dá)式C供應(yīng)3種邏輯運(yùn)算符:及(&&),或(||),非(!)說明:優(yōu)先級(jí)為:非>及.>或,及和或運(yùn)算符具有左結(jié)合性,非運(yùn)算符具有右結(jié)合性。邏輯運(yùn)算的值也只有真和假兩個(gè),分別用1和0表示。真值表見輔導(dǎo)書p59頁。由邏輯運(yùn)算符和運(yùn)算對(duì)象所組成的表達(dá)式稱為邏輯表達(dá)式,一般形式為:表達(dá)式1邏輯運(yùn)算符表達(dá)式2說明:邏輯運(yùn)算的對(duì)象可以是C語言中隨意合法的表達(dá)式。邏輯表達(dá)式的運(yùn)算結(jié)果為邏輯量真或假。在C語言中,邏輯假用數(shù)值0表示,邏輯真用數(shù)值1表示。但是當(dāng)推斷一個(gè)量是否為真時(shí),以非0代表真,以0代表假。在邏輯運(yùn)算過程中,并不是每一個(gè)表達(dá)式都會(huì)被執(zhí)行,當(dāng)執(zhí)行及運(yùn)算時(shí),假如第一個(gè)運(yùn)算量為假,則后一個(gè)運(yùn)算量將不被執(zhí)行,因?yàn)榧斑\(yùn)算時(shí),有一個(gè)操作數(shù)為0結(jié)果就會(huì)為0;當(dāng)執(zhí)行或運(yùn)算時(shí),假如第一個(gè)運(yùn)算量為真,則后一個(gè)運(yùn)算量將不被執(zhí)行,因?yàn)榛蜻\(yùn)算時(shí),有一個(gè)操作數(shù)為1結(jié)果就會(huì)為1。如a=1,b=2,c=3,d=4,m=1,n=1(m=a>b)&&(n=c>d)運(yùn)算后,m=0,n=1執(zhí)行以下程序段后,w的值為()。(2008年9月)intw='A',x=14,y=15;w=((x||y)&&(w<'a'));A)-1B)NULLC)lD)0當(dāng)變量c的值不為2,4,6時(shí),值也為“真”的表達(dá)式是(2008年4月)

A)(c==2)‖(c==4)‖(c==6)B)(c>=2&&c<=6)‖(c!=3)‖(c!=5)

C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&&c<=6)&&(c%2!=1)已知字母A的ASCⅡ代碼值為65,若變量kk為char型,以下不能正確推斷出kk中的值為大寫字母的表達(dá)式是

A)kk>='A'&&kk<='Z'B)!(kk>='A'‖kk<='Z')

C)(kk+32)>='a'&&(kk+32)<='z'D)isalpha(kk)&&(kk<91)以下關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是________。A)只能是整數(shù)0或1B)只能是整數(shù)0或非0的整數(shù)C)可以是結(jié)構(gòu)體類型的數(shù)據(jù)D)可是隨意合法的表達(dá)式已有定義:charc=‘’;inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&&a;后b的值為【6】。(2008年4月)答案:0已定義charch=’$’;inti=1,j;執(zhí)行j=!ch&&i++以后,i的值為___________(2007年4月)答案:1的執(zhí)行依次是:(1)假如!ch為“非零”(真),接著執(zhí)行i++;(2)假如!ch為"零”(假),則不執(zhí)行i++.由于ch='#',為“真”,所以!ch==0(為假),因此表達(dá)式按(2)進(jìn)行,即i++得不到執(zhí)行,i保留原來的值(1)。而j==0(假)以下程序用于推斷a,b,c能否構(gòu)成三角形,若能輸出YES,若不能輸出NO。當(dāng)a,b,c輸入三角形三條邊長(zhǎng)時(shí),確定a,b,c能構(gòu)成三角形的條件是須要同時(shí)滿意三條件:a+b>c,a+c>b,b+c>a。請(qǐng)?zhí)羁?。?006年4月)main(){floata,b,c;scanf(“%f%f%f”,&a,&b,&c);if(__[7]__)printf(“YES\n”);/*a,b,c能構(gòu)成三角形*/elseprintf(“NO\n”);/*a,b,c不能構(gòu)成三角形*/}答案:(a+b>c)&&(a+c>b)&&(b+c>a)三,if語句If語句是一種選擇結(jié)構(gòu)限制語句,對(duì)給定的條件進(jìn)行推斷,然后確定執(zhí)行哪種操作。C供應(yīng)以下幾種if語句形式:?jiǎn)畏种ЫY(jié)構(gòu)形式為:if(表達(dá)式)語句體說明:其中的表達(dá)式可以是隨意合法的C語言表達(dá)式。語句體部分可以是一條語句,也可以是用花括號(hào)括起來的語句組(復(fù)合語句)。其執(zhí)行過程是,先計(jì)算表達(dá)式的值,若為真(邏輯值為1),即條件成立,執(zhí)行語句體,否則不執(zhí)行語句體,而去執(zhí)行if語句的下一條語句。如:if(x>y)printf(“%d”,x);雙分支結(jié)構(gòu)形式為:if(表達(dá)式)語句體1else語句體2執(zhí)行過程:先計(jì)算表達(dá)式的值,若為真(邏輯值為1),即條件成立,執(zhí)行語句體1,否則執(zhí)行語句體2。如:if(x>y)printf(“%d”,x);elseprintf(“%d”,y);多分支結(jié)構(gòu):當(dāng)出現(xiàn)多種選擇狀況時(shí)運(yùn)用形式為:if(表達(dá)式1)語句體1elseif(表達(dá)式2)語句體2…….elseif(表達(dá)式n)語句體nelse語句體n+1執(zhí)行過程:先推斷表達(dá)式1的條件是否成立,假如成立,執(zhí)行語句體1,否則推斷表達(dá)式2,若成立,執(zhí)行語句體2,否則接著推斷表達(dá)式3,以此類推,若全部表達(dá)式都不成立,則執(zhí)行語句體n+1。嵌套結(jié)構(gòu)在if或else子句中又包含一個(gè)或多個(gè)if語句。注:else總是及它上面的最近的,未配對(duì)的if配對(duì),且else后不跟條件(表達(dá)式)。main()(2001年9月二級(jí)C語言筆試25題){intx;scanf(“%d”,&x);if(x--<5)printf(“%d”,x);elseprintf(“%d”,x++);}程序運(yùn)行后,假如從鍵盤上輸人5,則輸出結(jié)果是A)3B)4C)5D)6有一函數(shù),,以下程序段中不能依據(jù)x值正確計(jì)算出y值的是(2002年9月二級(jí)C語言筆試22題)A)if(x>0)y=1; B)y=0;elseif(x==0)y=0; if(x>0)y=1;elsey=-1; elseif(x<0)y=-1;C)y=0; D)if(x>=0)if(x>=0); if(x>0)y=1;if(x>0)y=1 ; elsey=0;elsey=-1; elsey=-1;以下是if語句的基本形式:(2009年3月)if(表達(dá)式)

語句其中“表達(dá)式”A)必需是邏輯表達(dá)式

B)必需是關(guān)系表達(dá)式C)必需是邏輯表達(dá)式或關(guān)系表達(dá)式

D)可以是隨意合法的表達(dá)式有以下程序段(2008年9月)inta,b,c;a=10;b=50;c=30;if(a>b)a=b;b=c;c=a;printf("a=%db=%dc=%d\n”,a,b,c);程序的輸出結(jié)果是()。a=10b=50c=10B)a=10b=50c=30C)a=10b=30c=10D)a=50b=30c=50留意:a的值已變化有以下程序(2008年9月)#include<stdio.h>main(){intx=l,y=2,z=3;if(x>y)if(y<z)printf("%d",++z);elseprintf("%d",++y);printf("%d\n",x++);}程序的運(yùn)行結(jié)果是()。A)331B)41C)2D)1若變量已正確定義,有以下程序段(2008年4月)

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é)果是

A)程序段有語法錯(cuò)B)3,5,3C)3,5,5D)3,5,7有以下計(jì)算公式(2007年9月)若程序前面已在命令中包含math.h文件,不能夠正確計(jì)算上述公式的程序段是

A)if(x>=0)y=sqrt(x);B)y=sqrt(x)

elsey=sqrt(-x);if(x<0)y=sqrt(-x);

C)if(x>=0)y=sqrt(x);D)y=sqrt(x>=0x:-x);

If(x<0)y=sqrt(-x);設(shè)變量x和y均已正確定義并賦值,以下if語句中,在編譯時(shí)將產(chǎn)生錯(cuò)誤信息的是(2007年4月)A)if(x++);B)if(x>y&&y!=0);C)if(x>y)x--D)if(y<0){;}elsey++;elsex++;C缺少分號(hào)在嵌套運(yùn)用if語句時(shí),C語言規(guī)定else總是________。(2006年9月)A)和之前及其具有相同縮進(jìn)位置的if配對(duì)B)和之前及其最近的if配對(duì)C)和之前及其最近的且不帶else的if配對(duì)D)和之前的第一個(gè)if配對(duì)有以下程序(2006年4月)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);}程序輸出A)0,1,2,0B)0,0,0,3C)1,1,2,0D)編譯有錯(cuò)四,條件運(yùn)算符和表達(dá)式條件運(yùn)算符為“?:”,是C語言中唯一的三目運(yùn)算符,具有右結(jié)合性。條件表達(dá)式的一般格式為:表達(dá)式1?表達(dá)式2:表達(dá)式3表達(dá)式1,2,3可以是隨意合法的C語言表達(dá)式。執(zhí)行過程:先計(jì)算表達(dá)式1的值,假如值為非0,則計(jì)算表達(dá)式2的值,表達(dá)式2的值為整個(gè)條件表達(dá)式的值;假如表達(dá)式1的值為0,則計(jì)算表達(dá)式3的值,表達(dá)式3的值為整個(gè)條件表達(dá)式的值。其效果等價(jià)于雙分支結(jié)構(gòu)的if語句。及y=(x>01:x<0-1:0);的功能相同的if語句是(2000年4月二級(jí)C語言筆試21題)A)if(x>0)y=1;B)if(x)elseif(x<0)y=-1;if(x>0)y=1;elsey=0;elseif(x<0)y=-1;elsey=0;C)y=-1D)y=0;if(x)if(x>=0)if(x>0)y=1;if(x>0)y=1;elseif(x==0)y=0;elsey=-1;elsey=-1;若有表達(dá)式(w)(--x):(++y),則其中及w等價(jià)的表達(dá)式是()。(2008年9月)A)w==lB)w==0C)w!=lD)w!=0設(shè)有條件表達(dá)式:(EXP)i++;j--,則以下表達(dá)式中(EXP)完全等價(jià)的是(2007年9月)

A)(EXP==0)B)(EXP!=0)C)(EXP==1)D)(EXP!=1)以下程序的功能是:輸出a,b,c三個(gè)變量中的最小值.請(qǐng)?zhí)羁铡#?007年9月)

#include

main()

{inta,b,c,t1,t2;

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

t1=a<b[7];

t2=c<t1[8];

printf("%d\n",t2);

}答案:[7]a:b[8]c:t1若有定義intx,y;并已正確給變量賦值,則以下選項(xiàng)中及表達(dá)式(x-y)(x++):(y++)中的條件表達(dá)式(x-y)等價(jià)的是________。(2006年9月)A)(x-y>0)B)(x-y<0)C)(x-y<0║x-y>0)D)(x-y==0)以下程序運(yùn)行后的輸出結(jié)果是【8】。(2006年9月)main(){intx,a=1,b=2,c=3,d=4;x=(a<b)a:b;x=(x<c)x:c;x=(d>x)x:d;printf("%d\n",x);}答案:1五,switch語句一種多分支選擇語句。一般格式為:switch(表達(dá)式){case常量表達(dá)式1:語句1case常量表達(dá)式2:語句2…….case常量表達(dá)式n:語句ndefault:語句n+1}說明:switch后面的表達(dá)式必需用括號(hào)括起來,取值必需是整型或字符型,花括號(hào)括起來的部分稱為switch語句體。case后面必需是常量或常量表達(dá)式,且各case后的值應(yīng)當(dāng)互不相同,類型必需及switch后的表達(dá)式類型相同。default也起標(biāo)號(hào)的作用,代表全部case標(biāo)號(hào)之外的標(biāo)號(hào)。執(zhí)行過程:計(jì)算switch后表達(dá)式的值,然后用改值逐個(gè)去及case后的常量表達(dá)式值進(jìn)行比較,當(dāng)找到匹配的,就執(zhí)行case后面的語句。若全部case中的常量表達(dá)式的值都沒有于表達(dá)式的值匹配的,就執(zhí)行default后面的語句。執(zhí)行完一個(gè)case后面的語句后,程序就轉(zhuǎn)移到下一個(gè)case處接著執(zhí)行,并不再進(jìn)行推斷。但這并不是我們盼望的,因此通常在每一條語句后面加上一個(gè)break語句,以跳出switch結(jié)構(gòu)。若有定義:floatw;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論