要说清什么是c语言是什么,首先要了解什么是语言?语言是人与人或者其他物进行交流的工具。电脑能识别和使用是二进制。那么c语言就是人与电脑之间交流的一种工具。c语言可以理解为一种规则,人与计算机之间的交流准则之一就是c语言。
二进制--->汇编语言--->B语言--->高级语言(C,py,Java...)
二进制:计算机识别和处理的语言。
汇编语言:随着发展,专门写0,1太麻烦,需要不断的查表才能写出机器识别的二进制,因此,就将固定的0,1代码块合并成一个助记符,助记符的出现也就诞生了汇编语言。
高级语言(C,py,Java...):助记符书写还是过于麻烦,于是就有了更为人性化的语言
首先要有一个工作环境,本文以visual studio2022为例。
分析1.main是c语言的主函数。是c语言程序的入口【运行c语言首先运行的地方】
2.main前面的int代表main函数的返回值是整形数据,这就和return 0 相呼应。
return 0 表示主函数main运行结束会返回整形数据0。
return 0前面的地方就是主函数工作的地方,也就是在这里写我们要执行的任务。
main函数在整个c当中只能有一个
3.printf是打印函数(print function)的意思
printf是c提供的一个函数,要使用这个函数就要添加头文件(#include
4.include
c中有7种数据类型,分别与生活中的数据进行对应。char(字符)、int(整形)、short int(短整形)、long int(长整型)、long long int(长长整形)、float(单精度浮点数)、double(双精度浮点数)。
每一种数据类型在内存中的划分空间大小是不同的。char(1字节)、int(4字节)、short(2字节)、long(4字节/8字节)、long long(8字节)、float(4字节)、double(8字节)。
数据的基本单位是比特(bit)。1bit代表1位二进制。1Byte=8bit 1KB = 2^10Byte
打印函数printf打印数据类型%d(整形),%f(浮点类型),%s(字符串),%c(字符),%p(地址),%x(16进制)
什么是变量? 数据不断变化的量。例如:年龄、身高、体重等。
声明变量: 变量类型 变量名 = 初始值; eg:int age = 12;
理解变量: 在内存中划分了一块4字节的内存空间,名字为age,内容为12
局部变量与全局变量: 局部变量变量定义在代码块({})里。全局变量是变量定义在代码块外。
局部变量和全局变量的作用域: 作用域是变量的作用范围。局部变量是作用域是定义在的代码块里(代码块里有嵌套依旧可以作用到)。全局变量的作用域是整个工程(只是在其他的源文件里要想使用到其他源文件里的全局变量需要在要使用的源文件里用extern定义全局变量)
变量的生命周期:生命周期即变量由产生到灭亡。当进入变量作用域时变量生命周期开始,离开变量作用域时候,变量灭亡,被回收
什么是常量: 常量与变量相反,常量是固定不变的量。例如:血型、基因
定义常量: 字面量、const定义的常变量、#定义的常量、枚举常量(用的少)
注意:常量定义之后不能对常量进行修改,但变量可以
在vscode里面scanf被认为是不安全的,但是scanf是c标准中使用的,我们在遇到这种情况最好的办法是不修改,用scanf,原因是让代码具有兼容性。在最前面加#define 后面的是不要弹出警告。这部分在我们运行的时候会有提示。
字符串
前面我们知道了字符,‘A’。字符串是一系列字符构成的集合“ABC”。
如何定义字符串。首先在我们的7种数据类型中没有字符串的数据类型,只有char字符串的数据类型,这也就说明在c中不能将字符串赋值给变量。但是又要存储字符串,因此我们就用字符类型的数组对字符串进行定义。
eg:char arr[] = "abcd"; or eg:char arr[] = {'a','b','c','d','\0'};
重要!!!!:
当我们直接存储字符串的时候(情况一),我们字符串在数组中是由'a','b','c','d','\0'构成,'\0'占空间,但是不显示,即arr的大小为5,'\0'的作用是说明字符串结束标志。(情况二)用字符在数组中存储,一定要有'\0',不然后面会随机出现其他符号,直到有'\0'才能停止
还要注意的是用数组存数字的时候没有'\0'
转义符
转义符\:将原来的字符不再表达原来的意思。计算机中每一个字符都对应着一个数值,这种关系由ASCII表对应。
注释
Ctrl+c+k Ctrl+c+u
选择语句:
条件语句:if(表达式) 语句
if(表达式)
{
语句块1;
}
else
{
语句块2;
}
循环语句:while
while(条件){循环体}
数组是一系列相同类型数据的集合
数组有下标,下标从0开始
运算符:
运算符使用https://blog.csdn.net/dark_cy/article/details/88550777
1.算数运算符:
2.关系运算符:
3.逻辑运算符:
在c中0为假,1为真。eg:2&&3=1、5&&0=0、2||3=1、 2||0 =1、 0||0=0
4.赋值运算符:
5.位运算符:
&是按位与(将&左右的数字转化成二进制按位与)eg:2&&3 === 010&&011结果为010.|是按位或同理运算
~是取反运算符。计算机在存储数据(无论有无符号)都是以补码的形式存储
6.补充:sizeof 强制类型转换符(类型) 下标运算符[] 函数调用运算符()
sizeof操作符:
强制类型转换符(类型)
强制将double类型的转化成int类型数据