程序设计语言中的一些概念

语言

:是用于表达和描述的工具。语言的基础是一组字符(单词)和一组规则(语法)。根据规则由单词构成的字符串(句子)的总体就是语言。

程序运行过程

编译程序(Compiler):将编写的源程序中全部语句一次性翻译成机器语言程序后,再运行机器语言程序。编译和运行是两个独立分开的阶段。若想多次运行同一个程序,只要源程序不变,则不需要重新编译;源程序若有修改,则需要重新编译。
解释程序:将源程序中的一条语句翻译成机器语言后立即执行它(并且不再保存刚执行完的机器语言程序),然后再翻译执行下一条语句。如此重复,直到程序结束。如果一条语句要重复执行,则每一次的重复执行都要重新翻译该语句,故效率很低。
著名的解释程序有:BASIC语言解释程序、LISP语言解释程序、UNIX命令语言(shell)解释程序、数据库查询语言SQL解释程序等。
当前大部分语言如C、 C++、FORTRAN、ALGOL等是用编译程序进行翻译的。 而BASIC、PASCAL、LISP等既有编译程序、又有解释程序。
链接程序,编译器和汇编程序都经常依赖于链接程序,它将分别在不同的目标文件(.obj)中编译或汇编的代码收集到一个可直接执行的文件中(.exe)。
链接程序(linker)在这种情况下,目标代码(即还未被连接的机器代码),与可执行的机器代码之间就有了区别。连接程序还连接目标程序和用于标准库函数的代码,以及连接目标程序和由计算机的操作系统提供的资源(例如,存储分配程序及输入与输出设备)。连接过程对操作系统和处理器有极大的依赖性。
在这里插入图片描述
预处理与翻译程序
在这里插入图片描述
在这里插入图片描述

程序设计语言分类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例如:定义一个称为First的基本函数。由它来完成从一个列表中抽取第一个元素的功能。再定义另一个函数rest,由它完成从一个列表中抽取出除第一个元素以外的所有元素。通过组合使用两个函数,可以在程序中定义一个函数来完成对第三个元素的抽取。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标识符

在这里插入图片描述
标识符是由程序员定义的单词,用来给程序中的数据、函数和其他用户自定义对象命名。(保留字或关键字)
在这里插入图片描述
C语言标识符规定(语法):标识符由大写字母A到Z、小写字母a到z、数字0到9和下划线组成,且第一个字符必须是字母或下划线,随后的字符必须是字母、数字或下划线。且大小写敏感,如age和Age是两个不同的标识符。

数据类型

数据类型三要素
数据是计算机处理的对象。
在这里插入图片描述
程序设计语言一般包含四种标准数据类型:整型、字符型、浮点型和布尔型等。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
规律:大写字母的ASCII编码+32=小写字母的ASCII编码
在这里插入图片描述
在这里插入图片描述
运算没有取余
浮点型的应用——实数比较
注意:要避免做两个实数相等或不相等的比较。由于计算机表示方面的近似性,会使得本来应该相等的两个数不等。建议在比较两个浮点数X和Y是否相等时使用|X-Y|<∑,其中∑是一个绝对值较小的正浮点数。
在这里插入图片描述

变量

用名字代替地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
读取变量代表的存储空间数据(又称读取变量的值)

常量

三类常量:文字常量、命名常量、符号常量
文字常量是指在程序中未被命名的值。如数字。
在这里插入图片描述
在这里插入图片描述
命名常量
和变量类似,命名常量也是内存存储空间的名字,代表一片内存存储空间,但一旦赋值便不允许程序去改变该存储空间中的数据。
在这里插入图片描述
符号常量是仅含有符号名称的值。
在这里插入图片描述
为何有了define还使用const变量
如果一个值是不确定的,只能在运行时才确定,且该值在运行过程中不可修改,则使用const变量

Define常量和const常量的区别:
两者之间的区别: 内存空间的分配上。define进行宏定义的时候,不会分配内存空间,编译时会在main函数里进行替换,只是单纯的替换,不会进行任何检查,比如类型,语句结构等,即宏定义常量只是纯粹的置放关系,如#define null 0;编译器在遇到null时总是用0代替null它没有数据类型(还有疑问请找C语言书籍看预处理部分或者看MSDN.而const定义的常量具有数据类型,定义数据类型的常量便于编译器进行数据检查,使程序可能出现错误进行排查,所以const与define之间的区别在于const定义常量排除了程序之间的不安全性.

命名常量和符号常量的区别总结

在这里插入图片描述

输入与输出

为何字符串输入不用&,而其他类型要用,为何输出不用&?

在这里插入图片描述

注意事项

控制符为%d %d 或者%d%d 时,输入整数可以以空格进行分隔。
整数和字符混合:建议以空格进行分隔。注意:如果scanf(“%d%c”,&age,&sex) ,而输入是12 m,则sex的值将是空格!
对于scanf(“%d %c”,&age,&sex),若输入12 和m之间包含多个空格,则还是age=12,sex=m。
scanf()函数在读操作中略去输入中的一个或多个空白字符,空白符可以是space, tab, newline等等。

运算符与表达式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

流程图基本结构

在这里插入图片描述

图像文件的大小

在这里插入图片描述

音频文件的大小

音频存储空间/s=采样频率×量化精度
采样频率一般为带宽(原始信号的频率)乘2
双声道立体声乘2

视频文件的大小

在这里插入图片描述

常见数据压缩技术

在这里插入图片描述

冯.诺伊曼和存储程序的计算机体系结构

ENIAC的最大弱点:没有真正的存储器,程序是外插型的 ,导致计算的高速与编写程序的手工化存在着很大的矛盾 ;
针对ENIAC存在的问题,提出了存储程序的思想 :要求程序和数据一样,也必须存储在计算机的主存储器中,这样计算机就能够自动重复地执行程序,而不必每个问题都重新编程,从而大大加快运算进程。

冯.诺依曼机体系结构的特点:

指令和数据采用二进制表示,从而简化机器的逻辑线路;--指令和数据的表示
指令和数据一样存储在主存储器中;--指令和数据的存储
计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成。

发布了26 篇原创文章 · 获赞 18 · 访问量 1637

猜你喜欢

转载自blog.csdn.net/qq_40774136/article/details/103855614