【零基础从入门到精通】程序、C语言

请添加图片描述


👨‍💻个人主页@amu05

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 amu05 原创

👨‍💻 收录于专栏C语言专题篇习题
请添加图片描述


C语言入门篇


🎶前言

C语言是一种用途广泛、功能强大数据类型丰富,运算符多且使用灵活的结构化程序设计语言,它既有高级语言程序设计的特点,又具备汇编语言的能力,所以它广泛应用于系统软件开发和嵌入式系统等领域。自20世纪90年代初,C语言在我国推广应用以来,越来越多人开始学习C语言,也作为程序设计语言的入门课程。


🅰 程序

程序是为实现特定目标或解决特定问题而用计算机语言(程序设计语言)编写的一系列语句和指令,计算机能严格按照这些指令去做。程序的执行过程实际上是对程序所表达的数据进行处理的过程。一方面,程序设计语言提供了一种数据表达与数据处理的功能;另一方面,编程人员必须按照程序设计语言的语法要求进行编程。程序具有以下特点.①完成某一特定的任务;②使用某种程序设计语言描述如何完成该任务;③存储在计算机中,并且被运行后才能起作用。


🎶(程序设计语言的发展


  • 发展阶段
    1.机器语言

    机器语言属于第一-代计算机语言。按照码诺依曼原理,计算机内部运算采用的是二进制,也就是说计算机只能识别和接受由0和1组成的指令,人们要使计算机知道和执行自己的意图,就要编写许多条由0和1组成的三进制指令代码。这种计算机能直接识别和接导的二进制代码称为机器指令(machine instruction)。机器指令的集合(即指令系统)就县这计算机的机器语言。用机器语言编写的程序称为目标程序(Object Program),目标程序可以被计算机直接执行,且运行效率是最高的。但由于不同类型计算机的指令系统存在美导,因而在一种类型计算机上编写的机器语言程序,在另一种不同类型的计算机上也可能不能运行。
    2.汇编语言

    为了减轻使用机器语言编程的困难,人们采用助记符来代替机器指令的二进制串,如用ADD表示加法,SUB表示减法,MOV表示传送数据等。这样就能使运算指令使用符号而不再使用二进制表示。采用这种方法所编写的程序,容易被人读懂,程序的修改与维护也很方便,这种程序设计语言就是汇编语言,也称为第二代计算机语言。汇编语言同样十分依赖于机器硬件,可移植性不好,但运行效率仅次于机器语言。针对计算机特定硬件而编制的汇编语言程序能准确地发挥计算机硬件的功能和特长,程序精炼而且质量高,至今仍有一些专业程序员在使用其开发应用软件。
    由于机器语言与汇编语言均很“接近”计算机,人们常常称它们为“低级语言”。
    3.高级语言

    1954年,第一个完全脱离机器硬件的高级语言FORTRAN(FORmula TRANslator,公式翻译器)语言问世了。在使用该语言所编写的程序中,语句和指令是用英文单词表示的,所用的运算符和运算表达式与人们日常所用的数学式子差不多,很容易理解。这种语言功能很强,且不依赖于具体机器,用它编写的程序几乎可以在任何型号的机器上运行,人们把这种语言称为“高级语言”。高级语言的特点是易学、易用、易维护,人们可以更有效、更方便地用它来编制各种用途的计算机程序。当然,高级语言编写的程序是不能被计算机直接运行的,同样需要经过“翻译”。这里我们将高级语言编写的程序称为源程序(SourceProgram),将源程序翻译成目标程序的程序称为编译程序。

    按照语言的特性,高级语言的发展阶段:非结构化的语言、结构化的语言、面向对象的语言。


🎶(程序设计语言的功能数据表达和数据处理


  • 数据表达(变量定义):通过语言的特定语法和语义来表示和操作各种类型的数据。这些数据可以是基本数据类型(如整数、浮点数、布尔值等),也可以是复合数据类型(如数组、结构体、类等),还可以是特定领域的数据类型(如日期、时间、字符串等)。通过数据表达,程序设计语言可以实现数据的赋值、计算、比较、组合等操作,从而实现不同的算法和逻辑。数据表达是程序设计语言中非常重要的一部分,它提供了对数据的灵活表示和处理能力,为程序的实现和问题的解决提供了基础支持。

  • 数据控制(流程控制)
    (1)顺序控制结构:一条语句执行完后,按自然顺序执行下一条语句。C语言中的赋值语句、输人输出等都构成了顺序结构。

    (2)分支控制结构:又称选择结构。计算机在执行程序时,常常需要根据不同的条件选据执行不同的语句。例如,C语言中的if与switch语句都可以构成选择结构。

    (3)循环控制结构:许多时候,计算机需要重复执行相同的语句。重复执行一般是有条件的,在条件满足时,重复执行;在条件不满足时,则不会重复执行。C语言中的for.while与do-while语句都可以构成循环结构。

    这三种结构的共同特点是:
    ①只有单一的人口和单一的出口;
    ②结构中的每个部分都有被执行的可能;
    ③结构内不应出现永不终止的死循环。


🎶(程序的算法表示

程序的算法可以通过伪代码、流程图或具体的编程语言来表示。
伪代码

1伪代码:伪代码是一种类似于自然语言的描述算法的方式。它使用简单的语法来表示算法的步骤和逻辑结构,不需要关注具体的编程语言细节,更注重算法的逻辑思维。
例如,计算两个整数的和的伪代码可以表示为:请添加图片描述
(1)C语言语句简洁紧凑,使用方便灵活。ANSIC中只有32个关键字和9种控制语句。程序书写形式自由,一行中可书写多个语句,一个语句可书写在不同行上。语法表达侧洁、紧凑,例如用运算符++和–表示加1和减1操作,用一对花括号“{}”表示复合语句符的开始和结束,可采用宏定义和文件包含等预处理语句等等。

(2)运算符丰富,表达能力强。

C语言提供了34种运算行)运算类型极其丰富。例如,C 语言把括号、赋值和强制类型转换都作为运算符处理,可以买现在其他高级语言中难以实现的多种运算。

(3)C语言程序可移植性好。C语言程序中,没有直接依赖于硬件的语句。与硬件有关的操作,如数据的输人、输出都是通过调用系统提供的库函数来实现的,而这些库函数本身并不是C语言的组成部分。因此编写的程序很容易由一个系统移植到另一个系统中。

(4)生成的目标代码质量高,运行效率高。与其他高级语言相比,C语言程序经编译后生成的目标代码运行效率高。目前C的主要用途之一是编写“ 嵌人式系统程序”

(5语言处理能力强。由于C语言中引人 了指针、地址结构、位运算等功能,与汇编语言十分接近,大大提高了语言的处理能力。

(6)C语言是一种结构化语言。

C语言程序是由丽数组成的,函数构成了c语言程序的一个个程序模块,加上C语言提供「编写结构化程序所需委的各种数据类型和控制结构,从而容易达到销构化程序设计要求。
流程图

2.流程图:流程图用图形化的方式表示算法的逻辑结构,使用不同形状的图形来表示不同的操作步骤,如矩形表示处理步骤,菱形表示判断条件,箭头表示流程的方向等。
请添加图片描述
编程语言

编程语言:具体的编程语言可以直接将算法表示为代码。不同的编程语言有不同的语法和特性,但它们都能够用来表示算法的步骤和逻辑。
例如,计算两个整数的和的Python代码可以表示为:
请添加图片描述
总之,程序的算法可以通过伪代码、流程图或具体的编程语言来表示,不同的表示方式可以根据具体的需求和场景选择合适的方式。

🅱️C语言

🎶(1C语言的特点

(1) C语言语句简洁紧凑,使用方便灵活。ANSIC中只有32个关键字和9种控制语句。程序书写形式自由,一行中可书写多个语句,一个语句可书写在不同行上。语法表达侧洁、紧凑,例如用运算符++和–表示加1和减1操作,用一对花括号“{}”表示复合语句符的开始和结束,可采用宏定义和文件包含等预处理语句等等。

(2) 运算符丰富,表达能力强。C语言提供了34种运算行)运算类型极其丰富。例如,C 语言把括号、赋值和强制类型转换都作为运算符处理,可以买现在其他高级语言中难以实现的多种运算。

(3) C语言程序可移植性好。C语言程序中,没有直接依赖于硬件的语句。与硬件有关的操作,如数据的输人、输出都是通过调用系统提供的库函数来实现的,而这些库函数本身并不是C语言的组成部分。因此编写的程序很容易由一个系统移植到另一个系统中。

(4) 生成的目标代码质量高,运行效率高。与其他高级语言相比,C语言程序经编译后生成的目标代码运行效率高。目前C的主要用途之一是编写“ 嵌人式系统程序”

(5)语言处理能力强。由于C语言中引入了指针、地址结构、位运算等功能,与汇编语言十分接近,大大提高了语言的处理能力。

(6) C语言是一种结构化语言。C语言程序是由丽数组成的,函数构成了c语言程序的一个个程序模块,加上C语言提供「编写结构化程序所需委的各种数据类型和控制结构,从而容易达到销构化程序设计要求。


🎶(2C语言的约定

  • 标识符:(1)标识符。用来标识(表示)数据类型、变量、函数、语句的符号称为标识符(Identifier),不同的程序设计语言都有关于标识符的定义规范。C语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母或下划线。例如,00、print、FOR均是合法的标识符,而&.a、-123、a b均是不合法的标识符。在C语言中,标识符中英文字母的大小写是有区别的。

  • 关键字:(2关键字(又称保留字)是C语言规定的赋予特定含义和有专门用途的标识符,C语言中共有32个关键字。
    请添加图片描述
    注意:C语言的关键字都用小写字母书写,不能用大写字母书写。如关键字int不能写成INT。

  • 用户自定义标识符:用户自定义标识符包括程序中定义的变量名、数据类型名、函数名和符号常量名。一般来说,通常使用有意义的英文单词作为用户自定义标识符,这样可增加程序的可读性。

  • 预定义标识符:C语言中提供了大量的头文件和库函数,这些头文件和库函数中定义的一些标识符(例如scanf、printf等)统称为预定义标识符。C语言允许用户定义的标识符与预定义标识符同名,但是此时预定义标识符就失去了原有的作用。

  • 分隔符:C语言中的分隔符有逗号和空格两种。逗号主要用于类型说明和函数参数表中,分隔各个变量。空格多用于各单词之间作间隔符。在关键字、标识符之间必须要有一个以上的空格分隔,否则将会出现语法错误,例如把“int m;"写成“intm;”,编译系统会把intm当成一个自定义标识符,其结果必然出错。利用关键字、分隔符、变量运算符以及标识符,就可以组成程序设计语言的语法单位。。


🎶(3C语言的语法成分

  • 常量:常量是有数据类型的,如整型常量2、实型常量2.0、字符型常量’2’、字符串常量"C Programming.’ '等。
  • 变量:每个变量都有数据类型,在定义变量时要说明变量的数据类型。编译系统会根据变量的类型,为其分配存储空间。不同类型的变量在内存中占用的存储空间有所不同。变量定义的一-般形式:类型名变量名;如例1.1中的“int a,b,c;"定义了三个整型变量。
  • 运算符:运算符用于对各种类型的数据对象进行运算。C语言的运算符相当丰富,有34种之多。例如,算术运算符:+(加)、一(减)、*(乘)、/(除)、%(求余);关系运算符:>(大于)、>=(大于等于)、二=(等于)、<(小于)、<=(小于等于)等等。参与运算时只要求有一个数据对象的称为单目运算符,参与运算时要求有两个数据对象的称为双目运算符,参与运算时要求有三个数据对象的称为三目运算符。
  • 表达式:由运算符将常量、变量、函数组合而成的有意义的式子称为表达式。表达式中可以包含有多种数据类型的运算符,运算符有优先级。例如,表达式bb-4ac→0中,由于算术运算优先于关系运算,所以先计算bb-4ac,再做关系比较运算“>”。
  • 语句:在C语言中,语句是程序最基本的执行单位,以分号结尾。
  • 函数的定义与调用:。函数是完成特定功能的小模块,是C语言中唯一一的一种子程序,常常在一个C程序中包含若干个函数,复杂的任务通过调用这些函数来完成。
  • 输入输出:C语言没有提供用于数据输人及输出的语句,所有的输人与输出都是通过系统提供的有关函数(如scanf()和printf()函数)来实现的。

你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值