罗泽兵 发表于 2024-4-15 08:45:49

01.第01节课第一章程序设计和C语言

咳。好,同学们。我们开始上课。今天的内容呢,是为大家介绍一门新的课程,这门课程呢,是我们的C语言。C语言呢,作为我们的一门高级语言。它具备了我们的机器语言以及汇编语言,它的这样一个特点,那么具有自己的新的这样一个功能和用途。我们的程序设计基础呢,是写出解决特定问题的这样一个程序的过程。

是软件和构造活动中重要的组成部分。我们来看一下计算机程序。首先是指令。指令呢,是可以被计算机理解并进行执行的基本操作命令。那么,程序呢?是一组计算机的识别和执行的指令,是一个特定的指令序列,用来完成一定的功能。软件呢,是计算机系统操作有关的计算机程序,规程,规则以及可能有的文件文档及。数据那么也就说我们的指令程序,

那么也就构成了我们的这样一个软件部分。程序设计呢,往往以某种程序设计语言为工具,给出该语言下的程序,这是我们的计算机程序。我们来看一下程序呢,它设计的过程,程序设计的过程呢,在早期呢,软件构造活动呢。主要就是程序设计,活动分析,设计编码,测试运行维护。那么到目前呢,

我们的软件构造活动的内容呢?越来越丰富,分析设计,编码测试,数据库设计。用户界面设计。接口设计,通信协议设计,基本系统配置,运行和维护。那么我们看一下计算机语言。计算机语言最开始了,最早期的时候呢,是我们的机器语言。机器语言,

它是计算机能直接识别和接受的二进制代码,这样的二进制代码呢?我们称之为二进制值。机器指令,机器指令的集合就是该计算机的机器语言,那么机器语言它有什么样的特点呢?我们给大家讲一下。它首先是难学难记难检查难修改难以推广使用。并且呢,依赖具体的机器难以移植,比如说某些机器能使用的机器语言,在另外一些机器呢?那么可能呢,难以进行运用。我们来看一下,

我们接我们这个画面当中的机器语言的这样一些部分,比如说第一个b8 CF零一。第二个BB二一零二第三个零三d八第四个b4 ef零四第五个2 BC 3。这些呢,都是我们的机器,机器语言的部分,那我们机器语言呢,它这样一个二进制代码呢,就是它的这样一个机器指令。我们很难。从我们的这样一个机器语言中呢,看出它有一个什么样的功能,起一个什么样的作用,有什么样的使用路用途。我们很普通人呢,

很难从我们的机器语言中得到应有的信息,我们普通人很难从我们机器语言中呢。得到该机器语言的想要表达的内容,通常呢,在早期我们的机器语言有我们专业的。计算机操作人员所使用计算机招收语言呢?通过指代。卡片等方式将我们的机器语言输入到计算机中,然后由我们的计算机呢进行运行。物理最后呢,运行完这样一个操作程序之后呢,再得出我们的这样一个结果,那么就说我们早期的这样一个机器语言是由我们专业的计计算机。技术人员所使用普通人呢,很难从中得到我们这样一个机器语言的所要表达的含义。

那么,接下来,随着我们计算机的发展。和我们产品的不断更新换代。我们接下来呢,就产生了一种叫做汇编语言的机械,计算机语言,汇编语言呢,是机器语言的符号化。用英文字母和数字表示指定的符号语言,汇编语言与机器语言相比。它比机器语言呢简单好记,那么通常呢,有一般人呢,能够从我们的汇编语言中。

看出一些简单的内容,一些含义以及它相关的功能。比如说我们看第一个mov ax三八三,这是进行一个移动,把我们这样一个数值来进行一个移动。后面的AD db xax这时候对我们两个数呢进行相加。还有我们后面的mov ax一零五五,这是对我们的数量进行一个移动。我们汇编指令需要通过汇编程序转化为机器指令呢,才能被计算机所执行,它依赖于具体的机器也是难以移植的。那么,接下来最后呢,出现了随着计算机的进一步的发展,我们出现了一种叫做高级语言的机器语言。

那么,高级语言是什么呢?高级语言更接近于人们习惯使用的自然语言和数学语言。大家看一下,下面这样一个图片。s等于一零五五减去括号三八三加五四五反括号,我们很容易的从这样一个。式子当中看出它主要表达的含义呢,就是一千零五五十五减去三百八十三,加上五百四十五的和。把这个值呢赋给我们的s这样一个量当中这样一个符号,这样一个量当中我们高级语言功能强大,不依赖于具体机器。用高级语言编写的源程序呢?通过编译程序转化为机器语言的目标程序,

