- C語言程序設計習題與實驗指導
- 孟東霞主編
- 15字
- 2025-04-02 16:22:10
第2章 數據類型、運算符及表達式
2.1 知識要點
進行C語言程序設計時,首先需掌握一些基礎知識,主要包括數據類型、常量、變量、運算符、表達式、scanf語句和printf語句等內容。
2.1.1 數據類型
數據是程序處理的對象。數據類型決定了數據對象的存儲形式、取值范圍和能進行的運算。在C語言中,數據類型一般包括基本數據類型、構造數據類型、指針類型和空類型4大類。
1. 常量與變量
C語言中數據有常量和變量之分。在程序運行過程中,其值不能改變的量稱為常量;其值可以改變的量稱為變量。
在基本數據類型中,常量可分為:整型常量、浮點數型常量和字符型常量。變量用于存儲數據,一般在使用變量之前,必須先將其聲明為某種數據類型的變量。
2. 類型轉換
在表達式中,若有不同類型的數據參加運算,需要先進行類型轉換。類型轉換分為自動轉換和強制轉換。自動轉換的原則是:級別低的數據類型向級別高的類型轉換。
2.1.2 運算符與表達式
由運算符和操作數組成的有意義的式子稱為表達式。表達式的值和類型取決于參與運算的運算符和運算對象(包括常量、變量、函數等)。表達式按其所含運算符和運算對象的不同,可分為算術表達式、賦值表達式、關系表達式、邏輯表達式和逗號表達式等。
1. 算術運算符
算術運算符可用于各類數值的運算,包括+、?、*、/、%、++、??等。
2. 賦值運算符與賦值表達式
賦值表達式的一般形式為:變量=表達式;其作用是將右邊表達式的值賦給左邊的變量。
C語言中,在賦值運算符“=”前加上算術運算符(+、?、*、/、%)可構成復合賦值運算符,例如,+=、?=、*=、/=、%=等。
3. 關系運算符與關系表達式
關系運算符也稱為比較運算符,包括>、<、==、>=、<=、!=等6種,均為雙目運算符,用于比較兩邊的表達式是否滿足條件,運算結果為1代表真,為0代表假。
4. 邏輯運算符與邏輯運算對象
常用的邏輯運算符有3種:與(&&)、或(||)、非(!)。邏輯運算對象可以是關系表達式或邏輯量,用整數1代表真,0代表假。
5. 條件表達式
條件表達式的一般形式為:表達式1?表達式2:表達式3。
其運算過程是:先計算表達式1的值,如果它的值非0(真),則將表達式2的值作為條件表達式的值;否則,將表達式3的值作為條件表達式的值。
6. 逗號表達式
逗號表達式的一般形式為:表達式1,表達式2,…,表達式n。
逗號表達式的值為表達式n的值。
7. 運算符的優先級和結合性
C語言的運算符具有優先級。當多種運算符混合運算時,優先級關系為:首先是算術運算符,其次是關系運算符,最后是邏輯運算符。
2.1.3 數據輸入與輸出
在C語言中,數據的輸入、輸出是通過調用函數來實現的。調用輸入/輸出函數時,需在源程序開始位置,首先引用編譯預處理命令#include<stdio.h>。
1. 格式化輸出函數printf( )
printf()函數可向終端設備輸出各種格式化的數據。函數調用格式為:
printf("格式控制字符串" ,輸出列表);
“格式控制字符串”表示輸出的格式,由格式控制說明和普通字符組成?!拜敵隽斜怼绷谐鲆敵龅臄祿òǔA?、變量或表達式),各輸出項之間用逗號分隔,且它們的類型、個數和位置必須與“格式控制字符串”中的格式控制說明一一對應。
2. 格式化輸入函數scanf( )
scanf()函數用于按規定的格式從鍵盤輸入數據,并將數據存入對應的地址單元中。函數調用格式為:
scanf("格式控制字符串" ,輸入參數);
“格式控制字符串”的含義與printf()函數相同。輸入參數以地址的形式出現,即是需要接受輸入數據的變量的地址(變量名前加&)或字符串的首地址,而不是變量本身。
3. 字符數據的輸入與輸出
C語言提供了putchar()和getchar()函數,用于單個字符的輸入和輸出。