一、计算机程序
程序:一个计算机程序是一系列指令的集合。
指令:每台计算机都配有自己能执行的一组指令,叫作指令系统。每条指令都对应一串二进制代码,这些二进制代码就是机器语言。
计算机语言:有机器语言、汇编语言、高级语言三大类。机器语言是计算机唯一能够识别并能直接执行的语言。
(1)机器语言:二进制数字(0和1两种符号)构成的语言。
机器语言编写困难、可读性差、可移植性差,但程序执行效率最高,占用存储空间最小。
(2)汇编语言:亦称符号语言,用助记符代替代替机器指令代码的面向机器的语言。简化了编程过程。还是比较繁琐费时,通用性差;但程序执行效率较高,需要的存储空间较小。
(3)高级语言:直观、语言格式与自然语言相近的计算机语言。可读性高,可移植性相对较高。执行速度相对较慢,需要的存储空间相对较大。
汇编:汇编程序(assembler)把汇编语言编写的程序转换为可执行的机器语言。
编译:编译程序(compiler)把高级编程语言编写的程序转换为可执行的机器语言。
执行:编译好的程序(即指令集合)从外部设备(如硬盘),被加载到计算机之内(如内存中),指令串行顺序执行,直到一条跳转或转移指令被执行,或者一个中断出现。
二、高级语言要素
以C语言为例,这里是面向过程的。
程序入口
如C程序的入口函数main函数,程序的执行从main函数开始,对其他函数直接或间接地在main函数中被调用。而main函数则是被操作系统调用。
示例:
#include <stdio.h>
main(){
printf("Hello World");
}
规范写法:
int main(void){}
int main(int argc,char *argv[]){}
int main(int argc,char **argv){}
标识符
自定义的名称。如变量名、函数名。不可使用关键字,不能以数字开头。
数据类型
为了对数据进行描述的定义,是数据集合的划分。不同类型的数据,其占用的内存空间,以及其运算在机器内部的执行方式是不一样。
C语言的数据类型:基本类型(short int long float double char)、构造类型(数组 struct union enum)、指针类型、空类型void。
常量
常量是一个右值,可以把右值赋给一个左值。
C语言中的常量包括字面量和用 const 定义的变量。
字面量常量,如整数常量、浮点常量、枚举常量、字符常量
const常量,如const float PI=3.14f,这个PI 就是常量。
变量
变量是一段有名字的连续存储空间。在源代码中通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。变量具有名称、类型和值。
变量名是变量在程序源代码中的标识。变量类型确定它所代表的内存的大小和类型,变量值是指它所代表的内存块中的数据。
在程序的执行过程中,变量的值可以发生变化。使用变量之前必须先声明变量,即指定变量的类型和名称。
表达式
由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值。
一个表达式代表一个函数,其输入为自由变量的定值,而其输出则为表达式因子后所产生出的数值。
(1)算术表达式:又称为数值表达式,通过算术运算符来进行运算的数学公式。
(2)逻辑表达式:结果为true或false
=(等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、<>(不等于)
NOT(非)、AND(与)、OR(或)
(3) 赋值表达式:将等号右边的表达式结果赋值给等号左边的变量
(4) 三元表达式
表达式1?表达式2:表达式3
表达式1为true则返回表达式2,否则返回表达式3。
语句和语句块
语句可以是以分号结尾的单行代码,或者是语句块中的一系列单行语句。
语句块括在括号{}中,并且可以包含嵌套块。
程序所执行的操作以“语句”表达。常见操作包括声明变量、赋值、调用方法、循环访问集合,以及根据给定条件分支到一个或另一个代码块。
控制流
控制流是指按一定的顺序排列程序元素来决定程序执行的顺序。
控制语句即用来实现对程序流程的选择、循环、转向和返回等进行控制。C语言中共有9种控制语句,包括32个关键字,可以分为"选择语句“,”循环语句“,”转向语句“,”返回语句“四类。
->选择结构 if、if-else、if-else if switch-case
->循环结构while、do-while for、foreach
->跳转语句break、 continue、 goto(认为禁用)
->返回语句 return
break跳过循环体的剩余部分直接退出结构体或循环体
continue语句是跳过循环体的剩余部分而继续下一次循环,非循环体跳出往后执行。
函数
函数是包含一系列语句的代码块,出于复用目的对语句或语句块的封装。
函数包含返回值、函数名称、参数及函数体。参数放在括号中,并用逗号隔开;空括号表示不需要参数。
通过函数名实现对函数的调用,以达到执行函数体中代码的效果。
调用函数时传入参数,相当于为函数的执行设置初始条件。
调用函数的语句可用一个变量来接收执行结果。void表示无返回值,不能用变量接收。