版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、C程序設計 Programming in C,西安電子科技大學計算機學院 張淑平,這次課的主要內(nèi)容,運算符和表達式 輸入和輸出,算術運算和表達式,五種基本的算術運算符號 、*、/、 若參與除運算的兩個數(shù)都為整數(shù),則商是整數(shù),否則商是浮點數(shù) 使用整除取余運算符()時要求兩個數(shù)都是整數(shù) 表達式(expression) 表達式由項(term)和運算符(operator)組成 項可以是常量、變量或函數(shù)調(diào)用(function call) 表達式可以加園括號,用于指示運算次序,結(jié)合性和優(yōu)先級,結(jié)合性是指當一個操作數(shù)兩側(cè)的運算符具有相同的優(yōu)先級時,該操作數(shù)是先與左邊的運算符結(jié)合,還是先與右邊的運算符結(jié)合。
2、左結(jié)合和右結(jié)合 優(yōu)先級規(guī)定運算順序 先乘除、后加減 先括號里再括號外,類型轉(zhuǎn)換,自動的類型轉(zhuǎn)換 編譯系統(tǒng)自動進行,例如:2.5 + 5,將5轉(zhuǎn)換為浮點型數(shù)據(jù)后進行相加運算 強制類型轉(zhuǎn)換 由編程者明確指示,例如:(int)4.85*76 (double)a /*將變量a的值轉(zhuǎn)換成double型*/ (int)(x + y) /*將x+y的結(jié)果轉(zhuǎn)換成int型*/ (float)5 / 2 等價于(float)(5)/2 /*將5轉(zhuǎn)換成實型,再除以2*/ (float)(5 / 2),賦值運算和賦值表達式,賦值(assignment) 賦值運算符:=,其作用是將一個數(shù)據(jù)賦給一個變量,形式為:變量 =
3、 表達式 例如:a = 3 /*將整數(shù)3賦值給變量a*/,3,8,為變量賦值將改變其值,原來的值不再保留,賦值表達式的值就是被賦值的變量的值,復合的賦值運算符,在賦值運算符之前加上一種運算符 例如:=,其作用是先將運算符兩邊的數(shù)據(jù)進行相加運算,然后將結(jié)果賦給賦值號左邊的變量 例如:a += 5 等價于 a = a + 5,13,其他復合的賦值運算符 -=,*=,/=,=, 等等,a *= b 5 等價于 a = a *(b 5),自增、自減運算符,自增、自減運算符的作用是使變量的值增1或減1 自增運算符:+ i+ 等價于 i = i + 1 或 i += 1 +i 等價于 i = i + 1
4、或 i += 1 自減運算符:-,6,4,自增、自減運算符的使用,自增、自減運算符的使用 例如:若i的值為1 表達式“j = +i”的值是什么? 表達式“j = i+”的值是什么?,自增、自減運算符的副作用,表達式中過度使用自增、自減運算符會帶來副作用,容易產(chǎn)生歧義 例如:若i的值為1,j的值為2,表達式“i+j”的值是什么? 例如:若i的初值為1,(i+) + (i+) + (i+)等于多少?,在C語言中,將變量i的值增1可以有以下表達形式,可見C的運算符豐富、書寫形式簡潔的特點: i = i + 1 i += 1 i+ 或+i,逗號運算符,逗號運算符“,”用于將表達式順序地連接起來 逗號表
5、達式的一般形式為:表達式1,表達式2 例如:56,78 逗號表達式的計算 自左至右,逐個計算表達式,最后一個表達式的值是整個逗號表達式的值,語句(statement),賦值語句(Assignment statements),賦值語句的作用是將一個表達式的值賦給一個變量,形式為:變量 = 表達式;,“;”是語句的結(jié)束標志,語句是指示機器執(zhí)行某種操作的陳述句,表達式是語句的一個組成部分,最簡單的語句形式為:表達式;,輸入和輸出,要讓計算機處理各種數(shù)據(jù),首先應該把源數(shù)據(jù)輸入到計算機中;計算機處理結(jié)束后,再將目標數(shù)據(jù)信息以人能夠識別的方式輸出。C語言中的輸入輸出操作,是由C語言編譯系統(tǒng)提供的庫函數(shù)來實
6、現(xiàn)的。,簡單程序設計輸入和輸出,單個字符輸入輸出getchar()和putchar()函數(shù) 格式化輸出printf()函數(shù) 格式化輸入scanf()函數(shù) 順序結(jié)構(gòu)程序設計,/*程序功能:說明putchar()函數(shù)的格式和使用方法*/ #include stdio.h main() char ch1=N, ch2=E, ch3=W; putchar(ch1); /*輸出ch1的值*/ putchar(ch2); putchar(ch3); putchar(n); putchar(ch1); putchar(n); putchar(E); putchar(n); /*輸出字符E,并換行*/ put
7、char(ch3); putchar(n); ,單個字符的輸出,字符輸出函數(shù)-putchar(),程序運行結(jié)果: NEW N E W,TC2.0,/*程序功能:說明getchar()函數(shù)的格式和使用方法*/ #include stdio.h main() char ch; printf(Please input two character: ); ch=getchar();/*輸入1個字符并賦給ch */ putchar(ch); putchar(n); putchar(getchar(); /*輸入一個字符并輸出*/ putchar(n); ,單個字符的輸入,字符輸入函數(shù)-getchar()
8、,TC2.0,格式化輸入、輸出,格式化輸出函數(shù)printf(),printf()函數(shù)的作用:按照一定的格式,向計算機系統(tǒng)默認的輸出設備(一般指終端或顯示器)輸出一個或多個任意類型的數(shù)據(jù)。,下面看一個使用printf()輸出的例子,格式化輸出函數(shù)使用舉例,#include /*已知圓半徑radius=1.5,求圓周長和圓面積。*/ #define PI 3.1415926 main() float radius,length,area; radius = 1.5; length = 2 * PI * radius;/*求圓周長*/ area = PI * radius * radius;/*求圓
9、面積*/ printf(radius=%fn,radius);/*輸出圓半徑*/ printf(length=%7.5f, area=%7.2fn,length,area); ,TC2.0,格式,按照規(guī)定的格式輸出 將整數(shù)65以字符方式輸出 將整數(shù)567分別以八進制形式輸出、以十六進制的形式輸出、以總寬度為5個字符的格式輸出、以十進制實數(shù)形式輸出、以指數(shù)形式輸出.,TC2.0,利用printf()輸出數(shù)據(jù)時格式比較多,不需要全部記憶,需要的時候查書即可,格式輸出小結(jié),printf()可以輸出常量、變量和表達式的值。但格式控制中的格式說明符,必須按從左到右的順序,與輸出項表中的每個數(shù)據(jù)一一對應,
10、否則出錯。 例如,printf(str=%s, f=%d, i=%fn, Internet, 1.0 / 2.0, 3 + 5, CHINA);是錯誤的。,格式輸出小結(jié)(續(xù)),格式字符x、e、g可以用小寫字母,也可以用大寫字母。使用大寫字母時,輸出數(shù)據(jù)中包含的字母也大寫。除了x、e、g格式字符外,其它格式字符必須用小寫字母。 例如,%f不能寫成%F,格式字符緊跟在“%”后面就作為格式字符,否則將作為普通字符使用(原樣輸出)。 例如,“printf(”c=%c, f=%fn“, c, f);”中的第一個c和f,都是普通字符,scanf()函數(shù)的作用:按照一定的格式,從外部設備讀取數(shù)據(jù)。,格式輸入
11、函數(shù)scanf(),下面看一個使用scanf()輸入數(shù)據(jù)的例子,格式輸入函數(shù)使用舉例,#include /*已知圓半徑radius=1.5,求圓周長和圓面積。*/ #define PI 3.1415926 main() float radius,length,area; radius = 1.5; length = 2 * PI * radius;/*求圓周長*/ area = PI * radius * radius;/*求圓面積*/ printf(radius=%fn,radius);/*輸出圓半徑*/ printf(length=%7.2f, area=%7.2fn,length,are
12、a); ,TC2.0,scanf( %f ,printf(input a value for the radius: );scanf(%f,輸出、輸入函數(shù)使用要點,掌握輸入一個字符和輸出一個字符的函數(shù) 輸入一個字符:字符型變量 getchar(); 輸出一個字符:putchar(字符型變量)或putchar(字符常量);,在格式輸入、輸出函數(shù)中,以“%”作為指定格式的符號,要求掌握輸入和輸出一個字符、一個整數(shù)和一個實數(shù)的格式控制方式: 輸入一個字符:scanf(%c,輸出、輸入函數(shù)使用要點(續(xù)),在格式輸入、輸出函數(shù)中,以“%”作為指定格式的符號,要求掌握輸入和輸出一個字符、一個整數(shù)和一個實數(shù)的格式控制方式: 輸入一個字符:scanf(%c,輸出、輸入函數(shù)使用要點(續(xù)),在格式輸入、輸出函數(shù)中,每個格式控制符“%”給出一個數(shù)據(jù)的輸入和輸出格式,需要一次輸入或輸出多個數(shù)據(jù)時,要給出對應數(shù)目的格式控制符。 輸入兩個字符:scanf(%c%c, /*輸入的兩個數(shù)據(jù)之間用逗號分割開*/,輸入、輸出函數(shù)的格式控
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年廣州市荔灣區(qū)西關實驗小學龍溪學校事業(yè)編制教師招聘備考題庫及答案詳解一套
- 2026年天津市河北區(qū)衛(wèi)生健康系統(tǒng)公開招聘事業(yè)單位工作人員85人備考題庫參考答案詳解
- 2026年樂業(yè)文山每日招聘備考題庫(第三百五十五期)丘北智拓職業(yè)技能培訓學校招聘備考題庫有答案詳解
- 2026年中核金辰(江蘇)核技術發(fā)展有限公司海南分公司招聘備考題庫完整答案詳解
- 2026年巴中市中心醫(yī)院關于招聘74名員額管理專業(yè)技術人員的備考題庫有答案詳解
- 2026年務川聯(lián)通營業(yè)廳招聘備考題庫及參考答案詳解
- 2026年中國有色集團沈陽礦業(yè)投資有限公司招聘備考題庫完整參考答案詳解
- 2026年承德醫(yī)學院附屬醫(yī)院招聘備考題庫及一套參考答案詳解
- 粉塵應急演練預案方案
- 2026年江蘇省安全員B證考試試題含答案
- 離婚協(xié)議(2026年版本)
- 8.1堅守公平 課件 2025-2026學年統(tǒng)編版道德與法治 八年級上冊
- 舟山事業(yè)編考試題及答案
- 2025年低空經(jīng)濟行業(yè)碳排放與環(huán)境影響報告
- 基于上市公司視角:解碼云南省資源型產(chǎn)業(yè)升級路徑與挑戰(zhàn)
- 醫(yī)療機構(gòu)中藥飲片自查與質(zhì)量控制
- 2024-2025學年廣東省廣州市越秀區(qū)九年級(上)期末化學試題及答案
- 光伏CAD基礎知識培訓課件
- 基于杜邦分析法的企業(yè)盈利能力分析-以格力電器為例
- WPF在醫(yī)學影像三維顯示中的應用-洞察及研究
- 漢服設計培訓課件
評論
0/150
提交評論