(史上最全)C语言快速入门宝典(一)

       🔥🔥 欢迎来到小林的博客!!
      🛰️博客主页:✈️小林爱敲代码
      🛰️欢迎关注:👍点赞🙌收藏✍️留言
在这里插入图片描述
      今天给大家分享C语言中的三部分内容,希望大家在学习C语言的道路上畅通无阻,也希望我们大家一起进步。



         每日一句: 人生的路,靠的是自己一步一步去走。

大纲:

在这里插入图片描述

💖1. 第一个C语言程序

因为小林用的是VS2019 编译器,所以和大家会有差异。

首先打开编译器,创建项目。
在这里插入图片描述

然后选空项目,下一步。
在这里插入图片描述

然后创建项目
在这里插入图片描述

然后新建项
在这里插入图片描述

我们选择Cpp文件,切记,文件后缀名一定要改成 .c ,然后添加
在这里插入图片描述

然后我们就进到了以下界面,如果编译器是 2019的话,那么需要加上第一行来屏蔽输入警告,其他编译器则不用,所以不用担心。
在这里插入图片描述

然后就可以开始敲代码了。我们先敲一个main函数,main函数是程序的执行入口,也就意味着任何一个C语言程序 都是从main函数开始执行的。
在这里插入图片描述

然后我们写一个输出语句。
在这里插入图片描述
再引上对应的头文件。因为printf函数 是C语言提供的,如果我们要使用,需要和它打个"招呼",也就是引用头文件。使用printf需要引用stdio.h的头文件。

在这里插入图片描述

然后我们运行一下程序,VS编译器环境下的运行快捷键是ctrl+f5。

在这里插入图片描述
我们就发现我们的结果打印出来了,这就是第一个C语言程序。


💖2. 数据类型

C语言中常用的数据类型有以下几种

char 字符型   1字节
short 短整形  2字节
int  整形     4字节
long 长整型   不小于4字节
float 单精度浮点型  4字节
double 双精度浮点型 8字节

字符型 : 1个字符,对应ASCII 码值
短整形 :范围在 -32768(-2^15) ~ 32767(2^15 - 1)之间的整数
整形 : 范围在 (-2)^31 ~ (2^31)-1 之间的整数
长整形 : C语言没有明确规定,只要求long的大小不能小于int。
单精度浮点型 : 简单理解就是小数。
双精度浮点型 :精度更高的小数。

ASCII表
在这里插入图片描述
那我们写段代码来测试一下


#include<stdio.h>

int main()
{
	char ch = 'a'; //字符型变量创建
	short sh = 20; //短整型变量创建
	int i = 30; //整形变量创建
	long lg = 40;  //长整型变量创建
	float f= 5.5f; //单精度浮点型变量创建
	double d = 6.6; //双精度浮点型变量创建

	printf("字符型:%c   所占字节: %d\n",ch,sizeof(ch));
	printf("短整形:%d  所占字节: %d\n", sh, sizeof(sh));
	printf("整形:%d    所占字节: %d\n", sh, sizeof(i));
	printf("长整形:%d  所占字节: %d\n", lg, sizeof(lg));
	printf("单精度浮点型:%f  所占字节: %d\n", f ,sizeof(f));
	printf("双精度浮点型:%lf  所占字节: %d\n", d, sizeof(d));

	return 0;
}

sizeof 是一个关键字,它会返回一个数在内存所占的字节个数。
在这里插入图片描述


💖3. 变量,常量

生活中总有些值是不变的(圆周率,性别,身份证号码,血型)。
也总一些值是会变的(年龄,工资,体重) 等等
而会变的值在C语言中被称为变量,不变的值被称为常量。
所以变量通常用来存储会变的值,常量用来存储不变的值。

💖3.1 变量的定义

定义变量很简单,只需要 (数据类型名) + 变量名 ,即可定义一个变量。
假设我要定义一个字符型变量,那么就是 char(数据类型名) + ch(变量名);即可定义成功。

int main()
{
	char ch; //定义字符型变量
	int i; //定义整形变量
	long l;//定义长整型变量
	float f; //定义浮点型变量
	........
	return;
}

变量定义成功了,但是变量肯定会有值。如果我们不主动给变量赋值,那么局部变量的值就是随机值。所以我们要给变量赋值,赋值的方法也很简单。
变量名 = 值;

int main()
{
	char ch; //定义字符型变量
	int i; //定义整形变量
	long l;//定义长整型变量
	float f; //定义浮点型变量

	ch = 'a'; //ch变量存储 'a' 这个字符
	i = 10; //i变量存储了 10这个整数
	l = 100;//l变量存储了100这个整数
	f = 5.5 ;//f存储了5.5这个整数
	........
	return;
}

变量存储了一个值之后,我们使用变量,就是使用这个值,比如说我们的变量i 存储了10,那么我们打印 i 就会打印10。
在这里插入图片描述
变量也可以在定义的时候直接赋值。
数据类型名 变量名 = 值

int main()
{
	int i = 10;
	int b = 20;
}

💖3.1.2 变量的命名规则

变量的命名规则必须严格按照以下要求:
1. 只能由字母(大写或小写),数字和下划线(_)组成
2. 不能超过63个字符
3. 变量名区分大小写
4. 不能以数字开头
5. 变量名不能使用关键字
6.同一个作用域不能出现相同的变量名

