从0到1初始C语言(1)

目录

前言

1.什么是C语言

2.第一个C语言程序

3.数据类型

4.变量和常量

4.1变量定义的方法

4.2 变量的命名

4.3变量的分类

4.4变量的使用


前言

只是对C语言做一个大概的认识,每个知识点只是简单介绍,不是详细讲解,没有吃过猪肉,见识一下猪🐖跑,会分好几篇文章来介绍C语言,主要从C语言的以下几个方面介绍:

1.什么是C语言


2.第一个C语言程序


3.数据类型


4.变量、常量


5、字符串+转义字符+注释


6.选择语句


7.循环语句


8.函数


9.数组


10.操作符


11.常见关键字


12.define定义和宏


13.指针


14.结构体


1.什么是C语言

 引言:人与人对话有汉语、英语、日语、韩语等语言,那人与计算机之间用什么来交流?答案是计算机语言;计算机语言有C语言,C++,Java,python等,C语言是众多计算机语言的一种。

C语言是一门通用的计算机编程语言,广泛应用与底层开发,计算机大致可分为3个部分

                              操作系统以上为上层,及操作系统以下为下层/底层。

C 语言的设计目标是提供一种能以简易 的方式 编译 、处理低级 存储器 、产生少量的 机器码 以及不需要任何运行环境支持便能运行的编程语言。
二十世纪八十年代,为了避免各开发厂商用的 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.第一个C语言程序

首先需要我们下载集成开发环境VS2022社区版2免费的开发人员软件和服务 - Visual Studio,这里就默认下载了,其中打开编译器详细过程就不展开了。

  1. 创建新建项目
  2. 创建.c文件(源文件) C语言中,一般有(.c)源文件和(.h)头文件
  3. 写代码 使用C语言写一行代码,在屏幕上打印:hello C (这里就没有用经典案例).

       4.运行代码 编译+链接+运行---->输出结果 快捷键ctrl+F5

#include <stdio.h>
//main——主函数
//main函数是程序的入口
//不管你的代码有多少行,都是从main函数第一行开始执行的
//在一个工程里,可以有多个.C文件,但main有且仅有一个

int main()
{
	printf("hello C");
	return 0;
}

printf 是库函数,功能是在屏幕上打印数据信息 - 输出
库函数是标准库中提供的函数,这些函数是现成的,直接可以使用
但是使用库函数需要包含对应的头文件
输入/输出 函数需要的头文件 stdio.h
std  - standard
i ---- input
o ---- output

3.数据类型

数据C语言中的数据类型
小数浮点型类型
整数整型类型
字符字符类型
··············

具体C语言数据类型有:

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

那C语言中有没有字符串类型呢?C语言中没有原生的字符串类型,不过可以用指针来管理字符串,这里就不细讲了,等后期文章介绍。

那每种数据类型的大小是多少?接下来需要用到sizeof函数,是用来测量大小的。

#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;
}

接下来估计大家也有疑问:1.那这些数值单位是什么?2.int和long貌似都是4个字节?

1.单位是什么?

计算机中常见的单位有

bit——比特1个二进制位的存储需要1bit的空间
byte——字节1byte=8bit
KB1KB=1024byte
MB1MB=1024KB
GB1GB=1024MB
TB1TB=1024GB
PB1PB=1024TB

2.int和long貌似都是4个字节?

C语言中规定sizeof(long)>=sizeof(int)即可,在VS上long的大小等于int的大小等于4,但在其他编译器上有所不同,可自行去测试。

存在这么多的类型,其实是为了更加丰富的表达生活中的各种值。

4.变量和常量

生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等)
有些值是可变的(比如:年龄,体重,薪资)。

4.1变量定义的方法

开头和结尾与之前相同,数据类型+变量,如图

int main()
{
	int age = 20;
	float pai = 3.14;
	double pai2 = 3.14;
	return 0;
}

4.2 变量的命名

变量不是随便命名的,有如下规则

  • 只能由字母(包括大小写)、数字和下划线(_)组成
  • 不能以数字开头。
  • 长度不能超过63个字符。
  • 变量名中区分大小写的。
  • 变量名不能使用关键字。

注意:变量的名字最好有意义

4.3变量的分类

  • 局部变量 在{}中定义的变量就是局部变量
  • 全局变量 在{}外定义的变量就是全局变量
int m = 100;//全局变量-共享单车
int main()
{
	int n = 10;//局部变量-家里的自行车 
	printf("m=%d\n", m);
	printf("n=%d\n", n);
	return 0;
}

可以把全局变量比作共享单车,都可以去调用这个变量,把局部变量比作家里的自行车,只有在{}里面才可以使用。

那如果当全局变量和局部变量同名的话,哪个被优先使用?测试代码如下

int m = 100;//全局变量-共享单车
int main()
{
	int m = 10;//局部变量-家里的自行车 
	printf("m=%d\n", m);
	return 0;
}

总结:

上面的局部变量m变量的定义其实没有什么问题的
当局部变量和全局变量同名时,局部变量优先使用

4.4变量的使用

下面写一段代码,完成2个整数的相加运算

int main()
{
	int num1 = 0;
	int num2 = 0;
	//输入
	scanf("%d/n", &num1);
	scanf("%d/n", &num2);
	//求和
	int sum = num1 + num2;
	//输出
	printf("sum=%d\n", sum);
	return 0;
}

scanf也是库函数——输入

注意在VS中,当使用scanf 函数的时候,VS就会提醒:scanf函数不安全,考虑使用scanf_s替换,如果不想看到这个错误的话,使用_CRT_SECURE_NO_WARNINGS 1

建议选择第二种方法,scanf_s是由VS这个IDE提供的,所以仅可在VS上使用,其他如gcc、clang不识别你代码中的scanf_s,就失去了可移植性。

第二种方法:可以在当前.c文件的第一行写上:#define _CRT_SECURE_NO_WARNINGS 1  就可以正常调试运行代码了

那就给num1输入10,num2输入20,结果如下

最后总结,以上就是我对于C语言初步的认识,后续还会继续更新,如果写得还不错的话,还请给个一键三连,如果有错误的地方,欢迎大家来指正

我是エース和,一名C语言初学者,我们下期见!

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

エース和

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

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

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

打赏作者

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

抵扣说明:

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

余额充值