二級C語言教材及二級C語言習(xí)題匯總及答案_第1頁
二級C語言教材及二級C語言習(xí)題匯總及答案_第2頁
二級C語言教材及二級C語言習(xí)題匯總及答案_第3頁
二級C語言教材及二級C語言習(xí)題匯總及答案_第4頁
二級C語言教材及二級C語言習(xí)題匯總及答案_第5頁
已閱讀5頁,還剩350頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言概述1.1進(jìn)制及其相互轉(zhuǎn)換1.2C語言環(huán)境介紹(簡介)1.3C語言語法簡介1.4C語言數(shù)據(jù)類型

1.1進(jìn)制及其相互轉(zhuǎn)換考點(diǎn):(1)進(jìn)制的構(gòu)成。(2)進(jìn)制間的相互轉(zhuǎn)換。1.1.1進(jìn)制種類及進(jìn)制構(gòu)成日常生活中,我們在進(jìn)行數(shù)值運(yùn)算時(shí),通常在進(jìn)行加法時(shí)是逢十進(jìn)一,在減法中借一頂十,而這種大家所熟識的數(shù)據(jù)運(yùn)算形式就是進(jìn)制中的十進(jìn)制。在C語言課程中,包含的進(jìn)制除十進(jìn)制外,還包括二進(jìn)制、八進(jìn)制和十六進(jìn)制。而對于計(jì)算機(jī)能夠存放的數(shù)據(jù)而言只有二進(jìn)制。各進(jìn)制的組成情況:十進(jìn)制:任何一個(gè)十進(jìn)制數(shù)據(jù)是由0—9中的數(shù)字組合構(gòu)成,逢10進(jìn)1。二進(jìn)制:任何一個(gè)二進(jìn)制數(shù)據(jù)是由0、1中的數(shù)字組合構(gòu)成,逢2進(jìn)1。八進(jìn)制:任何一個(gè)八進(jìn)制數(shù)據(jù)是由0—7中的數(shù)字組合構(gòu)成,逢8進(jìn)1。十六進(jìn)制:任何一個(gè)十六進(jìn)制數(shù)據(jù)是由0—9、A(a)—F(f)中的符號組合構(gòu)成,逢16進(jìn)1。其中A(a)代表10,B(b)代表11……。進(jìn)制內(nèi)的一些概念:例如:用位權(quán)的形式表示十進(jìn)制數(shù)416876的結(jié)果。(按權(quán)展開)416876=4*105+1*104+6*103+8*102+7*101+6*100位權(quán):各位上以某數(shù)為底的多少次冪的格式。例如,上述表達(dá)式內(nèi)105等都是位權(quán)?;好糠N進(jìn)制內(nèi)適逢某數(shù)就會向前進(jìn)一,此數(shù)為基。例如,十進(jìn)制逢10進(jìn)1,10為基。關(guān)于C語言中各進(jìn)制的基、位權(quán)等內(nèi)容如表1-1所示:表1-1進(jìn)制轉(zhuǎn)換進(jìn)位制二進(jìn)制八進(jìn)制十進(jìn)制十六進(jìn)制基數(shù)281016規(guī)則逢2進(jìn)1逢8進(jìn)1逢10進(jìn)1逢16進(jìn)1權(quán)2181101161表示符號BODH1.1.2進(jìn)制的轉(zhuǎn)換在C語言課程中,進(jìn)制之間的轉(zhuǎn)換是我們必須了解并掌握的內(nèi)容。1二進(jìn)制與十進(jìn)制之間的轉(zhuǎn)換二進(jìn)制轉(zhuǎn)換成十進(jìn)制規(guī)則:(按權(quán)展開)二進(jìn)制數(shù)各位上的數(shù)與其所在位的位權(quán)乘積之和。例如:(11011)2=(26)101*24+1*23+0*22+1*21+1*20=26十進(jìn)制轉(zhuǎn)換成二進(jìn)制規(guī)則:除2取余,余數(shù)倒寫連接在一起。(除2取余法)例如:(19)10=(10011)2注:例題轉(zhuǎn)換方法如圖1.1所示:0021949212222…..1…1…0…0…1圖1.1十進(jìn)制轉(zhuǎn)換成二進(jìn)制附:按權(quán)組合法:附例1:19=16+2+1=24+21+20=(10000)2+(10)2+(1)2=(10011)2附例2:78=64+8+4=26+23+22=(100000)2+(10000)2+(100)2=(110100)22二進(jìn)制與八進(jìn)制之間的轉(zhuǎn)換(3位分隔法)二進(jìn)制轉(zhuǎn)換成八進(jìn)制規(guī)則:將二進(jìn)制數(shù)小數(shù)點(diǎn)左側(cè)部分從右向左,每三位進(jìn)行分隔后將此三位二進(jìn)制數(shù)轉(zhuǎn)換成對應(yīng)的八進(jìn)制數(shù),將轉(zhuǎn)換得到的八進(jìn)制數(shù)從左向右依次連接在一起;小數(shù)點(diǎn)右側(cè)部分從左到右每三位進(jìn)行分隔后將此三位二進(jìn)制數(shù)轉(zhuǎn)換成對應(yīng)的八進(jìn)制數(shù),將轉(zhuǎn)換得到的八進(jìn)制數(shù)從左向右依次連接在一起。例如:(1100110)2=(146)8步驟:(1)1,100,110對應(yīng)1—1100—4110—6(2)146為對應(yīng)八進(jìn)制數(shù)八進(jìn)制轉(zhuǎn)換成二進(jìn)制規(guī)則:將一個(gè)八進(jìn)制數(shù),每位上的數(shù)轉(zhuǎn)換成對應(yīng)的三位二進(jìn)制數(shù)后,將轉(zhuǎn)換結(jié)果從左向右依次連接在一起。例如:(766)8=(111110110)2步驟:(1)7—111,6—110,6—110(2)111110110為對應(yīng)二進(jìn)制數(shù)注:八進(jìn)制數(shù)內(nèi)不會出現(xiàn)數(shù)字8和9,否則為不合法情況。二進(jìn)制與八進(jìn)制數(shù)的對應(yīng)關(guān)系如表1-2所示:表1-20~7二進(jìn)制與八進(jìn)制對比二進(jìn)制八進(jìn)制二進(jìn)制八進(jìn)制000000110102011310041015110611173二進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換(4位分隔法)二進(jìn)制轉(zhuǎn)換成十六進(jìn)制規(guī)則:將二進(jìn)制數(shù)小數(shù)點(diǎn)左側(cè)部分從右向左,每四位進(jìn)行分隔后將此四位二進(jìn)制數(shù)轉(zhuǎn)換成對應(yīng)的十六進(jìn)制數(shù),將轉(zhuǎn)換得到的十六進(jìn)制數(shù)從左向右依次連接在一起;小數(shù)點(diǎn)右側(cè)部分從左到右每四位進(jìn)行分隔后將此四位二進(jìn)制數(shù)轉(zhuǎn)換成對應(yīng)的十六進(jìn)制數(shù),將轉(zhuǎn)換得到的十六進(jìn)制數(shù)從左向右依次連接在一起。例如:(110001100)2=(18C)16步驟:(1)1,1000,1100對應(yīng)0001—1,1000—8,1100—12—C(2)18C為對應(yīng)十六進(jìn)制數(shù)十六進(jìn)制轉(zhuǎn)換成二進(jìn)制規(guī)則:將一個(gè)十六進(jìn)制數(shù)每位上的數(shù)轉(zhuǎn)換成對應(yīng)的二進(jìn)制數(shù)后,將轉(zhuǎn)換結(jié)果從左向右依次連接在一起。例如:(3A)16=(111010)2步驟:(1)3—0011,A—1010(2)00111010簡寫為111010為對應(yīng)的二進(jìn)制數(shù)注:十六進(jìn)制數(shù)10--15的表示方法使用的是字母a—f或A—F;在十六進(jìn)制數(shù)中不會出現(xiàn)10–15(含10和15)之間的數(shù)。二進(jìn)制與十六進(jìn)制數(shù)的對應(yīng)關(guān)系如表1-3所示:表1-30~15二進(jìn)制與十六進(jìn)制對比二進(jìn)制十六進(jìn)制二進(jìn)制十六進(jìn)制000000001100102001130100401015011060111710008100191010—(10)A1011—(11)B1100—(12)C1101—(13)D1110—(14)E1111—(15)F4八進(jìn)制與十進(jìn)制之間的轉(zhuǎn)換(自習(xí))八進(jìn)制轉(zhuǎn)換成十進(jìn)制的規(guī)則:八進(jìn)制數(shù)各位上的數(shù)與其所在位的位權(quán)乘積之和。例如:(71)8=(57)107*81+1*80=57十進(jìn)制轉(zhuǎn)換成八進(jìn)制的規(guī)則:除8取余,余數(shù)倒寫連接在一起。(余數(shù)最大值可以是7)例如:(4553)10=(10711)8注:例題轉(zhuǎn)換方法如圖1.2所示:5、十六進(jìn)制與十進(jìn)制之間的轉(zhuǎn)換(自習(xí))十六進(jìn)制轉(zhuǎn)換成十進(jìn)制的規(guī)則:十六進(jìn)制數(shù)各位上的數(shù)與其所在位的位權(quán)乘積之和。例如:(12A)16=(298)101*162+2*161+10*160=298十進(jìn)制轉(zhuǎn)換成十六進(jìn)制的規(guī)則:除16取余,余數(shù)倒寫連接在一起。(余數(shù)最大值可以是15)。例如:(465)10=(1D1)16注:余數(shù)內(nèi)超過10的部分在連接書寫時(shí)需要使用a—f或A—F表示,十六進(jìn)制數(shù)內(nèi)的英文字母在參加運(yùn)算時(shí)轉(zhuǎn)換成其對應(yīng)的數(shù)值,且例題轉(zhuǎn)換方法如圖1.3所示:圖1.2十進(jìn)制轉(zhuǎn)換成八進(jìn)制圖1.3十進(jìn)制轉(zhuǎn)換成十六進(jìn)制試題解析:十進(jìn)制數(shù)397的十六進(jìn)制值為【】A)18D B)18EC)277 D)361A解析:本題考點(diǎn)涉及的是進(jìn)制轉(zhuǎn)換。將十進(jìn)制轉(zhuǎn)換成十六進(jìn)制方法有兩種:第一種可以將十進(jìn)制轉(zhuǎn)換成二進(jìn)制,再通過二進(jìn)制轉(zhuǎn)換成十六進(jìn)制;另一種將十進(jìn)制直接轉(zhuǎn)換成十六進(jìn)制,通過除16取余的形式。397/16商24余數(shù)1324/16商1余數(shù)81/16商0余數(shù)1,余數(shù)反寫(13對應(yīng)D)結(jié)果為18D。附:按權(quán)組合:397=1*256+8*16+13=1*162+8*161+13*160=(18D)16附例:97=()2=()16

