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