Loading... # 初识C语言 重点: - 数据类型 - 常量、变量 - 字符串+转义字符+注释 - 选择语句 - 循环语句 - 函数 - 数组 - 操作符 - 常见关键字 - define定义常量和宏 - 指针 - 结构体 ## 数据类型 ```c char //字符串类型 short //短整型 int //整型 long //长整型 long long //更长的整形 float //单精度浮点型 double //双精度浮点型 //C语言有没有字符串类型?? //答:没有。 ``` > 每种类型的大小是多少? ```c #include<stdio.h> int main() { printf("%d\n", sizeof(char)); printf("%d\n", sizeof(short)); printf("%d\n", sizeof(int)); printf("%d\n", sizeof(long)); printf("%d\n", sizeof(long long)); printf("%d\n", sizeof(float)); printf("%d\n", sizeof(double)); return 0; } ```  > git三板斧 ```git git add [文件名] //将需要用git管理的文件告知git git commit -m //"注释" 提交改动到本地,描述提交的详细内容 git push //同步到远端服务器上 ``` > sizeof的单位是什么? 字节byte 计算机中的单位: ```c bit-比特位 byte-字节=8bit kb-1024byte mb-1024kb gb-1024mb tb-1024gb pb-1024tb ``` ## 常量、变量 ### 1.1变量的定义: ```c int age = 21; float weight = 54.5; char ch = "w"; ``` ### 1.2变量的分类: - 局部变量 - 全局变量 ```c #include<stdio.h> int a = 2021;// 全局变量 int main() { int b = 2022;//局部变量 int a = 2022;//局部变量 printf("%d %d", a, b); return 0; } ```  总结: > 上面的局部变量a 变量的定义是没有什么问题的。 > > 当局部变量和全局变量同名的时候,`局部变量优先使用`! ### 1.3变量的使用 ```c #include<stdio.h> int main() { int a, b, sum; scanf("%d %d", &a, &b); sum = a + b; printf("sum=%d",sum); return 0; } ```  ### 1.4变量的作用域和生命周期 **作用域** > 作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的 > 而限定这个名字的可用性的代码范围就是这个名字的作用域。 1. 局部变量的作用域是变量所在的局部范围 2. 全局变量的作用域是整个工程。 **生命周期** > 变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段 1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。 2. 全局变量的生命周期是:整个程序的生命周期。 ### 1.5常量 C语言中的常量分为以下几种: - 字面常量 - `const`修饰的常变量 - #define定义的标识符常量 - 枚举常量 ```C #include<stdio.h> enum Sex { Max, Mid, Min }; //Max,Mid,Min是枚举常量 int main() { //字面常量 3.14; 1000; //const修饰的常变量 const float pai = 3.14f; //pai = 4.14;//const修饰的常变量不能直接修改 //#define的标识符常量 #define MAX 10 printf("max=%d\n",MAX); //枚举常量默认是从0开始,依次向下递增1 printf("%d\n", Max); printf("%d\n", Mid); printf("%d\n", Min); return 0; } ```  注: 上面例子上的 `pai`被称为*`const`*修饰的常变量,`const`修饰的常变量在C语言中只是在语法层面限制了变量 `pai`不能直接被改变,但是 `pai`本质上还是一个变量的,所以叫常变量。  <div class="tip inlineBlock error"> const修饰的常变量不能直接修改 </div>  <div class="tip inlineBlock error"> 数组的下标不能为变量 </div> Last modification:November 10th, 2021 at 08:28 am © 允许规范转载