这里得给大家说一下。我们高级语言所编写的程序呢?我们称之为源程序,它需要通过编译程序转化为机器语言的目标程序,那么这是我们的高级语言。那么,高级语言的发展呢?是由非结构化的语言到我们结构化的语言,最后呢?是我们面向对象的语言。程序呢,必须具有良好的基本结构。比方说,顺序结构,选择结构,

循环结构。程序中的流程呢,不允许随便跳转,程序总是从上而下顺序的执行,各个基本结构,它的特点呢,是程序结构清晰,易于编写,阅读和维护。我们来看一下C语言的特点,第一个。语言简洁紧凑,使用方便灵活,我们的C语言,我们的C语言呢?

它的语言呢?接贴近于更加贴近于我们的自然语言,大家呢?普通人呢?也能够很容易很方便的知道这样一个程序呢?所表达的。含义和它的这样一个基本的用途。第二个运算符丰富,我们的C语言当中呢,有多种这样的运算符,比如说加减乘除,我们这些运算符。括号,还有我们的分号以及我们的这样一个。方括号那么这些运算符呢?

比较多数据类型也比较丰富,比如说我们的这样一个整形。字符型,浮点型,双精度型,指针型,那么这些数据类型呢?都是比较丰富的。具有结构化的控制语句,用函数作为程序的模块,函数模块单位便实现自程序的模块化。C语言是完全模块化和结构化的语言。我们的程序呢?那么可以用户自己定义程序,那么也可以呢?

使用我们标准库函数当中的程序。的的函数,我们自用户自己定义函数呢,可以进行函数的声明,可以定义函数。可以写函数的,这样一个函数体,这样一个操作函数的功能。我们C语言呢,语法限制不太严格,程序呢,涉及自由度大,允许直接访问,目的地址能够进行未操作,能够实现汇编语言的大部分功能。

可以直接对硬件来进行操作,因此啊C语言既具有高级语言的功能,又具有低级语言的使用功能,可以用来编写系统软件。程序可一致性好,还有一个特点呢,是生成的目标代码,质量高,程序执行效率高。我们来看一下。程序设计的过程。我们在早期呢。在很最开始的时候呢,我们计算机这样一个机器呢,它是一种比较稀缺的资源。

机器这样一个它的结构呢?和它的这样一个。配置。比较昂贵机器资源呢?比较昂贵程序的时间和空间代价呢?是我们设计者的关心的主要因素,也就是说最早期的时候呢,我限制我们计算机这样一个运行发展的呢。是我们计算机它本身的资源的这样一个使用,包括计算机的基本结构,基本的硬件系统,那么这些。部分那么所以说最早期的时候,程序的时间和空间代价呢?是设计者的关心。

新的主要因素,那么我们最早期的时候,我们希望设计一些简单轻轻便。这样一些程序啊,这样一些小的程序能够呢,让我们的计算机它的系统资源呢?能够得到这样一个合理的,充分的,这样一个利用能够呢,使我们造价昂贵的计算机资源呢,能让你得到一个适合的,充分的,这样一个利用。这是我们早期的程序设计的,这样的一个目标和它的需求。

那么到现在,随着我们计算机的不断发展。硬件软件技术技术的这样一个飞速的这样一个进步程序的时间和空间代价呢?那么已经不是我们设计者关心的主要因素,那么我们设计者关心的主要因素呢?那么变成了程序的结构。可靠性,可维护性,复用性,可扩展性,以及呢,这样一个可运行性,那么这样一些部分。也就是说,到目前我们计算机设程序设计者呢?

他所关心的问题呢?不再是我们程序的实践和空间代价。那么,因为我们目前计算机呢,发展的比较快,硬件软件都进行了飞速的,这样一个更新换代。我们目前呢,能够提供很多的计算机硬件资源呢,供我们的程序开发者所使用,那么所以呢,目前的程序设计,它的主要所关心的呢?是我们程序的结构可维护性,实用性,

复用性,可扩展性,以及它可运行性,那么这一些程序的特性和它的一些效果。那么,这是目前呢?我们计算机的编程人员呢?所要关心的主要问题。那么我们程序呢?有三个特点,有三个特性,比如说语法。语意以及我们的语用。语法呢,是我们的规则。

语义是我们的含义。与用是我们的用途。语法呢,表示程序的结构或形式,那么也就是说表示了我们构成语言的各个记号之间的组合规律。就是我们的语法,比如说我们有一个变量名等于表达式,那么它的含义呢?就是将表达式。示的值赋给我们的变量名,最后呢,加上一个分号,这是我们语法当中一个一个语句的,这样一个形式。语义呢表示,

