C语言是一门通用计算机编程语言,广泛应用于底层开发
C语言是一门面型过程的计算机编程语言,与C++,java等面向对象的编程语言有所不同
其主要的编译器有GCC,Clang,MSVC
这里看看语言的发展史
看了这张图片知道C语言多重要了吧
任何一种新事物的出现都不是来自于偶然,而是时代所驱使的必然结果。
]
main函数是程序的入口,一个工程中main函数有且仅有一个
是一个库函数,里面包含了很多常用的函数,例如我们这个程序中的 printf函数就在其中,打开原码可以看到
淦,我也看不懂,只能看出来返回值是个整数,这和我们作业上的一个题就联系上了。[打印printf函数返回值]
| char | 字符数据类型 |
|---|---|
| short | 短整型 |
| int | 整型 |
| long | 长整型 |
| long long | 更长的整型 |
| float | 单精度浮点数 |
| double | 双精度浮点数 |
| C语言中没有字符串类型 | 对 |
每种类型的内存是多大呢?
#include
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';
_)组成局部变量和全局变量可以重名,当重名的时候,局部变量优先使用(
就近原则)
作用域(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进制的数字 |
注释有两种风格:
/*xxxxxx*///xxxxxxxxC笔记