当前课程知识点:C语言程序设计 > 第3章 基本数据类型、运算符与表达式 > 3.1 C语言的数据类型 > C语言的数据类型
同学们好
这节课我们主要介绍C语言的数据类型
同学们是否有这样的疑惑
学习C语言的目的是什么
是为了期末考试
等级考试
还是为了准备考研
现在人们常用Java
python等编程语言开发各种APP
那么为什么还要学习C语言
学习C语言还有什么意义呢?
我们先了解一下C语言做了哪些事情
Linux操作系统的内核是使用C语言编写的
手机
机顶盒等底层硬件驱动基本上都是C语言完成的
大致概括来说嵌入式领域C语言还是无处不在的
对于初次接触C语言的我们到底又能做什么
下面来看个简单例子
从小学
中学到大学的求学过程中
经历了无数次考试
每次考试都会按照成绩排名
那C语言在其中能起什么作用呢
我们来看下面这个程序
计算N个学生M门课平均分
第2行定义符号常量N
这里我们假设有5名同学
第3行定义符号常量M
假设每个学生3门课
第9行从键盘输入5个学生3门课的成绩
第13行计算每个学生的总分
第14行输出每个学生的平均分
这样我们就完成了5个同学成绩计算的问题
在更多同类型的问题中我们只需修改符号常量M
N的值就可以解决
由此可以看出
学习C语言的最终目的是
编写程序来解决实际问题
程序是解决某种问题的一组指令的有序集合
著名计算机科学家沃思
提出一个公式
程序是由数据结构加算法来构成
数据结构是对数据的描述
在C语言中
体现为对数据类型的描述
算法是对数据处理的描述
是为解决一个问题而采取的方法和步骤
是程序的灵魂
如上面程序中的第5 6行
变量k表示人数定义为整型量
score表示成绩定义为浮点型量
为什么要区分不同的数据类型
每个对象都是由若干的属性来描述的
比如学生有学号
姓名
性别
年龄
成绩等属性
学生的学号由长整型量或是字符串的形式表示
姓名用字符串表示
年龄用整型来表示
成绩定义成浮点型等
由此可以看出学习C语言首先就必须熟知
C语言的数据类型
数据类型是一组性质相同的值的集合以及定义在
这个值集合上的一组操作的总称
是对数据分配存储单元的安排
区分不同的数据类型主要是为了有效的组织数据
提高程序的可读性
在C语言中
数据类型指的是用于声明不同类型的变量
变量的类型决定了变量存储占用的空间大小
取值范围
存储形式以及可参与的运算
在C语言提供的数据类型中
我们分为基本数据类型
构造类型
指针类型
空类型和定义类型等
本章主要讲述基本数据类型
数据类型有了
如何表示数据以及如何在计算机中存储数据
为了解决这些问题
先学习掌握C语言中的基本概念
在计算机编程语言中
数据有两种表现形式
常量和变量
常量是在程序运行过程中
其值不会改变的量
变量是指在程序运行过程中其值可以改变的量
每个变量在内存中都有对应的存储单元
变量
常量
以及后面要介绍的函数等都需要一个名字
也就是常说的标识符
所以我们首先介绍标识符及其命名规则
标识符是用来标识变量
常量
函数等的字符序列
在C语言中有两类标识符
第一类是系统标识符
也就是C语言中系统预先定义的标识符
有系统类库名
系统常量名
系统函数名
如我们前面使用的scanf(函数) printf(函数)
第二类是用户根据程序的需要自定义的标识符
这类标识符的命名原则是只能由字母
数字
下划线组成
且第一个字符必须是字母或下划线
如用于统计求和的变量命名为sum
年龄命名为age等
在定义标识符时最好做到见名知意
一般情况是英文单词或是英文单词的缩写
也可以是汉语拼音
增加程序的可读性
还要注意以下几个事项
1
在C语言中大写A和小写a代表两个不同的量
2
不允许使用如下表所示关键字作为标识符的名字
3
对于标识符的有效长度
随系统不同有所区别
在一个长字符串中至少前8个字符有效
4
变量名和函数名中的英文字母一般用小写
如前面的示例中的变量k
sum
开平方根函数
sqrt()等
5
不宜混淆小写字母l与数字1
小写字母o与数字0
同学们
这节课就讲到这里
我们下节课见
-计算思维与计算机
--计算思维与计算机
--计算思维与计算机
--计算思维和计算机
-2.1 程序设计语言的发展及其特点和应用
--程序设计语言的特点及发展
- 2.2 C语言程序的基本结构及编制C语言程序的基本步骤
--C语言程序的结构和编制步骤
-3.1 C语言的数据类型
--C语言的数据类型
--C语言的数据类型
-3.2 常量
--常量
--常量
-3.3 什么是变量
--什么是变量
--什么是变量
-3.4 如何进行算术运算
--如何进行算术运算
--如何进行算术运算
-3.5 赋值运算符和逗号运算符
--赋值运算符和逗号运算符
-3.6 数据类型转换
--数据类型转换
--数据类型转换
-4.1 格式化输出printf
--格式化输出
-4.2 格式化输入scanf及字符数据的非格式化输入输出
--格式化输入
-5.1 关系运算符和关系表达式
--关系运算符和关系表达式
-5.2 逻辑运算符和逻辑表达式
--逻辑运算符和逻辑表达式
-5.3 条件运算符和条件表达式
--条件运算符和条件表达式
-5.4 if语句
--if语句
--if语句
-5.5 switch语句
--switch语句
--switch语句
-6.1 while语句
--while语句
--while语句
--do-while语句
-6.2 for语句
--for语句
--for语句
-6.3 循环的嵌套
--循环的嵌套
--循环的嵌套
-6.4 break语句和continue语句
--break和continue语句
-7.1 一维数组的定义和引用
--一维数组的定义和引用
-7.2 一维数组的赋值
--一维数组的赋值
--一维数组的赋值
-7.3 二维数组的定义和引用
--二维数组的定义和引用
-7.4 二维数组的赋值
--二维数组的赋值
--二维数组的赋值
-7.5 字符串的本质
--字符串的本质
--字符串的本质
-7.6 字符串操作的常用函数
--字符串常用函数
-7.7 字符串数组
--字符串数组
--字符串数组
-8.1 函数概述
--函数概述
--函数概述
-8.2 有参函数
--有参函数
--有参函数
-8.3 函数参数的传递方式
--函数参数的传递方式
-8.4 变量的作用域和生存期
--变量的作用域和生存期
-8.5 变量的存储类型
--变量的存储类型
--变量的存储类型
-8.6 函数的嵌套和递归调用
--函数的嵌套和递归调用
-8.7 函数的作用域与封装
--函数的作用域与封装
-9.1 指针变量的概念(上)
--指针变量的概念(上)
-9.2 指针变量的概念(下)
--指针变量的概念(下)
-9.3 指向一维数组的指针变量
--指向一维数组的指针变量
-9.4 指向二维数组的指针变量(上)
--指向二维数组的指针变量(上)
-9.5 指向二维数组的指针变量(下)
--指向二维数组的指针变量(下)
-9.6 动态内存分配
--动态内存分配
--动态内存分配
-10.1 编译预处理
--编译预处理
-11.1 用户自己建立数据类型
--用户自己建立数据类型
-11.2 定义结构体类型变量
--定义结构体类型变量
-11.3 结构体变量的引用与初始化
-11.4 结构体数组
--结构体数组
--结构体数组
-11.5 指向结构体类型数据的指针
--指向结构体类型数据的指针
-12.1 文件的基本概念和文件指针
--文件的基本概念和文件指针
-12,2 文件的打开和关闭
--文件的打开和关闭
--文件的打开和关闭
-12.3 文本文件读写
--文本文件读写
--文本文件读写
-12.4 二进制文件读写
--二进制文件读写
--二进制文件读写