001 初识C语言

目录

前言

1. C语言是什么?

2. 数据类型

3. 变量与常量

3.1 变量使用

3.2 局部变量与全局变量

3.3 变量的作用域和生命周期

3.4 常量



前言

基本了解C语言基础知识,对C语言有一个简单的认识


1. C语言是什么?

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易
的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语
言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的
C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超
级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制
定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 [1] 目前2011年12月8
日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标
准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉
字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等

2. 数据类型

char                字符数据类型   1 byte

short               短整形              2 byte

int                   整型                  4 byte  

long                长整型              4 byte

long long        更长的长整型   8 byte 

float                单精度浮点型   4byte

double            双精度浮点型   8byte

 sizeof是操作符不是函数,是用来计算类型合和变量大小,单位是byte

补充 计算机的基本单位

bit 比特位

byte 字节  1byte = 8 bit

KB        1KB = 1024 byte

MB       1MB = 1024 KB

GB       1GB = 1024 MB

TB        1TB = 1024 GB

PB       1PB = 1024 TB  

3. 变量与常量

3.1 变量使用

int age = 18;
float weight = 65.5f;
char ch = 'g';  //直接赋值

3.2 局部变量与全局变量

#include<stdio.h>

int n = 2022;//全局变量 - 在大括号外部定义就是全局变量
int main()
{
	int m = 2021;//局部变量 - 在大括号内部定义就是局部变量
	int n = 2020;

	printf("%d\n", n);

	return 0;
}
在这个代码运行结果为

为什么会这样?因为在全局变量与局部变量名字重复时,局部优先,所以打印的n是2020

补充,如果全局变量不初始化默认为0,而局部变量没有初始化是随机值

 3.3 变量的作用域和生命周期

作用域

1. 局部变量的作用域就是变量所在的局部范围

2. 全局变量的作用域是整个工程

生命周期

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

2. 全局变量的生命周期:是整个工程

3.4 常量

  • 字面常量
  • const修饰的常变量
  • #define 定义的标识符常量
  • 枚举常量
#include<stdio.h>

enum Sex
{
	MALE,
	FEMALE,
	SECRET
};
//枚举常量
int main()
{
	3.14;//字面常量

	const int m = 8;//const 修饰的常变量
	// m = 6;这是错误的,不能被修改

	   //#define的标识符常量 演示
    #define MAX 100
	printf("max = %d\n", MAX);

	//枚举常量演示
	printf("%d\n", MALE);
	printf("%d\n", FEMALE);
	printf("%d\n", SECRET);
	//注:枚举常量的默认是从0开始,依次向下递增1的
	return 0;
}

#define 中的max 是相当于等效替换,为什么是S 的结果是3,而不是,2,因为#define

这是是等效替换,相当于打印S 的结果是,2 + 2 / 2 = 3

而不是 (2 + 2)/ 2 , 讲清楚了就是相当于替换

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱睡觉的叶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值