当前课程知识点:C语言程序设计(上) > 从问题到C语言程序设计 > 1.2 C语言与C程序 > 1.2.1-2-C概述
接下来我们看C语音的规则
任何程序设计语言
都是规则和符号的集合
所谓规则
应该包含的是
语法规则
语义规则和语用规则
一个程序设计语言
它的基本成分不包括
你管是C 还是加的还是其他的语言
基本上应该说都是这个四种成分
一个是数据成分
运算成分
控制成分
传输成分
如果我们把这两个在归纳一下
数据成分和运算成分
都是一个目的
为了描述什么呢
描述程序涉及到的数据以及运算
而下面呢
控制成分和传输成分
描述的是程序的控制流程
它既表达程序的走向也表达数据的传输
我们举个例子说什么是语用
C里边或者程序设计语言里边
为什么用语用
实际上在计算机的语言里它也是
有一个依赖环境
来取决于它下一步
到底是对数据的描述是运算
还是对流程的控制
也有这个问题
比如说我们举个例子
这个星号在C里边
它就有3种用意
它在不同的地方 就有不同的用意
比如说
它在有的地方是乘号
在有些地方它是指针的定义
在有些地方它是取内容的运算
是一种计算
那到底它是什么呢
是要根据
它的上下文以及当时的程序环境来决定
这个星号此刻到底是什么意思
所以计算机语言和自然语言
很多地方有它共同的地方
尽管它的语句
它的语法很简单
但是它跟自然语言有很多相同之处
我们首先看
C语言的关于字符集的规则
C语言的字符集用的是ASCII的字符集
我们简单看一下
在这些所有的语言规则方面的东西
在我们课程的学习资源里边都有
我简单的说一下
比如说数字
跟我们自然语言里边的十个数字一样
字母也跟我们自然语言里边的
大小写五十二个字母是一样的
这个看上去有点不同的是运算符
一看我们列了这么多运算符
这个属于 字符集里边的规则
也就是说这些运算符
是C所认识的运算符
还有下面的几个特殊符号
比如说下划线 回车等等
这是它认识的死个
如果你想给第五个
C不认识 这就是字符集的规则
它规定的这个字符集范围内的东西
它是认识的
超过这个范围它就不认识了
接下来我们再看
标示符规则
什么是标示符
程序里要用到的一些
命名规则
这个规则是什么呢
大家看这几个标示符 蓝颜色这一行
正确吗
黑色的这一行显然就不对了
我们在看
这个流程是我们前边见到过的流程
那这些标示符
做什么用呢
我们看这个流程里
有变量的名字
这也有变量的名字
这些变量要参与运算
那么它都需要命名
我们要符合这个规则
再看 关键字规则
什么就关键字
关键字也叫保留字
为什么要保留这些字呢
大家一看就知道
这些是因为语言它自己用过
保留给谁用呢 语言本身用
接下来我们再看运算符规则
一看到这一大片运算符
大家一定会觉得有点麻烦
的确是
这是C里的一个特色
是说它有强大的运算功能
当然也需要
这么强大的运算符支持这个运算
这里这么种 我们简单看几种
后边这些我们会在
随着我们的课程的进度
在各种应用里边会
详细的展开讲这些
运算符构成的表达式的应用
还有关系运算符基本上都是大家清楚的
只是写法上
比如说小于等于
我们这么不写成
咱习惯的那种小于等于1呢
你键盘上没有啊
所以我只好两个字符构成一个运算符
这是一个运算符
运算符这么多我们一下子把
要全部弄清楚
第一是 它比较麻烦
第二呢也没有必要
因为它是一个逐步循序渐进的过程
这就如同说
我们有一本字典
我去要学汉语
需要先把新华字典都背过吗
不要 一边学这一边来
一边插
在查着学着的过程里边
必然对常用的东西就熟悉了
这里我们前面说到了
语用 举个例子是星号
比如说这里边的
算数运算符里边这是乘 没有问题
可是我们在其它里边
这个星号表达什么意思呢
是 定义了它是一个指针
而我们在这个组合里边
也有这么一个星
所以这里边的星
在这三句话里出现了四次
这四次表达的意思都不同
在这个例子里
我们看这个运算
只有一个运算对象
我们把他叫做
单目运算符
而这个例子里边
我们看这个乘号是a乘以b
是两个运算分量
两个运算对象
叫双目运算符
而这个条件运算符里边
有三部分
一个是条件
这个两个冒号隔开的
两个 运算
所以这个运算符有三组运算对象
第一组 第二组 第三组
这里我们说的
单目 双目 三目
这三类运算符包含了
运算符的规则的全部
接下来我们看C的语句规则
其实在一句里边最重要的是
表达式语句和流程控制语句
我们看一个例子
我们看一下这个程序代码
程序A这个例子
在这个例子里边大家可以看到
关于运算 关于控制
这里用到了什么语句呢
用的了选择语句
用到了 循环语句
这都是流程控制的语句
关于运算呢
我们看到这里用到了
求余运算
用到了
自增
就是自增i加加就是自增的运算
还用到了什么呢 我们看
i小于等于一百吗
这是一个关系运算 等等
关于运算 关于流程的控制
其实在这个短短的程序里边
我们已经基本上都看到了
下来还有一个关于函数的规则
我们在前面其实已经很多次的看到了
使用了函数
在C里边就给我们提供了
一些标准的函数
什么就函数呢 实际上呢
函数就是说
C的系统给我们带了一些常用的
一些应用
这些应用当你解决你的的问题里边
如果要用到它的话
不用编制代码了 就到这调用
它的函数就可以
不如说
像数学里边的
要求三角函数
求绝对值
像这样的应用
比如想字符处理过程里边
要做两个字符的一个 比大小
要把两个字符串拼接在一起
这样的应用是大家平常在
实际生活里边经常会用到
那每个人都给它编程序的话
就有点啰嗦
大家也不方便
这样的话在C标准库里边提供了
大量的这样的函数库
而且随着C不断的发展
好多应用系统
也不断的给这个函数库里
注入了一些新的函数
所以其实在C编程的过程里边
你比较好的比较巧的用了这些函数
可以达到事半功倍的效果
比如说现在列出来了
数学函数
放在了math.h这个库文件中
把字符函数
放在了ctype.h的这个文件中
也有很多
这里只采了一点
关于函数的规则
在C的标准库里有哪些呢
下面这五种
每一种类里边有许多
在我们学校资源里边
或者任意一本教科书里边
都有比较丰富的完整的支持
关系函数的使用规则 是这样子
所以有调用的这些函数
要调用哪一类的函数
必须把它这一类的
头文件包含在你的函数里边
怎么包含呢
也就是说把它的点h文件就叫做头文件
怎么包含呢 用incolude
然后引号或者一对尖括号
把头文件的名字写上就可以了
程序里边我们看
我们多次的用到了输出
而这个输出不是一个语句
是一个函数在C里边
用到了输入输出函数的时候
必须要把
这个输入输出的头文件包含进来
所有其它函数的应用也是一样的
如果你要这类函数
比如说我要用到字符处理
那必须把string.h这个头文件包含进来
我们对C语言的概貌做一点小结
-1.1 计算机的问题求解方法
--讨论题:数学模型
-1.1 计算机的问题求解方法--作业
-1.2 C语言与C程序
--讨论题:运算符
-1.3 C语言处理系统与程序调试运行
--例程
-1.4 程序中的人机交互
--例程
--作业讨论区
-2.1 算术运算的C程序实现
--算术混合运算.c
-2.1 算术运算的C程序实现--作业
-2.2 关系运算的C程序实现
--bukao.c
--字符比较.c
--讨论题:比较大小
-2.2 关系运算的C程序实现--作业
-第二周作业--作业
-2.3 逻辑运算的C程序实现
--计算结合性
--闰年.c
--自动购票问题.c
-2.3 逻辑运算的C程序实现--作业
-2.4 位运算的C程序实现
--讨论题:位运算
-2.5 几种很个别的运算
--讨论题
--讨论题
-2.5 几种很个别的运算--作业
-2.6 混合运算及数据类型转换
--讨论题:数据类型
-2.7 顺序结构程序实例
--Video
--三角形面积.c
--讨论题:工业产值
-2.7 顺序结构程序实例--作业
-3.1 程序中的路径选择实现
--打印学生成绩.c
--一元二次方程.c
-3.1 程序中的路径选择实现--作业
-3.2 路径中的再选择——嵌套判断
--例程
--讨论题:程序改错
-3.2 路径中的再选择——嵌套判断--作业
-3.3 复杂判断问题的C程序设计
--3.3 多级选择
--银行存款.c
--讨论题:多级选择
-3.4 多分支问题的C程序设计
--加减乘除运算.c
-3.4 多分支问题的C程序设计--作业
-3.5 GOTO的适当使用
-3.6 选择结构的程序实例
--3.6 程序展示
--计算第几天.c
--讨论题:输出奇数
--讨论题:计算税金
-3.6 选择结构的程序实例--作业
-第四周作业--作业
-4.1 需要重复执行的程序
--求和.c
--打印学生成绩.c
--统计录入速度.c
--求平均数.c
-4.1 需要重复执行的程序--作业
-4.2 至少要执行一次的循环
--n的阶乘.c
--字符分类统计.c
-4.2 至少要执行一次的循环--作业
-4.3 已知循环次数用for语句
--求和问题.c
--数列求和.c
--讨论题:循环语句
-4.3 已知循环次数用for语句--作业
-4.4 循环控制——简单循环应用
--水仙花数.c
--讨论题:死循环
--讨论题:猜数字
-循环结构的程序设计(一)--4.4 循环控制——简单循环应用
-4.5 循环的嵌套
--讨论题:程序运行
-4.5 循环的嵌套--作业
-4.6 break与continue
--最大素数.c
-4.6 break与continue--作业
-4.7 循环的综合应用
--数的排列组合.c
--鸡兔同笼.c
--打印空心字符.c
--讨论题:打印图形
--讨论题:计算闰年
-第六周作业
-第六周作业--作业
-5.1 同类有序数据处理问题
-5.2 一维数组的定义和引用
--数组定义.c
--数组初始化.c
--反向输出.c
--讨论题:对称数
-5.2 一维数组的定义和引用--作业
-5.3 一维字符串数组
--讨论题:编程
-5.4 字符串处理函数
--字符串反向.c
--字符串函数
-5.5 二维数组的定义与使用
-5.6 二维数组的输入输出
-5.6 二维数组的输入输出--作业
-5.7 二维数组的应用
--转置矩阵.c
--讨论题:修改程序
-5.8 二维字符数组
--5.8 单词排序
--单词排序.c
-5.8 二维字符数组--作业
-5.9 数组综合应用
--统计成绩.c
--统计字符次数.c
--讨论题:洗牌
-本期课程结束语
--end
-第八周编程作业
-《C语言程序设计(上)》期末复习参考
--html
-《C语言程序设计(上)》期末复习参考答案
--html