程序的含义,也就是说表示的用各种方法。来表示这个记号的特定含义,那么这是我们的语义,它的这样一个功能,比如说我们的a=210个分号。这是一个赋值语句,把我们的200这个值呢赋给我们的a,这是我们的一个赋值语句与用表示程序的与使用者的这样一个关系,这是我们用途的这样一个部分。好,我们接下来为大家介绍一下最简单的C语言程序,那么就是我们的这样一个输出语句。那么,我们来看一下这个题目,

要求在屏幕上输出this is a super gra。输出这一段文字。那么,我们C语言呢?是怎么输出文字的呢?我们可以用我们标准输出函数printf。这里大家看一下这个图,当中有一个printf this is AC program。这个printf呢,是我们标准的输出函数,那么我们要使用这个标准的,这个标准的输出函数呢?是在我们的标准输入输出库函数stdio当中的,那么我们要在我们的程序中。所使用使用我们的这样一个标准的输出函数,

那么我们就要在程序的开头呢?写上我们的井号include stdio点h,那么这呢是对我们的?程序当中所使用的输出函数呢?进行一个说明,进行一个编译预处理。我们这里的井号includes gtl点h后面两旁边两个尖括号,它表示了这是对我们的库函数呢进行一个编译预处理。将我们的这样一个头文件点h表示,一个头文件,头文件呢标含在我们的这样一个。程序当中这呢,就是一个编译预处理。接下来。我们看一下右边这样一个部分。

右边这些汉字是什么呢?我们这里汉字呢,打了两个斜杠。后面呢,是汉字。这表示什么呢?表示两个斜杠,后面呢?表示这是我们对程序的说明部分。那么,它不在程序的运行范围,当运行过程当中,比如说我们这打两个横斜杠,这是编译预处理指令,表示的是对我们的井号集合路的SD nh进行一个说明。

接下来还有一个定义,主函数程序开始的标志,这一这一系列的说明,那么我们来看一下程序的第二行internet。internet是什么呢?May后面这个main May,它是一个主函数的名称。when呢?标示一个,表示一个主函数。一个程序。只有一个主函数,并且呢。只有一个主函数没?那前面我们看一下,

有一个int。int,它表示什么含义呢?这前面的int呢表示这个函数它的类型呢?是int型整型,比如说它在执行完。主函数后会得到一个函数值,其值呢?为整型,这就是我们的int。前面的这样一个函数名称,前面的这样一个数据类,这样一个。int呢表示,它所使用的数据类型当然我们函数呢,

还可以使用其他的数据类型,比如说我们的恰型。block型。新p型这样一个指针型。那么,这些类型呢?都可以。是函数使用的数据类型,它表示了函数函数最后呢,运行完之后要返回一个整型值。位后面有两个括号,这个括号当中表示函数使用的参数。我们的内函数呢,没有使用参数,所以呢,

我们的类当中呢,没有写任何的这样一个参。参数的部分。那好,这是我们的函数,函数名称以及它的这样一个使用的数据类型。接下来我们看一下,下面一行有一个大括号。大括号表示函数开始。每一个大括号在。进行一些函数的定义之后呢,最后还有一个反大括号。它表示,函数的结束在这样一对大括号之间,我们表示在一对大括号之间的内容呢?

是我们的函数题,函数题表示我们函数的功能。比如说在这样一个函数体当中,我们有两个语句printf this is AC program和retarding。它们是什么含义呢?刚才我们讲过printf表示,我们的标准输出函数。标准输出函数呢,是输出所指定的一行信息,它的格式呢,是我们printf呢,后面是一个括号。括号呢,有一个双引号,双引号当中。

表示。要输出的这样一个格式。最后呢,this is the security program后面有一个反斜杠n,反斜杠n。表示的是在输出完。它前面的this is th ec program之后进行一个换行。也就说反斜杠n呢,是一个换行服务,在我们的这样一个双引号当中,this is th ec program它。它是照原样进行输出,后面的这样一个转义字符反斜杠n,一个反斜杠,一个n这样一个转义字符。

是进行换行,它不进行,它不进行显示,它就表示要进行换行。那么那那么也就是说program括号。双引号this is AC program反七杠n双引号反括号。它表示了输出所指定的一行信息,最后呢,还有一个return 0。所以它零呢表示我们。函数结束完毕,返回一个零值,刚才我们讲过我们的internet呢,它所使函数所使用的数据类型呢是?是int型的int型,

