初识C语言


前言

人与人之间交流可以用汉语、英语、日语等,那么人与计算机之间呢?我想这时候就不得不提计算机语言了,计算机语言涵盖上千种,而我们即将要谈到的C语言就是其中一种。(ps:以下所有程序的编写都是基于VS2019编译器,不同编译器之间可能会有些许差别)


一、计算机语言

计算机语言的发展
在这里插入图片描述

二、什么是编译?

C是编译型语言
在这里插入图片描述
编译就是利用编译程序从源语言编写的源程序产生目标程序的过程。

三、 第一个C语言程序

接下来让我们来看一段代码

#include <stdio.h>

int main()
{
	printf("Hello world");
	return 0;
}

以上,我们就写好了我们的第一个标准C语言程序
stdio.h是这个程序的头文件,其中std - standard 标准,i - input 输入,o - output 输出,意思就是标准的输入输出
main是这个程序的主函数,是程序的入口,在一个程序中main函数有且仅有一个。试想main函数如果多了,程序就不知道要从哪里进入了
printf是C语言自带的格式化输出函数,它的头文件就是stdio.h
更加具体的我们在这里不细说,因为我们现在只是初识C语言

四、数据类型

C语言的数据类型包括以下几类

char  //字符数据类型
short  //短整型
int  //整型
long  //长整型
long long  //更长的整型
float  //单精度浮点数
double  //双精度浮点数

那么每种数据类型的大小是多少呢?我们可以写一段代码计算一下

#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));
	return 0;
}

以上代码的运行结果为
在这里插入图片描述
如图所示我们可以看见各种数据类型在内存中的大小,单位:字节
如果打印过程报错或者警告,我们可以把%d换成%zu(打印一个sizeof返回的无符号整形)
计算机当中的单位
在这里插入图片描述
在这里插入图片描述
至此,你应该大概清楚各单位的大小了

五、变量、常量

生活中有些值是不变的,比如圆周率、血型等
有些值是可变的,比如年龄、体重等
不变的值,C语言中用常量的概念来表示,变的值C语言中用变量来表示

1.定义变量的方法

让我们来看下面这段代码

#include <stdio.h>

int main()
{
	short age = 20;//年龄     我们定义了年龄这个变量的值为20,依此类推
	int high = 180;//身高
	float weight = 88.5;//体重
}

2.变量的分类

C语言中的变量又分为局部变量和全局变量
局部变量 - { }内部定义的变量
全局常量 - { }外部定义的变量
具体见如下代码

#include <stdio.h>

int b = 0;//全局变量

int main()
{
	int a = 0;//局部变量
	return 0;
}

常见错误
在这里插入图片描述在同一个范围内变量只能定义一次,切勿重复定义
让我们再来看一段代码
在这里插入图片描述
这一次代码却运行起来了,且运行的结果为a=10,它说明全局变量和局部变量的名字是可以相同的,且局部变量的优先级高于全局变量,所以我们打印的值为a=10,当只有全局变量时,我们打印全局变量的值
建议不要将局部变量和全局变量的名字写成一样的

3.变量的使用

简单的代码示例:计算两个整数的和

#include <stdio.h>

int main()
{
	int a = 0;
	int b = 0;//初始化
	//输入两个整数
	scanf("%d%d", &a, &b);
	//求和
	int sum = a + b;
	//输出
	printf("%d", sum);
	return 0;
}

通过这个实例,我们可以对变量的使用有一个大体上的认知

4.变量的作用域和生命周期

变量的作用域
1.局部变量
局部变量的作用域是变量所在的局部范围
2.全局变量
全局变量的作用域是整个工程
所以如图所示的代码是会报错的,因为第二个printf要打印的a在变量a的作用域之外
在这里插入图片描述
而全局变量的作用域甚至是整个工程,如下面这段代码就成功运行了,只需要注意声明一下来自外部的符号就OK了
在这里插入图片描述
变量的生命周期
1.局部变量的生命周期
进入作用域生命周期开始,出作用域生命周期结束
2.全局变量的生命周期
整个程序的作用周期,程序开始,生命周期开始,程序结束,生命周期结束

变量的作用域约等于生命周期

最后,我想对看到这的小伙伴点个赞,你们真的很棒!
最后,立志欲坚不欲锐,成功在久不在速,让我们怀揣着这份热情继续坚持下去吧
我们下次再见!
(ps:文章若有什么不对的地方,还请大佬指正)

  • 13
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Shining-point

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

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

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

打赏作者

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

抵扣说明:

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

余额充值