大家好!我是同学〖森〗,一名计算机爱好者,今天让我们进入知识整理复习模式。若有错误,请多多指教。
目录
概述:
1.写本篇博客的目的是给新学c的友友们整理一下c语言的基本知识点。在期末考试之前能有一份参考文章。从而发现自己那部分不足,再另加训练。祝大家期末取个好成绩。
2、本篇博客在网上查找了很多内容,同时也参考一些书籍,以及老师的PPT,还有一些文章。若有侵权,请与我联系。
3、创作不易,如果你觉得同学〖森〗写的内容对你有帮助的话就点赞收藏关注支持一下小主吧!期待与你的下一次相遇。
思维导图
一、数据类型
思维导图
(一)类型
(二)计算机中的单位
二、数据的两种类型
思维导图
(一)、常量
1、字面常量
2、const修饰的常变量
思维导图
1) 定义
const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。
2)不能用于数组定义
3) 常变量与常量的异同:
常变量具有变量的基本属性: 有类型,占存储单元,只是不允许改变其值。可以说,常变量是有名字的不变量,而常量是没有名字的不变量。有名字就便于在程序中被引用。
#define Pi 3.1415926 //定义符号常量
const float pi=3.1415926; //定义常变量
符号常量Pi和常变量pi都代表3.1415926,在程序中都能使用。但二者性质不同:
定义符号常量用#define指令,它是预编译指令,它只是用符号常量代表一个字符串,在预编译时仅进行字符替换,在预编译后,符号常量就不存在了(全置换成3.1415926了),对符号常量的名字是不分配存储单元的。而常变量要占用存储单元,有变量值,只是该值不改变而已。从使用的角度看,常变量具有符号常量的优点,而且使用更方便。有了常变量以后,可以不必多用符号常量。
3、枚举常量
1)定义:是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内,例如:星期,性别等.
2)用enum定义
#include<stdio.h>
enum color //三原色
{
RED,
GREEN,
BLUE
};
int main()
{
printf("%d,%d,%d", RED, GREEN, BLUE);
return 0;
}
3)枚举常量的默认是从0开始,依次向下递增1的
4、#define定义的标识符常量
思维导图
1)概念:
#define 命令是 C 语言中的一个宏定义命令 ,它用来将一个标识符定义为一个字符串 , 该标识符被称为宏名, 被定义的字符串称为替换文本。该命令有两种格式:一种是简单的宏定义, 另一种是带参数的宏定义。一般都用大写字母,与变量区别
2)无参宏定义
a、一般形式
#define 宏名 字符串
#define MAX 1000
其中的“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。“define”为宏定义命令。“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。
b、define定义常量
#include<stdio.h>
#define MAX 1000
int main()
{
int m = MAX;
printf("%d", m);
return 0;
}
c、 define定义宏
#include<stdio.h> //求a+b的平方
#define M (a+b) //宏定义
int main()
{
int s, a, b;
printf("请输入a和b的值:\n");
scanf("%d%d", &a, &b);
s = M * M; //宏调用
printf("%d", s);
return 0;
}
在预处理时经宏展开后该语句变为: S=(a+b)*(a+b) 。 但要注意的是,在宏定义中表达式(a+b)两边的括号不能少。否则会发生错误。
注意:
a.宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查。如有错误,只能在编译已被宏展开后的源程序时发现。
b.宏定义不是说明或语句,在行末不必加分号,如加上分号则连分号也一起置换。
c.宏定义其作用域为宏定义命令起到源程序结束。如要终止其作用域可使用#undef命令。
3)带参宏定义
a、一般形式
#define 宏名(形参表)字符串
#define MAX(x, y) ((x)>(y)?(x):(y))
b、
#include<stdio.h>
#define MAX(x, y) ((x)>(y)?(x):(y)) //宏定义
int main()
{
int a = 10;
int b = 20;
//int m = get_max(a, b);
int m = MAX(a+2, b/3); //宏引用
printf("较大值:%d\n", m);
return 0;
}
宏展开后该语句为: max=(x>y)?x:y;
(二)、变量
1、定义:
变量代表一个有名字的、具有特定属性的一个存储单元。 变量用来存放数据,也就是存放变量的值。 在程序运行期间,变量的值是可以改变的。 变量必须先定义,后使用。
2、变量定义
int age = 150;
float weight = 45.5f;
char ch = 'w';
3、 变量的分类
#include <stdio.h>
int global = 2019;//全局变量
int main()
{
int local = 2018;//局部变量
//下面定义的global会不会有问题?
int global = 2020;//局部变量
printf("global = %d\n", global);
return 0; }
总结:
4、变量作用域和生命周期
a、作用域(即使用范围)
局部变量:变量所在的局部范围。
全局变量:整个工程。
b、生命周期
局部变量:进入局部范围生命开始,出局部范围生命结束。
全局变量:程序的生命周期。
三、字符串,转义字符,注释
思维导图
(一)字符串
1、定义:
用双引号括起来的一串字符。
注:
字符串的结束标准是\0的转义字符,在计算字符串长度的时候\0是结束标准,不算作字符串内容。
2、ASCII表
注意:
(二)转义字符
1、分类
(三)注释
- 1. 代码中有不需要的代码可以直接删除,也可以注释掉
- 2. 代码中有些代码比较难懂,可以加一下注释文字
- // (c++)
- /* */(c语言)缺陷:不能嵌套注释
四、常见关键字
思维导图
(一)32个关键字
(二)宽度和精度
-
五、操作符