C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易
的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语
言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的
C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超
级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制
定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 [1] 目前2011年12月8
日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标
准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉
字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
我们在 学习C语言的时候,第一次接触的代码想必是hello world
#include
int main()
{
printf("hello world");
return 0;
}
这段代码虽然很简短,但是涵括了C程序的基本结构
• include
• main函数是主函数 程序运行时由系统调用,main函数时程序的入口 一个程序只有一个main函数
• 主函数的返回值是0
有时候我们写框架时是这么写的
int main()
{
}
void main()
{
}
int main(void)
{
return 0;
}
上述三种写法虽然程序不会报错 但是要么不规范要么比较繁琐 不建议这么写
C语言本身就含有一些数据类型 它们分别是
char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点数
double //双精度浮点数
内存的最小单元是比特位 其次是字节 八个bit位等于一个字节(byte)1024个byte等于1kb
我们使用sizeof可以计算出每个类型所占的内存大小 单位是字节
如下
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));
生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等)
有些值是可变的(比如:年龄,体重,薪资)
不变的值,C语言中用常量的概念来表示,变的值
C语言中用变量来表示。
int age = 150;//整形用int定义
float weight = 45.5f;//单精度浮点数用float定义
char ch = 'w';//字符用chat定义
规则如下
• 只能由字母(包括大写和小写)、数字和下划线( _ )组成。
• 不能以数字开头。
• 长度不能超过63个字符。
• 变量名中区分大小写的。
• 变量名不能使用关键字
注:变量命名尽量选择有意义的名字
变量作用域是变量的可用性范围。 通常来说,一段程序代码中所用到的名字并不总是有效可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域
变量按照作用域可以分为2类
• 全局变量 定义在主函数外面
• 局部变量 定义在某一个代码块内部
注:当全局变量和局部变量同名时,局部变量优先:
作用域
作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用
的而限定这个名字的可用性的代码范围就是这个名字的作用域。
C语言中的常量分为以下以下几种:
• 字面常量
• const 修饰的常变量
• #define 定义的标识符常量
• 枚举常量
1 ,2,1.0,2.1,‘a’, “abcd”
这些具有固定含义得值称为字面常量
#include
int main()
{
int a = 2;
float f = 2.1f;
double d = 2.2;
char ch = 'a';
char str[] = "abcd";
return 0;
}
//上述中将字面常量赋值给各种类型的变量
注:当字面常量是小数时,默认小数为double类型,若要是字面常量为float类型,需要在小数后面加上f
#include
int main()
{
int a = 10;
a = 20;
printf("%d", a);
//此时a 是可以改变值的变量
const int b = 10;
b = 20;//此时编译器会报错 原因在于b有const修饰 属于值不可以改变的变量
return 0;
}
可以看到 提示数组元素必须是常量值,说明const修饰的变量仍然是变量
#include
#define MAX 10
int main()
{
printf("%d\n",MAX);//10
int arr[MAX];
return 0;
}
define 将标识符MAX 定义为常量10 以后编译器看见MAX直接当作10处理
arr【MAX】不会报错 说明MAX在编译器看来是常量
生活中有些东西是可以一一列举出来的例如:星期、性别、月份
将可以一一列举出来的常量称为枚举常量
枚举常量需要自己定义 按如下方式定义
#include
int main()
{
//此处声明了一个枚举类型 因为性别可以一一列举出来 所以另该类型名字叫做enum SEX
enum SEX
{
MALE,//性别雄
FEMALE,//性别雌
SECRET//性别未知
};//MALE FEMALE SECRET都属于枚举常量
enum SEX sex = MALE;//用性别枚举类型定义了一个变量sex并初始化
int arr[SECRET];//说明枚举常量是常量
//观察一下枚举常量的值
printf("%d \n", MALE); //0
printf("%d \n", FEMALE); //1
printf("%d \n", SECRET); //2
return 0;
}
注:枚举常量的默认是从0开始,依次向下递增1的
本章内容知识没有进行深入的探讨知识点,鹏哥说,没吃过猪肉还没见过猪跑吗?本章及后续两张内容知识将C语言的知识点进行粗略的解释 只是见猪跑,所以有些内容可能不详细或者和您了解的有偏差,这很正常,后续的文章会详细介绍C中的每章知识点,如果您觉的对您有帮助,希望不要吝啬手中的赞,这对我来说很重要,这也会成为我学习的动力,感谢!