目錄
數據類型
?每種類型的大小是多少呢?
變量
變量的命名:
變量的分類:
變量的作用域和生命周期
作用域:
生命周期:
常量
字符串+轉義字符+注釋
字符串:
轉義字符
操作符:
算術操作符
移位操作符
位操作符
賦值操作符
單目操作符
關系操作符
邏輯操作符
條件操作符
?逗號表達式
?下標引用、函數調用和結構成員
常見關鍵字
指針變量的大小
結構體:
?需要熟悉掌握的ASCII碼表:
?以上就是個人學習見解和學習的解析,歡迎各位大佬在評論區探討!
感謝大佬們的一鍵三連!?感謝大佬們的一鍵三連!?感謝大佬們的一鍵三連!
數據類型
char? ? ? ? ? // 字符數據類型short? ? ? ?? // 短整型int? ? ? ? ? ?? // 整形long? ? ? ? ? // 長整型long long ? // 更長的整形float? ? ? ? ? // 單精度浮點數double? ? ? // 雙精度浮點數
?
?每種類型的大小是多少呢?
?注意:存在這么多的類型,其實是為了更加豐富的表達生活中的各種值。
變量
變量的命名:
只能由字母(包括大寫和小寫)、數字和下劃線( _ )組成。不能以數字開頭。長度不能超過63個字符。變量名中區分大小寫的。變量名不能使用關鍵字。
變量的分類:
??分為:局部變量 和 全局變量。
#include <stdio.h>
int global = 2019;//全局變量
int main()
{int local = 2018;//局部變量//下面定義的global會不會有問題?int global = 2020;//局部變量printf("global = %d\n", global);return 0;
}
總結:上面的局部變量global變量的定義其實沒有什么問題的!當局部變量和全局變量同名的時候,局部變量優先使用。
變量的作用域和生命周期
作用域:
???????? 作用域(scope)是程序設計概念,通常來說,一段程序代碼中所用到的名字并不總是有效/可用的而限定這個名字的可用性的代碼范圍就是這個名字的作用域。
1. 局部變量的作用域是變量所在的局部范圍。
2. 全局變量的作用域是整個工程。
生命周期:
?????? ??變量的生命周期指的是變量的創建到變量的銷毀之間的一個時間段。
1. 局部變量的生命周期是:進入作用域生命周期開始,出作用域生命周期結束。
2. 全局變量的生命周期是:整個程序的生命周期。
常量
C 語言中的常量和變量的定義的形式有所差異。C 語言中的常量分為以下以下幾種:1、字面常量2、const 修飾的常變量3、#define 定義的標識符常量4、枚舉常量
#include <stdio.h>
//舉例
enum Sex
{
MALE,
FEMALE,
SECRET
};
//括號中的MALE,FEMALE,SECRET是枚舉常量
int main()
{//字面常量演示3.14;//字面常量1000;//字面常量//const 修飾的常變量const float pai = 3.14f; ? //這里的pai是const修飾的常變量pai = 5.14;//是不能直接修改的!//#define的標識符常量 演示
#define MAX 100printf("max = %d\n", MAX);//枚舉常量演示printf("%d\n", MALE);? ? //0printf("%d\n", FEMALE);? //1printf("%d\n", SECRET);? //2//注:枚舉常量的默認是從0開始,依次向下遞增1的return 0;
}
字符串+轉義字符+注釋
字符串:
這種由雙引號( Double Quote )引起來的一串字符稱為字符串字面值( String Literal ),或者簡稱字符串。
注:字符串的結束標志是一個 \0 的轉義字符。在計算字符串長度的時候 \0 是結束標志,不算作字符串內容。
#include <stdio.h>// 下面代碼,打印結果是什么?為什么?(突出 '\0' 的重要性)int main (){char arr1 [] = "hello" ;char arr2 [] = { 'h' , 'e' , 'l' , 'l' , 'o' };// 沒有結束標志‘\0’發生數組越界char arr3 [] = { 'h' , 'e' , 'l' , 'l' , 'o' ,? '\0' };printf ( "%s\n" , arr1 );printf ( "%s\n" , arr2 );printf ( "%s\n" , arr3 );return 0 ;}
轉義字符:
轉義字符 | 釋義 |
---|---|
\? | 在書寫連續多個問號時使用,防止他們被解析成三字母詞。 |
\' | 用于表示字符常量 '。 |
\“ | 用于表示一個字符串內部的雙引號。 |
\\ | 用于表示一個反斜杠,防止它被解釋為一個轉義序列符。 |
\a | 警告字符,蜂鳴 |
\b | 退格符 |
\f | 進紙符(換頁) |
\n | 換行 |
\r | 回車 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1~3個八進制的數字。 如: \130 表示字符X |
\xdd | dd表示2個十六進制數字。 如: \x30 表示字符0 |
操作符:
算術操作符
+? ? -? ? *? ? /? ? %
移位操作符(二進制)
>>(右移)? ?? <<(左移)
位操作符(二進制)
&(按位與)? ?? ^(按位異或)? ?? |(按位或)按位與:二進制同時為‘ 1 ’,否則都是‘ 0 ’;按位異或:二進制相同為‘ 0 ’,不相同為‘ 1 ’;按位或:二進制有‘ 1 ’為‘ 1 ’。
賦值操作符
=?? +=? ? -=? ? *=? ? /=? ? &=? ? ^ =? ? ? |=??? >>= ? <<=
單目操作符
! ? ? ? ? ? 邏輯反操作- ? ? ? ? ? 負值+ ? ? ? ? ? 正值& ? ? ? ? ? 取地址sizeof ? ? ? 操作數的類型長度(以字節為單位)~ ? ? ? ? ? 對一個數的二進制按位取反-- ? ? ? ? ? 前置、后置 --++ ? ? ? ? ? 前置、后置 ++* ? ? ? ? ? 間接訪問操作符 ( 解引用操作符 )( 類型 ) ? ? ? 強制類型轉換
關系操作符
>>=<<=!=? ? ? ?? 用于測試 “ 不相等 ”== ? ? ? 用于測試 “ 相等 ”
邏輯操作符
&&? ? ? ? 邏輯與|| ? ? ? ? ? 邏輯或
條件操作符
exp1 ? exp2 : exp3
?逗號表達式
exp1 , exp2 , exp3 , …expN
?下標引用、函數調用和結構成員
[ ]? ? ( )? ? ?. (結構體成員訪問)? ? ??-> (結構體指針訪問)
常見關鍵字
auto ? break ? case ? char ? const ? continue ? default ? do ? double else ? enum ?extern float ? for ? goto ? if ? int ? long ? register ? ? return ? short ? signedsizeof ? static struct ? switch ? typedef union ? unsigned ? void ? volatile ? while
關鍵字: static
static是用來修飾變量和函數的
1. 修飾局部變量-稱為靜態局部變量
2. 修飾全局變量-稱為靜態全局變量
3. 修飾函數-稱為靜態函數
特殊情況:
1、一個全局變量被static修飾,使得這個全局變量只能在本源文件內使用,不能在其他源文件內使用。
2、一個函數被static修飾,使得這個函數只能在本源文件內使用,不能在其他源文件內使用。
指針變量的大小

結構體:
結構體使得 C 語言有能力描述復雜類型。
比如描述學生,學生包含: 名字+年齡+性別+學號 這幾項信息。
這里只能使用結構體來描述了。
例如:
struct Stu{char name [ 20 ]; // 名字int age ;? ? ? ? ? ?? // 年齡char sex [ 5 ];? ? ? // 性別char id [ 15 ] ;? ? // 學號};
?需要熟悉掌握的ASCII碼表:
?以上就是個人學習見解和學習的解析,歡迎各位大佬在評論區探討!
感謝大佬們的一鍵三連!?感謝大佬們的一鍵三連!?感謝大佬們的一鍵三連!
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??