一.bool型別
布林資料型別是一種非真即假的資料型別,布林資料型別的變數只有兩種值:yes(1)或 no(0)。
例:bool yourgender = yes;
printf("yourgender = %d\n", yourgender);
bool iswoman = no;
printf("iswoman = %d\n", iswoman);
二.關係運算子(
> >= < <= == !=)
例: bool
result;
int a = 3,b = 5,x = 9;
result = a > b;
printf("result = %d\n", result);
result = a <= b;
printf("result = %d\n", result);
result = a != b;
printf("result = %d\n", result);
result = a == b;
printf("result = %d\n", result);
result = a >= b;
printf("result = %d\n", result);
result = a < b;
printf("result = %d\n",result);
三.邏輯運算子 1.
邏輯運算子組成的表示式,結果也是非真即假。
&&(邏輯與 ) 運算子兩邊的表示式結果同時為真,整個邏輯表示式的結果為真;
||( 邏輯或)運算子兩邊的表示式只要乙個為真,整個邏輯表示式的結果就為真,運算子兩邊表示式同時為假,整個邏輯表示式的結果為假; !
(邏輯非)表示式的結果取反;
2.例:
邏輯與 &&
result = x > a && x > b;
printf("result = %d\n", result);
result = a > b && x > b;
printf("result = %d\n", result);
result = a > b && b > x;
printf("result = %d\n", result);
result = a < b && b > x;
printf("result = %d\n", result);
邏輯或 ||
result = a > b || b > x;
printf("result = %d\n", result);
result = a < b || b > x;
printf("result = %d\n", result);
result = a > b || b < x;
printf("result = %d\n", result);
result = a < b || b
printf("result = %d\n", result);
邏輯非!
result = !(a < b || b < x);
printf("result = %d\n",result);
四.程式的三種結構
1.順序結構、分支結構、迴圈結構
2.有關於分支結構:
if語句就是乙個分支結構,根據條件進行判斷,以決定執行某個分支程式。
語法格式:
if(條件表示式) //如果條件表示式為真時,程式執行語句1,否則執行下面的語句。
例:if (yourgender)
if (yourgender)
if(!iswoman)
注意:if條件表示式後面不能有「;」,否則不管條件表示式是否成立,語句都會執行。
例:控制台輸入乙個字元,如果輸入的字元是m,則輸出這是個男的,否則什麼都不輸出。
char c;
printf("請輸入乙個字元:\n");
scanf("%c", &c);
if (c == 'm')
3.if語句的第二種形式
if (條件表示式) else
例:1.如果從控制台輸入乙個字元,如果輸入的字元是n,則輸出錢幣正面,否則輸出錢幣反面。
char d;
printf("請輸入乙個字元\n");
scanf("%c", &d);
if (d = 'n') else
例:2.
輸入乙個年份,判斷該年份是否是閏年?如果是閏年,則輸出該年是閏年,否則輸出該年份不是閏年。 //
注意:閏年能被400整除(或能被4整除,但是不能被100整除)。
int year;
printf("請輸入乙個年份:\n");
scanf("%d", &year);
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
45 else
例:3.從鍵盤輸入乙個字元,如果是數字,列印this is digital,如果是大寫字母,列印this is capital letter,如果是小寫字母,列印 this is letter,如果是其他字元,列印 other。
int e;
printf ("請輸入乙個字元:\n");
scanf("%d", &e);
if(e >= '0' && e <= '9')
else if (e >= 'a' && e <= 'z')
else if(e >= 'a' && e <= 'z')
else
4.條件運算子(三目運算子)
格式:條件表示式 ? 表示式1 : 表示式2
注:當條件表示式成立的時候,執行表示式1的值,否則執行表示式2的值
例:int y = 9, z = 21, p;
p = y > z ? y : z;(y > z 為假,條件表示式不成立,所以執行表示式2 即結果取z的值)
printf(" p = %d\n", p);
5.列舉型別
列舉型別是一組有符號名稱的整型常量,一一枚舉所有的狀態,羅列出所有可能結果。
語法格式: enum 列舉名 // 作用:提高程式的可讀性 例:
enum
schooldepartment ;
printf("computer = %d\n", computer);
printf("music = %d\n", music);
printf("art = %d\n", art);
printf("electrical = %d\n", electrical);
printf("accounting = %d\n", accounting);
6.switch 多分支語句,通過判斷整型表示式的值,來決定執行那個分支。
switch
通常和case連用
語法格式
switch (整型表示式)
case 值2:
...case 值n:
default:
例:(列舉型別,switch語句)從控制台輸入1-4,對應列印春夏秋冬的英文詞
enum season ;
printf("請輸入1-4之間的數字\n");
int season;
scanf("%d", &season);
switch (season)
C語言基礎知識
1 的問題。int i 1 int j 2 int k i j printf d k 輸出k為3。編譯原理有關編譯器在詞法解析的時候,對於運算子,總是查詢最大的匹配也就是說,i j,編譯器在找到 的時候,它不立即理解為 而是繼續下乙個字元,下乙個字元仍然是 可以組成 再往下的話便是 不成立了。所以i...
C語言基礎知識
一 位元組對齊 位元組對齊的原因,是機器在訪問記憶體中儲存的資料的高效性。通常機器是機器位數為自然邊界來訪問記憶體的,如果乙個4位元組整形數,所在的記憶體不在虛擬記憶體的自然邊界。則cpu需要讀多於一次的資料,這樣就降低了效率。所以,簡單地說,就是保證cpu指令在訪問資料的時候,能一次讀取,而不需要...
程式語言基礎知識
1.字符集 掌握跟本門課程相關的字符集組成,例如字母 嚴格區分大小寫 數字,運算子,特別注意運算子 的左右兩邊必須為整數,且結果 的符號由 前面數字符號決定,比如 8 5 3 2.識別符號 由系統預定義識別符號 關鍵字 和使用者自定義識別符號兩種組成 需要注意的是 使用者自定義識別符號的命名規則分為...