1.2C語言環(huán)境介紹(簡介)1.2.1C語言程序的開發(fā)步驟1.編輯在C環(huán)境窗口內(nèi)創(chuàng)建C語言源程序,并以文件的形式進(jìn)行存儲,C語言源程序文件都是以.c為后綴存儲的。2.編譯通過C環(huán)境界面內(nèi)的編譯按鈕,經(jīng)過編譯后將源程序文件轉(zhuǎn)換成目標(biāo)程序文件,目標(biāo)程序文件都是以.obj為后綴存儲的。3.連接通過C環(huán)境界面內(nèi)的連接按鈕,將目標(biāo)程序文件連接成執(zhí)行程序文件,可執(zhí)行文件都是以.exe為后綴存儲的。4.執(zhí)行通過C環(huán)境界面內(nèi)的執(zhí)行按鈕完成。在C語言程序的開發(fā)過程中,將出現(xiàn)3個(gè)文件:.c,.obj,.exe,這3種文件內(nèi)可執(zhí)行的只有.exe文件,.obj和.exe都是二進(jìn)制文件而.c文件是文本文件。1.2.2C語言程序環(huán)境的使用1.打開C環(huán)境,建立C語言源程序文件。(1)選擇VisualC++程序打開:可以找到桌面的快捷方式雙擊,或在開始菜單→程序下VisualC++6.0單擊。(2)進(jìn)入VC++環(huán)境如圖1.4,單擊”結(jié)束”。圖1.4進(jìn)入VC環(huán)境(3)新建VC++源程序文件如圖1.5所示,新建窗口內(nèi)選擇”文件”下的”C++SourceFile”,在右側(cè)的文件框內(nèi)輸入文件名,文件名后加.c后綴如圖1.6所示:圖1.5C語言文件菜單圖1.6VC++新建文件窗口(4)進(jìn)入源程序窗口,書寫程序如圖1.7所示:圖1.7VC++程序編輯界面(5)編譯生成目標(biāo)文件,選擇工具欄內(nèi)的按鈕單擊,在以后出現(xiàn)的對話框內(nèi)單擊“是”,編譯無誤才可以進(jìn)行連接,查看編譯無誤的位置在程序窗口下方如圖1.8所示:圖1.8VC++6.0輸出窗口(6)連接生成.exe文件,選擇工具欄內(nèi)的按鈕單擊,連接后,選擇工具欄內(nèi)的執(zhí)行程序驗(yàn)證程序的正確性。1.3C語言語法簡介考點(diǎn):(1)預(yù)處理命令include、define(不帶參數(shù)宏定義)(2)C語言程序語句的特點(diǎn)(3)C語言主函數(shù)特點(diǎn)、程序與函數(shù)的關(guān)系(4)注釋語句注意事項(xiàng)請大家閱讀以下程序,通過下述程序?yàn)榇蠹医榻BC語言程序的簡單組成,以及各部分的特點(diǎn)和書寫程序時(shí)的習(xí)慣。/*此程序完成輸出變量a,c1的值,回車換行輸出字符串Iloveworld后回車換行*/#include“stdio.h”main(){inta;charc1;a=12;c1=‘a(chǎn)’;printf(“%d,%c\n”,a,c1);printf(“Iloveworld!\n”);}上述程序是一個(gè)完整的C語言程序,經(jīng)過第三節(jié)我們所說的開發(fā)步驟后,執(zhí)行結(jié)果如圖1.9所示:圖1.9VC++顯示程序運(yùn)行結(jié)果窗口以上述程序?yàn)槔?,我們通過此程序?qū)語言編寫過程中的一些內(nèi)容加以說明。首先:#include“stdio.h”/*為編譯預(yù)處理語句*/所謂預(yù)處理是指在進(jìn)行編譯的第一遍掃描(詞法掃描和語法分析)之前所做的工作。預(yù)處理是C語言的一個(gè)重要功能,它由預(yù)處理程序負(fù)責(zé)完成。當(dāng)對一個(gè)源文件進(jìn)行編譯時(shí),系統(tǒng)將自動引用預(yù)處理程序?qū)υ闯绦蛑械念A(yù)處理部分作處理,處理完畢自動進(jìn)入對源程序的編譯。C語言提供了多種預(yù)處理功能,如宏定義、文件包含、條件編譯等。以”#”號開頭的命令語句是預(yù)處理命令語句,本節(jié)中主要講的是#include(文件包含)和#define命令(宏定義)。一、文件包含文件包含:是指將一個(gè)文件的全部內(nèi)容,通過命令包含到另一個(gè)文件。功能:把指定的文件插入該命令行位置取代該命令行,從而把指定的文件和當(dāng)前的源程序文件連成一個(gè)源文件。文件包含命令行的一般形式為:#include”文件名”或#include<文件名>以后編寫C語言程序時(shí)比較常用到的頭文件:“stdio.h”、“math.h”、”string.h”文件包含命令的注意事項(xiàng)有以下幾點(diǎn):1.文件包含的兩種形式是有區(qū)別的:使用尖括號表示在系統(tǒng)指定的標(biāo)準(zhǔn)方式的相關(guān)文件目錄中去查找(標(biāo)準(zhǔn)方式的相關(guān)目錄是由用戶在設(shè)置環(huán)境時(shí)設(shè)置的),而不在源程序所在文件目錄去查找。使用雙引號則表示首先在當(dāng)前的源程序文件所在目錄中查找,若未找到按系統(tǒng)指定的標(biāo)準(zhǔn)方式到相關(guān)目錄中去查找。用戶編程時(shí)可根據(jù)自己文件所在的目錄來選擇某一種命令形式。2.一個(gè)include命令只能指定一個(gè)被包含文件,若有多個(gè)文件要包含,則需用多個(gè)include命令。3.文件包含允許嵌套,即在一個(gè)被包含的文件中又可以包含另一個(gè)文件。二、宏定義在C語言源程序中允許用一個(gè)符號(標(biāo)識符)來表示一個(gè)字符串,稱為”宏”。被定義”宏”的標(biāo)識符稱為”宏名”。在編譯預(yù)處理時(shí),對程序中所有出現(xiàn)的”宏名”,都用宏定義中的字符串去替換,稱為”宏展開”(”宏替換”)。宏定義命令在C語言中分為兩類:一是符號常量定義,二是帶參數(shù)的宏定義。本節(jié)主要介紹符號常量定義。符號常量定義命令行的一般形式為:#define符號常量名字符串功能:使用符號常量名在程序內(nèi)代替字符串書寫,程序編譯過程中將程序內(nèi)所有符號常量名的位置替換字符串進(jìn)行運(yùn)行。如:#defineE10例如:#include“stdio.h”#defineMAXnum100main(){inti,sum=0;for(i=0;i<MAXnum;i++){sum=sum+i;}printf(“MAXnum=%d,%d\n”,MAXnum,sum);}此程序編譯后,程序中的MAXnum會被替換為100進(jìn)行運(yùn)算(除printf函數(shù)內(nèi)雙引號內(nèi)的MAXnum外)。附例:#include“stdio.h”#definePI3.14main(){floatr,s,c;scanf(“%f”,&r);s=PI*r*r;c=2*PI*r;printf(“r=%f,s=%f,c=%f\n”,r,s,c);}符號常量定義命令的注意事項(xiàng)有以下幾點(diǎn):(1)符號常量的處理在程序編譯階段只是進(jìn)行簡單的替換工作,不作語法檢查;同一個(gè)符號常量不能重復(fù)定義,除非兩個(gè)命令行完全相同。(2)符號常量的結(jié)尾不應(yīng)有分號,如果加分號會連同分號一起替換。如:#defineE100;……Max=E*E;—替換結(jié)果為Max=100;*100;;……以上結(jié)果是語法錯(cuò)誤。(3)宏名在源程序中若用引號括起來,則預(yù)處理程序不對其作宏替換。其次:如程序中的”/*此程序完成輸出變量a,c1的值,回車換行輸出字符串Iloveworld后回車換行*/”為注釋語句。在C語言程序中,注釋語句的注意事項(xiàng)有如下幾點(diǎn):(1)注釋語句,注釋符必須成對出現(xiàn),是一對/**/,注釋語句后不需要加分號。(2)注釋語句在編譯過程中,不進(jìn)行編譯,也不被執(zhí)行。(3)注釋符不能嵌套,如:/*example/*thisisfirstcprogramm*/*/是非法的。第三:下面的是主函數(shù),其中{}內(nèi)的如:inta;等都屬于語句。main(){inta; charc1; a=12; c1=‘a(chǎn)’; printf(“%d,%c\n”,a,c1); printf(“Iloveworld!\n”);}一個(gè)C語言程序是由一個(gè)或若干個(gè)函數(shù)組成的,函數(shù)的基本組成單位是語句,在C程序的函數(shù)內(nèi)語句分為兩類:聲明語句和執(zhí)行語句,其中需要注意的是在一個(gè)函數(shù)內(nèi)聲明語句必須在執(zhí)行語句的前面,如:inta;charc1;都是聲明語句,而a=12等是執(zhí)行語句;一條語句在程序內(nèi)可以分多行書寫,同時(shí)一行內(nèi)也可以寫多條語句,因此語句的后面必須以一個(gè)分號作為結(jié)束標(biāo)志。C語言函數(shù)的特點(diǎn):(1)函數(shù)是由函數(shù)頭和函數(shù)體組成的,例如main()就是函數(shù)頭,main是函數(shù)名,函數(shù)名后括號必須寫,函數(shù)頭后不需要加分號;而{}內(nèi)的部分就是函數(shù)體,其必須寫在{}內(nèi)。(2)一個(gè)C語言程序可以由多個(gè)函數(shù)組成,C語言程序文件內(nèi)可以不包含主函數(shù)main;但是如果是一個(gè)可執(zhí)行的C語言程序文件內(nèi)必須有且只有一個(gè)主函數(shù),其函數(shù)名為main;C語言程序在運(yùn)行時(shí),總是從主函數(shù)開始,在主函數(shù)中結(jié)束。(3)由多個(gè)函數(shù)組成的C語言程序,其功能是由函數(shù)之間互相調(diào)用完成的,但是主函數(shù)只能調(diào)用其他函數(shù)而不能被其他函數(shù)所調(diào)用,其他函數(shù)之間也可以相互調(diào)用。(4)在一個(gè)C語言源程序文件內(nèi)函數(shù)的位置是任意的,任意一個(gè)函數(shù)都可以被獨(dú)立編譯。最后,程序書寫時(shí)的幾個(gè)習(xí)慣寫法:(1)一個(gè)說明或一條語句占一行。(2)用{}括起來的部分,通常表示了程序的某一層次結(jié)構(gòu)。{}一般與該結(jié)構(gòu)語句的第一個(gè)字母對齊,并單獨(dú)占一行。(3)低一層次的語句或說明可比高一層次的語句或說明縮進(jìn)若干格后書寫。以便看起來更加清晰,增加程序的可讀性。在編程時(shí)應(yīng)力求程序清晰,因此養(yǎng)成良好的編程風(fēng)格可以增強(qiáng)其易讀性。試題解析:(1)程序中頭文件typel.h的內(nèi)容如下,程序編譯后運(yùn)行的輸出結(jié)果是【】#defineN5#defineM1N*3程序type2.c如下:#include“type1.h”#defineM2N*2main(){inti;i=M1+M2;printf(“%d\n”,i);}A)10 B)20C)25 D)30(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)下面四個(gè)程序中,完全正確的是【】AA)#include“stdio.h” B)#include“stdio.h”main();main(){/*programming*/{/*/programming/*/printf(“programming!\n”);}printf(“programming!\n”);}C)#include“stdio.h”D)include“stdio.h”main()main(){/*/*programming*/*/{/*programming*/printf(“programming!\n”);}printf(“programming!\n”);}(1)C解析:本題所涉及的考點(diǎn)是編譯預(yù)處理語句,編譯預(yù)處理語句以#開頭,其中包含:文件包含、宏定義等。本題首先建立了一個(gè)頭文件type1.h,在type2.c的開頭使用文件包含命令include將type1.h的內(nèi)容包含在type2.c內(nèi),使得type2.c編譯后其形式表示為:#defineN5#defineM1N*3#defineM2N*2程序編譯時(shí),程序內(nèi)的宏名被替換為表達(dá)式后參加運(yùn)算:i=M1+M2替換的結(jié)果為i=N*3+N*2=5*3+5*2=25,選項(xiàng)C是正確的。(2)C解析:本題所涉及的考點(diǎn)是函數(shù)的特點(diǎn)。(應(yīng)為B)(3)B解析:本題所涉及的考點(diǎn)是C語言程序的書寫特點(diǎn)。編譯預(yù)處理語句后沒有分號、函數(shù)名后沒有分號、注釋語句后沒有分號;注釋語句不可以嵌套;編譯預(yù)處理語句必須以#開頭,因此選項(xiàng)B是正確的。附例:1.一個(gè)C程序的執(zhí)行是從()。A)本程序的main函數(shù)開始,到main函數(shù)結(jié)束B)本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C)本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D)本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束2.以下敘述正確的是()。A)在C程序中,main函數(shù)必須位于程序的最前面B)C程序的每行中只能寫一條語句C)C語言本身沒有輸入、輸出語句在對一個(gè)C程序進(jìn)行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤3.以下敘述不正確的是()。A)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B)一個(gè)C源程序必須包含一個(gè)main函數(shù)C)C程序的基本組成單位是函數(shù)D)在C程序中,注釋說明只能位于一條語句的后面4.C源程序的基本單位是(),一個(gè)C源程序中至少應(yīng)包括一個(gè)()。5.C語言的編譯系統(tǒng)對宏命令的處理是()。A)在程序運(yùn)行時(shí)進(jìn)行的B)在程序連接時(shí)進(jìn)行的C)和C程序的其它語句同時(shí)進(jìn)行編譯的D)在對源程序中其它成份正式編譯之前進(jìn)行的

