




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
CompanyLogo教材、參考書與課時安排參考書1、全國計算機等級考試二級教程—C語言程序設(shè)計
教育部考試中心高等教育出版社2、二級C語言高頻考題導(dǎo)航南開大學(xué)出版社3、C語言真題分析與實戰(zhàn)訓(xùn)練清華大學(xué)出版社課時安排授課:28學(xué)時往年考題講解:4學(xué)時第一頁,共807頁。第一頁,共807頁。CompanyLogo考試大綱◆基本要求
1.熟悉VisualC++6.0集成開發(fā)環(huán)境。
2.掌握結(jié)構(gòu)化程序設(shè)計的方法,具有良好的程序設(shè)計風(fēng)格。
3.掌握程序設(shè)計中簡單的數(shù)據(jù)結(jié)構(gòu)和算法并能閱讀簡單的程序。
4.在VisualC++6.0集成環(huán)境下,能夠編寫簡單的C程序,并具有基本的糾錯和調(diào)試程序的能力第二頁,共807頁。第二頁,共807頁。CompanyLogo目錄1.程序設(shè)計基本概念2.C程序設(shè)計的初步知識3.順序結(jié)構(gòu)4.選擇結(jié)構(gòu)5.循環(huán)結(jié)構(gòu)6.字符型數(shù)據(jù)7.函數(shù)8.地址和指針9.數(shù)組10.字符串11.對函數(shù)的進一步討論12.用戶標(biāo)識符的作用域和存儲類13.編譯預(yù)處理和動態(tài)存儲分配14.結(jié)構(gòu)體、共用體和用戶定義類型15.位運算16.文件第三頁,共807頁。第三頁,共807頁。CompanyLogo第1章程序設(shè)計基本概念Top1:各種“程序”的概念Top3:結(jié)構(gòu)化程序設(shè)計Top2:算法的特性C程序的上機步驟第四頁,共807頁。第四頁,共807頁。CompanyLogo什么是程序??Top1:各種“程序”的概念人們把需要用計算機完成的工作寫成一條條指令,并把這些指令存儲在內(nèi)存中,當(dāng)人們給出執(zhí)行命令后,計算機就按指令順序自動進行操作。這些可以連續(xù)執(zhí)行的一條條指令的集合稱為“程序”。第五頁,共807頁。第五頁,共807頁。CompanyLogo機器語言匯編語言高級語言面向過程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000加
10010000減用助記符號描述的指令系統(tǒng)如ADDA,B程序設(shè)計是數(shù)據(jù)被加工的過程客觀世界可以分類,對象是類的實例對象是數(shù)據(jù)和方法的封裝對象間通過發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計關(guān)鍵是定義類,并由類派生對象程序設(shè)計語言的發(fā)展Top1:各種“程序”的概念第六頁,共807頁。第六頁,共807頁。CompanyLogo程序的“轉(zhuǎn)換”機器語言匯編語言高級語言C語言編譯匯編源程序目標(biāo)程序.OBJTop1:各種“程序”的概念可執(zhí)行程序.exe鏈接二進制語言第七頁,共807頁。第七頁,共807頁。CompanyLogoTop1:各種“程序”的概念真題分析(2007年4月)下列敘述中錯誤的是______A、計算機不能直接執(zhí)行用C語言編寫的源程序B、C程序經(jīng)編譯后,生成后綴為.Obj的文件是一個二進制文件C、后綴為.Obj的文件,經(jīng)連接程序生成后綴為.Exe的文件是一個二進制文件D、后綴為.Obj和.Exe的二進制文件都可以直接運行D第八頁,共807頁。第八頁,共807頁。CompanyLogoTop1:各種“程序”的概念真題分析(2006年4月)以下敘述中錯誤的是______A、C語言源程序經(jīng)編譯后生成后綴為.OBJ的目標(biāo)程序B、C程序經(jīng)過編譯、連接步驟之后才能形成一個真正可以執(zhí)行的二進制機器指令文件C、用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中D、C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將轉(zhuǎn)換成二進制的機器指令D只有二進制語句才最終被轉(zhuǎn)換成二進制機器指令第九頁,共807頁。第九頁,共807頁。CompanyLogoTop1:各種“程序”的概念真題分析(2008年9月)計算機能直接執(zhí)行的程序是____A、源程序B、目標(biāo)程序C、匯編程序D、可執(zhí)行程序D第十頁,共807頁。第十頁,共807頁。CompanyLogoTop1:各種“程序”的概念真題分析(2007年9月)C語言源程序的后綴是_____A、.exeB、.cC、.objD、.cpB第十一頁,共807頁。第十一頁,共807頁。CompanyLogoTop1:各種“程序”的概念真題分析(2006年9月)以下說明中正確的是_____A、C語言比其它語言高級B、C語言可以不用編譯就能被計算機執(zhí)行C、C語言以接近英語和數(shù)學(xué)言語作為語言的表達式D、C語言出現(xiàn)最晚,具有其它語言的一切優(yōu)點C第十二頁,共807頁。第十二頁,共807頁。CompanyLogoTop1:各種“程序”的概念真題分析(2011年3月)計算機高級語言程序的運行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是_____(選擇題第11題)A)C語言程序僅可以編譯執(zhí)行B)C語言程序僅可以解釋執(zhí)行C)C語言程序既可以編譯執(zhí)行又可以解釋執(zhí)行D)以上說法都不對C第十三頁,共807頁。第十三頁,共807頁。CompanyLogoTop1:各種“程序”的概念真題分析(2011年3月)以下敘述中錯誤的是_____(選擇題第12題)A)C語言的可執(zhí)行程序是由一系列機器指令構(gòu)成的B)用C語言編寫的源程序不能直接在計算機上運行C)通過編譯得到的二進制目標(biāo)程序需要連接才可以運行D)在沒有安裝C語言集成開發(fā)環(huán)境的機器上不能運行C源程序生成的.exe文件D第十四頁,共807頁。第十四頁,共807頁。CompanyLogoTop1:各種“程序”的概念練習(xí)題1、以下敘述中正確的是_____A、C語言的源程序不必通過編譯就可以直接運行B、C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令C、C程序經(jīng)編譯形成的二進制代碼可直接執(zhí)行D、C語言中的函數(shù)不可以單獨進行編譯B第十五頁,共807頁。第十五頁,共807頁。CompanyLogoTop2:算法的特性什么是算法?算法是指為解決某個特定問題而采取的確定且有限的步驟。?第十六頁,共807頁。第十六頁,共807頁。CompanyLogo算法應(yīng)具有以下五個特點:1有窮性:一個算法包含的步驟是有限的。即在若干個步驟后結(jié)束,并且每一步都在合理時間內(nèi)完成2確定性:算法中每一條指令必須有確切的含義,不能有二義性,對于相同的輸入必能得出相同的執(zhí)行結(jié)果。3可行性:算法中指定的操作,都可以通過已經(jīng)驗證可以實現(xiàn)的基本運算執(zhí)行有限次后實現(xiàn)。5有一個或多個輸出:算法的目的是為了求解。這些“解”只有通過輸出得到。4有零個或多個輸入:算法都是用來處理數(shù)據(jù)對象的,通常情況下這些數(shù)據(jù)對象需要通過輸入來得到。Top2:算法的特性第十七頁,共807頁。第十七頁,共807頁。CompanyLogo如何評價算法??時間復(fù)雜度1空間復(fù)雜度2對算法的要求有:必須是正確的,必須能高效率執(zhí)行,即占用內(nèi)存空間少,所需運行時間短。于是,對算法的評價可以從兩個方面進行:Top2:算法的特性第十八頁,共807頁。第十八頁,共807頁。CompanyLogoTop2:算法的特性真題分析(2007年4月)算法中,對需要執(zhí)行的每一步驟操作,必須給出清楚、嚴格的規(guī)定,這屬于算法的是_____A、正當(dāng)性B、可行性C、確定性D、有窮性C第十九頁,共807頁。第十九頁,共807頁。CompanyLogoTop2:算法的特性真題分析(2006年4月)以下敘述中錯誤的是_____A、算法正確的程序最終一定會結(jié)束B、算法正確的程序可以有零個輸出C、算法正確的程序可以有零個輸入D、算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果B算法必須有一個或多個輸出第二十頁,共807頁。第二十頁,共807頁。CompanyLogoTop2:算法的特性練習(xí)題1、一個算法應(yīng)該具有“確定性”等5個特性,下面對另外4個特性的描述中錯誤的是_____A、有零個或多個輸入B、有零個或多個輸出C、有窮性D、可行性B第二十一頁,共807頁。第二十一頁,共807頁。CompanyLogoTop3:結(jié)構(gòu)化程序設(shè)計和模塊化結(jié)構(gòu)執(zhí)行時按順序逐條執(zhí)行,沒有分支,沒有轉(zhuǎn)移。可由賦值語句、輸入/輸出語句等構(gòu)成。順序結(jié)構(gòu)根據(jù)不同的條件執(zhí)行不同分支中的語句。可由if語句、switch語句等構(gòu)成。選擇結(jié)構(gòu)根據(jù)各自的條件使一組語句重復(fù)執(zhí)行多次或一次也不執(zhí)行。可由for語句、while語句等構(gòu)成。循環(huán)結(jié)構(gòu)第二十二頁,共807頁。第二十二頁,共807頁。CompanyLogo什么是模塊化結(jié)構(gòu)??將復(fù)雜任務(wù)分解成若干個子任務(wù),每個子任務(wù)又可分解成多個小子任務(wù),每個小子任務(wù)只需完成一個簡單的功能。在程序設(shè)計時用一個小模塊實現(xiàn)這些功能。稱這樣的程序設(shè)計方法為“模塊化”方法,由一個個功能模塊構(gòu)成的程序結(jié)構(gòu)為模塊化結(jié)構(gòu)。Top3:結(jié)構(gòu)化程序設(shè)計和模塊化結(jié)構(gòu)第二十三頁,共807頁。第二十三頁,共807頁。CompanyLogoTop3:結(jié)構(gòu)化程序設(shè)計和模塊化結(jié)構(gòu)真題分析(2007年4月)以下敘述中錯誤的是_____A、C語言是一種結(jié)構(gòu)化的程序設(shè)計語言B、結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成C、使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題D、結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法C第二十四頁,共807頁。第二十四頁,共807頁。CompanyLogoTop3:結(jié)構(gòu)化程序設(shè)計和模塊化結(jié)構(gòu)真題分析(2011年9月)以下選項中關(guān)于程序模塊化的敘述錯誤的是____。(選擇題12題)A)把程序分成若干相對獨立的模塊,便于編碼和調(diào)試B)把程序分成若干相對獨立、功能單一的模塊,可便于重復(fù)使用這些模塊C)可采用自底向上、逐步細化的設(shè)計方法把若干獨立模塊組裝成所要求的程序D)可采用自頂向下、逐步細化的設(shè)計方法把若干獨立模塊組裝成所要求的程序C第二十五頁,共807頁。第二十五頁,共807頁。CompanyLogo開始結(jié)束編輯編譯連接運行運行結(jié)果可執(zhí)行文件(.exe)源程序文件(.c)目標(biāo)文件(.obj)圖C程序上機調(diào)試過程此兩種代碼不能執(zhí)行C程序的上機步驟第二十六頁,共807頁。第二十六頁,共807頁。CompanyLogo第2章C程序設(shè)計的初步知識Top4:C程序的結(jié)構(gòu)和格式Top5:標(biāo)識符的命名規(guī)則Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則Top7:基本類型數(shù)據(jù)的相互轉(zhuǎn)換Top8:常見算術(shù)運算符的使用Top9:算術(shù)運算符的優(yōu)先級順序Top12:自加自減運算符Top10:賦值表達式的求值規(guī)則Top11:逗號表達式的求值規(guī)則第二十七頁,共807頁。第二十七頁,共807頁。CompanyLogo例2.1第一個程序Hello,World!/*example1.1ThefirstCProgram*/#include<stdio.h>main(){printf(“Hello,World!”);}注釋編譯預(yù)處理函數(shù)語句輸出:Hello,World!Top4:C語言程序的構(gòu)成和格式第二十八頁,共807頁。第二十八頁,共807頁。CompanyLogo例2.2/*example1.1calculatethesumofaandb*/#include<stdio.h>/*Thisisthemainprogram*/main(){inta,b,sum;
a=10;b=24;sum=add(a,b);printf(”sum=%d\n",sum);}/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty){intz;z=x+y;return(z);}運行結(jié)果:sum=34函數(shù)語句預(yù)處理命令注釋第二十九頁,共807頁。第二十九頁,共807頁。CompanyLogo格式特點習(xí)慣用小寫字母,大小寫敏感不使用行號,無程序行概念可使用空行和空格常用鋸齒形書寫格式<>main(){
……………….………………
…………..…………..
……………….
………………………….
……………….………………..}main(){
inti,j,sum;sum=0;for(i=1;i<10;i++){for(j=1;j<10;j++){sum+=i*j;}}printf(“%d\n”,sum);}優(yōu)秀程序員的素質(zhì)之一:使用TAB縮進{}對齊有足夠的注釋有合適的空行Top4:C語言程序的構(gòu)成和格式第三十頁,共807頁。第三十頁,共807頁。CompanyLogo結(jié)構(gòu)特點函數(shù)與主函數(shù)程序由一個或多個函數(shù)組成必須有且只能有一個主函數(shù)main()程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。程序語句C程序由語句組成用“;”作為語句終止符注釋/**/為注釋,不能嵌套不產(chǎn)生編譯代碼例:/*Thisisthemain/*ofexample1.1*/*/非法編譯預(yù)處理命令Top4:C語言程序的構(gòu)成和格式例:#include“stdio.h”命令行,不是C語句第三十一頁,共807頁。第三十一頁,共807頁。CompanyLogo真題分析(2011年9月)以上敘述中錯誤的是____(選擇題11題)。A)C語言編寫的函數(shù)源程序,其文件名后綴可以是CB)C語言編寫的函數(shù)都可以作為一個獨立的源程序文件C)C語言編寫的每個函數(shù)都可以進行獨立的編譯并執(zhí)行D)一個C語言程序只能有一個主函數(shù)Top4:C語言程序的構(gòu)成和格式C第三十二頁,共807頁。第三十二頁,共807頁。CompanyLogo真題分析(2007年4月)對于一個正常運行的C程序,以下敘述中正確的是_____A、程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束B、程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)中結(jié)束C、程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束。D、程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束。Top4:C語言程序的構(gòu)成和格式A第三十三頁,共807頁。第三十三頁,共807頁。CompanyLogoTop4:C語言程序的構(gòu)成和格式真題分析(2005年9月)以下關(guān)于函數(shù)的敘述中正確的是_____A、每個函數(shù)都可以被其他函數(shù)調(diào)用(包括main函數(shù))B、每個函數(shù)都可以被單獨編譯C、每個函數(shù)都可以單獨運行D、在一個函數(shù)內(nèi)部可以定義另一個函數(shù)B第三十四頁,共807頁。第三十四頁,共807頁。CompanyLogoTop4:C語言程序的構(gòu)成和格式真題分析(2007年9月)以下敘述中正確的是_____A、C語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行B、可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C、C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)束D、main可作為用戶標(biāo)識符,用以命名任意一個函數(shù)作為主函數(shù)C第三十五頁,共807頁。第三十五頁,共807頁。CompanyLogoTop4:C語言程序的構(gòu)成和格式真題分析(2008年9月)以下敘述中正確的是_____A、C程序的基本組成單位是語句B、C程序中每一行只能寫一條語句C、簡單C語句必須以分號結(jié)束D、C語句必須在一行內(nèi)寫完C第三十六頁,共807頁。第三十六頁,共807頁。CompanyLogoTop4:C語言程序的構(gòu)成和格式練習(xí)題1、在一個程序中,_____A、main函數(shù)必須出現(xiàn)在所有函數(shù)之前B、main函數(shù)可以在任何地方出現(xiàn)C、main函數(shù)必須出現(xiàn)在所有函數(shù)之后D、main函數(shù)必須出現(xiàn)在固定位置B第三十七頁,共807頁。第三十七頁,共807頁。CompanyLogoTop5:標(biāo)識符的命名規(guī)則什么是標(biāo)識符??標(biāo)識符是用來標(biāo)識變量、符號常量、函數(shù)、數(shù)組、類型、標(biāo)號以及一些具有專門含義的有效字符序列。通俗地講,標(biāo)識符就是一個名字。第三十八頁,共807頁。第三十八頁,共807頁。CompanyLogo標(biāo)識分為三類:②預(yù)定義標(biāo)識符③用戶標(biāo)識符①關(guān)鍵字(1)數(shù)據(jù)類型關(guān)鍵字12個(2)控制語句關(guān)鍵字12個(3)存儲類型關(guān)鍵字4個(4)其它關(guān)鍵字4個一般指C語言提供的庫函數(shù)名和編譯預(yù)處理命令。在編程時,需要用戶給一些變量、函數(shù)、數(shù)組等命名,這類由用戶根據(jù)需要自定義的標(biāo)識符稱為用戶標(biāo)識符Top5:標(biāo)識符的命名規(guī)則第三十九頁,共807頁。第三十九頁,共807頁。CompanyLogo組成:只能由字母、數(shù)字、下劃線組成,且第一個字母必須是字母或下劃線大小寫敏感不能使用關(guān)鍵字長度:最長32個字符命名原則:見名知意不宜混淆如l與I,o與0例:判斷下列標(biāo)識符號合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$1233days#33char$123a>b如何命名標(biāo)識符??第四十頁,共807頁。第四十頁,共807頁。CompanyLogo真題分析(2006年9月)下列定義變量的語句中錯誤的是_____A、int_int;B、doubleint_;C、charFor;D、floatUS$;Top5:標(biāo)識符的命名規(guī)則D第四十一頁,共807頁。第四十一頁,共807頁。CompanyLogoTop5:標(biāo)識符的命名規(guī)則真題分析(2005年9月)以下敘述中錯誤的是_____A、用戶所定義的標(biāo)識符允許使用關(guān)鍵字B、用戶所定義的標(biāo)識符應(yīng)盡量做到“見名知意”C、用戶所定義的標(biāo)識符必須以字母或下劃線開頭D、用戶定義的標(biāo)識符中大、小寫字母代表不同標(biāo)識A第四十二頁,共807頁。第四十二頁,共807頁。CompanyLogoTop5:標(biāo)識符的命名規(guī)則真題分析(2006年4月)下列不合法的用戶標(biāo)識符是____A、j2_KEYB、DoubleC、4dD、_8_C第四十三頁,共807頁。第四十三頁,共807頁。CompanyLogoTop5:標(biāo)識符的命名規(guī)則真題分析(2007年4月)按照C語言規(guī)定的用戶標(biāo)識符命名規(guī)則,不能出現(xiàn)在標(biāo)識符中的是:_____A、大寫字母B、連接符C、數(shù)字字符D、下劃線B第四十四頁,共807頁。第四十四頁,共807頁。CompanyLogoTop5:標(biāo)識符的命名規(guī)則真題分析(2007年9月)可在C程序中用做用戶標(biāo)識符的一組標(biāo)識符是_____A第四十五頁,共807頁。第四十五頁,共807頁。CompanyLogoTop5:標(biāo)識符的命名規(guī)則真題分析(2008年4月)以下選項中不合法的標(biāo)識符是_____A、printB、FORC、&aD、_00C第四十六頁,共807頁。第四十六頁,共807頁。Top5:標(biāo)識符的命名規(guī)則真題分析(2009年4月)以下選項中合法的標(biāo)識符是____A)1_1B)1-1C)_11D)1__CompanyLogoC第四十七頁,共807頁。第四十七頁,共807頁。CompanyLogo一般用大寫字母是宏定義預(yù)處理命令,不是C語句直接常量:整型常量實型常量字符常量字符串常量如#definePRICE30常量定義:程序運行時其值不能改變的量(即常數(shù))分類:符號常量:用標(biāo)識符代表常量定義格式:#define
符號常量常量>>>>例符號常量舉例#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf("total=%d",total);}運行結(jié)果:total=300Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則第四十八頁,共807頁。第四十八頁,共807頁。CompanyLogo整型常量(整常數(shù))三種形式:十進制整數(shù):由數(shù)字0~9和正負號表示.如123,-456,0八進制整數(shù):由數(shù)字0開頭,后跟數(shù)字0~7表示.如0123,011十六進制整數(shù):由0x開頭,后跟0~9,a~f,A~F表示.如0x123,0Xff問題:0123=()100x123=()100Xff=()1083291255問題:0123=()100x123=()100Xff=()10Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則第四十九頁,共807頁。第四十九頁,共807頁。CompanyLogo數(shù)制基權(quán)表示數(shù)碼特點10o,101,102,…十進制數(shù)0~910逢十進一二進制數(shù)0~122o,21,22,…逢二進一八進制數(shù)0~788o,81,82,…逢八進一十六進制數(shù)0~9,A~F,a~f1616o,161,162,…逢十六進一十進制:4956=4103+9102+5101+610o二進制:1011=123+022+121+12o十六進制:81AE=8163+1162+10161+1416o八進制:4275=483+282+781+58oTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則第五十頁,共807頁。第五十頁,共807頁。CompanyLogo整型常量的類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型在整常量后加字母l或L,認為它是longint
型常量整型常量(整常數(shù))三種形式:十進制整數(shù):由數(shù)字0~9和正負號表示.如123,-456,0八進制整數(shù):由數(shù)字0開頭,后跟數(shù)字0~7表示.如0123,011十六進制整數(shù):由0x開頭,后跟0~9,a~f,A~F表示.如0x123,0Xff例30000為int型65536為longint型例12與12LTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則32767-32768
0
0120160x100X23FD0568o45ox12t-0X12只能是正數(shù)第五十一頁,共807頁。第五十一頁,共807頁。CompanyLogo整數(shù)在內(nèi)存中的存儲形式7654321000000000000001011111111111111111FF01FF02FF03FF04+5-11111111111111111FF05FF0665535Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則第五十二頁,共807頁。第五十二頁,共807頁。CompanyLogo實型常量(實數(shù)或浮點數(shù))表示形式:十進制數(shù)形式:(必須有小數(shù)點)如0.123,.123,123.0,0.0,123.指數(shù)形式:(e或E之前必須有數(shù)字;指數(shù)必須為整數(shù))如12.3e3,123E2,1.23e4,e-5,實型常量的類型默認double型在實型常量后加字母f或F,認為它是float型Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則X在內(nèi)存中,實數(shù)一律是以指數(shù)形式存儲的1計算機中存儲整數(shù)不會出現(xiàn)誤差,存儲實型數(shù)往往存入誤差。2!注意:第五十三頁,共807頁。第五十三頁,共807頁。CompanyLogo54字符常量定義:用單引號括起來的單個普通字符或轉(zhuǎn)義字符.
字符常量的值:該字符的ASCII碼值<轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符含義\n\v\r\a\‘\ddd\t\b\f\\\“\xhh轉(zhuǎn)義字符含義換行垂直制表回車響鈴單引號3位8進制數(shù)代表的字符水平制表退格換頁反斜線雙引號2位16進制數(shù)代表的字符如‘\101’-----------‘A’‘\012’-----------’\n’‘\376’-----------’’‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()例:‘A’-------’\101’-------’\x41’--------65如‘A’——65,‘a(chǎn)’——97,
‘0’——48,‘\n’——10如‘a(chǎn)’‘A’‘?’‘\n’‘\101’轉(zhuǎn)義字符:反斜線后面跟一個字符或一個代碼值表示例轉(zhuǎn)義字符舉例
main(){printf("\101\x42C\n");printf("Isay:\"Howareyou?\"\n");printf("\\CProgram\\\n");printf("Turbo\'C\'");}運行結(jié)果:(屏幕顯示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則第五十四頁,共807頁。第五十四頁,共807頁。CompanyLogo字符常量與字符串常量不同字符串常量定義:用雙引號(“”)括起來的字符序列存儲:每個字符串尾自動加一個‘\0’作為字符串結(jié)束標(biāo)志hello\0例字符串“hello”在內(nèi)存中aa\0例‘a(chǎn)’“a”例空串“”\0例:charch;ch=“A”;例:charch;ch=‘A’;Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則第五十五頁,共807頁。第五十五頁,共807頁。CompanyLogo編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元…...地址inta=1,b=-3,c;abc2字節(jié)2字節(jié)2字節(jié)地址地址…...內(nèi)存1-3隨機數(shù)變量概念:其值可以改變的量變量的定義變量初始化:定義時賦初值例:inta,b,c;floatdata;例:inta=2,b,c=4;floatdata=3.67;charch=‘A’;intx=1,y=1,z=1;
intx=y=z=1;變量的使用:先定義,后使用例1intstudent;stadent=19;//Undefinedsymbol‘statent’infunctionmain
例2floata,b,c;c=a%b;//Illegaluseoffloatingpointinfunctionmain
變量定義位置:一般放在函數(shù)開頭main(){inta,b=2;floatdata;a=1;data=(a+b)*1.2;printf(“data=%f\n”,data);}變量定義可執(zhí)行語句main(){inta,b=2;a=1;floatdata;data=(a+b)*1.2;printf(“data=%f\n”,data);}Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則第五十六頁,共807頁。第五十六頁,共807頁。CompanyLogo整型變量占字節(jié)數(shù)隨機器不同而不同,一般占一個機器字short≤int≤long可用sizeof(類型標(biāo)識符)測量實型變量float:占4字節(jié),提供7位有效數(shù)字double:占8字節(jié),提供15~16位有效數(shù)字字符型變量字符變量存放字符ASCII碼char與int數(shù)據(jù)間可進行算術(shù)運算例floata;a=111111.111;/*a=111111.1*/doubleb;b=111111.111;/*b=111111.111*/例a=‘D’;/*a=68;*/x=‘A’+5;/*x=65+5;*/s=‘!’+‘G’/*s=33+71;*/沒有字符串變量,用字符數(shù)組存放Top6:C語言基本數(shù)據(jù)類型及其定義規(guī)則第五十七頁,共807頁。第五十七頁,共807頁。CompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2007年4月)有以下程序,其中%u表示按無符號整數(shù)輸出,程序運行后的輸出結(jié)果是:_____#include“stdio.h”main(){unsignedintx=oxFFFF;/*x的初值為16進制數(shù)*/printf(“%u\n”,x);}-1A.65535B.32767C.D.0xFFFFB第五十八頁,共807頁。第五十八頁,共807頁。CompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2006年4月)下列不合法的數(shù)值常量是_____A、011B、1e1C、D、0xabcdC第五十九頁,共807頁。第五十九頁,共807頁。CompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2005年9月)以下程序運行后的輸出結(jié)果是_____
main(){intx=0210;printf("%X\n",x);}0210010八進制數(shù)001000000880二進制數(shù)88第六十頁,共807頁。第六十頁,共807頁。mpanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2011年3月)以下選項中不能用作C程序合法常量的是_____(選擇題13題)A)1.234B)'123'C)123D)"\x7G"B第六十一頁,共807頁。第六十一頁,共807頁。mpanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2011年3月)以下選項中可用作C程序合法實數(shù)的是____(選擇題14題)A).1e0C)E9D)9.12EA第六十二頁,共807頁。第六十二頁,共807頁。mpanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則真題分析(2011年9月)以下選項中關(guān)于C語言常量的敘述錯誤的是___(選擇題13題)A)所謂常量,是指在程序運行過程中,其值不能被改變的量B)常量分為整型常量、實型常量、字符常量和字符串常量C)常量可分為數(shù)值型常量和非數(shù)值型常量D)經(jīng)常被使用的變量可以定義成常量D常量是指在程序中不變的量,既然程序中已定義為變量,則不可能再定義為常量第六十三頁,共807頁。第六十三頁,共807頁。CompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則練習(xí)題1、以下選項中,不能作為合法常量的是____A、1.234e04B、C、1.234e+4D、1.234e0B第六十四頁,共807頁。第六十四頁,共807頁。CompanyLogoTop6:C語言基本數(shù)據(jù)類型及其定義規(guī)則練習(xí)題2、以下選項中,可作為C語言合法整數(shù)的是_____A、1011BB、0386C、0xffaD、x2a2C第六十五頁,共807頁。第六十五頁,共807頁。CompanyLogo隱式轉(zhuǎn)換什么情況下發(fā)生運算轉(zhuǎn)換-----不同類型數(shù)據(jù)混合運算時賦值轉(zhuǎn)換----把一個值賦給與其類型不同的變量時輸出轉(zhuǎn)換------輸出時轉(zhuǎn)換成指定的輸出格式函數(shù)調(diào)用轉(zhuǎn)換------實參與形參類型不一致時轉(zhuǎn)換運算轉(zhuǎn)換規(guī)則:不同類型數(shù)據(jù)運算時先自動轉(zhuǎn)換成同一類型Top7:基本數(shù)據(jù)類型間的轉(zhuǎn)換第六十六頁,共807頁。第六十六頁,共807頁。CompanyLogodoublefloatlongunsignedintchar,short低高說明:必定的轉(zhuǎn)換運算對象類型不同時轉(zhuǎn)換例charch;inti;floatf;doubled;ch/i+f*d-(f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+‘a(chǎn)’+i*f-d/l例inti;floatf;doubled;longl;第六十七頁,共807頁。第六十七頁,共807頁。CompanyLogo顯式轉(zhuǎn)換(強制轉(zhuǎn)換)一般形式:(類型名)(表達式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6說明:強制轉(zhuǎn)換得到所需類型的中間變量,原變量類型不變例main(){floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);}結(jié)果:x=3.600000,i=3精度損失問題較高類型向較低類型轉(zhuǎn)換時可能發(fā)生Top7:基本數(shù)據(jù)類型間的轉(zhuǎn)換第六十八頁,共807頁。第六十八頁,共807頁。CompanyLogo真題分析(2006年9月)以下選項中值為1的表達式是_____A、1-'0'B、1-'\0'C、'1'-0D、'\0'-'0'Top7:基本數(shù)據(jù)類型間的轉(zhuǎn)換1是整型,’0’、’\0’、’1’都是字符型?!?’換成整型的ASCII碼值為48,’1’為49‘\0’是轉(zhuǎn)義字符,表示0或空。B第六十九頁,共807頁。第六十九頁,共807頁。CompanyLogo真題分析(2006年9月)設(shè)有定義:floatx=123.4567;,則執(zhí)行下列語句printf("%f\n",(int)(x*100+0.5)/100.0);
后的輸出結(jié)果是_________Top7:基本數(shù)據(jù)類型間的轉(zhuǎn)換(int)(x*100+0.5)/100.0(x*100+0.5)(123.4567*100+0.5)12345.67+0.512346.17int12346100.0123.46123.460000第七十頁,共807頁。第七十頁,共807頁。CompanyLogo真題分析(2005年9月)設(shè)有定義:intk=1,m=2;floatf=7;則下列選項中錯誤的表達式是_______A、k=k>=kB、-k++C、k%int(f)D、k>=f>=mTop7:基本數(shù)據(jù)類型間的轉(zhuǎn)換C%(求余運算符)的兩邊都必須是整型。f為float型,需要強制轉(zhuǎn)換為int型。正確的寫法為(int)f而不是int(f)第七十一頁,共807頁。第七十一頁,共807頁。CompanyLogo真題分析(2005年9月)已經(jīng)字母A的ASCII碼為65。以下程序運行后的輸出結(jié)果為_______main(){chara,b;a='A'+'5'-'3';b=a+'6'-'2';printf("%d%c\n",a,b);}Top7:基本數(shù)據(jù)類型間的轉(zhuǎn)換dca='A'+'5'-'3';a=‘C’67b=a+‘6'-‘2';a=67+4G67G第七十二頁,共807頁。第七十二頁,共807頁。Top7:基本數(shù)據(jù)類型間的轉(zhuǎn)換真題分析(2011年9月)若有定義語句:inta=10;doubleb=3.14;,則表達式‘A’+a+b值的類型是_____。(選擇題14題)A).charB)intC)doubleD)floatCompanyLogoC第七十三頁,共807頁。第七十三頁,共807頁。CompanyLogo練習(xí)題1、以下程序運行后的輸出結(jié)果是__________main(){inta,b,c;a=25;b=025;c=0x25;printf(“%d%d%d\n”,a,b,c);}Top7:基本數(shù)據(jù)類型間的轉(zhuǎn)換0252*81+5*80210x252*161+5*16037252137第七十四頁,共807頁。第七十四頁,共807頁。CompanyLogoC運算符算術(shù)運算符:(+-*/%++--)關(guān)系運算符:(<<===>>=!=)邏輯運算符:(!&&||)位運算符:(<<>>~|^&)賦值運算符:(=及其擴展)條件運算符:(?:)逗號運算符:(,)指針運算符:(*&)求字節(jié)數(shù):(sizeof)強制類型轉(zhuǎn)換:(類型)分量運算符:(.->)下標(biāo)運算符:([])其它:(()-)Top8:常見算術(shù)運算符的使用第七十五頁,共807頁。第七十五頁,共807頁。CompanyLogo學(xué)習(xí)運算符應(yīng)注意:運算符功能與運算量關(guān)系要求運算量個數(shù)要求運算量類型運算符優(yōu)先級別結(jié)合方向結(jié)果的類型Top8:常見算術(shù)運算符的使用第七十六頁,共807頁。第七十六頁,共807頁。CompanyLogoTop8:常見算術(shù)運算符的使用知識點1、基本的算術(shù)運算符有:+、-(減法/取負)
、*、/、%(取余數(shù))2、關(guān)于除法運算/C語言規(guī)定:兩個整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。例5/2=-5/2.0=例5/2=2
-5/2.0=-2.53、關(guān)于求余數(shù)運算%
要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯。例5%2=-5%2=1%10=
5%1=5.5%2例5%2=1
-5%2=-11%10=
1
5%1=
05.5%2()第七十七頁,共807頁。第七十七頁,共807頁。CompanyLogo4、關(guān)于兩邊運算數(shù)類型不一致系統(tǒng)將自動進行轉(zhuǎn)換,使兩邊一致后再進行運算。5、所有實型數(shù)的運算均以雙精度方式進行,若是單精度,則在尾數(shù)部分添0,轉(zhuǎn)換為雙精度。Top8:常見算術(shù)運算符的使用6、算術(shù)表達式的概念(1)表達式的概念用運算符和括號將運算對象(常量、變量和函數(shù)等)連接起來的、符合C語言語法規(guī)則的式子,稱為表達式。(2)算術(shù)表達式的概念表達式中的運算符都是算術(shù)運算符。例如:3+6*9、(x+y)/2-1等,都是算術(shù)表達式。第七十八頁,共807頁。第七十八頁,共807頁。CompanyLogoTop8:常見算術(shù)運算符的使用7、強制類型轉(zhuǎn)換表達式轉(zhuǎn)換格式為:
(要轉(zhuǎn)換成的數(shù)據(jù)類型)(被轉(zhuǎn)換的表達式)(double)a等價于(double)(a))(int)(x+y) (float)5/2等價于(float)(5)/2(float)(5/2) 注意:強制轉(zhuǎn)換類型得到的是一個所需類型的中間量,原表達式類型并不發(fā)生變化。例如,(double)a只是將變量a的值轉(zhuǎn)換成一個double型的中間量,其數(shù)據(jù)類型并未轉(zhuǎn)換成double型。 第七十九頁,共807頁。第七十九頁,共807頁。Top8:常見算術(shù)運算符的使用真題分析(2011年9月)若有定義語句:intx=12,y=8,z;在其后執(zhí)行語句z=0.9+x/y;則z的值為___________。(選擇題15題)A)1.9B)1C)2D)2.4CompanyLogoB“/”為整除運算符,兩邊的運算對象都為整數(shù)時,運算結(jié)果為整型。Z為整型,所以最終結(jié)果為整數(shù)。第八十頁,共807頁。第八十頁,共807頁。CompanyLogoTop8:常見算術(shù)運算符的使用真題分析(2007年4月)以下選項中,當(dāng)x為大于1的奇數(shù)時,數(shù)為0的表達式為______A、x%2==1B、x/2C、x%2!=0D、x%2==0D%(求余運算符)的兩邊都必須是整型。大于1的奇數(shù)除以2,余數(shù)必為1。表達式成立時,整個表達式邏輯值為1表達式不成立時,整個表達式邏輯值為0。第八十一頁,共807頁。第八十一頁,共807頁。Top8:常見算術(shù)運算符的使用真題分析(2011年3月)以下程序運行后的輸出結(jié)果是_____(填空題第6題)。#includemain(){inta;a=(int)((double)(3/2)+0.5+(int)1.99*2);printf("%d\n",a);}CompanyLogo3第八十二頁,共807頁。第八十二頁,共807頁。CompanyLogoTop8:常見算術(shù)運算符的使用練習(xí)題1、設(shè)變量x為float型且已經(jīng)賦值,則以下語句中能將x中的數(shù)值保留到小數(shù)點后兩位,并將第三位四舍五入的是______A、x=x*100+0.5/100.0B、x=(x*100+0.5)/100.0C、x=(int)(x*100+0.5)/100.0D、x=(x/100+0.5)*100.0C第八十三頁,共807頁。第八十三頁,共807頁。CompanyLogoTop8:常見算術(shù)運算符的使用練習(xí)題2、若有語句inti=-19,j=i%4;printf(“%d\n”,j);則輸出結(jié)果是_______-3第八十四頁,共807頁。第八十四頁,共807頁。CompanyLogo1、算術(shù)運算符的優(yōu)先級()+-
*/
%+-單目雙目高低Top9:算術(shù)運算符的優(yōu)先級順序2、算術(shù)運算符和圓括號的結(jié)合性所謂結(jié)合性是指,當(dāng)一個操作數(shù)兩側(cè)的運算符具有相同的優(yōu)先級時,該操作數(shù)是先與左邊的運算符結(jié)合,還是先與右邊的運算符結(jié)合。自左至右的結(jié)合方向,稱為左結(jié)合性。反之,稱為右結(jié)合性。結(jié)合性是C語言的獨有概念。除單目運算符、賦值運算符和條件運算符是右結(jié)合性外,其它運算符都是左結(jié)合性。例如,算術(shù)運算符的結(jié)合方向是“自左至右”,即:在執(zhí)行“a–b+c”時,變量b先與減號結(jié)合,執(zhí)行“a-b”;然后再執(zhí)行加c的運算。第八十五頁,共807頁。第八十五頁,共807頁。CompanyLogoTop9:算術(shù)運算符的優(yōu)先級順序真題分析(2006年4月)表達式3.6-5/2+1.2+5%2的值是___A、4.3B、4.8C、3.3D、3.83.6-5/2+1.2+5%221.62.813.8D第八十六頁,共807頁。第八十六頁,共807頁。CompanyLogoTop9:算術(shù)運算符的優(yōu)先級順序真題分析(2005年9月)下列不能正確計算代數(shù)式sin2(1/2)/3值的C語言表達式是____1/3*sin(1/2)*sin(1/2)A.sin(0.5)*sin(0.5)/3B.pow(sin(0.5),2)/3C.1/3.0*pow(sin(1.0/2),2)D.1/3*sin(0)*sin(0)0.0766160.000000A第八十七頁,共807頁。第八十七頁,共807頁。CompanyLogoTop9:算術(shù)運算符的優(yōu)先級順序練習(xí)題1、設(shè)有定義:floata=2,b=4,h=3;以下C語言表達式與代數(shù)式計算結(jié)果不相符的是______A、(a+b)*h/2B、(1/2)*(a+b)*hC、(a+b)*h*1/2D、h/2*(a+b)B第八十八頁,共807頁。第八十八頁,共807頁。CompanyLogo賦值運算1賦值符號“=”就是賦值運算符,它的作用是將一個表達式的值賦給一個變量。賦值運算符的一般形式為:如果表達式值的類型,與被賦值變量的類型不一致,但都是數(shù)值型或字符型時,系統(tǒng)自動地將表達式的值轉(zhuǎn)換成被賦值變量的數(shù)據(jù)類型,然后再賦值給變量.例a=3;d=func();c=d+2;b=a;Top10:賦值表達式的求值規(guī)則變量=賦值表達式
第八十九頁,共807頁。第八十九頁,共807頁。CompanyLogo幾點說明:(1)賦值運算符的優(yōu)先級只高于逗號運算符,比其它的運算符優(yōu)先級都低,且具有自右向左的結(jié)合性。 如:a=2+7/3(2)賦值運算符不是數(shù)學(xué)中的“等于號”,而是進行“賦予”操作。(3)表達式x=y讀作“將y的值賦給變量x”而不讀作”x等于y“(4)賦值運算符左邊只能是變量,不能是常量或是表達式。如a+b=c就是錯誤的。(5)賦值運算符右邊也可以是賦值表達式。如a=b=7+1,而a=7+1=b則是錯誤的。(6)”=“視作運算符,a=19是一個表達式,C語言規(guī)定最左邊變量中所得到的新值就是賦值表達式的值。Top10:賦值表達式的求值規(guī)則第九十頁,共807頁。第九十頁,共807頁。CompanyLogo復(fù)合賦值表達式2復(fù)合賦值運算符是由賦值運算符之前再加一個雙目運算符構(gòu)成的。復(fù)合賦值運算的一般格式為:變量雙目運算符=表達式└──┬──┘復(fù)合賦值運算符等價于:變量
=變量雙目運算符(表達式)。當(dāng)表達式為簡單表達式時,表達式外的一對圓括號才可缺省,否則可能出錯。例:x+=3x=x+3y*=x+6 y=y*(x+6)Top10:賦值表達式的求值規(guī)則第九十一頁,共807頁。第九十一頁,共807頁。CompanyLogo說明:結(jié)合方向:自右向左左側(cè)必須是變量,不能是常量或表達式賦值表達式的值與變量值相等,且可嵌套賦值轉(zhuǎn)換規(guī)則:使賦值號右邊表達式值自動轉(zhuǎn)換成其左邊變量的類型例3=x-2*y;a+b=3;例
floatf;inti;i=10;f=i;則
f=10.0例inti;i=2.56;//結(jié)果i=2;例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)//表達式值為5,a,b,c值為5//b=5;a=5//表達式值11,c=6,a=11//表達式值10,a=10,b=4,c=6//表達式值5,a=5,b=10,c=2Top10:賦值表達式的求值規(guī)則X第九十二頁,共807頁。第九十二頁,共807頁。CompanyLogo思考2:
a=12;a+=a-=a*a思考3:inta=2;a%=4-1;a+=a*=a-=a*=3;//a=-264等價于a=a+(a=a-(a*a))//a=0等價于a=a+(a=a*(a=a-(a=a*3)))思考1:已有變量a,其值為9,計算表達式a+=a-=a+a(1)a+a=9+9,表達式的值為18,但是a的值不變,仍為9(2)a=a-18,表達式的值為-9,a的值變?yōu)椋?。(3)a=a+a,表達式的值為-18,a的值為-18Top10:賦值表達式的求值規(guī)則第九十三頁,共807頁。第九十三頁,共807頁。CompanyLogo賦值運算中的類型轉(zhuǎn)換3在C語言的賦值表達式中,賦值號右邊的值先轉(zhuǎn)換成與左邊的變量相同的類型,然后進行賦值。注意:(1)當(dāng)賦值號左邊的變量為短整型,右邊的值為長整型時,短整型變量只能接受長整型數(shù)據(jù)低位上的兩個字節(jié)的數(shù)據(jù),高位上的數(shù)據(jù)將丟失。也就是說,右邊的值不能超過短整型的數(shù)值范圍。Top10:賦值表達式的求值規(guī)則第九十四頁,共807頁。第九十四頁,共807頁。CompanyLogo例:shorta;unsignedlongb;b=98304;a=b;printf(“%d\n”,a);00000000000000011000000000000000高16位低16位結(jié)果Top10:賦值表達式的求值規(guī)則第九十五頁,共807頁。第九十五頁,共807頁。CompanyLogo(2)當(dāng)賦值號左邊的變量為無符號整型,右邊的值為有符號整型時,則把內(nèi)存中的內(nèi)容原樣復(fù)制。右邊數(shù)據(jù)的范圍不應(yīng)超出左邊變量可以接受的數(shù)據(jù)范圍。同時要注意,這時負數(shù)將轉(zhuǎn)換為正數(shù)。例:unsigneda;a=-1;printf(“%d\n”,a);1111111111111111-1的補碼結(jié)果=65535Top10:賦值表達式的求值規(guī)則第九十六頁,共807頁。第九十六頁,共807頁。CompanyLogo(3)當(dāng)賦值號左邊的變量為有符號整型,右邊的值為無符號整型時,復(fù)制的機制同上,這時,若符號位為1,將按負數(shù)處理。例:inta;unsignedb;a=b;printf(“%d\n”,a);1000000000000000結(jié)果=-32786Top10:賦值表達式的求值規(guī)則第九十七頁,共807頁。第九十七頁,共807頁。CompanyLogoTop10:賦值表達式的求值規(guī)則真題分析(2006年4月)以下敘述中錯誤的是_____A、C程序中的#include和#define均不是C語句B、除逗號運算符外,賦值運算符的優(yōu)先級最低C、C程序中,j++;是賦值語句D、C程序中,+、-、*、/、%是算術(shù)運算符,可用于整型和實型數(shù)的運算。D第九十八頁,共807頁。第九十八頁,共807頁。CompanyLogoTop10:賦值表達式的求值規(guī)則真題分析(2005年9月)下列能正確定義且賦初值的語句是_____A、intnl=n2=10;B、charc=32;C、floatf=f+1.1;D、doublex=12.3E2.5;C語言規(guī)定,變量必須先定義,后使用。A、C錯誤。A如果寫成:intn1,n2;對待n1=n2=10;則正確C如果寫成:floatf;f=f+1.1;則正確選項D中,E后面必須為整數(shù),不能是實數(shù)。B第九十九頁,共807頁。第九十九頁,共807頁。CompanyLogoTop10:賦值表達式的求值規(guī)則真題分析(2006年9月)若變量x、y已正確定義并賦值,下列符合C語言語法的表達式是_____A、++x,y=x--B、x+1=yC、x=x+10=x+yD、double(x)/10A賦值表達式的左邊必須是變量,不能是常量或表達式。所以B,C錯誤。D選項中,強制類型轉(zhuǎn)換應(yīng)該寫成:(double)x/10第一百頁,共807頁。第一百頁,共807頁。CompanyLogoTop10:賦值表達式的求值規(guī)則真題分析(2011年3月)若有定義語句:inta=3,b=2,c=1;,以下選項中錯誤的賦值表達式是______(選擇題15題)A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);A賦值運算符左邊只能是變量,不能是常量或是表達式第一百零一頁,共807頁。第一百零一頁,共807頁。CompanyLogoTop10:賦值表達式的求值規(guī)則練習(xí)題1、以下選項中,非法的表達式是______A、0<=x<100B、i=j==0C、(char)(65+3)D、x+1=x+1D第一百零二頁,共807頁。第一百零二頁,共807頁。CompanyLogoTop11逗號表達式的運算規(guī)則形式:表達式1,表達式2,……表達式n結(jié)合性:從左向右優(yōu)先級:所有運算符中,逗號運算符優(yōu)先級最低逗號表達式的值:等于表達式n的值用途:常用于循環(huán)for語句中例a=3*5,a*4a=3*5,a*4,a+5例x=(a=3,6*3)x=a=3,6*a例a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c);printf(“%d,%d,%d”,(a,b,c),b,c);//a=15,表達式值60//a=15,表達式值20//賦值表達式,表達式值18,x=18//逗號表達式,表達式值18,x=3//1,2,3//3,2,3第一百零三頁,共807頁。第一百零三頁,共807頁。CompanyLogo例:#include<stdio.h>main(){intx,y=7;floatz=4;x=(y=y+6,y/z);printf("x=%d\n",x);}運行結(jié)果:x=3形式:表達式1,表達式2,……表達式n結(jié)合性:從左向右優(yōu)先級:所有運算符中,逗號運算符優(yōu)先級最低逗號表達式的值:等于表達式n的值用途:常用于循環(huán)for語句中Top11逗號表達式的運算規(guī)則第一百零四頁,共807頁。第一百零四頁,共807頁。CompanyLogoTop11逗號表達式的運算規(guī)則考點逗號運算符的結(jié)合性為從左到右,先計算表達式1,最后計算表達式n,最后一個表達式的值即為該逗號表達式的值。逗號運算符在所有運算符中,優(yōu)先級最低。第一百零五頁,共807頁。第一百零五頁,共807頁。CompanyLogoTop11逗號表達式的運算規(guī)則真題分析(2007年4月)執(zhí)行以下程序后的輸出結(jié)果是_____main(){ inta=10;
a=(3*5,a+4); printf("a=%d\n",a);}
a=(3*5,a+4);①15②10+41414第一百零六頁,共807頁。第一百零六頁,共807頁。CompanyLogoTop11逗號表達式的運算規(guī)則真題分析(2005年9月)有以下程序,main(){chara1='M',a2='m';printf(“%c\n”,(a1,a2));}則下列說法正確的是_____A、程序輸出大寫字母MB、程序輸出小寫字母mC、格式說明符不足,編譯出錯D、程序運行時產(chǎn)生出錯信息B第一百零七頁,共807頁。第一百零七頁,共807頁。CompanyLogoTop11逗號表達式的運算規(guī)則練習(xí)題1、有如下程序,運行該程序的輸出結(jié)果是_____main(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}A、34 B、42 C、43 D、33D第一百零八頁,共807頁。第一百零八頁,共807頁。CompanyLogoTop12自加、自減運算符自加運算符++、自減運算符--1i++(或i--)表示在使用該表達式值之后將i值加1(或減1)。++i(或--i)表示在使用該表達式值之前將i值加1(或減1)說明:(1)++和--僅適用于變量(整型和實型),不能用于常量或表達式。(2)++和--運算符的結(jié)合方向是“至右向左”。例-i++-(i++)i=3;printf(“%d,%d”,-i++,i);
//-3,4例j+++k;(j++)+k;例-i++i=3;printf(“%d,%d”,-i++,i);第一百零九頁,共807頁。第一百零九頁,共807頁。CompanyLogo例自增、自減運算符的用法與運算規(guī)則示例。
main(){inta=100;printf(“a++=%d\n”,a++);
printf(“++a=%d\n”,++a);
printf(“a--=%d\n”,a--);
printf(“--a=%d\n”,--a);}/*輸出a++=100,a的值變?yōu)?01*/ /*輸出++a=102,a的值變?yōu)?02*/ /*輸出a--=102,a的值變?yōu)?
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 導(dǎo)游證資格考試講解風(fēng)格探討試題及答案
- 2025年房地產(chǎn)經(jīng)紀(jì)人資格考試通關(guān)試題與答案
- 營養(yǎng)學(xué)實踐應(yīng)用題與答案匯編
- 營養(yǎng)師證書的考試內(nèi)容解析試題及答案
- 營養(yǎng)師的職業(yè)心態(tài)調(diào)節(jié)試題及答案
- 個體營養(yǎng)需求的多樣性試題
- 高效備考營養(yǎng)師證試題及答案
- 2024年演出經(jīng)紀(jì)人資格證考場注意事項試題及答案
- 演出項目管理與經(jīng)紀(jì)人考試:試題及答案
- 演出經(jīng)濟人的職業(yè)發(fā)展與試題及答案
- 角鯊烯膠丸在認知功能中的作用
- 光學(xué)機器學(xué)習(xí)
- 廠房鋼結(jié)構(gòu)施工組織設(shè)計
- 睡眠呼吸暫停綜合征科普
- GB 44504-2024民用爆炸物品專用生產(chǎn)設(shè)備危險類別及使用年限
- 部編四下語文《千年夢圓在今朝》公開課教案教學(xué)設(shè)計【一等獎】
- IMAGEVIEW顯微鏡測量軟件說明書(全部教程)-
- 鋁材銷售合同范本
- 消防隊跨區(qū)域增援預(yù)案
- 外墻粉刷施工安全協(xié)議書
- 防止鍋爐水位事故的措施
評論
0/150
提交評論