初阶C语言(一)-初识C语言

抱歉啦,发完第一篇之后断更这么久,主要是因为发完上一篇之后,就进入了期末周,一直在复习,就没有找到合适的时间来更新,现在也放假啦,暑假让我们一起努力学习吧!按照我的规划,会从C语言开始学起,主要以更新学习笔记为主,有任何不对的地方,欢迎大家批评指正。俗话说:“种一棵树最好的时间是十年前,其次是现在。”让我们把握当下,共创未来!

一.什么是C语言

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

二.第一个C语言程序

第一个C语言程序:在屏幕上打印"Hello World"

#include <stdio.h>//头文件
//main - 主函数(程序的入口,写的C语言代码都是从main函数的第一行开始执行的)
int main()//int-整型
{
    
    
	printf("Hello World!");
	//printf是库函数 - C语言标准库中提供的一个现成的函数,可以直接使用,功能是在屏幕上打印信息
	//库函数的实现需要包括库函数-printf需要用到的头文件是:stdio.h
	return 0;
}//{}-函数体

:1.main函数是必须有的,并且有且只有一个,千万不要写成mian
2.C语言中所有的字符都必须是英文的(特别是分号;和引号’’ ‘’)

三.数据类型

常见的数据类型:
char - 字符数据类型
short - 短整型
int - 整型
long - 长整型
long long - 更长的整型
float - 单精度浮点数(浮点数就是小数的意思)
double - 双精度点数

接下来,让我们一起通过一段代码来了解一下每一种数据类型的大小

int main()
{
    
    
	//%d-以十进制的形式打印整数
	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、4…的这些数字又代表着什么含义呢?
这里,我们需要引入计算机中常见的一些单位:bit(比特位)、byte(字节)、KB、MB、GB、TB、PB等等。(8bit = 1 byte 1 KB = 1024 byte…)而上图所示的数字所对应的单位为字节(bite)
C语言标准:sizeof(long long)>=sizeof(long)>=sizeof(int)>sizeof(short)>sizeof(char)

四.变量、常量

在我们的日常生活中,存在一些变化的量(比如:身高、体重、薪资…)同样,也存在着一些不变的量(例如:身份证号码、圆周率…)C语言中,将这些不变的量称为常量,将变化的量称为变量。

1.定义变量的方法

定义变量的基本格式为:数据类型 变量名
示例如下:

    int age = 20;
	float weight = 50.3f;//此处如果是double型,则不需要加f
	char ch = 'a';

上述代码在定义变量的同时,也给变量赋了值,这样可以让程序变得简便。

2.变量的命名

变量的命名也是有讲究的,规则如下:
(1).只能由字母、数字和下划线(_)组成
(2).不能以数字开头
(3).长度不能超过63个字符
(4).变量名中区分大小写
(5).变量名中不能使用关键字

读到这里,你肯定会好奇什么又是关键字呢?
关键词是由C语言规定的具有特定意义的字符串,通常也称为保留字,用户定义的标识符不应与关键词相同,C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。

1、数据类型关键字(12个):
(1) char :声明字符型变量或函数
(2) double :声明双精度变量或函数
(3) enum :声明枚举类型
(4) float:声明浮点型变量或函数
(5) int: 声明整型变量或函数
(6) long :声明长整型变量或函数
(7) short :声明短整型变量或函数
(8) signed:声明有符号类型变量或函数
(9) struct:声明结构体变量或函数
(10) union:声明联合数据类型
(11) unsigned:声明无符号类型变量或函数
(12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)

2、控制语句关键字(12个):
A循环语句 :(1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环
B条件语句: (1)if: 条件语句 (2)else :条件语句否定分支(与 if 连用) (3)goto:无条件跳转语句
C开关语句: (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支
D return :子程序返回语句(可以带参数,也看不带参数)

3 、存储类型关键字(4个):
(1)auto :声明自动变量 一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) (3)register:声明积存器变量 (4)static :声明静态变量

4、其它关键字(4个): (1)const :声明只读变量 (2)sizeof:计算数据类型长度 (3)typedef:用以给数据类型取别名(当然还有其他作用) (4)volatile:说明变量在程序执行中可被隐含地改变。

虽然关键字只有以上32个,但是为了便于读者阅读你的代码,尽量要使自己的变量名取的有意义。

3.变量的分类

变量分为局部变量和全局变量
全局变量:在{}外边定义的变量是全局变量
局部变量:在{}内部定义的变量是局部变量
示例如下:

#include <stdio.h>
int b = 20;//全局变量
int a = 100;
int main()
{
    
    
	int a = 10;//局部变量
	printf("%d\n", a);
	printf("%d\n", b);
	return 0;
}

在这里插入图片描述

注:当局部变量和全局变量在同一个地方使用的时候,遵循局部优先的原则。

4.变量的使用

给出一个示例:写一个代码实现两个数的相加,并输出结果。

int main()
{
    
    
	int a = 0;
	int b = 0;
	int sum = 0;
	//输入两个值
	//printf为输出函数,而scanf为输入函数
	scanf("%d %d", &a, &b);
	sum = a + b;
	printf("%d\n", sum);
	return 0;
}

在这里插入图片描述
:在VS编译器中,为防止因scanf函数报错,可以在头文件之前添加#define _CRT_SECURE_NO_WARNINGS 1(放在.c文件的第一行)

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

作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
1.局部变量的作用域是变量所在的局部范围。(它所在的{}内)
2. 全局变量的作用域是整个工程。(整个工程都能用)

#include <stdio.h>
int c = 100;//全局变量
int main()
{
    
    
	int b = 10;//局部变量
	{
    
    
		int a = 30;//局部变量
		printf("%d\n", a);//a的作用域在与它最邻近的{}内
	}
	printf("%d\n", b);
	printf("%d\n", c);
	return 0;
}

全局变量与局部变量作用域的示例

变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。

6.常量

C语言中的常量和变量的定义的形式有所差异。
C语言中的常量分为以下以下几种:
1.字面常量(直接写出的值)
例如:100、3.12、5.2、‘a’…
2.const 修饰的常变量
定义的基本格式为:const 数据类型 变量名

#include <stdio.h>
int main()
{
    
    
	const int a = 10;//a为const修饰的常变量,此时a的值不能再被修改,但a在本质上还是一个变量
	printf("a = %d\n", a);
	return 0;
}

3.#define 定义的标识符常量
定义的基本格式为:#define 符号常量 常量的值

#include <stdio.h>
#define M 100//注意:这里没有分号;
int main()
{
    
    
	printf("%d\n", M);
	int a = M;
	printf("%d\n", a);
	return 0;
}

在这里插入图片描述

4.枚举常量(枚举-一一列举)

#include <stdio.h>
enum Color//自定义类型
//enum是枚举的关键字
{
    
    
	//枚举常量
	Blue, //0
	Red,  //1
	Green //2
};

int main()
{
    
    
	enum Color c = Red;
	printf("%d\n", Blue);
	printf("%d\n", Red);
	printf("%d\n", Green);
	return 0;
}

在这里插入图片描述
不难看出,枚举常量的值是按照从上到下的顺序,从0开始逐渐+1的

今天的学习就到这里啦,后面会继续跟新C语言的相关学习笔记,快来点赞、评论和收藏吧!

猜你喜欢

转载自blog.csdn.net/qq_73121173/article/details/131335393