![《二級(jí)C語音程序設(shè)計(jì)及同步訓(xùn)練》第二版全套電子課件完整版ppt整本書電子教案最全教學(xué)教程整套課件_第1頁](http://file4.renrendoc.com/view/2d2be6beaba44a4c9b2e1ef38ba7fd6d/2d2be6beaba44a4c9b2e1ef38ba7fd6d1.gif)
![《二級(jí)C語音程序設(shè)計(jì)及同步訓(xùn)練》第二版全套電子課件完整版ppt整本書電子教案最全教學(xué)教程整套課件_第2頁](http://file4.renrendoc.com/view/2d2be6beaba44a4c9b2e1ef38ba7fd6d/2d2be6beaba44a4c9b2e1ef38ba7fd6d2.gif)
![《二級(jí)C語音程序設(shè)計(jì)及同步訓(xùn)練》第二版全套電子課件完整版ppt整本書電子教案最全教學(xué)教程整套課件_第3頁](http://file4.renrendoc.com/view/2d2be6beaba44a4c9b2e1ef38ba7fd6d/2d2be6beaba44a4c9b2e1ef38ba7fd6d3.gif)
![《二級(jí)C語音程序設(shè)計(jì)及同步訓(xùn)練》第二版全套電子課件完整版ppt整本書電子教案最全教學(xué)教程整套課件_第4頁](http://file4.renrendoc.com/view/2d2be6beaba44a4c9b2e1ef38ba7fd6d/2d2be6beaba44a4c9b2e1ef38ba7fd6d4.gif)
![《二級(jí)C語音程序設(shè)計(jì)及同步訓(xùn)練》第二版全套電子課件完整版ppt整本書電子教案最全教學(xué)教程整套課件_第5頁](http://file4.renrendoc.com/view/2d2be6beaba44a4c9b2e1ef38ba7fd6d/2d2be6beaba44a4c9b2e1ef38ba7fd6d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、二級(jí)C語言程序設(shè)計(jì)及同步訓(xùn)練第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.1 程序設(shè)計(jì)基本概念 程序: 是以計(jì)算機(jī)能執(zhí)行的指令形式出現(xiàn)的、能完成具體工作任務(wù)的詳細(xì)步驟。 程序設(shè)計(jì): 是用戶根據(jù)具體的工作任務(wù)編寫出能讓計(jì)算機(jī)高效地完成該任務(wù)的程序的過程。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.1 程序設(shè)計(jì)基本概念 簡單的程序設(shè)計(jì)一般包含以下幾個(gè)部分:(1)確定數(shù)據(jù)結(jié)構(gòu)。分析具體任務(wù),確定輸入數(shù)據(jù)和輸出數(shù)據(jù),確定數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)。(2)確定算法。根據(jù)確定的數(shù)據(jù)結(jié)構(gòu)確定解決問題的方法,即完成任務(wù)的一步一步的步驟。(3)編寫程序。根據(jù)確定的數(shù)據(jù)結(jié)構(gòu)和算法,使用選定的計(jì)算機(jī)語言編寫程序代碼。簡稱“編程”。(4
2、)調(diào)試程序。將編寫好的程序輸入到計(jì)算機(jī)內(nèi)存中,對(duì)程序進(jìn)行測試并修正,直到程序符合任務(wù)要求。(5)整理文檔資料。根據(jù)數(shù)據(jù)結(jié)構(gòu)和程序整理編寫相關(guān)的文檔資料。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.1 程序設(shè)計(jì)基本概念 程序設(shè)計(jì)語言: 是用戶與計(jì)算機(jī)交流時(shí)需要使用計(jì)算機(jī)能理解的語言。 分為如下三大類:(1)機(jī)器語言。所有的指令都由二進(jìn)制數(shù)字0或1編碼組成。(2)匯編語言。采用人們?nèi)菀子洃浀姆?hào)和標(biāo)記來表示機(jī)器語言指令,使程序具有一定的可讀性。(3)高級(jí)語言。由人們?nèi)菀桌斫獾淖匀徽Z言和數(shù)學(xué)語言中一些簡單的符號(hào)和單詞組成,語句功能強(qiáng)大、可讀性好、編程效率最高。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.2 算法為解
3、決某一特殊問題而采取的確定而有限的操作步驟,稱為算法。一個(gè)算法應(yīng)具備以下五個(gè)基本特征:(1)確定性。(2)可行性。(3)有窮性。(4)有零個(gè)或多個(gè)輸入。(5)有一個(gè)或多個(gè)輸出。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.2 算法算法有多種表示方法,常用的有自然語言、流程圖和偽碼。下面是構(gòu)成傳統(tǒng)流程圖的幾種基本符號(hào):起止框輸入輸出框處理框判斷框流程線連接點(diǎn)第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.3 結(jié)構(gòu)化程序 由三種基本結(jié)構(gòu)構(gòu)成的程序稱為結(jié)構(gòu)化程序。程序的三種基本結(jié)構(gòu): (1)順序結(jié)構(gòu)。順序結(jié)構(gòu)中的語句是按書寫順序執(zhí)行的,即語句的執(zhí)行順序與書寫順序一致。順序結(jié)構(gòu)可用流程圖表示為:第1章 C語言及程序設(shè)計(jì)基本
4、知識(shí)1.3 結(jié)構(gòu)化程序 由三種基本結(jié)構(gòu)構(gòu)成的程序稱為結(jié)構(gòu)化程序。程序的三種基本結(jié)構(gòu): (2)選擇結(jié)構(gòu)。基本選擇結(jié)構(gòu)是指當(dāng)程序執(zhí)行到某一條語句時(shí)要根據(jù)給定的條件進(jìn)行判斷,根據(jù)條件是否滿足從兩種路徑中選擇一條路徑執(zhí)行?;具x擇結(jié)構(gòu)可用流程圖表示為:真假第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.3 結(jié)構(gòu)化程序 由三種基本結(jié)構(gòu)構(gòu)成的程序稱為結(jié)構(gòu)化程序。程序的三種基本結(jié)構(gòu): (3)循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)是根據(jù)條件是否滿足,使一組語句重復(fù)執(zhí)行多次或一次也不執(zhí)行。循環(huán)結(jié)構(gòu)可用流程圖表示為:真假真假第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.3 結(jié)構(gòu)化程序 模塊化結(jié)構(gòu): 當(dāng)計(jì)算機(jī)處理復(fù)雜任務(wù)時(shí),所編寫的程序經(jīng)常很長,對(duì)一個(gè)程序
5、設(shè)計(jì)者來說,工作量很大,程序結(jié)構(gòu)也顯得復(fù)雜。這時(shí)常常把這個(gè)復(fù)雜的較大的任務(wù)分解為若干個(gè)子任務(wù),每個(gè)子任務(wù)再繼續(xù)分解,直到每個(gè)小的子任務(wù)只完成一項(xiàng)簡單的功能。程序設(shè)計(jì)時(shí),用一個(gè)個(gè)小的模塊來完成,程序設(shè)計(jì)人員分別完成其中的一個(gè)或多個(gè)小模塊,由若干程序設(shè)計(jì)人員共同完成程序設(shè)計(jì)。這種程序設(shè)計(jì)的方法稱為“模塊化程序設(shè)計(jì)”,由一個(gè)個(gè)小的功能模塊構(gòu)成的程序結(jié)構(gòu)稱為模塊化結(jié)構(gòu)。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.4 C語言的發(fā)展及特點(diǎn) C語言由早期的編程語言BCPL(Basic Combind Programming Language)發(fā)展演變而來。 C語言特點(diǎn): (1)C語言功能齊全。(2)C語言是結(jié)構(gòu)化程
6、序設(shè)計(jì)語言。(3)C語言是中級(jí)語言。(4)C語言適用范圍廣、通用性強(qiáng)。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.5 C語言程序的構(gòu)成及格式例1.1 計(jì)算長為a,寬為b的長方形面積s的C程序。#includemain() /*主函數(shù)*/ int a,b,s; /*定義a,b,s三個(gè)整型變量*/ printf(a,b=?); scanf(%d,%d,&a,&b); /*讀入兩個(gè)整數(shù),存入變量a和b中*/ s=a*b; /*計(jì)算長方形的面積s的值*/ printf(s=%dn,s); /*輸出面積s的值*/第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.5 C語言程序的構(gòu)成及格式例1.2 求兩個(gè)整數(shù)中最大數(shù)的C程序。
7、#includemain() /*主函數(shù)*/ int a,b,c; /*定義a,b,c三個(gè)整型變量*/ printf(a,b=?); scanf(%d,%d,&a,&b);/*讀入兩個(gè)整數(shù),存入變量a和b中*/ c=max(a,b); /*調(diào)用max函數(shù)求a,b兩個(gè)數(shù)中的最大數(shù)*/ printf(c=%dn,c); /*輸出最大數(shù)c的值*/int max(int x,int y) /*定義max 函數(shù)*/int z; /*定義整型變量z*/ if(xy) z=x; else z=y;/* 求x,y兩個(gè)數(shù)中的最大數(shù)z*/ return(z); /*返回z的值*/第1章 C語言及程序設(shè)計(jì)基本知識(shí)1
8、.5 C語言程序的構(gòu)成及格式C語言程序具有以下結(jié)構(gòu):(1)C程序由函數(shù)構(gòu)成。(2)函數(shù)包括函數(shù)首部和函數(shù)體。(3)每個(gè)函數(shù)體必須用一對(duì)花括號(hào)“和”括起來,包括聲明部分和執(zhí)行部分。(4)聲明部分用來對(duì)函數(shù)中使用的變量和函數(shù)作說明。(5)執(zhí)行部分由基本語句組成,確定完成函數(shù)功能的操作。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.5 C語言程序的構(gòu)成及格式C語言程序格式說明:(1)每個(gè)基本語句的結(jié)尾必須要用“;”作為終止符。(2)每個(gè)程序必須有一個(gè)而且只能有一個(gè)稱為主函數(shù)的main()函數(shù)。(3)main()函數(shù)沒有固定的位置。(4)程序一般用小寫字母書寫。(5)注釋部分包含在“/*”和“*/”之間,可以出
9、現(xiàn)在程序的任何地方,在編譯時(shí)忽略。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.6 C語言程序的編輯與運(yùn)行C語言源程序的上機(jī)運(yùn)行一般包括編輯、編譯、連接和執(zhí)行四個(gè)步驟。(1)編輯。在Turbo C環(huán)境下,將C語言源程序通過鍵盤輸入到計(jì)算機(jī)中,修改源程序,以文件形式存盤,源程序的擴(kuò)展名為.C。(2)編譯。通過編輯將源程序輸入到計(jì)算機(jī)后,經(jīng)過C語言編譯器將其生成目標(biāo)程序,得到的目標(biāo)文件以.OBJ為文件擴(kuò)展名。(3)連接。將經(jīng)過編譯后生成的目標(biāo)文件和庫函數(shù)或其他目標(biāo)程序連接成可執(zhí)行的目標(biāo)程序,其擴(kuò)展名是.EXE。(4)執(zhí)行。連接后源程序的目標(biāo)程序就是可執(zhí)行文件了。在DOS系統(tǒng)下,只要鍵入可執(zhí)行文件名,按回車鍵
10、即可。即最后執(zhí)行的是連接后生成的.EXE文件。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.7 本章考點(diǎn)算法的特征。程序的三種基本結(jié)構(gòu)。C語言程序的構(gòu)成及格式。C語言程序的編輯與運(yùn)行。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.8 典型試題詳解1以下敘述正確的是_。A)構(gòu)成C程序的基本單位是函數(shù)B)可以在函數(shù)中定義另一個(gè)函數(shù)C)main()函數(shù)必須放在其他函數(shù)之前D)所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義正確答案:A(知識(shí)點(diǎn):C語言程序的構(gòu)成及格式)試題分析:構(gòu)成C程序的基本單位是函數(shù),一個(gè)C程序中有且只有一個(gè)main函數(shù),main函數(shù)在程序中沒有固定的位置。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.8 典型試題詳
11、解2一個(gè)C程序中_。A)main函數(shù)必須出現(xiàn)在所有函數(shù)之前B)main函數(shù)可以在任何地方出現(xiàn)C)main函數(shù)必須出現(xiàn)在所有函數(shù)之后D)main函數(shù)必須出現(xiàn)在固定位置正確答案:B(知識(shí)點(diǎn):C語言程序的構(gòu)成及格式)試題分析:構(gòu)成C程序的基本單位是函數(shù),一個(gè)C程序中有且只有一個(gè)main函數(shù),main函數(shù)在程序中沒有固定的位置。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.8 典型試題詳解3C語言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是_。A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)B)if、switch、breakC)for、while、do-whileD)if、for、continue正確答案:A(知識(shí)點(diǎn):程序的三種基本結(jié)
12、構(gòu))試題分析:結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.8 典型試題詳解4以下敘述中正確的是_。A)C語言比其他語言高級(jí)B)C語言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行C)C語言以接近英國國家的自然語言和數(shù)學(xué)語言為語言的表達(dá)形式D)C語言出現(xiàn)最晚,具有其他語言的一切優(yōu)點(diǎn)正確答案:C(知識(shí)點(diǎn):程序設(shè)計(jì)語言)試題分析:C語言是高級(jí)語言中的一種。高級(jí)語言由人們?nèi)菀桌斫獾淖匀徽Z言(英語)和數(shù)學(xué)語言中一些簡單的符號(hào)和單詞組成。計(jì)算機(jī)不能直接識(shí)別高級(jí)語言,需要經(jīng)過專用軟件轉(zhuǎn)換為機(jī)器語言程序才能在計(jì)算機(jī)上運(yùn)行。轉(zhuǎn)換方式分解釋方式和編譯方式兩類,C語言采用編譯方
13、式。第1章 C語言及程序設(shè)計(jì)基本知識(shí)1.8 典型試題詳解5算法具有五個(gè)特性,以下選項(xiàng)中不屬于算法特性的是_。A)有窮性B)簡潔性C)可行性D)確定性正確答案:B(知識(shí)點(diǎn):算法的特征)試題分析:算法具有有窮性、確定性、可行性、有零個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出五個(gè)特性。第2章 數(shù)據(jù)與運(yùn)算2.1 常量與變量常量:是在程序運(yùn)行過程中其值不能發(fā)生改變的量。例如256、3.45、a等。變量:是在程序運(yùn)行過程中其值可以發(fā)生改變的量。變量在內(nèi)存中占據(jù)一定的存儲(chǔ)單元。在該存儲(chǔ)單元中存放變量的值。變量的標(biāo)識(shí)通過給變量取名實(shí)現(xiàn),所以一個(gè)變量應(yīng)該有一個(gè)名字。用來標(biāo)識(shí)變量名、符號(hào)常量名、函數(shù)名、數(shù)組名、類型名、文件名
14、的有效字符序列稱為標(biāo)識(shí)符,簡單地說,標(biāo)識(shí)符就是一個(gè)名字。第2章 數(shù)據(jù)與運(yùn)算2.1 常量與變量C語言規(guī)定標(biāo)識(shí)符必須滿足以下規(guī)則:(1)所有標(biāo)識(shí)符必須由一個(gè)字母(az,AZ)或下劃線( _ )開頭。(2)標(biāo)識(shí)符的其他部分可以用字母、下劃線或數(shù)字 (09)組成。(3)大小寫字母表示不同意義,即代表不同的標(biāo)識(shí)符。(4)標(biāo)識(shí)符只有前32個(gè)字符有效。(5)標(biāo)識(shí)符應(yīng)當(dāng)盡量遵循“簡潔明了”和“見名知義”的原則。(6)標(biāo)識(shí)符不能使用C語言的關(guān)鍵字。第2章 數(shù)據(jù)與運(yùn)算2.1 常量與變量所謂關(guān)鍵字就是已被Turbo C 2.0本身使用、不能作其他用途使用的字。Turbo C 2.0有以下關(guān)鍵字:Turbo C 2.
15、0擴(kuò)展的共11個(gè): asm_cs _ds _es_ss cdecl farnearhugeinterrupt pascal 由ANSI標(biāo)準(zhǔn)定義的共32個(gè): auto double int structbreak else long switch caseenum register typedef char externreturnunionconstfloat shortunsignedcontinueforsigned void default gotosizeofvolatiledoif whilestatic第2章 數(shù)據(jù)與運(yùn)算2.1 常量與變量C語言規(guī)定變量在使用前必須先定義。變量定義的
16、一般形式為: 類型說明符 變量標(biāo)識(shí)符,變量標(biāo)識(shí)符,;示例:int a,b,c; float e,f; char x,y;以上int,float,char為類型說明符,a,b,c,e,f,x,y為變量標(biāo)識(shí)符。第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型數(shù)據(jù)的組織形式稱為數(shù)據(jù)結(jié)構(gòu)。C語言中的數(shù)據(jù)結(jié)構(gòu)表現(xiàn)為數(shù)據(jù)類型。 數(shù)據(jù)類型基本類型構(gòu)造類型空類型指針類型數(shù)組類型結(jié)構(gòu)體類型共用體類型整型字符型實(shí)型單精度枚舉類型第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型1整型變量數(shù)據(jù)類型類型說明符位(字節(jié)數(shù))數(shù)的范圍基本整型int16(2)-3276832767-215(215-1)短整型short16(2)-3276832767-2
17、15(215-1)長整型long int32(4)-21474836482147483647-231(231-1)無符號(hào)基本整型unsigned int16(2)0655350(216-1)無符號(hào)短整型unsigned short16(2)0655350(216-1)無符號(hào)長整型unsigned long32(4)042949672950(232-1)2.2.1 整型數(shù)據(jù)第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型整型變量的定義: 整型類型說明符 變量標(biāo)識(shí)符,變量標(biāo)識(shí)符,;示例:int a,b,c; /*定義a,b,c為基本整型變量*/ long d,e; /*定義d,e為長整型變量*/ unsigne
18、d x,y; /*定義x,y為無符號(hào)基本整型變量*/在書寫變量說明時(shí),應(yīng)注意以下幾點(diǎn):(1)允許在一個(gè)類型說明符后說明多個(gè)相同類型的變量。各變量名之間用逗號(hào)間隔。類型說明符與變量名之間至少用一個(gè)空格間隔。(2)最后一個(gè)變量名之后必須以“;”號(hào)結(jié)尾。(3)變量說明必須放在變量使用之前,一般放在函數(shù)體的開頭部分。1整型變量2.2.1 整型數(shù)據(jù)第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型2整型常量整型常量即整常數(shù)。按不同的進(jìn)制區(qū)分,整型常數(shù)有三種表示方法:(1)十進(jìn)制數(shù):以非0開始的數(shù),如:254,-10,45600。(2)八進(jìn)制數(shù):以0開始的數(shù),如:06,0106,057。(3)十六進(jìn)制數(shù):以0X或0 x開
19、始的數(shù),如:0X2A,0XFF,0 x58。1整型變量2.2.1 整型數(shù)據(jù)第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型(1)一個(gè)整常量,如果其值在-32768+32767范圍內(nèi),認(rèn)為它是int型。它可以賦值給int型和1ong int型變量。(2)一個(gè)整常量,如果其值超過了上述范圍,而在-21474836482147483647范圍內(nèi),則認(rèn)為它是1ong int型??梢詫⑺x值給一個(gè)1ong int型變量。(3)如果某一計(jì)算機(jī)系統(tǒng)的C版本確定的short int 與int型數(shù)據(jù)在內(nèi)存中占據(jù)的長度相同,則它表示的數(shù)據(jù)范圍與int型相同,因此一個(gè)int型的常量也同時(shí)是一個(gè)short int型常量,可以賦給i
20、nt型或short int型變量;整型常量的類型:2整型常量1整型變量2.2.1 整型數(shù)據(jù)第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型(4)常量中無unsigned型。但一個(gè)非負(fù)值的整常量可以賦給unsigned型整變量,只要它的范圍不超過變量表示的數(shù)據(jù)范圍即可。例如,將50000賦給一個(gè)unsigned int型變量是可以的,而將70000賦給它則是不行的(溢出)。(5)在一個(gè)整常量后面加一個(gè)字母l或L,則認(rèn)為是1ong int型常量。整型常量的類型:2整型常量1整型變量2.2.1 整型數(shù)據(jù)第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型2.2.2 實(shí)型數(shù)據(jù)1實(shí)型變量實(shí)型也稱為浮點(diǎn)型,Turbo C中實(shí)型變量有以下
21、兩種類型:(1)單精度浮點(diǎn)型。類型說明符為float,占4個(gè)字節(jié)(32位)內(nèi)存空間,其數(shù)值范圍為3.4E-383.4E+38,只能提供七位有效數(shù)字。 (2)雙精度浮點(diǎn)型。類型說明符為double,占8個(gè)字節(jié)(64位)內(nèi)存空間,其數(shù)值范圍為1.7E-3081.7E+308,可提供十六位有效數(shù)字。 說明:浮點(diǎn)數(shù)均為有符號(hào)浮點(diǎn)數(shù),沒有無符號(hào)浮點(diǎn)數(shù)。第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型2.2.2 實(shí)型數(shù)據(jù)1實(shí)型變量實(shí)型變量定義: 實(shí)型類型說明符 變量標(biāo)識(shí)符,變量標(biāo)識(shí)符,;示例:float a, f; /*定義a,f為單精度浮點(diǎn)型變量*/ double b; /*定義b為雙精度浮點(diǎn)型變量*/ 第2章 數(shù)據(jù)
22、與運(yùn)算2.2 數(shù)據(jù)類型2.2.2 實(shí)型數(shù)據(jù)1實(shí)型變量2實(shí)型常量實(shí)型常量又稱實(shí)數(shù)或浮點(diǎn)數(shù),有兩種表示形式:(1)十進(jìn)制數(shù)形式。十進(jìn)制數(shù)形式由數(shù)字和小數(shù)點(diǎn)組成(注意必須有小數(shù)點(diǎn))。例如:0.123、.123、123.0、123.、0.0、123.123等都是十進(jìn)制數(shù)形式。(2)指數(shù)形式。指數(shù)形式由十進(jìn)制數(shù)加階碼標(biāo)志“e”或“E”以及階碼(只能為整數(shù),可以帶符號(hào))組成。其一般形式為a E n (a為十進(jìn)制數(shù),n為十進(jìn)制整數(shù)),表示值為 a10n,其中,a,n均不可缺省。 例:0.123E4 表示值為0.123104 -5.123E-4 表示值為-5.12310-4第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型2
23、.2.2 實(shí)型數(shù)據(jù)1實(shí)型變量2實(shí)型常量說明:(1)浮點(diǎn)常數(shù)只有一種進(jìn)制(十進(jìn)制)。(2)所有實(shí)型常量都被默認(rèn)為double類型。(3)絕對(duì)值小于1的浮點(diǎn)數(shù),其小數(shù)點(diǎn)前面的零可以省略。(4)Turbo C以默認(rèn)格式輸出浮點(diǎn)數(shù)時(shí),最多只保留小數(shù)點(diǎn)后六位。第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型2.2.3 字符型數(shù)據(jù)1字符常量C語言的字符常量是用單引號(hào)(即撇號(hào))括起來的一個(gè)字符。例如:a、x,D、?、 $、A4等都是不同的字符常量。 C還允許用一種特殊形式的字符常量,這種特殊形式的字符常量稱為轉(zhuǎn)義字符。轉(zhuǎn)義字符以反斜線“”開頭,后跟一個(gè)或幾個(gè)字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”
24、字符。轉(zhuǎn)義字符主要用來表示那些用一般字符不便于表示的控制代碼。第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型2.2.3 字符型數(shù)據(jù)1字符常量轉(zhuǎn)義字符表示含義n回車換行t橫向跳到下一制表位置v豎向跳格b退格r回車f走紙換頁反斜線符單引號(hào)符a鳴鈴ddd13位八進(jìn)制數(shù)所代表的字符xhh12位十六進(jìn)制數(shù)所代表的字符第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型2.2.3 字符型數(shù)據(jù)1字符常量2字符變量字符型變量用來存放字符常量。類型說明符為char。占1個(gè)字節(jié)(8位)內(nèi)存空間。字符變量的定義: 字符型類型說明符 變量標(biāo)識(shí)符,變量標(biāo)識(shí)符,;示例:char a,b; /*定義a,b為字符型變量*/ 第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)
25、類型2.2.3 字符型數(shù)據(jù)1字符常量2字符變量字符值是以ASCII碼的形式存放在變量的內(nèi)存單元中的。例如:如果有char a,b; a=x;b=y;查表可知,x的十進(jìn)制ASCII碼是120,y的十進(jìn)制ASCII碼是121,所以對(duì)字符變量a,b賦予x和y值,實(shí)際上是在a,b兩個(gè)單元內(nèi)存放120和121的二進(jìn)制代碼,即:a單元為:b單元為:0111100001111001第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型2.2.3 字符型數(shù)據(jù)1字符常量2字符變量由此可見,字符型量也可以看成是整型量。語言允許對(duì)整型變量賦以字符值,也允許對(duì)字符變量賦以整型值。在輸出時(shí),允許把字符變量按整型量輸出,也允許把整型量按字符
26、型量輸出。整型量為二字節(jié)量,字符型量為單字節(jié)量,當(dāng)整型量按字符型量處理時(shí), 只有低八位字節(jié)參與處理。第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型2.2.3 字符型數(shù)據(jù)1字符常量2字符變量3字符串常量C語言的字符串常量是用雙引號(hào)括起來的一個(gè)字符序列。例如“ABcd”、“9”、“a”等都是字符串常量。第2章 數(shù)據(jù)與運(yùn)算2.2 數(shù)據(jù)類型2.2.3 字符型數(shù)據(jù)1字符常量2字符變量3字符串常量字符串常量和字符常量是不同的量。它們之間主要有以下區(qū)別:(1)字符常量由單引號(hào)括起來,字符串常量由雙引號(hào)括起來。(2)字符常量只能是單個(gè)字符,字符串常量則可以含多個(gè)字符。(3)可以把一個(gè)字符常量賦給一個(gè)字符變量,但不能把一個(gè)
27、字符串常量賦給一個(gè)字符變量。在語言中沒有相應(yīng)的字符串變量。(4)字符常量占一個(gè)字節(jié)的內(nèi)存空間。字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字符數(shù)加1。增加的一個(gè)字節(jié)中存放字符0,這是字符串結(jié)束的標(biāo)志。字符常量a和字符串常量“a”雖然看上去都只有一個(gè)字符,但在內(nèi)存中的情況是不同的:a在內(nèi)存中占一個(gè)字節(jié),可表示為a;“a”在內(nèi)存中占兩個(gè)字節(jié),可表示為a0。第2章 數(shù)據(jù)與運(yùn)算2.3 運(yùn)算符和表達(dá)式2.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式1算術(shù)運(yùn)算符運(yùn)算符作用運(yùn)算符作用+加-取負(fù)-減-減1*乘+增1/除(類型)類型轉(zhuǎn)換%取模第2章 數(shù)據(jù)與運(yùn)算2.3 運(yùn)算符和表達(dá)式2.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式1算術(shù)運(yùn)算符2算術(shù)
28、表達(dá)式算術(shù)表達(dá)式是由算術(shù)運(yùn)算符、括號(hào)以及操作對(duì)象組成的符合C語言語法規(guī)則的表達(dá)式。C語言規(guī)定:(1)模運(yùn)算符%僅用于整型變量或整型常量。(2)一個(gè)表達(dá)式中如有多個(gè)運(yùn)算符,則按相應(yīng)運(yùn)算符的優(yōu)先級(jí)順序計(jì)算。(3)當(dāng)運(yùn)算對(duì)象兩側(cè)的運(yùn)算符的優(yōu)先級(jí)別相同時(shí),應(yīng)按運(yùn)算符的結(jié)合律處理。第2章 數(shù)據(jù)與運(yùn)算2.3 運(yùn)算符和表達(dá)式2.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式1算術(shù)運(yùn)算符2算術(shù)表達(dá)式運(yùn)算符優(yōu)先級(jí)(值小的優(yōu)先級(jí)高)結(jié)合律+-(減)4從左向右*/%3-(取負(fù))-+(類型)2從右向左第2章 數(shù)據(jù)與運(yùn)算2.3 運(yùn)算符和表達(dá)式2.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式1算術(shù)運(yùn)算符2算術(shù)表達(dá)式(4)增1 運(yùn)算符“+”是操作數(shù)加1
29、,而減1運(yùn)算符“- -”則是操作數(shù)減1。 例:x=x+1 可寫成x+或+x x=x-1 可寫成x-或-x 但是,表達(dá)式x+與+x是有區(qū)別的。表達(dá)式x+的值為x的原值(不增加1),而表達(dá)式+x的值為x變量增加1后的值。 例如:執(zhí)行m=4;x= m +;后,m=5,x=4。 執(zhí)行m=4;x= + m;后,m=5,x=5。 同理,表達(dá)式x-值為x的原值(不減1),而表達(dá)式-x值為x原值減1后的值。(5)+和-僅適用于變量,不能用于常量或表達(dá)式。第2章 數(shù)據(jù)與運(yùn)算2.3 運(yùn)算符和表達(dá)式2.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式1算術(shù)運(yùn)算符2算術(shù)表達(dá)式3類型轉(zhuǎn)換類型轉(zhuǎn)換有兩種方式:自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。自
30、動(dòng)類型轉(zhuǎn)換:運(yùn)算時(shí)不必用戶指定,系統(tǒng)自動(dòng)將不同類型的數(shù)據(jù)轉(zhuǎn)換成同一類型,然后進(jìn)行計(jì)算。C語言規(guī)定不同類型數(shù)值轉(zhuǎn)換的規(guī)則如下:double float (必轉(zhuǎn))long Unsignedint char ,short (必轉(zhuǎn))第2章 數(shù)據(jù)與運(yùn)算2.3 運(yùn)算符和表達(dá)式2.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式1算術(shù)運(yùn)算符2算術(shù)表達(dá)式3類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換:當(dāng)自動(dòng)類型轉(zhuǎn)換不能實(shí)現(xiàn)目的時(shí),可以用強(qiáng)制類型轉(zhuǎn)換。強(qiáng)制類型轉(zhuǎn)換的一般形式如下: (類型)例如:(int)(a+b) 是將a+b的結(jié)果強(qiáng)制轉(zhuǎn)換成int型; (float) a/b 是將a的結(jié)果強(qiáng)制轉(zhuǎn)換成float型后, 再進(jìn)行計(jì)算。第2章 數(shù)據(jù)與運(yùn)算2.3
31、 運(yùn)算符和表達(dá)式2.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式2.3.2 賦值運(yùn)算符和賦值表達(dá)式1賦值運(yùn)算符C語言的賦值運(yùn)算符是“=”,其作用是將賦值運(yùn)算符右邊表達(dá)式的值賦給其左邊的變量。2賦值表達(dá)式賦值表達(dá)式是由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來的式子。賦值表達(dá)式的一般形式如下: 變量=表達(dá)式說明:(1)賦值表達(dá)式的值等于計(jì)算后賦值運(yùn)算符左邊變量的值。(2)賦值運(yùn)算符左邊必須是變量。注意:如果賦值運(yùn)算符兩側(cè)的類型不一致,但都是數(shù)值型或字符型時(shí),在賦值時(shí)要進(jìn)行類型轉(zhuǎn)換,將賦值運(yùn)算符右邊表達(dá)式值的類型轉(zhuǎn)換成賦值運(yùn)算符左邊變量的類型。(1)將實(shí)型數(shù)據(jù)(包括單、雙精度)賦給整型變量時(shí),舍棄實(shí)數(shù)的小數(shù)部分。
32、 例:執(zhí)行:int a; a=12.345; 結(jié)果:a =12(2)將整型數(shù)據(jù)賦給單、雙精度變量時(shí),數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲(chǔ)到變量中。 例:執(zhí)行:float b; b=12; 結(jié)果:b =12.00000注意:如果賦值運(yùn)算符兩側(cè)的類型不一致,但都是數(shù)值型或字符型時(shí),在賦值時(shí)要進(jìn)行類型轉(zhuǎn)換,將賦值運(yùn)算符右邊表達(dá)式值的類型轉(zhuǎn)換成賦值運(yùn)算符左邊變量的類型。(3)字符型數(shù)據(jù)賦給整型變量時(shí),由于字符只占一個(gè)字節(jié),而整型變量為兩個(gè)字節(jié),因此將字符數(shù)據(jù)(8位)放到整型變量低8位中。Turbo C系統(tǒng)將字符處理為帶符號(hào)的量,若字符最高位為0,則整型變量高8位全補(bǔ)0;若字符最高位為1,則高8位全補(bǔ)1。 例:
33、執(zhí)行:int c; 執(zhí)行:int c; c=a; c=376; 結(jié)果:c =97 結(jié)果:c =-2(4)整型數(shù)據(jù)賦給字符型變量,只把低8位原封不動(dòng)送到字符型變量(即截?cái)啵W⒁猓喝绻x值運(yùn)算符兩側(cè)的類型不一致,但都是數(shù)值型或字符型時(shí),在賦值時(shí)要進(jìn)行類型轉(zhuǎn)換,將賦值運(yùn)算符右邊表達(dá)式值的類型轉(zhuǎn)換成賦值運(yùn)算符左邊變量的類型。(5)將帶符號(hào)的整型數(shù)據(jù)(int型)賦給1ong int型變量時(shí)。要進(jìn)行符號(hào)擴(kuò)展,如果int型數(shù)據(jù)為正值(符號(hào)位為0),則1ong int型變量的高16位補(bǔ)0;如int型變量為負(fù)值(符號(hào)位為1),則1ong int型變量的高16位補(bǔ)1,將整型數(shù)的16位送到1ong型低16位中,以
34、保持?jǐn)?shù)值不改變。反之,若將一個(gè)1ong int型數(shù)據(jù)賦給一個(gè)int型變量,只把低16位原封不動(dòng)送到整型變量(即截?cái)啵?。例:?zhí)行:int a=12; 執(zhí)行:int a; long b; long b=65536; b=a; a=b; 結(jié)果:b =12 結(jié)果:a =0注意:如果賦值運(yùn)算符兩側(cè)的類型不一致,但都是數(shù)值型或字符型時(shí),在賦值時(shí)要進(jìn)行類型轉(zhuǎn)換,將賦值運(yùn)算符右邊表達(dá)式值的類型轉(zhuǎn)換成賦值運(yùn)算符左邊變量的類型。(6)將signed類型數(shù)據(jù)賦給長度相同的unsigned型變量時(shí),原樣照賦(連同符號(hào)位);反之,將unsigned類型數(shù)據(jù)賦給長度相同的signed型變量時(shí),同樣原樣照賦,再將最高位作為
35、符號(hào)位處理。例:執(zhí)行:unsigned a; 執(zhí)行:int a; int b=-1; unsigned b=65535; a = b; a = b; 結(jié)果:a =65535 結(jié)果:b =-1第2章 數(shù)據(jù)與運(yùn)算2.3 運(yùn)算符和表達(dá)式2.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式2.3.2 賦值運(yùn)算符和賦值表達(dá)式3復(fù)合賦值運(yùn)算符C語言允許在賦值運(yùn)算符“=”之前加上其他運(yùn)算符,以構(gòu)成其復(fù)合運(yùn)算符。復(fù)合運(yùn)算符有:+=、-=、*=、/=、%=。例如:a+=2 等價(jià)于 a=a+2 x*=y+5 等價(jià)于 x=x*(y+5) x%=8 等價(jià)于 x=x%8同樣:(1)復(fù)合賦值表達(dá)式的值等于計(jì)算后賦值運(yùn)算符左邊變量的值。(2
36、)復(fù)合賦值運(yùn)算符左邊必須是變量。 賦值運(yùn)算符的結(jié)合律都是從右向左執(zhí)行,其優(yōu)先級(jí)低于所有算術(shù)運(yùn)算符。第2章 數(shù)據(jù)與運(yùn)算2.3 運(yùn)算符和表達(dá)式2.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式2.3.2 賦值運(yùn)算符和賦值表達(dá)式2.3.3 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符為“,”。逗號(hào)表達(dá)式是用逗號(hào)運(yùn)算符把表達(dá)式組合成的一個(gè)表達(dá)式。其一般形式為: 表達(dá)式1,表達(dá)式2,表達(dá)式3,表達(dá)式N說明:(1)逗號(hào)表達(dá)式的執(zhí)行過程是:依次求表達(dá)式1的值、表達(dá)式2的值、表達(dá)式N的值,整個(gè)逗號(hào)表達(dá)式的值是表達(dá)式N的值。(2)逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的。第2章 數(shù)據(jù)與運(yùn)算2.3 運(yùn)算符和表達(dá)式2.3.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式
37、2.3.2 賦值運(yùn)算符和賦值表達(dá)式2.3.3 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式例如:main() int x, y; x=50; y=(x=x-5, x/5); 上面程序執(zhí)行后y的值為9,因?yàn)閤的初始值為50,減5后變?yōu)?5,45除5為9賦給y。 第2章 數(shù)據(jù)與運(yùn)算2.4 本章考點(diǎn) C語言對(duì)用戶標(biāo)識(shí)符的規(guī)定。整型變量的定義和整型常量的表示。實(shí)型變量的定義和實(shí)型常量的表示。字符型變量的定義和字符型常量的表示。算術(shù)運(yùn)算符和算術(shù)表達(dá)式。賦值運(yùn)算符和賦值表達(dá)式。逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式。運(yùn)算符的優(yōu)先級(jí)和結(jié)合律?;旌线\(yùn)算中的類型轉(zhuǎn)換。第2章 數(shù)據(jù)與運(yùn)算2.5 典型試題詳解1以下選項(xiàng)中合法的用戶標(biāo)識(shí)符是_。A)lon
38、gB)_2TestC)3DmaxD)A.dat正確答案:B(知識(shí)點(diǎn):C語言對(duì)用戶標(biāo)識(shí)符的規(guī)定)試題分析:C語言規(guī)定標(biāo)識(shí)符必須由一個(gè)字母(az,AZ)或下劃線(_)開頭,標(biāo)識(shí)符的其他部分可以用字母、下劃線或數(shù)字(09)組成。第2章 數(shù)據(jù)與運(yùn)算2.5 典型試題詳解2以下選項(xiàng)中不屬于C語言的類型的是_。A)signed short intB)unsigned long intC)unsigned intD)long short正確答案:D(知識(shí)點(diǎn):C語言的基本數(shù)據(jù)類型)試題分析:C語言的基本類型包括signed short int、unsigned long int、unsigned int、cha
39、r、float、double等,沒有l(wèi)ong short類型。第2章 數(shù)據(jù)與運(yùn)算2.5 典型試題詳解3在16位C編譯系統(tǒng)上,若定義long a;,則能給變量a賦值40000的正確語句是_。A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L;正確答案:D(知識(shí)點(diǎn):算術(shù)運(yùn)算和賦值運(yùn)算中的類型轉(zhuǎn)換)試題分析:A、B、C選項(xiàng)中參與算術(shù)運(yùn)算的對(duì)象是int類型,其結(jié)果應(yīng)該是int類型,而結(jié)果值40000超出int類型范圍,發(fā)生溢出,運(yùn)算結(jié)果截取40000的低16位,再將其進(jìn)行符號(hào)位擴(kuò)展,賦給long類型的a,則a中的結(jié)果并不是40000。D選
40、項(xiàng)中參與算術(shù)運(yùn)算的對(duì)象是long類型,其結(jié)果是long類型,賦給long類型的a,則a中的結(jié)果是40000。第2章 數(shù)據(jù)與運(yùn)算2.5 典型試題詳解4以下選項(xiàng)中可以作為C語言中合法整數(shù)的是_。A)10110BB)0386C)0 xffaD)x2a2正確答案:C(知識(shí)點(diǎn):整型常量)試題分析:C語言中整數(shù)的表示有十進(jìn)制、八進(jìn)制、十六進(jìn)制三種方法。A、D選項(xiàng)應(yīng)該是十進(jìn)制表示方法,但A、D選項(xiàng)中出現(xiàn)了非法符號(hào)B、x、a;B選項(xiàng)應(yīng)該是八進(jìn)制表示方法,但選項(xiàng)中出現(xiàn)了非法符號(hào)8;C選項(xiàng)是十六進(jìn)制表示方法,沒有出現(xiàn)非法符號(hào)。第2章 數(shù)據(jù)與運(yùn)算2.5 典型試題詳解5以下程序的輸出結(jié)果是_。main() unsig
41、ned short a=65536;int b; printf(%dn,b=a); 正確答案:0(知識(shí)點(diǎn):賦值運(yùn)算中的類型轉(zhuǎn)換)試題分析:將unsigned類型數(shù)據(jù)賦給長度相同的signed型變量時(shí),同樣原樣照賦,再將最高位作為符號(hào)位處理。第2章 數(shù)據(jù)與運(yùn)算2.5 典型試題詳解6已知大寫字母A的ASCII碼值為65,小寫字母a的ASCII碼值為97,則用八進(jìn)制表示的字符常量101是_。A)字符AB)字符aC)字符eD)非法的常量正確答案:A(知識(shí)點(diǎn):字符常量)試題分析:101是轉(zhuǎn)義字符,表示八進(jìn)制數(shù)據(jù)101對(duì)應(yīng)的ASCII碼字符,即“A”。第2章 數(shù)據(jù)與運(yùn)算2.5 典型試題詳解7以下選項(xiàng)中,非
42、法的字符常量是_。A)tB)117C)“n”D)xaa正確答案:C(知識(shí)點(diǎn):字符常量)試題分析:C語言規(guī)定,字符常量是用單引號(hào)引起來的一個(gè)字符。第2章 數(shù)據(jù)與運(yùn)算2.5 典型試題詳解8以下非法的賦值語句是_。A)n=(i=2,+i);B)j+;C)+(i+1);D)x=j0;正確答案:C(知識(shí)點(diǎn):賦值運(yùn)算)試題分析:+和-僅適用于變量,不能用于常量或表達(dá)式。第2章 數(shù)據(jù)與運(yùn)算2.5 典型試題詳解9若已定義x和y為double類型,則表達(dá)式x=1,y=x+3/2的值是_。A)1B)2 C)2.0 D)2.5正確答案:C(知識(shí)點(diǎn):逗號(hào)表達(dá)式,混合類型運(yùn)算)試題分析:x=1,y=x+3/2是一個(gè)逗號(hào)
43、表達(dá)式,按順序先計(jì)算x=1,再計(jì)算y=x+3/2,整個(gè)逗號(hào)表達(dá)式的值等于表達(dá)式y(tǒng)=x+3/2的值。計(jì)算y=x+3/2時(shí),3/2中3和2都是int類型,3/2的結(jié)果是int類型值1,與double類型的x相加,結(jié)果為double類型的2.0,再賦給double類型的y,所以y和表達(dá)式y(tǒng)=x+3/2的值均為double類型的2.0。第2章 數(shù)據(jù)與運(yùn)算2.5 典型試題詳解10設(shè)x、y 均為整型變量,且x=10,y=3,則以下語句的輸出結(jié)果是_。printf(%d,%dn,x-,-y)A)10,3B)9,3C)9,2D)10,2正確答案:D(知識(shí)點(diǎn):減1運(yùn)算)試題分析:語句的輸出結(jié)果是x-、-y兩表達(dá)
44、式的值。表達(dá)式x-的值為x沒有減1的值10,表達(dá)式-y的值為y減1后的值2。第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.1 賦值語句賦值語句是由賦值表達(dá)式再加上分號(hào)構(gòu)成的表達(dá)式語句。 賦值語句的一般形式為: 變量=表達(dá)式;賦值語句的功能和特點(diǎn)都與賦值表達(dá)式相同。第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.2 輸入輸出函數(shù)語言要求在使用輸入/輸出庫函數(shù)之前必須包含stdio.h文件。包含形式如下: #include或 #include stdio.h第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.2 輸入輸出函數(shù)3.2.1 字符數(shù)據(jù)輸入輸出函數(shù) 1字符數(shù)據(jù)輸入函數(shù)格式:getchar()功能:從鍵盤上接收輸入的一個(gè)字符。例3.1 從鍵盤輸入
45、一個(gè)字符,并將其存入字符型變量c 中。#include stdio.hmain() char c; c= getchar(); 其中c是字符型(char)或整型(int)變量。第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.2 輸入輸出函數(shù)3.2.1 字符數(shù)據(jù)輸入輸出函數(shù) 1字符數(shù)據(jù)輸入函數(shù)2字符數(shù)據(jù)輸出函數(shù)格式:putchar(c)功能:向終端輸出一個(gè)字符。說明:(1)c可以是字符型,也可以是整型。 (2)c可以是變量,可以是常量,也可以是表達(dá)式。第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.2 輸入輸出函數(shù)3.2.1 字符數(shù)據(jù)輸入輸出函數(shù) 1字符數(shù)據(jù)輸入函數(shù)2字符數(shù)據(jù)輸出函數(shù)例3.2 從鍵盤輸入一個(gè)字符,在屏幕上顯示出來。
46、#include stdio.hmain() char c; c=getchar(); /*從鍵盤輸入一個(gè)字符*/ putchar(c); /*在屏幕上顯示一個(gè)字符*/第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.2 輸入輸出函數(shù)3.2.2 格式化輸入輸出函數(shù)1格式化輸出函數(shù)格式: printf(格式控制,輸出項(xiàng)表);功能:將“輸出項(xiàng)表”中給出的輸出項(xiàng)按“格式控制”中規(guī)定的輸出格式輸出到標(biāo)準(zhǔn)輸出設(shè)備。 說明:(1)輸出項(xiàng)表中以逗號(hào)分隔列出需要輸出的項(xiàng)(變量、常量、或表達(dá)式)。(2)格式控制是用雙引號(hào)括起來的字符串,包括普通字符和格式說明。普通字符:是需要原樣輸出的字符(包括轉(zhuǎn)義字符)。格式說明:由“%“和格式
47、符組成,如%c和%f等,作用是將要輸出的數(shù)據(jù)轉(zhuǎn)換為指定格式后輸出。printf函數(shù)中使用的格式字符如表所示。格式字符功能d按十進(jìn)制形式輸出帶符號(hào)的整數(shù)(正數(shù)前無+號(hào))o按八進(jìn)制形式無符號(hào)輸出(無前導(dǎo)o)ox按十六進(jìn)制形式無符號(hào)輸出(無前導(dǎo)ox)u按十進(jìn)制無符號(hào)形式輸出c按字符形式輸出一個(gè)字符f按十進(jìn)制形式輸出單、雙精度浮點(diǎn)數(shù)(默認(rèn)6位小數(shù))e按指數(shù)形式輸出單、雙精度浮點(diǎn)數(shù)s輸出以0結(jié)尾的字符串ld長整型輸出lo長八進(jìn)制整型輸出lx長十六進(jìn)制整型輸出lu按無符號(hào)長整型輸出m格式字符按寬度m輸出,右對(duì)齊-m格式字符按寬度m輸出,左對(duì)齊m,n格式字符按寬度m,n位小數(shù)或截取字符串前n個(gè)字符輸出,右對(duì)
48、齊-m,n格式字符按寬度m,n位小數(shù)或截取字符串前n個(gè)字符輸出,左對(duì)齊例3.3#includemain() int a=123; long b=135790; printf(a=%dn,a); printf(a=%4dn,a); printf(a=%2dn,a); printf(b=%ld,b);屏幕顯示結(jié)果:a=123a= 123a=123b=135790例3.4#includemain() int a=-1; char c=a; printf(%d,%o,%x,%un,a,a,a,a); printf(%d,%cn,c,c);屏幕顯示結(jié)果:-1,177777,ffff,6553597,a例
49、3.5#include stdio.hmain() printf(%s,%7.2sn, CHINA, CHINA ); printf( %.4s,%-5.3sn, CHINA, CHINA);屏幕顯示結(jié)果:CHINA,- - - - -CHCHIN,CHI- -(注:-表示空格。)例3.6#includemain() float a=1.23; printf(%f,%7.2f,%2.1fn, a,a,a );屏幕顯示結(jié)果:1.230000,- - -1.23,1.2第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.2 輸入輸出函數(shù)3.2.2 格式化輸入輸出函數(shù)1格式化輸出函數(shù)2格式化輸入函數(shù)格式:scanf(格式
50、控制,地址表);功能:用來輸入任何類型數(shù)據(jù),可同時(shí)輸入多個(gè)不同類型的數(shù)據(jù)。說明:(1)地址表中每項(xiàng)以逗號(hào)分隔,列出需要輸入的項(xiàng)(變量)的地址,而不是變量名。 (2)同printf函數(shù)一樣,格式控制是用雙引號(hào)括起來的字符串。包括普通字符和格式說明。普通字符:是需要原樣輸入的字符,一般不提倡使用。格式說明:由%和格式符組成,如%c和%f等,作用是規(guī)定按指定的格式輸入數(shù)據(jù)。scanf函數(shù)中使用的格式字符如表所示。格式字符功能d輸入十進(jìn)制整數(shù)o輸入八進(jìn)制整數(shù)x輸入十六進(jìn)制整數(shù)c輸入單個(gè)字符s輸入字符串f,e輸入浮點(diǎn)數(shù)(小數(shù)或指數(shù)形式)hd,ho,hx輸入短整型(十進(jìn)制,八進(jìn)制,十六進(jìn)制)數(shù)據(jù)ld,lo
51、,lx輸入長整型(十進(jìn)制,八進(jìn)制,十六進(jìn)制)數(shù)據(jù)lf,le輸入長浮點(diǎn)型數(shù)據(jù)(雙精度)*表示本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量(3)scanf 中“格式控制”中的格式字符必須與“格式控制”后的變量的類型匹配。例如:int a,b;char d;float w;scanf(%d%o, &a,&b );scanf(%c, &d );scanf(%f, &w );(4)使用%c時(shí),空格和轉(zhuǎn)義字符均作為有效字符輸入。例如:char a,b;scanf(%c%c,&a,&b); 輸入:x y結(jié)果:a=x b= (5)如果格式說明符之間沒有任何字符,則在輸入非字符型數(shù)據(jù)時(shí),兩個(gè)數(shù)據(jù)之間要使用空格、Tab或回車
52、鍵做間隔;如果格式說明符之間包含其他字符,則輸入數(shù)據(jù)時(shí),應(yīng)輸入與這些字符相同的字符做間隔。例如:scanf(%d,%f,%c,&i,&f,&c);在輸入數(shù)據(jù)時(shí),應(yīng)采用如下形式:20,7.8,a(6)可以在格式說明符的前面指定輸入數(shù)據(jù)所占的寬度,系統(tǒng)將自動(dòng)按此寬度來截取所需的數(shù)據(jù)。例如:int a,b;char d,w;scanf(%d%d, &a,&b );scanf(%3d%d, &a,&b );scanf(%d%c%c, &a,&d,&w );輸入:1234 23 123456 123a1結(jié)果:a=1234 b=23a=123 b=456a=123 d=a w=1第3章 順序結(jié)構(gòu)程序設(shè)計(jì)
53、3.3 注釋注釋行的作用是增強(qiáng)程序的可讀性。注釋行的一般形式: /*注釋內(nèi)容*/其中,注釋內(nèi)容是對(duì)程序段或程序行的注釋說明。 注釋行可以作為單獨(dú)的一行出現(xiàn)在程序中,也可以出現(xiàn)在某個(gè)語句后,在編譯時(shí)忽略。第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.3 注釋例3.7 計(jì)算a、b兩數(shù)據(jù)之和的C程序。#includemain() /*主函數(shù)*/ int a,b,s; /*定義a,b,s三個(gè)整型變量*/ printf(a,b=?); scanf(%d,%d,&a,&b); /*讀入兩個(gè)整數(shù),存入變量a和b中*/ s=a+b; /*計(jì)算a、b兩數(shù)據(jù)之和s的值*/ printf(s=%dn,s);/*輸出和s的值*/第3
54、章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.4 應(yīng)用舉例例3.8 求一個(gè)同學(xué)三門功課的平均成績。開始輸入a,b,c計(jì)算v輸出v結(jié)束分析:已知:一個(gè)同學(xué)三門功課的成績(用三個(gè)變量a,b,c來存放) 求:該同學(xué)的平均成績(用一個(gè)變量v來存放)處理:用賦值表達(dá)式 v=(a+b+c)/3.0來計(jì)算v的值。算法用如圖所示的流程圖表示:第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.4 應(yīng)用舉例例3.8 求一個(gè)同學(xué)三門功課的平均成績。開始輸入a,b,c計(jì)算v輸出v結(jié)束程序:#includemain() int a,b,c; float v; printf(a,b,c=?); scanf(%d,%d,%d,&a,&b,&c); v=(a+b+
55、c)/3.0; printf(v=%fn,v); 第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.4 應(yīng)用舉例開始輸入c計(jì)算c輸出c結(jié)束例3.9 將鍵盤上輸入的大寫字母轉(zhuǎn)換成小寫字母輸出。分析:已知:鍵盤上輸入的大寫字母(用一個(gè)變量c來存放)求:對(duì)應(yīng)的小寫字母(仍用變量c來存放)處理:用賦值表達(dá)式 c=c+32來求小寫字母。算法用如圖所示的流程圖表示:第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.4 應(yīng)用舉例開始輸入c計(jì)算c輸出c結(jié)束例3.9 將鍵盤上輸入的大寫字母轉(zhuǎn)換成小寫字母輸出。程序:#includemain() char c; printf(c=?); scanf(%c,&c); /*或c=getchar();*/ c
56、=c+32; printf(c=%cn,c); /*或putchar(c);*/第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.4 應(yīng)用舉例開始輸入a,b交換a,b輸出a,b結(jié)束例3.10 從鍵盤上輸入兩變量的值,再交換兩變量的值輸出。分析:已知:從鍵盤上輸入的兩變量的原始值(用兩個(gè)變量a和b來存放) 求:交換兩變量的值(仍用變量a和b來存放)處理:(1)要借助一個(gè)中間變量來實(shí)現(xiàn)(設(shè)為t)。 (2)用逗號(hào)表達(dá)式t=a,a=b,b=t來交換a,b兩變量的值。算法用如圖所示的流程圖表示:第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.4 應(yīng)用舉例開始輸入a,b交換a,b輸出a,b結(jié)束例3.10 從鍵盤上輸入兩變量的值,再交換兩變量的
57、值輸出。程序:#includemain() int a,b,t; printf(a=?); scanf(%d,&a); printf(b=?); scanf(%d,&b); t=a,a=b,b=t; printf(a=%d,b=%dn,a,b); 第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.5 本章考點(diǎn)scanf函數(shù)的輸入格式。printf函數(shù)的輸出格式。注釋的書寫格式。第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.6 典型試題詳解1有定義語句:int x,y;,若要通過scanf(%d,%d,&x,&y);語句使變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入形式中錯(cuò)誤的是_。A)11 12B)11,12 C)11,
58、12D)11, 12 正確答案:A(知識(shí)點(diǎn):scanf函數(shù)的輸入格式)試題分析:scanf(%d,%d,&x,&y);語句中格式控制“%d,%d”的兩格式說明符之間使用了普通字符“,”,需要原樣輸入。第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.6 典型試題詳解2有以下程序段:int m=0,n=0;char c=a;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn,m,c,n);若從鍵盤上輸入:10A10 ,則輸出結(jié)果是_。A)10,A,10 B)16,a,10C)10,a,0 D)10,A,0正確答案:A(知識(shí)點(diǎn):scanf函數(shù)的輸入格式)試題分析:當(dāng)%c處在%d 之后時(shí),輸
59、入數(shù)據(jù)間不能用分隔符,所以m、c、n經(jīng)scanf(%d%c%d,&m,&c,&n)重新輸入值后,分別為10、A、10。第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.6 典型試題詳解3以下程序的運(yùn)行結(jié)果是_。A)17,021,0 x11B)17,17,17C)17,0 x11,021D)17,21,11main() int k=17; printf(%d,%o,%xn,k,k,k);正確答案:D(知識(shí)點(diǎn):printf函數(shù)的輸出格式)試題分析:將k的值17分別轉(zhuǎn)換成八進(jìn)制、轉(zhuǎn)換十六進(jìn)制輸出。17對(duì)應(yīng)的八進(jìn)制數(shù)、十六進(jìn)制數(shù)21、11,而表示八進(jìn)制數(shù)、十六進(jìn)制數(shù)為21、11的021、0 x11是在C程序中的表示方法,
60、輸出在屏幕上的數(shù)據(jù)是沒有進(jìn)制標(biāo)志的。第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.6 典型試題詳解4以下程序段的輸出結(jié)果是_。int a=1234;printf(%2dn,a);A)12 B)34C)1234D)提示出錯(cuò),無結(jié)果正確答案:C(知識(shí)點(diǎn):printf函數(shù)的輸出格式)試題分析:以%2d方式輸出時(shí),當(dāng)指定寬度不夠?qū)挄r(shí),整型數(shù)據(jù)原樣輸出。第3章 順序結(jié)構(gòu)程序設(shè)計(jì) 3.6 典型試題詳解5以下敘述中正確的是_。A)C程序中注釋部分可以出現(xiàn)在程序中任何合適的地方B)花括號(hào)“”和“”只能作為函數(shù)體的定界符C)構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名 D)分號(hào)是C語句之間的分隔符,不是語句的一部分正
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城鄉(xiāng)污水處理和管網(wǎng)建設(shè)工程項(xiàng)目可行性研究報(bào)告寫作模板-申批備案
- 2025年江西陶瓷工藝美術(shù)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年昆明鐵道職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年揭陽職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 2025年氫能源行業(yè)發(fā)展動(dòng)態(tài)與前景分析
- 展覽展示服務(wù)合同模板
- 幼兒園支教工作活動(dòng)方案總結(jié)四篇
- 計(jì)件工資勞動(dòng)合同范文
- 酒店轉(zhuǎn)讓簡單合同范本
- 場攤位的租賃合同年
- 2025年度高端商務(wù)車輛聘用司機(jī)勞動(dòng)合同模板(專業(yè)版)4篇
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2025長江航道工程局招聘101人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年黑龍江哈爾濱市面向社會(huì)招聘社區(qū)工作者1598人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《妊娠期惡心嘔吐及妊娠劇吐管理指南(2024年)》解讀
- 《黑神話:悟空》跨文化傳播策略與路徑研究
- 《古希臘文明》課件
- 居家養(yǎng)老上門服務(wù)投標(biāo)文件
- 長沙市公安局交通警察支隊(duì)招聘普通雇員筆試真題2023
- 2025年高考語文作文滿分范文6篇
- 零售業(yè)連鎖加盟合同
評(píng)論
0/150
提交評(píng)論