清华大学c语言程序设计课件,c语言清华大学课件
PPT內(nèi)容
這是c語言清華大學(xué)課件,關(guān)于C 語言基本語法元素,包括了數(shù)據(jù)型式,量與表達式,語句,基本輸入輸出,程序設(shè)計風(fēng)格等內(nèi)容,歡迎點擊下載。
計算機程序設(shè)計基礎(chǔ)
【提 綱】
1.1 數(shù)據(jù)型式
1.2 量與表達式
1.3 語 句
1.4 基本輸入輸出
1.5 程序設(shè)計風(fēng)格
【提 綱】
1.1 數(shù)據(jù)型式
1.2 量與表達式
1.3 語 句
1.4 基本輸入輸出
1.5 程序設(shè)計風(fēng)格
【數(shù)據(jù)型式】
整數(shù)型式:int
定義整型數(shù)據(jù)對象
有取值范圍,僅能表示特定區(qū)間內(nèi)整數(shù)值
浮點數(shù)型式:double 或 float
表示小數(shù),同樣具有取值范圍
首選 double
字符串型式
字符序列以整體形式作為數(shù)據(jù)對象
使用配套 zylib 庫中的 STRING 型式和 CSTRING 型式表示字符串
【數(shù)據(jù)型式】
整數(shù)型式
定義 a 為整數(shù):int? a;
整數(shù)符號:確定是否表示負數(shù)
signed、unsigned
定義 b 為無符號整數(shù):unsigned int? b;
整數(shù)長短:確定整數(shù)取值范圍的大小
long、short
定義 c 為短整數(shù):short int? c;
【浮點數(shù)型式】
例 1.1 編寫程序,求用戶輸入的兩個浮點數(shù)之和。
【浮點數(shù)型式】
【浮點數(shù)型式】
例 1.1 編寫程序,求用戶輸入的兩個浮點數(shù)之和。
【字符串型式】
例 1.2 接受用戶輸入的用戶名,向用戶問好。
【字符串型式】
【工程項目設(shè)置】
基本步驟
步驟 1:創(chuàng)建新工程,設(shè)置好工程項目的目錄
步驟 2:編寫程序代碼,將文件保存在該目錄下
步驟 3:將文件“zylib.h”與“zylib.c”拷貝到該目錄
步驟 4:在工程項目中添加上述兩個文件
步驟 5:在程序文件中使用雙引號包含頭文件“zylib.h”
工程項目意義
將程序組織成一個項目整體進行開發(fā)和管理
一般需要創(chuàng)建獨立的工程項目才能開發(fā)程序
特別說明:不同編譯器的工程項目設(shè)置并不相同
【工程項目設(shè)置】
避免多次拷貝庫文件的方法
為全部練習(xí)題創(chuàng)建總目錄,如“CExercises”
在“CExercises”目錄下創(chuàng)建子目錄“zylib”,將文件“zylib.h”與“zylib.c”拷貝到“zylib”目錄下
創(chuàng)建新工程時,為每道練習(xí)題在“CExercises”目錄下創(chuàng)建單獨子目錄(注意不要使用多級目錄),如“Ex0101”與“Ex0102”,編寫的程序文件都保存在該目錄下
在工程項目中添加“zylib”子目錄下的庫文件“zylib.h”與“zylib.c”
在程序中使用相對路徑包含頭文件“../zylib/zylib.h”(Linux 和 OS X)或者“..\zylib\zylib.h”(Windows,單雙反斜杠均可)
【提 綱】
1.1 數(shù)據(jù)型式
1.2 量與表達式
1.3 語 句
1.4 基本輸入輸出
1.5 程序設(shè)計風(fēng)格
【量與表達式】
表達式
變 量
文字與常量
賦值與初始化
操作符與操作數(shù)
混合運算與型式轉(zhuǎn)換
【表達式】
表達式定義
操作數(shù)與操作符序列,表達運算過程
操作數(shù):文字、量、函數(shù)調(diào)用、括號
操作符:運算邏輯
表達式值:運算結(jié)果
表達式求值:計算表達式值的過程
按普通四則運算理解表達式求值過程,逐一計算表達式中所有操作符,直至完成
【變 量】
先定義再使用
定義格式:變量型式? 變量名稱[, 變量名稱];
變量名稱應(yīng)具有唯一性:不允許重名
變量四大基本特征(VANT)
變量總是具有值(value)
變量總是與內(nèi)存中地址(address)相對應(yīng)
變量總是具有名稱(name)
變量總是具有確定型式(type)
【文 字】
定義:程序中單獨出現(xiàn)的值
例:3.14、100 等
整數(shù)型式文字
十進制、十六進制、八進制
浮點型式文字
字符串型式文字
【整型文字】
十進制表示:普通整數(shù)表示
十六進制表示:逢十六進一,無正負號
以“0x”或“0X”開頭的 0~9、A/a~F/f 序列
例:0x55、0X1F、0x2a(0x5516 = 8510)
八進制表示:逢八進一,無正負號
以“0”開頭的 0~7 序列
例:055(0558 = 4510 )
注意不要與十進制混淆
【浮點型文字】
一般形式:小數(shù)表示法
由整數(shù)部分、小數(shù)點與小數(shù)部分組成
例:3.1416、-2.718281828
指數(shù)形式:科學(xué)計數(shù)法
由尾數(shù)部分、字符‘E’/‘e’與指數(shù)部分組成
例:3.1416e3(3.14?103)
例:-2.718281828E-2(-2.718281828?10-2)
【字符串型文字】
雙引號引起來的字符序列
例:"Programming in C"、"Hello World!\n"
雙引號是字符串文字界定符,非字符串內(nèi)容
轉(zhuǎn)義序列
字符串不僅可以包含可打印字符,也可以包含表示特殊活動的特殊字符
用反斜杠開始轉(zhuǎn)義序列,后跟一個或多個字符
轉(zhuǎn)義序列整體作為單個字符處理,格式固定
例:"\n"、"\\"
【預(yù)定義轉(zhuǎn)義序列】
【常 量】
常量的定義:程序運行期間值不可改變的量
格式:const 數(shù)據(jù)型式? 常量名稱 = 初始值;
例:const int? zero = 0;
常量的意義
解決直接出現(xiàn)的文字無法解釋其意義的問題
文字?魔數(shù)也!
常量與變量
常量不可改變值,其他與變量同
定義常量時必須進行初始化
常量初始值必須能夠在編譯期間計算出來
【賦值與初始化】
賦值表達式
格式:變量名稱 = 表達式
例:a = 0
賦值語句:賦值表達式加分號
格式:變量名稱 = 表達式;
例:a = b + c;
變量初始化
在定義變量時直接設(shè)定初始值
例:int? a = 0;
【賦值流程】
【賦值流程】
【賦值流程】
【賦值流程】
【操作符與操作數(shù)】
操作符分類
一元操作符:只有單個操作數(shù),例如負號
二元操作符:帶有兩個操作數(shù),例如加減乘除等
三元操作符:帶有三個操作數(shù),例如條件表達式
操作符優(yōu)先級與結(jié)合性
優(yōu)先級確定計算順序,結(jié)合性確定計算方向
操作符優(yōu)先級僅具有參考價值,C 語言對于特殊表達式的計算有特別規(guī)定,并不完全遵照該規(guī)則
如果拿不準(zhǔn),使勁加括號
【混合運算與型式轉(zhuǎn)換】
例 1.3 編寫程序,詢問用戶姓名,向用戶問好,然后將用戶輸入的整數(shù)和實數(shù)相加,輸出結(jié)果。
【混合運算與型式轉(zhuǎn)換】
【混合運算與型式轉(zhuǎn)換】
【混合運算與型式轉(zhuǎn)換】
隱式型式轉(zhuǎn)換:自動進行,程序員無法干預(yù)
轉(zhuǎn)換原則:一般以不損失精度為前提
賦值:右邊表達式的值先轉(zhuǎn)換為目標(biāo)型式后賦值
顯式型式轉(zhuǎn)換:程序員手工進行的型式轉(zhuǎn)換
格式:( 轉(zhuǎn)換后的目標(biāo)型式 )原表達式
例:int? a;??? double? g = 9.80665;
a = g;??? //? 隱式型式轉(zhuǎn)換,小數(shù)部分舍棄,a 值 9
a = ( int )g * 4;??? //? 顯式型式轉(zhuǎn)換,a 值 36
a = ( int )( g * 4 );??? //? 顯式型式轉(zhuǎn)換,a 值 39
【提 綱】
1.1 數(shù)據(jù)型式
1.2 量與表達式
1.3 語 句
1.4 基本輸入輸出
1.5 程序設(shè)計風(fēng)格
【語 句】
簡單語句:表達式后跟分號
例一:sum = n + d;
例二:n = GetIntegerFromKeyboard();
例三:printf( "%d + %lf = %lf\n", n, d, sum );
復(fù)合語句:花括號對封裝的語句序列
例:{? a = 1;? b = a + 1;? }
空語句:單獨出現(xiàn)的分號
滿足程序特定語法規(guī)則的要求
作為未來添加程序代碼的占位標(biāo)記
【提 綱】
1.1 數(shù)據(jù)型式
1.2 量與表達式
1.3 語 句
1.4 基本輸入輸出
1.5 程序設(shè)計風(fēng)格
【基本輸入輸出】
基本事實
輸入輸出是語言與算法必備功能
C 語言本身沒有輸入輸出語句或命令
輸入輸出需使用標(biāo)準(zhǔn)庫函數(shù)
輸入輸出函數(shù)原型位于頭文件“stdio.h”中
典型輸入輸出函數(shù)
格式化輸出函數(shù) printf()
格式化輸入函數(shù) scanf()
【格式化輸出】
格式化輸出函數(shù) printf() 調(diào)用格式
格式:printf( "輸出格式規(guī)約字符串", 輸出項列表 );
例一:printf( "Hello world!\n" );
例二:printf( "Hello, %s.\n", name );
例三:printf( "%f + %f = %f\n", a, b, sum );
例四:printf( "%d + %lf = %lf\n", n, d, sum );
%y:格式描述符
%d:十進制整數(shù);%u:無符號整數(shù)
%f:float 型式浮點數(shù); %lf:double 型式浮點數(shù)
%c:單個字符;%s:字符串
【格式化輸出】
例 1.4 編寫程序,按照下列格式輸出下述部分省市統(tǒng)計數(shù)據(jù)。
【場寬 ? 精度 ? 對齊】
輸出格式
%[對齊標(biāo)志][場寬][.精度]格式描述符
對齊標(biāo)志:確定每列左側(cè)還是右側(cè)對齊
缺省右對齊,左對齊使用“-”
例:“%-d”表示按照左對齊格式輸出整數(shù)
場寬:確定每列占用多少字符寬度,數(shù)據(jù)輸出一般不會截斷
確定輸出最小寬度,超出部分照常輸出
例:“%3d”表示按照右對齊、占三位格式輸出整數(shù),若整數(shù)長度超出三位,則照常輸出數(shù)據(jù)
【場寬 ? 精度 ? 對齊】
精度:確定輸出多少位數(shù)據(jù)以保證其精度
精度數(shù)字前有小數(shù)點標(biāo)志,在場寬中占用 1 位
例:“%-5.2f”表示按照左對齊,整體占 5 位,且小數(shù)點后 2 位的格式輸出浮點數(shù)
數(shù)據(jù)截斷
例一:按“%-5.2f”格式輸出 12.3456,結(jié)果為 12.35,注意四舍五入
例二:按“%-5.2f”格式輸出 123.456,結(jié)果為 123.46,注意截斷后的數(shù)據(jù)仍然超出場寬限制,照常輸出
字符串截斷輸出特例:“%13.13s”表示字符串為 13 位寬,多余部分截斷
【格式化輸出示例代碼】
【格式化輸出示例代碼】
【格式化輸入】
格式化輸入函數(shù) scanf() 調(diào)用格式
格式:scanf( "輸入格式規(guī)約字符串", 輸入項列表 );
例:scanf( "%d,%d", &a, &b );
特別說明
輸入格式碼與輸出格式碼基本相同
用戶在終端輸入的數(shù)據(jù)逐一存放到輸入項列表中變量所在的地址空間;普通變量的名稱前需有取址操作符“&”
輸入項之外的其他字符:格式描述串中其他字符需在輸入數(shù)據(jù)時一并輸入,不能遺漏、省略或不一致
【格式化輸入】
特別說明
輸入項的分隔:無分隔字符的相連項在輸入時使用空格、Tab 鍵或回車鍵分隔
盡量不用 scanf()
使用 zylib 庫中的三個函數(shù)代替
整數(shù)輸入:GetIntegerFromKeyboard()
浮點數(shù)輸入:GetRealFromKeyboard()
字符串輸入:GetStringFromKeyboard()
【提 綱】
1.1 數(shù)據(jù)型式
1.2 量與表達式
1.3 語 句
1.4 基本輸入輸出
1.5 程序設(shè)計風(fēng)格
【程序設(shè)計風(fēng)格】
注 釋
命名規(guī)范
宏與常量
賦值語句簡寫形式
源代碼排版
【注 釋】
注釋目的:增強程序可讀性、可維護性
注釋格式
格式一:“/*”與“*/”對,注釋其中的部分,可出現(xiàn)在程序任意位置
例一: int? /* 此處內(nèi)容為注釋 */? a;
格式二:“//”,注釋從此直至文本行結(jié)束
例二: int? a;??? //? 此處內(nèi)容為注釋
特別說明
同一種注釋標(biāo)記不可以嵌套
“//”不跨行,“/*”與“*/”對可跨行
【命名規(guī)范】
字符集:ASCII 字符集
大小寫英文字母、數(shù)字、部分特殊符號
標(biāo)識符
以下劃線或字母開頭,由下劃線、字母、數(shù)字組成,表示常量、變量、函數(shù)、型式等名稱,區(qū)分大小寫
關(guān)鍵字:系統(tǒng)專用的具有特定意義的標(biāo)識符
預(yù)定義標(biāo)識符:編譯命令與庫函數(shù)名,具有特定意義,一般不能重新定義
用戶定義標(biāo)識符:用戶根據(jù)需要定義,主要是為了使程序容易閱讀、理解與維護
【宏與常量】
宏定義:預(yù)處理命令 #define
一旦定義,可以代替常量使用
例:#define? PI? 3.14
宏定義不是常量
應(yīng)優(yōu)先使用常量而不是宏
目的與意義
增強程序可讀性
使用有意義的名字命名
增強程序可維護性
將值定義為符號常量,則程序中僅需要修改一次
【宏與常量】
宏定義:預(yù)處理命令 #define
一旦定義,可以代替常量使用
例:#define? PI? 3.14
宏定義不是常量
應(yīng)優(yōu)先使用常量而不是宏
目的與意義
增強程序可讀性
使用有意義的名字命名
增強程序可維護性
將值定義為符號常量,則程序中僅需要修改一次
【賦值語句簡寫形式】
加賦:x += a 等價于 x = x + a
減賦:x -= a 等價于 x = x - a
乘賦:x *= a 等價于 x = x * a
除賦: x /= a 等價于 x = x / a
除法作用于整數(shù)上時,結(jié)果也為整數(shù)
余賦: x %= a 等價于 x = x % a
%:兩個整數(shù)進行整數(shù)除法,結(jié)果為余數(shù)
特別說明
x *= a + b 等價于 x = x * ( a + b )
【源代碼排版】
遞進層次應(yīng)使用左縮進格式
每行代碼不能過長,盡量不超過 80 個字符
函數(shù)代碼盡量不超過 60 行
使用空行區(qū)分不同功能代碼
復(fù)合語句書寫格式要統(tǒng)一
除非特別必要,否則不要在一行書寫多條語句
命名規(guī)范要一致
無論采用什么標(biāo)準(zhǔn),都要一直遵照執(zhí)行
【本章小結(jié)】
數(shù)據(jù)型式
數(shù)據(jù)對象存儲格式、取值范圍、可實施的操作集
量與表達式
操作符、操作數(shù)、表達式、賦值與初始化
語 句
簡單語句、復(fù)合語句與空語句
基本輸入輸出
printf()、scanf();不建議使用 scanf()
程序設(shè)計風(fēng)格
【作 業(yè)】
習(xí)題二:編程實踐題
第 5 題
第 7 題
相關(guān)PPT
《c語言清華大學(xué)課件》是由用戶城魚于2017-08-14上傳,屬于課件PPT。
總結(jié)
以上是生活随笔為你收集整理的清华大学c语言程序设计课件,c语言清华大学课件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网页自动填表html,风越网页表单批量自
- 下一篇: Sublime Text3自定义主题