初始C语言
什么是C语言
C语言是一门通用计算机编程语言,广泛应用于底层开发
C语言是一门面型过程的计算机编程语言,与C++,java等面向对象的编程语言有所不同
其主要的编译器有GCC,Clang,MSVC
这里看看语言的重要性
看了这张图片知道C语言多重要了吧
任何一种新事物的出现都不是来自于偶然,而是时代所驱使的必然结果。
第一个C语言程序
main函数是程序的入口,一个工程中main函数有且仅有一个
<stdio.h>是一个库函数,里面包含了很多常用的函数,例如我们这个程序中的
printf
函数就在其中,打开原码可以看到
淦,我也看不懂,只能看出来返回值是个整数,这和我们作业上的一个题就联系上了。打印printf
函数返回值
数据类型
char | 字符数据类型 |
short | 短整型 |
int | 整型 |
long | 长整型 |
long long | 更长的整型 |
float | 单精度浮点数 |
double | 双精度浮点数 |
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)); }
这里用到了sizeof
,有很多同学把sizeof
认为是函数,并不是
sizeof
是C语言的一种单目操作符,如C语言的其他操作符++、–等,它并不是函数sizeof
操作符以字节形式给出了其操作数的存储大小。
注意:存在这么多的类型,其实是为了更加丰富的表达生活中的各种值
变量、常量
不变的值,C语言中用常量 概念来表示,变的值C语言中用变量概念来表示
定义变量的方法
int age = 150; float weight = 45.5f;//这里后面必须加上f,否则编译器会认为是双精度 char ch = 'w';
变量的命名
- 只能由字母(包括大写和小写)、数字和下划线(
_
)组成 - 不能以数字开头
- 长度不能超过63个字符
- 变量中区分大小写
- 变量名不能使用关键字
变量的分类
- 局部变量
- 全局变量
局部变量和全局变量可以重名,当重名的时候,局部变量优先使用(
就近原则
)
变量的作用域和生命周期
作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。
1.局部变量的作用域是变量所在的局部范围
2.全局变量的作用域是整个工程
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束
2.全局变量的生命周期是:整个程序的生命周期
常量
C语言的常量分为以下几种
- 字面常量
const
修饰的常变量#define
定义的标识符常量- 枚举常量
const
修饰的常变量在C语言中只是在语法层面限制了变量 , 不能直接被改变,但是本质上还是一个变量的,所以叫常变量。
字符串+转义字符+注释
字符串
由双引号引起来的一串字符成为字符串字面值,或者简称字符串
字符串的结束标志是一个’\0’,的转义字符,在计算字符串的长度的时候
\0
是结束标志,不算作字符串的内容
转义字符
常见的转义字符
转义字符 | 释义 |
? | 在书写连续多个问号是使用,防止被解析成三字母符 |
’ | 用于表示字符常量’ |
" | 用于表示字符串内部的双引号 |
\\ | 用于表示一个反斜杠,防止解析成一个转义序列符 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1-3个8进制的数字 |
\xdd | dd表示1-2个8进制的数字 |
注释
注释有两种风格:
- C语言风格的注释
/*xxxxxx*/
缺陷:不能嵌套注释 - C++风格的注释
//xxxxxxxx
可以注释一行也可以注释多行