1.4C語言數(shù)據(jù)類型考點(diǎn):(1)標(biāo)識符組成及命名規(guī)則。(2)常量類型及常量表示方法。1.4.1C語言字符集字符是組成C語言的最基本的元素。C語言字符集由字母、數(shù)字、空格、標(biāo)點(diǎn)和特殊字符組成。在注釋中還可以使用漢字或其他可表示的圖形符號。1.字母:小寫字母(26個(gè))a—z;大寫字母(26個(gè))A—Z2.數(shù)字:0—9共10個(gè)3.空白符:空格符、制表符和換行符等統(tǒng)稱空白符??瞻追辉谧址A亢妥址A恐衅鹱饔谩3酥膺m時(shí)使用主要起到分隔的作用,可以增加程序清晰性和可讀性。1.4.2C語言的數(shù)據(jù)類型及數(shù)據(jù)類型內(nèi)的基本概念在C語言中,數(shù)據(jù)是指常量、變量及函數(shù)等作為程序的基本操作對象;在C語言中的數(shù)據(jù)按照其性質(zhì)、表示形式、存儲空間的多少和構(gòu)造的特點(diǎn)來劃分,就是所謂的數(shù)據(jù)類型。C語言中的數(shù)據(jù)類型非常豐富,可分為:基本數(shù)據(jù)類型(整型、實(shí)型、字符型),構(gòu)造數(shù)據(jù)類型(數(shù)組、結(jié)構(gòu)、共用體),指針類型和空類型四大類。在未來學(xué)習(xí)C語言的語法和語句書寫形式后,C語言的程序編寫過程中會涉及一些基本概念。1.標(biāo)識符所謂標(biāo)識符,指程序中所使用的變量名、函數(shù)名、類型名、數(shù)組名等有效字符。在C語言中,標(biāo)識符的命名必須遵循以下規(guī)則:(1)必須由字母(a—z,A—Z)、數(shù)字(0—9)及下劃線組成。(2)第一個(gè)字符不允許是數(shù)字。(3)標(biāo)識符內(nèi)的字母,大小寫相互區(qū)別,即大小寫字母代表不同字符。(4)不允許使用關(guān)鍵字作為用戶自定義標(biāo)識符。通過上述標(biāo)識符的命名規(guī)則,以下標(biāo)識符是合法的:x3,point_line,vok_1,Atok,ATOK,a注:其中注意Atok與ATOK是不同的標(biāo)識符。以下標(biāo)識符是非法的:$a1_k,5d,a.1注:在C語言中,標(biāo)識符的長度是受各種版本的C語言編譯系統(tǒng)和具體機(jī)器的限制(本書以標(biāo)識符前八位有效為準(zhǔn));用戶標(biāo)識符可以由程序員隨意定義,但為了以后維護(hù)的方便,盡量做到”顧名思義”。2.分隔符在C語言中采用的分隔符有兩種,即逗號和空格。逗號主要用于類型說明和函數(shù)參數(shù)表中,分隔各個(gè)變量;空格主要用于間隔符,在某些情況下間隔符必須存在,否則會出現(xiàn)語法錯(cuò)誤。3.關(guān)鍵字在C語言中有一類符號,它們本身具有特定的含義,這就是關(guān)鍵字又稱為系統(tǒng)保留字。在C語言中有32個(gè)關(guān)鍵字。C語言中的關(guān)鍵字按其功能不同可以分為以下幾類:(1)類型說明符用于定義、說明變量、函數(shù)或其他數(shù)據(jù)結(jié)構(gòu)類型。如:基本數(shù)據(jù)類型內(nèi)的整型,如果定義整型變量時(shí)需要用到int(為類型說明符)。(2)存儲類型符如:auto、static等。(3)語句控制符書寫語句時(shí)所需要用到的語句命令詞,例如表示如果的語句命令詞if等。注:C語言中的關(guān)鍵字都是小寫的,且不可以再用作其他功能。例如:int與INT是不同字符;int不可以作為變量名等。附:INT、include是合法的標(biāo)識符;Int、if是非法的標(biāo)識符。4.常量、變量常量:在C語言程序運(yùn)行過程中,其值及表現(xiàn)形式不發(fā)生變化。例如:數(shù)值1,無論1+1還是1/1,其本身不會自動變化,這就是常量。變量:與常量相反,在C語言程序運(yùn)行過程中,其值及表現(xiàn)形式可以發(fā)生變化。1.4.3常量在C語言中,常量分為:整型常量、實(shí)型常量、字符型常量及字符串、符號常量等1.整型常量在C語言中,整型常量指的是整數(shù)(不帶小數(shù)點(diǎn)的數(shù)),整型常量可以用三種進(jìn)制形式表示:八進(jìn)制、十六進(jìn)制和十進(jìn)制。其中各進(jìn)制整數(shù)的表示形式我們在第一節(jié)里已經(jīng)討論過了;但是需要大家注意的是,在C語言中,使用八進(jìn)制和十六進(jìn)制表示整型數(shù)據(jù)時(shí),八進(jìn)制整型常量前加前導(dǎo)0,十六進(jìn)制整型常量前加前導(dǎo)0x、0X,例如:077是八進(jìn)制整型常量,77是十進(jìn)制整型常量,0x77是十六進(jìn)制整型常量,其中整型常量包括有基本整型常量、長整型、短整型和無符號整型常量,其中長整型常量在書寫表示時(shí)在數(shù)據(jù)后使用l(L)作后綴,無符號整型常量在書寫表示時(shí)通常在數(shù)據(jù)后使用u(U),如:12L表示長整型常量,26u表示無符號整型常量。附例:inta,b;a=020;b=a+10;2.實(shí)型常量在C語言中,實(shí)型常量指的是實(shí)數(shù)(帶小數(shù)點(diǎn)的數(shù)),實(shí)型常量有兩種表示形式:(1)小數(shù)形式:數(shù)據(jù)是由數(shù)字和小數(shù)點(diǎn)組成(實(shí)型常量內(nèi)必須具備小數(shù)點(diǎn)),如:3.14,-8.7,10.2,0.,.32等都是合法的實(shí)型常量。(2)指數(shù)形式:數(shù)據(jù)使用科學(xué)記數(shù)法的形式表示的,如:2.1*105表示成指數(shù)形式為2.1E5,使用E來代表底數(shù)10(也可以使用e),用指數(shù)形式表示實(shí)型常量需要注意以下幾項(xiàng):a)E(e)的前后必須有數(shù)字。b)E(e)后面的數(shù)字必須是整數(shù),正整數(shù)或負(fù)整數(shù)都可以。c)E(e)與數(shù)字之間不允許有空格。如:1.2e5、-1e5、1.5e-3都是合法的;e、e5、1.2e、5.0e6.1、3.5□e□2都是非法的。3.字符型常量及字符串在C語言中,字符常量用于存放單個(gè)字符,它的書寫形式是由一對單引號引起來單個(gè)字符表示的。如:’a’、’5’、’‘都是合法的;其中字符常量需要注意的是字符常量所使用的單引號不可以連寫如’’(兩個(gè)單引號連寫)是非法的,其次,單引號內(nèi)只能有一個(gè)字符,如’ab’是非法的,字符常量在內(nèi)存中存儲時(shí)存放的是其對應(yīng)的ASCII碼值。那么,二級考試過程中比較常見并需要同學(xué)記憶的有以下幾個(gè)常見的ASCII碼值,如:’A’—65,’a’—97,’0’—48,’\0’—0,字符常量可以與整型數(shù)據(jù)進(jìn)行運(yùn)算,在C語言中,對應(yīng)的大寫字母與小寫字母之間ASCII碼值相差32。附:C語言中字符常量可以當(dāng)整數(shù)參與運(yùn)算。附例:#include“stdio.h”main(){charc1,c2;c1=’A’;c2=c1+32;printf(“c1=%d,%c\n”,c1,c1);printf(“c2=%d,%c\n”,c2,c2);}在C語言中,字符常量除上述普通字符常量外,還包括轉(zhuǎn)義字符常量。所謂轉(zhuǎn)義字符,是一種特殊的字符形式,它將計(jì)算機(jī)中一些不可以形象表示出來的內(nèi)容使用符號表示。轉(zhuǎn)義字符通常都是以反斜線字符’\’開頭的字符序列,每個(gè)轉(zhuǎn)義字符只代表一個(gè)字符。其中常見轉(zhuǎn)義字符常量表示方法及功能見表1-4所示:表1-4C語言中常用轉(zhuǎn)義字符轉(zhuǎn)義字符意義ASCII代碼‘\0’空值、字符串結(jié)束標(biāo)志0‘\n’回車換行10‘\t’橫向跳到下一制表位置9‘\r’回車13‘\b’退格8‘\ddd’1—3位八進(jìn)制數(shù)所代表的字符‘\xhh’1—2位十六進(jìn)制數(shù)所代表的字符(x不可以省略)‘\”‘雙引號符34‘\’’單引號符39‘\\’反斜線符92附:轉(zhuǎn)義字符表中應(yīng)是斜杠加小寫字母。在C語言中,除了字符常量外,還有字符串常量。所謂字符串常量,是由一對雙引號引起來的一串有效字符序列,如:”ring”、”a”、”123”等。在C語言中,字符串常量在進(jìn)行存儲時(shí),除將串內(nèi)字符存入外,系統(tǒng)會自動在字符串末尾加’\0’,作為結(jié)束標(biāo)志,而’\0’在未來的字符串學(xué)習(xí)過程中會起到很大的作用。字符常量與字符串常量的區(qū)別:(1)字符常量由單引號括起來,字符串常量由雙引號括起來。(2)字符常量只能是單個(gè)字符組成,字符串常量可以由一個(gè)或多個(gè)字符組成。(3)字符常量可以被賦值給一個(gè)字符變量,字符串常量不可以賦值給一個(gè)字符變量。(4)一個(gè)字符常量在內(nèi)存中存儲時(shí)的所占空間大小為1個(gè)字節(jié);而一個(gè)字符串常量的實(shí)際長度為雙引號內(nèi)字符序列中字符的個(gè)數(shù),在內(nèi)存中所占的存儲空間大小是字符串內(nèi)字符個(gè)數(shù)+1個(gè)字節(jié)(多出的1個(gè)字節(jié)是’\0’)。試題解析:(1)下列關(guān)于C語言用戶標(biāo)識符的敘述中正確的是【】A)用戶標(biāo)識符中可以出現(xiàn)下劃線和中劃線(減號)B)用戶標(biāo)識符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線C)用戶標(biāo)識符中可以出現(xiàn)下劃線,但不可以放在用戶標(biāo)識符的開頭D)用戶標(biāo)識符中可以出現(xiàn)在下劃線和數(shù)字,它們都可以放在用戶標(biāo)識符的開頭(2)以下選項(xiàng)中不合法的標(biāo)識符是【】A)print B)FORC)&a D)_00(3)以下選項(xiàng)中可作為C語言合法整數(shù)的是【】A)10110 B)0386C)0Xffa D)x2a2(4)以下所列的C語言常量中,錯(cuò)誤的是【】A)0xFF B)1.2e0.5C)2L D)‘\72’(1)B解析:本題所涉及的考點(diǎn)是自定義標(biāo)識符的命名規(guī)則,標(biāo)識符內(nèi)包含的符號有下劃線、字母和數(shù)字,其余為非法符號;其開頭字符為非數(shù)字符號,因此選項(xiàng)B是正確的。(2)C解析:本題考點(diǎn)涉及的是標(biāo)識符的命名規(guī)則,自定義標(biāo)識符除組成符號必須是字母、數(shù)字和下劃線外,不得使用關(guān)鍵字,并且大小寫字母相互區(qū)別,選項(xiàng)C是正確的。(3)C解析:本題所涉考點(diǎn)是C語言中整型常量的表示方法及各常量的構(gòu)成。C語言中整型常量表示方法有三種:十進(jìn)制、八進(jìn)制和十六進(jìn)制,而二進(jìn)制不是整型常量的表示方法,選項(xiàng)A錯(cuò)誤;八進(jìn)制數(shù)以前導(dǎo)0開始,數(shù)字包括0-7,不存在8,選項(xiàng)B錯(cuò)誤;十六進(jìn)制數(shù)以前導(dǎo)0x(0X)開始包括0-9和A-F(a-f),選項(xiàng)C正確;選項(xiàng)D的書寫方式有錯(cuò)誤。(4)B解析:本題涉及各類常量的組成、特點(diǎn)及注意事項(xiàng)。整型常量的表示方法中十六進(jìn)制數(shù)以前導(dǎo)0x(0X)開始包括0-9和A-F(a-f),選項(xiàng)A正確;實(shí)型常量表示方法兩種小數(shù)和指數(shù),指數(shù)形式要求e的兩端都有數(shù)字,且后面的數(shù)字是整數(shù),選項(xiàng)B錯(cuò)誤;長整型在其數(shù)字后使用L(l)表示其類型,選項(xiàng)C正確;字符型常量中轉(zhuǎn)義字符”\”后可以使用兩個(gè)八進(jìn)制數(shù)代表一個(gè)字符八進(jìn)制數(shù)包括0-7,8個(gè)數(shù)字,選項(xiàng)D正確。計(jì)算機(jī)二級C語言習(xí)題集匯總及答案目錄第一章C語言基礎(chǔ)知識 第二章C語言程序設(shè)計(jì)的初步知識 第三章順序結(jié)構(gòu)程序設(shè)計(jì) 第四章選擇結(jié)構(gòu)程序設(shè)計(jì) 第五章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 第六章數(shù)組 第七章函數(shù) 第八章指針 第九章結(jié)構(gòu)體與共用體 第十章文件 附錄1預(yù)處理命令 附錄2位運(yùn)算 模擬試題一 模擬試題二 模擬試題三 模擬試題四 模擬試題五 第一章答案 第二章答案 第三章答案 第四章答案 第五章答案 第六章答案 第七章答案 第八章答案 第九章答案 第十章答案 附錄1答案 附錄2答案 模擬試題一答案 模擬試題二答案 模擬試題三答案 模擬試題四答案 模擬試題五答案 第一章C語言基礎(chǔ)知識一、選擇題1.C語言規(guī)定,必須用C作為主函數(shù)名。(0級) A)FunctionB)include C)main D)stdio2.一個(gè)C程序可以包含任意多個(gè)不同名的函數(shù),但有且僅有一個(gè),一個(gè)C程序總是從B開始執(zhí)行。(0級) A)過程 B)主函數(shù) C)函數(shù)D)include3.A是C程序的基本構(gòu)成單位。(0級) A)函數(shù) B)函數(shù)和過程 C)超文本過程 D)子程序4.下列說法正確的是C。(0級)A) 一個(gè)函數(shù)的函數(shù)體必須要有變量定義和執(zhí)行部分,二者缺一不可B) 一個(gè)函數(shù)的函數(shù)體必須要有執(zhí)行部分,可以沒有變量定義C) 一個(gè)函數(shù)的函數(shù)體可以沒有變量定義和執(zhí)行部分,函數(shù)可以是空函數(shù)D) 以上都不對5.下列說法正確的是D。(0級)A) main函數(shù)必須放在C程序的開頭B) main函數(shù)必須放在C程序的最后C) main函數(shù)可以放在C程序的中間部分,但在執(zhí)行C程序時(shí)是從程序開頭執(zhí)行的D) main函數(shù)可以放在C程序的中間部分,但在執(zhí)行C程序時(shí)是從main函數(shù)開始的6.下列說法正確的是C。(0級)A) 在執(zhí)行C程序時(shí)不是從mian函數(shù)開始的B) C程序書寫格式嚴(yán)格限制,一行內(nèi)必須寫一個(gè)語句C) C程序書寫格式自由,一個(gè)語句可以分寫在多行上D) C程序書寫格式嚴(yán)格限制,一行內(nèi)必須寫一個(gè)語句,并要有行號7.在C語言中,每個(gè)語句和數(shù)據(jù)定義是用C結(jié)束。(0級) A)句號 B)逗號 C)分號 D)括號8.下列字符串是標(biāo)識符的是A。(0級) A)_HJ B)9_student C)long D)LINE19.以下說法正確的是C。(0級)A) C語言程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行B) 在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義C) C語言程序總是從main()函數(shù)開始執(zhí)行D) C語言程序中的main()函數(shù)必須放在程序的開始部分10.B不是C語言提供的合法關(guān)鍵字。(0級) A)switch B)print C)case D)default11.C語言提供的合法關(guān)鍵字是A。(0級) A)breack B)print C)funiton D)end12.C語言提供的合法關(guān)鍵字是A。 (0級) A)continue B)procedure C)begin D)append13.C語言規(guī)定:在一個(gè)源程序中,main函數(shù)的位置C。(02~03第一學(xué)期試題)A)必須在最開始B)必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C)可以在任意位置D)必須在源文件的最后14.一個(gè)C語言程序是由B。(02~03第一學(xué)期試題)A) 一個(gè)主程序和若干個(gè)子程序組成;B) 函數(shù)組成,并且每一個(gè)C程序必須且只能由一個(gè)主函數(shù);C) 若干過程組成;D) 若干子程序組成.二、填空題1.一個(gè)C程序至少包含一個(gè),即。(0級)2.一個(gè)函數(shù)由兩部分組成,它們是函數(shù)的說明部分和函數(shù)體。(0級)3.函數(shù)體的范圍是。(0級)4.函數(shù)體一般包括和。(0級)5.C語言是通過來進(jìn)行輸入輸出的。(0級)6.在C語言中,凡在一個(gè)標(biāo)識符后面緊跟著一對圓括弧,就表明它是一個(gè)。(0級)7.主函數(shù)名后面的一對圓括號中間可以為空,但一對圓括號不能。(0級)第二章C語言程序設(shè)計(jì)的初步知識一、選擇題1.在C語言中,下列類型屬于構(gòu)造類型的是D。(0級) A)整型 B)字符型 C)實(shí)型 D)數(shù)組類型2.在C語言中,下列類型屬于構(gòu)造類型的是D。(0級) A)空類型 B)字符型 C)實(shí)型 D)共用體類型3.在C語言中,下列類型屬于構(gòu)造類型的是D。(0級) A)整型 B)指針類型 C)實(shí)型 D)結(jié)構(gòu)體類型4.在C語言中,下列類型屬于基本類型的是A。(0級) A)整型、實(shí)型、字符型 B)空類型、枚舉型 C)結(jié)構(gòu)體類型、實(shí)型 D)數(shù)組類型、實(shí)型5.下列類型屬于基本類型的是C。(0級)A)結(jié)構(gòu)體類型和整型 B)結(jié)構(gòu)體類型、數(shù)組、指針、空類型C)實(shí)型 D)空類型和枚舉類型6.下列字符串屬于標(biāo)識符的是A。(0級) A)INT B)5_student C)2ong D)!DF7.下列字符串屬于標(biāo)識符的是A。(0級) A)_WL B)3_3333 C)int D)LINE38.下列字符串不屬于標(biāo)識符的是C。(0級) A)sum B)average C).day_night D)M.D.JOHN9.下列字符串不屬于標(biāo)識符的是D。(0級)A)total B)lutos_1_2_3 C)_night D)$12310.下列字符串不屬于標(biāo)識符的是D。(0級) A)_above B)all C)_end D)#dfg11.C語言中不能用來表示整常數(shù)的進(jìn)制是D。(0級) A)十進(jìn)制 B)十六進(jìn)制 C)八進(jìn)制 D)二進(jìn)制12.C語言中能用來表示整常數(shù)的進(jìn)制是A。(0級) A)十進(jìn)制、八進(jìn)制、十六進(jìn)制 B)十二進(jìn)制、十進(jìn)制 C)六進(jìn)制、八進(jìn)制 D)二進(jìn)制、十進(jìn)制13.在C語言中,回車換行符是A。(0級) A)\n B)\t C)\v D)\b14.在C語言中,退格符是B。(0級) A)\n B)\t C)\v D)\b15.在C語言中,反斜杠符是D。(0級) A)\n B)\t C)\v D)\\16.在ASCII碼表中可以看到每個(gè)小寫字母的ASCII碼比它相應(yīng)的大寫字母的ASCII碼A。(0級) A)大32 B)大64 C)小32 D)小6417.設(shè)d為字符變量,下列表達(dá)式不正確的是C。(0級) A)d=97 B)d=’a’ C)d=”a” D)d=’g’18.設(shè)d為字符變量,下列表達(dá)式正確的是B。(0級) A)d=678 B)d=’a’ C)d=”d” D)d=’gjkl’19.10+’a’+1.5-567.345/’b’的結(jié)果是B型數(shù)據(jù)。(0級) A)long B)double C)int D)unsignedfloat20.語句inti=3;k=(i++)+(i++)+(i++);執(zhí)行過后k的值為A,i的值為。(0級) A)9,6 B)12,5 C)18,6 D)15,521.如果i=3,則k=(i++)+(++i)+(i++)執(zhí)行過后k的值為A,i的值為。(1級) A)12,6 B)12,5 C)18,6 D)15,522.如果i=3,則k=(++i)+(++i)+(i++)執(zhí)行過后k的值為A,i的值為。(1級) A)15,6 B)12,5 C)18,6 D)15,523.如果i=3,則k=(++i)+(++i)+(++i)執(zhí)行過后k的值為C,i的值為。(1級) A)9,6 B)12,5 C)18,6 D)15,524.如果inti=3,則printf(“%d”,-i++)的結(jié)果為A,i的值為。(1級) A)-3,4 B)-4,4 C)-4,3 D)-3,325.如果inti=3,intj=4,則k=i+++j執(zhí)行之后k,i和j的值分別為C。(1級)A)7,3,4 B)8,3,5 C)7,4,4 D)8,4,526.已知在ASCII字符集中,數(shù)字0的序號為48,下面程序的輸出結(jié)果為B。(1級)main(){charx,y;x=’0’;y=’9’;printf(“%d,%d\n”,x,y);}A)因輸出格式不合法,輸出錯(cuò)誤信息 B)48,57 C)0,9 D)48,5827.已知在ASCII字符集中,字母A的序號為65,下面程序的輸出結(jié)果為C。(1級)main(){charc=’A’;inti=10;c=c+10;i=c%i;printf(“%c,%d\n”,c,i);}A)75,7B)75,5 C)K,5 D)因存在非圖形字符,無法直接顯示出來28.已知在ASCII集中,字母A的序號為65,下面程序的輸出結(jié)果為B。(1級)main(){charc1=’B’,c2=’Y’;printf(“%d,%d\n”,++c1,--c2);}A)輸出格式不合法,輸出錯(cuò)誤信息 B)67,88 C)66,89 D)C,X29.C語言中最簡單的數(shù)據(jù)類型包括B。(1級) A)整型,實(shí)型,邏輯型 B)整型,實(shí)型,字符型 C)整型,字符型,邏輯型 D)整型,實(shí)型,邏輯型,字符型30.C語言中,運(yùn)算對象必須是整型數(shù)的運(yùn)算符是A。(1級) A)% B)\ C)%和\ D)**31..下列常數(shù)中,合法的C常量是D。(1級) A)-0. B)’105’ C)’AB’ D)3+532.下列常數(shù)中,合法的C常量是D。(1級) A)”x-y” B)’105’ C)’Be’ D)7ff33.下列常數(shù)中,合法的C常量是A。(1級) A)’\n’ B)e-310 C)’DEF’ D)’1234’34.下列常數(shù)中,不合法的C常量是B。(1級) A)-0x2al B)lg3 C)’[’ D]”CHINA”35.下列常數(shù)中,不合法的C常量是B。(1級) A)-0x3bl B)123e+2.3 C)’}’ D)6e+736.下列符號中,可以作為變量名的是D。(1級) A)+a B)12345e C)a3B D)5e+037.下列符號中,可以作為變量名的是C。(1級) A)+c B)*X C)_DAY D)nextday38.下面程序的輸出結(jié)果是。(1級) main(){intx;x=-3+4*5-6;printf(“%d”,x);x=3+4%5-6;printf(“%d”,x);x=-3*4%-6/5;printf(“%d”,x);x=(7+6)%5/2;printf(“%d”,x);} A)11101 B)11–321 C)12–321 D)1112139.下面程序的輸出結(jié)果是。(1級) mian() {intx=2,y=0,z; x*=3+2;printf(“%d”,x); x*=y=z=4;printf(“%d”,x); } A)840B)1040 C)10,4 D)8,440.下面程序的輸出結(jié)果是。(1級) main() {intx=2,y=0,z; x+=3+2;printf(“%d”,x); x*=y=z=4;printf(“%d”,x); } A)728 B)無法計(jì)算 C)7,4 D)8,441.下面程序的輸出結(jié)果是。(1級) main() {intx=4,y=0,z; x*=3+2;printf(“%d”,x); x*=y==(z=4);printf(“%d”,x); } A)1440 B)200 C)204 D)14442.下面程序的輸出結(jié)果是。(1級) main() {inti,j; i=16;j=(i++)+i;printf(“%d”,j); i=15;printf(“%d%d”,++i,i); } A)321615 B)331515 C)341516 D)34161543.在C語言中,以下合法的字符常量是。(1級)A)'\084' B)'\x43' C)'0' D)"\0"44.若已定義X和Y為double類型,則表達(dá)式:x=1,y=x+3/2的值為。(1級)A)1 B)2 C)2.0 D)2.545.下列程序的執(zhí)行結(jié)果是。(1級)#include<stdio.h>#definesum10+20main(){intb=0,c=0;b=5;c=sum*b;printf("%d",c);}A)100 B)110 C)70 D)15046..下列程序的執(zhí)行結(jié)果是。(1級)#include<stdio.h>#definesum(10+20)mian(){inta=0,b=0,c=0;a=sum;b=5;c=sum*b;printf("%d",c);}A)100 B)110 C)70 D)15047.表達(dá)式(int)2.1416的值為。(1級)A)2 B)2.1 C)0 D)348.表達(dá)式(double)(20/3)的值為。(1級)A)6 B)6.0 C)2 D)349.在下面幾組數(shù)據(jù)類型中,全是基本數(shù)據(jù)類型是哪一組。(02~03第一學(xué)期試題)A)整型實(shí)型字符型B)整型數(shù)組指針C)數(shù)組結(jié)構(gòu)體共用體D)指針邏輯型空類型50.以下說法正確的是。(02~03第一學(xué)期試題)A)在C程序中,每行只能寫一條語句.B)在C程序中,無論是整數(shù)還是實(shí)數(shù),其存放形式都一致.C)在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符.D)在C程序中,變量可以不必先定義就可使用.51.假設(shè)所有變量均為整型,則表達(dá)式(a=5,b=2,a++,a+b)的值是。(02~03第一學(xué)期試題)A)8B)7C)6D)552.若有以下定義,則正確的賦值語句為。(02~03第一學(xué)期試題)inta,b;floatx;A)a=1,b=2,B)b++;C)a=b=5D)b=int(x);53..C語言規(guī)定標(biāo)識符由等字符組成.(01~02第二學(xué)期試題)A)字母數(shù)字下劃線B)中劃線字母數(shù)字C)字母數(shù)字逗號D)字母下劃線中劃線54.若有如下定義:inta=2,b=3;floatx=3.5,y=2.5;則表達(dá)式:(float)(a+b)/2+(int)x%(int)y的值是。(01~02第二學(xué)期試題)A)2.500000B)3.500000C)4.500000D)5.00000055.以下表達(dá)式:2+’a’+i*f,其中i為整型變量,f為float型變量,則表達(dá)式的最終數(shù)據(jù)類型為。(01~02第二學(xué)期試題)A)intB)floatC)charD)double56.若有:inta,b=2;則a=(b*100+1.5,100)則a的值是。(01~02第二學(xué)期試題)A)100B)100.5C)200.5D)300.557.有如下語句:printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);執(zhí)行語句后的最終結(jié)果為。(01~02第二學(xué)期試題)A)COMPUTER,CMP.B)COMPUTER,CMP.C)COMPU,CMP.D)COMPU,CMP58.已知ch是字符型變量,下面不正確的賦值語句是:。(03試題)A)ch=‘\0’B)ch=‘a(chǎn)+b’C)ch=‘7’+‘9’D)ch=7+959.若x和y都為float型變量,且x=3.6,y=5.8執(zhí)行下列語句后輸出結(jié)果為:。(03試題)printf(“%f”,(x,y));A)3.600000B)5.800000C)3.600000,5.800000D)輸出符號不夠,輸出不正確值60.設(shè)變量a是整型,變量f是實(shí)型,變量I是雙精度型,則表達(dá)式10+‘a(chǎn)’+I*f值的數(shù)據(jù)類型:。(往屆試題)A)intB)floatC)doubleD)不確定61.已知字母A的ASCII碼為十進(jìn)制65,下面程序段的運(yùn)行結(jié)果為:。(往屆試題)charch1,ch2;ch1=‘A’+5-3;ch2=‘A’+6-3;printf(“%d,%c\n”,ch1,ch2);A)67,DB)B,CC)C,DD)不確定值62.以下不正確的C語言標(biāo)識符是。(04~05第二學(xué)期試題)A)ABCB)abcC)a_bcD)ab.c63.設(shè)x、y均為float型變量,則以下不合法的賦值語句是。(04~05第二學(xué)期試題)A)++x;B)y=(x%2)/10;C)x*=y+8;D)x=y=0;64.若有說明語句:charc=‘\64’;則變量C包含:。(往屆試題)A)1個(gè)字符B)2個(gè)字符C)3個(gè)字符D)說明不合法,C值不確定。65.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為。(往屆試題)A)intB)floatC)doubleD)不確定66.設(shè)整型變量a值為9,則下列表達(dá)式中使b的值不為4的表達(dá)式:。(往屆試題)A)b=a/2B)b=a%2C)b=8-(3,a-5)D)b=a>5?4:267.設(shè)有以下定義,則能使值為3的表達(dá)式是:。(往屆試題)intk=7,x=12;A)x%=(k%=5)B)x%=(k-k%5)C)x%=kD)(x%=k)-(k%=5)68.以下選項(xiàng)中是C語言的數(shù)據(jù)類型的是:。(往屆試題)A)復(fù)數(shù)型B)邏輯型C)雙精度型D)集合型二、填空題1.C語言的數(shù)據(jù)類型有四大類,分別是、、、。(0級)2.C語言數(shù)據(jù)類型中構(gòu)造類型包括三種,他們是、、。(0級)3.C語言基本數(shù)據(jù)類型包括、、、。(0級)4.在C語言中,程序運(yùn)行期間,其值不能被改變的量叫。(0級)5.在C語言中,常量有不同的類型,包括、、和等。(0級)6.符號常量是指。(0級)7.整型常量和實(shí)型常量也稱為,它們有正負(fù)之分。(0級)8.在C語言中,在習(xí)慣上符號常量名用,變量用。(大寫或小寫)(0級)9.在C語言中,變量是。(0級)10.變量也有不同類型,如、和等。(0級)11.C語言在定義變量的同時(shí)說明變量的,系統(tǒng)在編譯時(shí)就能根據(jù)變量定義及其為它分配相應(yīng)數(shù)量的存儲空間。(0級)12.在C語言中,用來標(biāo)識變量名,符號常量名,函數(shù)名,數(shù)組名,類型名,文件名的有效字符序列稱為。(0級)13.在C語言中,標(biāo)識符只能由、和三種字符組成,且第一個(gè)字符必須或。(0級)14.在C語言中,要求對所有甬道的變量,遵循先定義后的原則。(0級)15.可以用來表示C的整常數(shù)的進(jìn)制是、、。(0級)16.整型變量可分為、、、四種,分別用。(0級)17.在一個(gè)整常量后面加一個(gè)字母和,則認(rèn)為是longint型常量。(0級)18.在C語言中,實(shí)數(shù)有兩種表現(xiàn)形式,是和。(0級)19.實(shí)型變量分為和,即float和double型。(0級)20.C的字符常量是用括起來的一個(gè)字符。(0級)21.在一個(gè)變量定義語句中可以同時(shí)定義多個(gè)變量,變量之間用隔開。(0級)22.C語言中規(guī)定,在變量定義的同時(shí)也可以給變量賦初值,叫做。(0級)23.下面的程序mian(){printf("abc\tde\rfg\n");/*空白處分別為兩個(gè)和一個(gè)空格*/printf("h\ti\b\bjk");/*空白處為三個(gè)空格*/}運(yùn)行結(jié)果是。(1級)24.int型的取值范圍是。(0級)25.在C語言中,字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用,一個(gè)字符數(shù)據(jù)既能輸出,也可以輸出。(0級)26.下面的程序main(){charc1,c2;c1='a';c2='b';c1=c1-32;c2=c2-32;printf("%c%c",c1,c2);}運(yùn)行結(jié)果為。(0級)27.在ASCⅡ代碼表中可以看到每一個(gè)小寫字母比相應(yīng)的大寫字母的ASCⅡ代碼大。(0級)28.C的字符串常量是用括起來的字符序列。(0級)29.在C語言中,系統(tǒng)在每一個(gè)字符串的結(jié)尾自動加一個(gè)“字符串結(jié)束標(biāo)志符”即,以便系統(tǒng)據(jù)此數(shù)據(jù)判斷字符串是否結(jié)束。(0級)30.表達(dá)式10+'a'+1.5-0.5*'b'的結(jié)果。(1級)31.表達(dá)式10+'a'+1.5-567.345/'b'的結(jié)果是型數(shù)據(jù)。(1級)32.在TURBO中,單精度實(shí)數(shù)的取值范圍在之間。(1級)33.在C語言中,加減乘除這些運(yùn)算符需要兩個(gè)運(yùn)算對象,稱為運(yùn)算符。34.在C語言中,算術(shù)運(yùn)算符的結(jié)合性是。(1級)35.下面的程序mian(){floatx;inti;x=3.6;i=(int)x;printf("x=%f,i=%d",x,i);}運(yùn)行結(jié)果為。(1級)36.如果inti=3,則printf("%d",-i++)執(zhí)行后輸出是,i的結(jié)果是。(1級)37.在C語言中,表達(dá)式的類型有,,,,,。(1級)38.逗號表達(dá)式的形式如下:表達(dá)式1,表達(dá)式2則逗號表達(dá)式的結(jié)果是的值.(1級)39.表達(dá)式x=(a=3,6*3)和表達(dá)式x=a=3,6*a分別是表達(dá)式和表達(dá)式,兩個(gè)表達(dá)式執(zhí)行完的結(jié)果是和.執(zhí)行后X的值分別是,.(1級)40.main(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}運(yùn)行后i,j,m,n的值是.(1級)41.在C語言中的運(yùn)算符優(yōu)先級最小的是運(yùn)算符.(1級)42.在C語言中,可以利用,將一個(gè)表達(dá)式的值轉(zhuǎn)換成指定的類型。第三章順序結(jié)構(gòu)程序設(shè)計(jì)一、選擇題1.C語言中調(diào)用printf進(jìn)行輸出時(shí)需要注意,在格式控制串中,格式說明與輸出項(xiàng)的個(gè)數(shù)必須相同。如果格式說明的個(gè)數(shù)小于輸出項(xiàng)的個(gè)數(shù),多余的輸出項(xiàng)將;如果格式說明的個(gè)數(shù)多于輸出項(xiàng)的個(gè)數(shù),則對于多余的格式將輸出不定值(或0)。(0級)A)不予輸出B)輸出空格C)照樣輸出D)輸出不定值或02.在scanf函數(shù)的格式控制中,格式說明的類型與輸入的類型應(yīng)該一一對應(yīng)匹配。如果類型不匹配,系統(tǒng)。(0級)A)不予接收B)并不給出出錯(cuò)信息,但不可能得出正確信息數(shù)據(jù)C)能接受正確輸入D)給出出錯(cuò)信息,不予接收輸入3.下列說法正確的是。(0級)A)輸入項(xiàng)可以是一個(gè)實(shí)型常量,如scanf("%f",4.8);B)只有格式控制,沒有輸入項(xiàng)也能進(jìn)行正確輸入,如scanf("a=%d,b=%d");C)當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf("%5.3f",&f);D)當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量的地址,如scanf("%f",&f);4.根據(jù)題目中已給出的數(shù)據(jù)的輸入和輸出形式,程序中輸入/輸出語句的正確是。(1級)main(){inta;floatx;printf("inputa,x:");輸入語句輸出語句}輸入形式inputa,x:32.1輸出形式a+x=5.10A)scanf("%d,%f",&a,&x);printf("\na+x=%4.2f",a+x);B)scanf("%d%f",&a.&x);printf("\na+x=%4.2f",a+x);C)scanf("%d%f",&a,&x);printf("\na+x=%6.1f",a+x);D)scanf("%d%3.1f",&a,&x);printf("\na+x=%4.2f",a+x);5.以下程序的輸出結(jié)果是。(1級)main(){inti=010,j=10,k=0x10;printf("%d,%d,%d\n",i,j,k);A)8,10,16B)8,10,10C)10,10,10D)10,10,166.以下程序的輸出結(jié)果是。(1級)main(){inti=011,j=11,k=0x11;printf("%d,%d,%d\n",i,j,k);}A)9,11,17B)9,11,11C)11,11,11D)11,11,167.以下程序的輸出結(jié)果是。(1級)#include<stdio.h>main(){printf("%d\n",NULL);}A)不確定的值(因變量無定義)B)0C)-1D)18.以下程序的輸出結(jié)果是。(1級)main(){charc1='6',c2='0';printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);}A)因輸出格式不合法,輸出出錯(cuò)信息B)6,0,6,102C)6,0,7,6D)6,0,5,79.設(shè)有如下定義intx=10,y=3,z;則語句printf("%d\n",z=(x%y,x/y));的輸出結(jié)果是。(1級)A)3B)0C)4D)110.設(shè)有如下定義intx=10,y=5,z;則語句printf("%d\n",z=(x+=y,x/y));的輸出結(jié)果是。(1級)A)1B)0C)4D)311.以下程序的輸出結(jié)果是。(1級)main(){intx=10,y=10;printf("%d%d\n",x--,--y);}A)1010B)99C)910D)10912.寫出下面程序的輸出結(jié)果。(1級)main(){intx;x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3*4%6/5;printf("%d",x);x=(7+6)%5/2;printf("%d",x);}A)11101B)11-321C)12-321D)1112113.寫出下面程序的輸出結(jié)果。(1級)main(){intx,y,z;x=y=1;z=x++-1;printf("%d,%d\t",x,z);z+=-x+++(++y);printf("%d,%d",x,z);}A)2,03,0B)2,13,0C)2,02,1D)2,10,114.寫出下面程序的輸出結(jié)果。(1級)main(){inti,j;i=20;j=(++i)+i;printf("%d",j);i=13;printf("%d%d),i++,i);}A)4214,13B)4114,14C)421313D)42131415.若有定義:intx,y;chara,b,c;并有以下輸入數(shù)據(jù)(此處,<cr>代表換行符)12<cr>ABC<cr>則能給x賦整數(shù)1,給y賦整數(shù)2,給a賦字符A,給b賦字符B,給c賦字符C的正確程序段是。(1級)A)scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();B)scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();C)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);D)scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);16.若已知a=10,b=20,則表達(dá)式!a<b的值為。(1級)A)10B)20C)1D)017.printf函數(shù)中用到格式符"%4s",其中數(shù)字4表示輸出的字符串站用4列。如果字符串長度大于4,則按原字符長從左向右全部輸出;如果字符串長度小于4,則輸出方式為。(1級)A)從左起輸出該字符串,右補(bǔ)空格B)按原字符長從左向右全部輸出C)右對齊輸出該字符,左補(bǔ)空格D)輸出錯(cuò)誤信息18.以下C程序,正確的運(yùn)行結(jié)果是。(1級)main(){longy=-34567;printf("y=%-8ld\n",y);printf("y=%-08ld\n",y);printf("y=%08ld\n",y);printf("y=%+8ld\n",y);}A)y=-34567B)y=-34567y=-34567y=-34567y=-0034567y=-0034567y=-34567y=+-34567C)y=-34567D)y=-34567y=-34567y=-0034567y=-0034567

溫馨提示

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

評論

0/150

提交評論