它函数最后呢,就要返回一个值,就是我们的整型值,那么这里呢,我们通常呢,是返回一个零值,表示了函。函数结束,返回一个零值,表示函数结束,那么最后一个大括号表示函数结束的这样一个标志,那么就表示我们这样一个函数了。那么结束。那么,我们来看一下我们函数运行的这样一个结果。

下面的这个图呢,表示我们函数运行的这样一个结果,那么我们运行的这个程序之后呢,它就在我们屏幕上显示this is th ec program,然后进行画行。那么就是说我们要输出的值呢?那么进行了这样一个显示,那么最后呢?大家要注意在我们函数的每个语句之后呢?都有一个分号表示了我们语句的结束,比如说我们这个printf this is you rc program,后面有一个分号。表示我们输出语句的结束retard 0根号,表示我们的这样一个返回零值,这样一个语句的结束。

所以说大家要注意在每个语句之后呢,都有一个分号,要把包括我们的赋值语句,我们的这样一个。普通函数运行的这样一个语句,那么这些语句之后呢?都有一个分号。我们来再看一下这个程序。main呢,刚才我们讲过是函数的名字,表示了主函数每一个c程序呢,都必须有一个main函数。而且呢,只能有只能有一个主函数类,前面的int表示这个函数的类型呢,

是int整型。在执行完主函数后呢,会得到一个子函数值其值,为整型retire 0的作用呢,是当被函数执行结束后。将零作为函数值返回到第二个函数处。函数体用花括号括起来就说我们内函数后面的这样一个函数体,它是包含在一对大括号当中,大括号当中。当中呢,就是我们函数与函数这样一个执行的功能部分。printf是我们cda系统呢,提供的库函数中的输出函数print函数中双引号类的字符呢?字符串this is AC program,赵媛要输出反斜杠n是换行符,

也就说在输出this is AC program之后呢,在屏幕上的光标位置的这样一个。进行换行。每个语句后呢,都有一个分号表示语句的结束。在使用库函数的输入输出函数时啊,编译系统要求程序提供子函数的信息程序第一行井号includes ddl点h两个尖括号。它的作用呢,就是用来提供这样一个信息stdio点h,是系统提供的一个头文件名stdio,是standard input and output。output的缩写文件后,缀点h的意思呢?是头文件,因为这些文件呢,

是放在程序个头文件的开头的。输入输出函数的相关信息呢,是让你放在sdl点h当中,所以说我们要使用我们标准输入输出函数。不函数当中的这样一个标准输出函数printf,那么我们就要在函数的开始了,提供我们有关此函数。数的信息,那么也就是说我们在开头的时候呢,就要写上井号include尖括号s tdl点h。软件括号,这是一个编译预处理指令,将我们的头文件呢包含在我们的程序当中。我们的两个斜杠,比如说我们后面的汉字当中的这样一个两个斜杠呢,

表示到本行结束了,是我们注释。用来对程序相关部分呢进行必要的说明,那么这是我们的注释部分,在我们的程序呢进行一个说明。一双。斜杠开始的单行注释,那么这种注释呢?可以单独占一行,也可以出现在。一行中的其他的范围的右侧十种注释的范围呢,从双斜杠开始,以换行符结束。如果注释内容一行写不下,可以用多个单元单行注释,

那么以一个。把一个斜杠。一个星号开始以星号斜杠结束的快速注释了,这种注释可以包含多行内容,它可以单独占一行在行开头呢。以斜杠星号开始。行货呢,以星号斜杠结束也可以,包含多行编译系统呢,在发现一个斜杠星号后呢,会开始找注释,结束符斜杠星号。把二者之间的内容呢?作为呢?作作为呢?

作为注释,那么我们看一下我们注释的这样一个输出的部分。井号includes 1 dl点h就是我们的编译预处理标准,输入输出不函数头文件包含在我们。我们的程序当中in term是我们的函int是我们函数使用的这样一个数据类型,when是主函数两个大括号之间是我们的函数题。printf.括号双引号。两个斜杠,how do you do?一个反斜杠n双引号。哦,这里呢,我们的输斜杠呢,就要按照这个方式呢进行输出。

那么我们再看一下。这里的井号includes dd二点hin term两个大括号printf。括号双引号斜杠星号,how do you do斜杠星号反斜杠n反斜杠n呢?是代表我们的换行符,是我们的转义字符换行符。retire 0这里的输出结果呢?是在两个。反斜杠两个星号之间。输也也包括这两个部分呢,也也只有输出我们的how to do这样一个部分,那么这是我们程序输出的部分。


页: [1]
查看完整版本: 01.第01节课第一章程序设计和C语言