目录
此章节主要讲解,C语言的特点、关键字和标识符、注释、C语言书写规则、C语言程序的基本结构。
一.计算机语言的介绍
程序的概念:程序是由指令序列组成,称为“程序”,其中程序=数据结构+算法。
算法的特性:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性。
注:
有零个输入或多个输入和有一个或多个输出的解释如下:
有零个输入或多个输入:在程序编写中我们可以在程序给一个固定的常量值这种不需要随用户输入,这样的程序的优点:不需要考虑算法和用户的操作比较简单,它的缺点:灵活性太差了。
有一个或多个输出:由于算法最终会得到一个结果,这个结果是计算机内部的,若要展示给人看则需要输出语句,才能够知道这个算法设计的是否正确,因此一个程序至少得有一个输出语句,不然无意义。
程序设计语言发展史:机器语言、汇编语言、高级语言。
机器语言:它是以0和1也就是二进制组合而成。它是计算机唯一能直接识别的语言,基本上如今的编程语言最终都会转换成机器语言。
汇编语言:由于机器语言难学、难记、难理解,于是为了改善这种状况,才发明的汇编语言。
它底层的原理:将标符和符号来表示地址、常量和变量。它编写的语言需要通过翻译转换成机器语言才能被计算机执行。
注:翻译的含义:将符号化转换成机器指令,这样的过程称为翻译。
高级语言:如今市面上常见的语言大多数都是高级语言。例如:C/C++语言、Java语言、Python语言、PHP语言、C#语言等。
高级语言的出现的目的:它是最适用于最接近人类语言的一种机器语言。它是彻底解除人与机器语言很难互通的语言。并且高级语言都在各行各业有着独特的含义。
例如:
C语言适用于嵌入式开发、数据库开发、操作系统内核开发、以及设计产生新的其他高级语言的开发都会借助于C语言。
Java语言适用于企业级应用开发、游戏开发(游戏引擎)、Web开发(Spring、JSP、Servlet)、大数据处理。
Python语言适用于机器学习和人工智能、Web开发、自动化和脚本编写、网络爬虫、数据科学和数据分析。Python语言是如今大多数人首选语言,因为它的应用更贴切如今时代的发展。
…………
二.C语言的特点
C语言的特点:简洁紧凑、方便灵活、运算符丰富、数据类型丰富、可移植性好、C语言是结构化程序设计语言。
个人认为:C语言的特点,如今高级语言都拥有着相同的特点,如今的C语言的特点我认为主要是它偏向于硬件是最接近汇编语言以及它的表达式方式对比于其他高级语言来说它显得简单容易,初学者只要掌握32个关键字,9个控制语句就能编写C语言的程序,这是其他高级语言无法替代的。
注:C语言的结构化的程序主要有三大基本结构:顺序结构、选择结构、循环结构。
循环结构分为:当型(while型)循环结构、直到型(until型)循环结构。
三.关键字和标识符
这里要讲解的是:关键字、标识符、注释符。
C语言的所有的标识符需要遵守标识符规则,标识符规则如下:
- 标识符只能由字母、数字和下划线组成。
- 标识符的第一个字符必须是字母或者下划线
- 标识符区分大小写,例如:A和a是两个不同的标识符。
关键字的概念:由创造编程语言人或者组织赋予某些标识符特定的含义。因此这些关键字不能作为标识符而使用。
标识符分为:用户标识符、预定义标识符。
用户标识符的概念:用户标识符就是用户自定义的符号。但是必须要遵守标识符规则。
用户标识符的作用:它的作用主要用于C语言后面章节的函数名、数组名、变量名、指针名等这些知识会在后面为大家讲解。
预定义标识符:在C语言预定义标识符分为库函数、预编译处理命令。
注:在此先提前介绍,个人学完C语言的一句话,预编译是以#号开头的处理命令。库函数如今初学者大多数接触的是创作C语言自带就拥有的,其实还有用户自己的库函数。
注释符的概念:形如带有/* */和//的格式,称为注释符.
注释符的作用:用于写一些程序功能的说明,这样可以使程序可读性大大增强。
注:我个人提倡多去写注释,这样你可以训练自我阅读程序代码的能力,这样可以培养一种能力。在如今各行业中大多数的代码并不需要人为去编写,只需要你去用自己读程序的能力更改使其达到自己的功能即可。
/* */的作用:这个注释符用于注释多行或一行的内容。
/ /的作用:它只能注释一行的内容。
四.C语言程序的书写规则及格式
C语言程序的书写规则,书写规则是如今初学者大多数不会过多去注意的。其实在行业内甚至一个标准的代码格式,对于书写是及其重要的。
C语言程序的书写规则如下:
- 程序一般用小字母书写
- 一行一般写一条语句
- 在程序多用Tab进行对代码书写的缩进调整
- 同层次不同部分对齐排列,下一层次的内容通过适当退格,使程序结构化层次分明便于自己维护和自己编写更改以及他人的参考。
- 在程序中适当增加一些说明性的信息的注释,提倡在书写函数功能的时候可以多去使用。
注:
这里提到“语句”和“函数”,语句分为:单语句、复合语句。
“语句”在C语言的概念是以;(分号)作为结束标志的称为语句,这样的语句也称单语句。
预处理命令、函数首部、{}后不能加分号。后续章节讲解原因。
复合语句:形如{ … …}内部是多个单语句组合成的,称为复合语句。
函数在后面会主要书写一个篇章,这里简单提及一下,“函数”是构成C语言程序的基本单位。
注:
“函数”是构成C语言的最基本单位,“语句”是程序的基本执行单位。
函数名+()也称为“函数首部”。
函数名,必须要遵守标识符的规则,类型在后续会有讲解。
函数体是各种语句。
这里作者教大家一个知识灵活运用的地方,前面讲过{}是复合语句,所以这里的函数体大家可以简单的理解,里面是主要写各种单语句的。
一个特殊的函数,main()函数,又称主函数。C语言程序是从主函数开始执行,当主函数内部有调用其他函数则运转到其他函数中去,执行结束再返回主函数继续运行,直到执行完主函数。
C语言的设计过程步骤如下:
- 分析问题,确定程序实现的目的
- 设计程序
- 编辑程序(编写程序)
- 编译
- 连接
- 运行
- 调试。
- 维护和修改
注:(1)(2)(3)是必须要人为动手动脑,(3)(4)(5)(6)是编译工具内部帮你完成,不需要人为。(7)(8)是程序代码的优化,也是必须要人为,并且也是大多数编写程序常做的事情,大多数程序员都是经历(7)(8)。
C源程序经过C语言经过“编译”程序之后生成一个后缀为.obj的目标程序,然后通过“连接”把.obj(目标程序)与C语言库函数连接起来生成可执行文件.exe。
以下是(4)(5)(6)编译工具的过程:
编译工具创建C语言程序方法和步骤
这里我选用常见的编译工具分别:Dev—C++、Visual Studio2022这二种编译C语言的编译工具。
- Dev-C++
首先去下载Dev-C++的安装包,安装Dev-C++这样一个编译环境。
第一步:打开Dev-C++编译工具
第二步:选择“文件”(File)菜单
第三步:选择“文件”下的“新建”按钮。
第四步:选择“源代码”按钮
第五步:编写C源程序
第六步:选择“运行”按钮。
第七步:选择“编译运行”按钮
第八步:出现一个“保存为”的对话框,将文件名改为用户自己需要的,保存类型选择“C source file(*.c)”
注:这里默认的是.cpp类型的程序,这是C++的编译程序,当你在.Cpp的时候主函数类型一定要改为int不能使用void否则报错。
在第七步的时候还可以使用快捷键“F11”。
(二) Visual Studio2022编译工具
第一步:去Visual Studio2022的官网下载Visual Studio2022的安装包。
第二步:启动“Visual Studio2022”的应用软件
第三步:点击“创建新项目”按钮
第四步:下拉菜单找到“空项目”
第五步:把项目名称用户可随意更改,点击“位置”傍边的“...”可以任意更改位置,尽量改为一个你专门存放C语言程序代码的文件夹中,这样便于管理。
第六步:点击“创建”按钮。
第七步:选择“源文件”
第八步:鼠标右击“源文件”,选择“添加”按钮再选择“新建项”按钮。
第九步:选择“C++文件(.Cpp)”,名称和位置用户自行更改。再点击“添加”按钮。
第十步:编写代码后,点击“本地Windows调试器”。
注:第十步可以按快捷键“Ctrl+F5”,直接进行调试。
总结:除了我说的这两种如今C语言编译工具太多,这里大家可以自行选择一款,这里我可以列一些我知道的C语言编译工具,它们分别为:Clion、Visual Studio Code等这两种也是如今编译工具的首选,我认为编译工具适合自己就好。
初学者我比较建议先用Dev-C++这个编程工具创建C源程序文件是最简单没有复杂繁琐的调配。
以下我以一个案例讲解C语言程序格式,现在如果不太清楚可以视作固定格式,未来我书写的章节会进一步带大家去认识这些含义让大家能够体会。
例1:
#include<stdio.h>
void main()
{
printf("*****************\n");
printf("Hello World!\n");
printf("*****************\n");
}
注:
#include<头文件>,这里头文件以后缀为.h结尾的称作“头文件”,#include代表预处理命令,#include<头文件>的意思是包含这个头文件内部的所有函数,可根据函数名调用函数。
void代表空类型,意思是无返回值,main函数,它是一个特殊的函数,它的名字是固定的,并且main不能被更改。
再复合语句{},printf(“…”),它就是stdio.h(标志输入输出库)内部的函数,我们通过函数调用它。
printf()的作用向屏幕输出字符,便于用户观看,也就是输出语句。
\n是转义字符,它的作用是“换行”。之后我们会详细讲解转义字符和printf的函数各种用法。