💖3.2 变量的之间的运算

上面说到,变量是用来存储一个值的,那么这就意味着变量和变量之间可以存在运算。

假设我有3个变量 , 变量 a = 10,变量 b = 20, c用来存储a 和 b的和。

#include<stdio.h>
int main()
{
	int a = 10;
	int b = 20;
	int c = a + b;

	printf("c = %d\n", c); 
	return 0;
}

c 存储的是 a+b的值,那我们打印c来看看。
在这里插入图片描述

我们进行了 变量之间的加法运算,那我们分别来试试减法,乘法,除法。
在这里插入图片描述
我们发现都可以进行运算,但是要注意一点的是,整数的除法运算只会取2个数的商,而不会取余数,比如 5 / 2 的商是2,所以相除的结果是2。
在这里插入图片描述

💖3.3 常量

变量是会变的值,那么常量自然就是不能变的值,变量和常量的区别就是,常量只能在定义的时候赋值,一旦常量定义完之后,那么常量的值无法被修改。

💖3.3.1 const常量

const也是一个关键字,它可以让一个变量变成常量,但严格意义来说不是真正的常量。而是常变量,因为被 const修饰的常量可以通过特殊的方式修改它的值。当然,那是指针的内容了,这里我们不深入探讨。

const修饰的常量定义:const 数据类型 变量名 = 值

int main()
{

	const int i = 10;
	return 0;
}

const修饰过后,i的值就无法再被改变。我们尝试把i修改成20试试。
在这里插入图片描述
编译器就给我们报了个错误,因为常量无法修改。所以当你期望一个值无法被修改时,可以加const关键字对其修饰。

💖3.3.2 define常量

常量的另一种定义方法,就是用define关键字定义,这个是真正意义上的常量,一旦定义,谁也无法修改。

定义方法: #define 变量名 值
这种常量建议定义成全局(就是在main函数外面创建)。

#define i 10 //常量定义

int main()
{
	i = 20; //尝试修改常量的值
	
	return 0;
}

然后我们尝试修改i的值。
在这里插入图片描述
一样,报错。

💖3.4 局部变量、全局变量

局部变量,顾名思义,就是只能在一段范围内才能使用,一旦出来这个范围,那么就无法在使用这个变量。

💖3.4.1 作用域

在作用域范围内创建的局部变量,只能在当前作用域。什么是作用域呢?很简单,我们把 一段花括号{ } 之间的位置看成一个作用域。而在作用域里面创建的变量,出了作用域,就无法使用了。

#include<stdio.h>
int main()
{
	{
		int i = 10;
		i = 20;
	}
	//作用域外使用i
	i = 30; 
	
	return 0;
}

我们会发现在作用域外使用 i ,会提示未定义。
在这里插入图片描述

所以,i 就是所在作用域内的一个局部变量。一旦出了这个作用域, i 的生命周期也结束了。

💖3.4.2 变量的生命周期

每个变量都有自己的生命周期,一旦变量的生命周期结束了,就意味着这个变量被销毁了,不复存在了。而一个变量的生命周期,就是出了 它的作用域开始。

int main()
{
	int a = 10;

	{//作用域的开始
		int b = 20;
		{ //作用域开始
			int i = 10;
			i = 20;
		}//出了作用域后,i的生命周期结束了
		
	}//出了这个作用域后,b的生命周期结束了
		

	return 0;
}//出了这个作用域后,a的生命周期结束了

如图,变量的生命周期,从变量的创建开始,到出作用域后结束。
在这里插入图片描述

结论:
     1.局部变量的生命周期,从变量创建的所在作用域开始,到出此作用域结束。
     2.在当前作用域创建的变量,只能在当前作用域的范围内使用,一旦出了此作用域,那么该变量就无法使用,因为变量的生命周期结束,变量已经销毁。

💖3.5 全局变量

     局部变量的作用域为它创建时所在的作用域,那么全局变量的作用域就是整个程序。也就说全局变量在一个程序中的任何位置,都可以使用。 全局变量的生命周期就是整个程序的生命周期,程序不结束,全局变量不销毁。

全局变量定义:不在函数任意一个作用域里面定义的变量,就是全局变量。

#include<stdio.h>

int d = 100; //全局变量定义

int main()
{
	int a = 10;

	{
		int b = 20;
		{ 
			int i = 10;
			i = 20;
		}
		
	}
		

	return 0;
}

我们可以看到d这个变量,它不在任何一个作用域里面,所以d是个全局变量。在任何地方可以使用。
在这里插入图片描述

那么局部变量和全局变量名一样怎么办?
那么会优先使用局部变量,就近原则。


总结🥳:

💦💦如果有写的有什么不好的地方,希望大家指证出来,我会不断的改正自己的错误。💯💯如果感觉写的还可以,可以点赞三连一波哦~🍸🍸后续会持续为大家更新大纲上的内容,以及数据结构,C++等方面的知识

🔥🔥你们的支持是我最大的动力,希望在往后的日子里,我们大家一起进步!!!
🔥🔥

  • 52
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 75
    评论
评论 75
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林 子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值