初始C语言,C语言中的数据类型,变量和常量,生命周期和作用域

1. 我们学习C语言主要包括以下几点:数据类型, 变量常量,字符串,转义字符,注释,选择语句,循环语句,函数,数组,操作符,常见关键字,define定义常量和宏,指针和结构体.

2. 首先来给大家说说,我们和我们的计算机之间是运用一种语言来联系的,这就是计算机语言,计算机语言有很多的种类,比如说我们要学的C还有以后要学习的C++.JAVA等,这些都是计算机语言.我们都过输入计算机语言,我们的计算机执行我们所写的语言来实现我们对计算机的操作.

在这我们要给大家讲一下 编辑和编译的区别: 当我们打开一个word文档的时候,此时我们在word文档中进行书写的时候,我们是对这个word文档进行编辑,当我们写完一个程序的时候,在我们的编译器中会多我们的计算机语言进行编译,通过对计算机语言的编译,计算机执行相应的操作从而达到我们对计算机的控制和使用.

3. 接下来就是我们的第一个C语言程序了:首先介绍以下使用的编译器:VS2019(我使用的是VS2019)首先呢 我们先打开VS 创建项目.创建源文件(后缀位.c,后缀为.h的就是头文件) 文件名后缀改称.c,此时就创建了一个C语言的文件.

 

 

 好, 此时我们就创建了一个C源文件.

接下来我们就写我们的第一个C程序

#include<stdio.h>
int main() {

	printf("hello world !");
	return 0;
}

 这就是我们的一个简单的输出hello world 程序.

在这要给大家解释一下:#include<stdio.h>这是包含的一个头文件,这在包含这个头文件是为了调用printf 函数,printf函数是我们C语言中的输出函数,给大家解释一下<stdio.h>这个就是std--标准 i o 是输入输出.

有些有C语言的一点基础的人可能会问道,那么在主函数中为什么会有return 0 ,为什么要返回一个0呢?在这我给大家做一个解释,因为我们呢在定义main函数的时候,我们给main寒素定义了一个数据类型是int型(也就是我们所说的整型).所以我们在写代码的时候要给main一个返回值.那么为什么返回值是0不是其他数字呢?在这,在C语言中人们约定俗成.如果函数能够正常的运行,那么返回值就是0 ,如果不可以正常运行,那么函数的返回值就是其他数字.这就是为什么我们要返回一个值,并且这个值是0,不是其他数.

C语言规定main函数是程序的开始,C语言程序只能有一个main函数.

4. 数据类型:

在C语言中有如下的几种数据类型:char 字符数据类型 int 整形 short 短整型 long 长整形 longlong 更长整形 float 单精度浮点型 double 双精度浮点型   小数在C语言中就是浮点型  整数就是整形.

那么每一种数据类型的大小是多少呢?我们用C语言代码来给大家输出一下:

数据类型大小
char1
short2
int4
long4
long long8
folat4
double8

那么此时肯定会有人绝对不对,怎么int型和long型的大小怎么一样了呢?那么在这我给大家解释一下,在C语言中我们规定 sizeof(long)=>sizeof(int).

那么每个数据元素这么大 ,它怎么存储的呢.其实数据类型都是存储在内存空间的,在我们以后顶哟一个变量的时候,就需要数据类型,数据类型在内存储空间中占的位置的单位都是字节.

计算机中的单位: bit 比特位 计算机的最小单位  8<---byte 字节  1024<--kb  1024<---- mb   1024<------gb 1024<------- tb 1024<--------  pb

计算机识别的是二进制数. 存储二进制中的0 或者1 的时候,占用的内存就是一个比特位.

在这数据类型多可以灵活运用减少不必要的空间的浪费.需要多大空间我们就定义占内存多大的数据类型.

数据类型的应用:创建变量 定义数据(本质是向内存申请空间)

int age = 20;

 5. 常量和变量:

生活中有些的数值是无法改变的:身份证号 血型呀 圆周率呀等

还有一些值是可以变化的:年龄 工资 体重.

不变的值在C语言中就称为常量.

C语言中变量的定义: 数据类型 变量名 可以给变量赋值

变量分为局部变量和全局变量,下面给大家写一段代码来解释一下全局变量和局部变量

全局变量 在大括号外部  ;局部变量 在大括号内部定义的变量

int main() {
	{
		int a = 20;
		printf("%d", a);
	}
	return 0;
}

 

 此时我们可以正常的输出a的值

下面我们再来输出一下a的值

int main() {
	{
		int a = 20;此时我们定义的a是一个局部变量
		printf("%d", a);
	}printf("%d", a);
	return 0;
}

 此时我们发现运行出现了错误,告诉我们没有声明的变量.所以局部变量在他所属的大括号的外围它是无法访问的.

同一个范围内 不能定义同一个变量.

int main() {
	int a = 20;
	int a = 10;
	printf("%d", a);
	return 0;
}

此时就报错了,告诉我们,a多次初始化.

不同的范围内:一个全局变量 一个局部变量 局部变量优先(全局变量和局部变量名字冲突的情况下)  建议局部变量和全局变量名字不一致 

int a = 10;
int main() {
	int a = 5;
	printf("%d",a);
	return 0;
}

 变量的使用  1. 计算两个整数的和.

int main() {
	int sum1 = 10;
	int sum2 = 20;
	int sum = sum1 + sum2;
	printf("%d", sum);
	return 0;
}

 此时我给定了sum1 和sum2的值了,那么我们可以自己定义sum1 和sum2 的值嘛?当然可以,此时就用到了scanf()函数,C语言中的输入函数.

 在这要提醒一下,首先我的代码是没有问题的,那为什么会出现错误呢?在VS中规定的输入函数是scanf_s但是在我们的C语言中并没有这样的规定,那怎么样消除这个错误呢?只需要在我们的代码的第一行加上#define _CRT_SECURE_NO_WARNINGS

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
	int sum1 = 0;
	int sum2 = 0;
	scanf("%d %d", &sum1, &sum2);
	int sum = sum1 + sum2;
	printf("%d", sum);
	return 0;
}

变量的作用域和生命周期

作用域:

全局变量:整个程序中

局部变量:对应变量所在的大括号内.

int main(){
    {
        int a = 0;
    }
    return 0;
}

 这样的局部变量的a它的作用域就是在它所在的那个大括号内.

int a = 10;
int main(){
    
    return 0;
}

此时定义的a就是一个全局变量,它的作用域就是整个程序.

生命周期:

局部变量:进入作用域生命周期开始,出作用域生命周期结束.  

全局变量:整个程序的生命周期.

那我们本次的分享就到此为止啦,期待我们的下次见面.

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Java小白~~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值