一、学好C语言的方法
目录
【注明】:这一章只是简单介绍C语言的初步内容,所提及的知识点不做过多阐述,在后面的博文里会展开来讲。在接下来的几个月内,我将会不仅更新C语言的版块,还有数据结构、操作系统等模块,由初阶到进阶,由浅入深。
我们不忘初心,一起学习,一起进步,一起加油,在更高的地方相遇。
1.抽时间学习
时间就像海绵里的水,挤一挤总会出来的。我们若想要达到比别人更高的成就,就要付出比别人更多的努力。
每个人一天的时间是一样,多抽出时间学习,就能收获更多。
2.学好编程,靠的不仅仅是学好C语言
编程的方面有很多,就像一望无垠的大海一样。
我们想要找到学好编程,还必须多接触,见多识广。
把它当作是一门兴趣,而不是应试,这是我认为很关键的一点。
二、初识C语言
本章目标:
初步了解C语言的基础知识,对C语言有一个大致的认识。
每个知识点只是简单的了解,不做详细展开,后面的博文中还会展开讲。
本章重点:
- C语言是什么
- 编译器的选择
- 第一个C语言程序
- 数据类型
- 变量、常量
- 字符串+转义字符
- 注释
- 选择语句
- 循环语句
- 函数
1、C语言是什么
众所周知,人与人交流使用的是自然语言,如汉语、英语、法语等。
那人与计算机是如何进行交流的呢?使用计算机语言。人们通过计算机写的程序,给计算机下达指令,让计算机工作。
目前已知的计算机语言有上千种,C语言就是众多计算机语言的一种。C语言是一门通用的计算机编程语言,广泛应用于底层开发。
C语言是用来编写代码的,写代码的目的是解决问题。而C语言中的语法,规定了代码的书写规则。
C语言是一门面向过程的计算机语言,与C++、Java等语言不同。
2、编译器的选择
- 工欲善其事,必先利其器:常见的C语言编译器有很多,比如msvc、gcc就是一些常见的编译器,也有一些集成开发环境如:VS2022、DevC++、Xcode等。
【集成开发环境】:集成开发环境(IDE)⽤于提供程序开发环境的应⽤程序,⼀般包括代码编辑器、 编译器 、 调试器
和 图形⽤⼾界⾯ 等⼯具。 集成了代码编写功能、分析功能、编译功能、调试功能等⼀体化的开发软件服务套。
- 推荐大家使用VS2022的社区版学习
下面是Visual studio 2022安装教程,铁汁们行动起来吧。
VS2022安装使用教程,VS2022使用教程Visual Studio 2022详细安装使用调试教程C语言编译器C++编译器VS2022使用教程C语言软件安装_哔哩哔哩_bilibili
- VS2022的优缺点
优点:
- VS2022包含了:编辑器+编译器+调试器,功能强大
- 直接安装即可使用,基本不用额外配置环境,上手较容易
- 默认页面是中文的,对初学者较友好
缺点:安装包大,占用空间大
3、第一个C语言程序
#include<stdio.h>
int main()
{
printf("Hello world\n");
return 0;
}
头文件的包含:std:标准 i:输入 o:输出
int main:int整型,main函数是主函数,是程序的入口,有且只有一个,main函数运行结束之后,返回一个整型的值,与后面的return 0呼应
printf:printf是一个库函数,功能是在标准输出设备(一般指屏幕)上进行信息的打印,库函数的使用得包含一个头文件,输出函数头文件是stdio.h
ruturn 0:0就是一个整数,在main函数结束的时候被追回
4、数据类型
C语言提供了丰富的数据类型来描述生活中的各种数据。
使用整型来描述整数,使用字符类型来描述字符,使用浮点型类型来描述小数。
所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作数据。
- 字符型 char
- 整型
short(完整版:short int)//短整型
int//整型
long(完整版:long int)//长整型
long long //更长的整型
- 浮点型
float//单精度浮点型
double//双精度浮点型
-
布尔类型 _Bool
C语言中没有字符串类型,描述字符串的时候一般采用字符串数组的形式
数据类型不同,计算机的使用效率就有所不同,对于一个变量,可根据其表示的范围去选择合适的用来定义它的数据类型,避免造成空间上的浪费,因为每个数据类型占的字节数不一样,也就是说计算机在存放这些数据类型的时候所用的空间是不同的。
#include<stdio.h>
int main()
{
printf("d%\n",sizeo(char));//1
printf("d%\n",sizeo(short));//2
printf("d%\n",sizeo(int));//4
printf("d%\n",sizeo(long));//4
printf("d%\n",sizeo(long long));//8
printf("d%\n",sizeo(float));//4
printf("d%\n",sizeo(double));//8
return 0;
}
在这段代码中出现了C语言的关键字sizeof,sizeof也是操作符,专门是用来计算sizeof操作符数的类型长度的,单位是字节,计算的结果是size_类型的。其中打印函数中的d%表示打印一个十进制的整数。
5、变量、常量
了解了类型,我们使用类型做什么呢?类型是用来创建变量的。
什么是变量呢?C语言中把可变的值称为变量,不变的值称为常量。
- 变量的创建
形式:类型 类型名
date_type name;
| |
数据类型 变量名
int age;//整型变量
char ch;//字符变量
double weight;//浮点型变量
变量在创建的时候给一个初始值,这个过程叫初始化。变量在创建的时候不初始化,是一种很不好的代码风格。
int age=18;
char ch='w';
double weight=48.0;
unsigned int height=100;
- 变量的分类-局部变量、全局变量
#include<stdio.h>
int global=2024;//全局变量
int main()
{
int local=2018;//局部变量
printf("d%\n",local);
printf("d%\n",global);
return 0;
}
注意:{ }就是代码块,在代码块内部定义的变量就叫局部变量,在代码块外部定义得变量就叫全局变量。
如果局部变量和全局变量名字相同,代码该如何运行呢?
#include<stdio.h>
int a = 1000;
int main()
{
{
int a = 10;
printf("%d\n",a);
}
return 0;
}
由此可见,当局部变量和全局变量同名时,局部变量优先使用。
所以,局部变量和全局变量最好不要重名。
- 变量的作用域和生命周期
作用域:通常来说,一段程序代码中所用到的名字并不总是有效可用的,而限制这个名字的代码范围就是这个名字的作用域。
【说明】
- 局部变量的作用域时局部变量所在的局部范围
- 全局变量的作用域是整个工程
生命周期:变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。
【说明】
- 局部变量的生命周期:进入局部变量所在范围(作用域)生命周期开始,出作用于生命周期结束。
- 全局变量的生命周期:整个程序的生命周期,也就是main函数的生命周期。
6、字符串+转义字符
- 字符串
C语言中如何表示字符串呢?使用双引号括起来的一串字符就被称为字符串。如"abcdef"就是一个字符串。
字符串的打印格式可以使用%s来指定。
注意:字符串的结束标志是一个\0的转义字符,在计算字符串长度的时候\0是结束标志,不算作字符串内容。
- 转义字符
转义字符,顾名思义,就是转变原来意思的字符。
如果我们要在屏幕上打印一个目录:c;\code\test.c
代码该如何编写呢?
#include<stdio.h>
int main()
{
printf("c:\code\test.c");
return 0;
}
运行结果如下:
下面看看其他的转义字符:
- \?:在书写连续多个问号时,防止它们被解析成三字母词
- \':用于表示字符常量'
- \":用于表示一个字符串内部的双引号
- \\:用于表示一个反斜杠,防止它被解释成一个转义序列符
- \a:警告字符,蜂鸣
- \b:退格符
- \f:进纸符
- \n:换行
- \r:回车
- \t:水平制表符
- \v:垂直制表符
- \ddd:ddd表示1~3个8进制的数字。 如:\130表示字符X
- \xdd:dd表示2个十六进制数字。 如:\x30表示字符0
宝子们注意哦,颜色越深代表它的地位越高,越重要。
7、注释
注释是什么?注释是对代码的说明,编译器会忽略注释也就是说,注释对所写代码无影响。
好的注释可以帮我们更好的理解代码,但也不要过度注释,不要写没必要的注释。
不写注释可能会让后期阅读代码的人抓狂。
写注释在一定程度上反映了程序作者的素质,建议大家写必要的注释。在未来找工作的时候,写代码时留下必要的注释也会给面试官留下更好的印象。
#include<stdio.h>
int Add(int x, int y)
{
return x - y;
}
/*C语言注释风格
int Sub(int x,int y)
{
return x-y
}
*/
int main()
{
//C++注释风格
//int a=10;
//调用Add函数,完成加法
printf("%d\n", Add(1, 2));
return 0;
}
很显然,注释风格有两种:
- C语言风格的注释:/*…*/
- C++风格的注释://…
不管哪一种注释,都不能放在双引号里面。双引号里面的注释符号,会成为字符串的一部分,解释为普通符号,失去注释作用。
上面示例中,双引号里面的注释符号,都会被视为普通符号,没有注释作用。
【注意】C语言风格的注释缺陷时嵌套注释,C++风格的注释好处是可以注释一行,也可以注释多行,在这里就不多说了,建议大家用C++风格的注释。
8、选择语句
什么是选择呢?
如果你好好学习编程,在校招时拿一个好的offer,过上理想的生活;
如果你不学习,毕业面临的很可能就是失业。
这就是选择。
其中常见的语句就是If语句,包括其衍生出的if else、if else if语句等。
9、循环语句
有些事情必须一直做,就比如我们必须终身学习一样,不断丰富自己。
那么C语言中如何实现循环呢?
- while语句-简单讲解
- for语句-后面详细介绍
- do…while语句-后面详细介绍
10、函数
上面讲了主函数,也就是main函数。
一个工程中,主函数只能有一个。
大家在数学中见到过很多函数,如一元二次函数,三角函数,反比例函数等
在C语言中,一些独立的功能被封装成一个个函数,供使用者调用。
函数的特点就是简化代码,方便代码复用,也就是说,如果需要的话,直接调用即可。
三、结语
初识C语言部分先介绍到这里,后面还有部分内容正在整理中。
如果大家觉得写的还可以的话,麻烦动动你们的小手,给一个一键三连,谢谢啦!
这是我的第一篇博文,这里也算是正式启航了,希望未来的自己在这条路上越走越远,未来可期。也希望在之后的时间,能和宝子们一起学习,一起进步,我们一起加油,在更高的山峰相遇!
加油!!!