高级语言程序设计(C语言)----第三章(上) 数据类型、运算符和表达式

  • 3.1. 数据类型
    • 3.1.1. 定义
    • 3.1.2. 分类
  • 3.2. 常量
    • 3.2.1. 定义
    • 3.2.2. 常量-整型常量
      • 3.2.2.1. 定义
      • 3.2.2.2. 书写方式
      • 3.2.2.3. 计数制(各进制之间的关联)
    • 3.2.3. 常量-实型(浮点型)常量
    • 3.2.4. 常量-字符常量
      • 3.2.4.1. 分类
      • 3.2.4.2. 普通字符常量
      • 3.2.4.3. 转义字符常量
    • 3.2.5. 常量-字符串常量
      • 3.2.5.1. 定义
      • 3.2.5.2. 字符常量与字符串常量的区别
    • 3.2.6. 常量-符号常量
      • 3.2.6.1. 定义
      • 3.2.6.2. 优势
    • 3.2.7. 小结
  • 3.3. 变量
    • 3.3.1. 变量定义
    • 3.3.2. 变量-整型变量
    • 3.3.3. 变量-实型变量
    • 3.3.4. 变量-字符型变量
    • 3.3.5. 变量的定义
    • 3.3.6. 变量的初始化
    • 3.3.7. 有名常量的定义
  • 本章内容过多,一分为上下两部分

3.1. 数据类型

3.1.1. 定义

数据既是程序加工和处理的对象,也是程序加工和处理的结果。

3.1.2. 分类

1、基本类型包括整型实型(又称浮点型)字符型枚举型四种。
2、构造类型是由基本数据类型按一定规则组合而成的复杂数据类型,包括数组型结构体类型共用体类型
3、指针类型是一种更加灵活的数据类型,用来表示内存地址

4、空类型是从语法完整性角度给出的数据类型,表示不需要数据值,因而没有类型。

笔记:
有符号的整型在计算机内,靠最高位的值来区分。最高位为0表示正数,最高位为1表示负数。
无符号的整型,最高位也被征用,默认都是正的。

3.2. 常量

3.2.1. 定义

常量又称为“常数”,是在程序运行过程中其值不能被改变的数据。
笔记:如果能被改变值的,就叫变量。

3.2.2. 常量-整型常量

3.2.2.1. 定义

整型常量通常称为整数,不带有小数部分,包括正整数、负整数和0。

3.2.2.2. 书写方式

C语言中,整数常量由3种书写形式:
1、八进制整型常量,必须以0开头,即以0作为八进制整数的前缀,是由数字0~7组成的数字串。(逢八进一)
2、十进制整型常量,即通常的整数,没有前缀,是由数字0~9组成的数字串,是C语言中用的最多的一种形式。(逢十进一)
3、十六进制整型常量,必须以0X或0x开头,即以0X或0x作为十六进制整数的前缀,是由字符09、af或A~F组成的字符串。(逢十六进一)

3.2.2.3. 计数制(各进制之间的关联)

详见链接: https://blog.csdn.net/zhangqq_0312/article/details/122300774.

3.2.3. 常量-实型(浮点型)常量

实型常量又称为浮点型常量实数,实型常量只使用十进制。

C语言的实型常量有两种书写形式:
1、十进制小数形式,由整数部分、小数点和小数部分组成,其中小数点必须有,整数部分和小数部分可以省略其中一个,正、负通过前面的“+”(可以省略)和“-”区分。
2、指数形式(用E或e表示),又叫科学计数法。
由尾数部分、阶码标志(小写字母e或大写字母E)和指数部分组成,其一般形式为aEb或aeb,其中尾数部分a的位数决定了数值的精度,指数部分b的位数决定了可表示的数值范围。a和b均有正负之分,且b必须为整数。
笔记 :
例如 : 2.3*105 可以写为 2.3E5或者2.3e5; 2.3 *10-5 可以写为 2.3E-5或者2.3e-5;
需要注意的是 e后面的数,可以是正整数,也可以是负整数,但必须是整数。

3.2.4. 常量-字符常量

3.2.4.1. 分类

字符常量包括普通字符常量转义字符常量两种。

3.2.4.2. 普通字符常量

普通字符常量是用一对单引号括起来的单个字符,例如‘a’、‘?’均为普通字符常量。
笔记:
字符‘a’,在计算机中存储的是它的ASCII 值 97,以二进制的形式存储,
而‘A’,在计算机中存的也是它的ASCII值 65。

3.2.4.3. 转义字符常量

C语言还允许使用一种特殊形式的字符常量,即以反斜杠“\”开头的转义字符,它只代表某一特定的ASCII码字符。
C语言规定字符常量中的字母是区分大小写的。
每个字符常量在内存中占用1字节,具体存放的是该字符对应的ASCII码值。
笔记:
C语言中的字符常量和字符串常量是不同,
字符常量是‘单引号’,字符串常量是“双引号”;
字符串常量哪怕只有一个空串,也会有一个"\0"放在结尾来作结束标志。
字符串常量的长度要比存储的字符个数多一个。
例如 : 字符串常量 “abc”,字符个数有3个,但是它在内存中要占据4个字节来存储。最后一个字节存放”\0“,来表示个字符串结束。

需要注意的是,
C语言中空字符空格符号不同。
空字符用转义字符“\0”表示,其值是0;
空格符号是ASCII字符集中的一个可显示字符,其ASCII值是32,在屏幕上显示为空格。
笔记:
\t 键盘上的Tab键;\b 键盘上的Backspace键。

3.2.5. 常量-字符串常量

3.2.5.1. 定义

字符串常量又称为“字符串”,是用双引号括起来的零个或多个字符的序列。
字符串中字符的个数称为字符串长度。
编译时自动在字符串的末尾处加一个转义字符‘\0’作为字符串的结束标志,即长度为n个字符的字符串占用n+1字节

3.2.5.2. 字符常量与字符串常量的区别

字符常量与字符串常量是不同的,其区别在于:
1、定界符不同
字符常量使用单引号,而字符串常量使用双引号。
2、长度不同
字符常量的长度固定为1;
而字符串常量的长度,可以是0,也可以是某个整数。
3、存储要求不同
字符常量存储的是字符的ASCII码值,在内存中只占用1字节;
而字符串常量,除了要存储有效的字符外,还要存储一个字符串结束标志‘\0’。

3.2.6. 常量-符号常量

3.2.6.1. 定义

符号常量使用之前必须先定义,其定义的一般格式:
#define 符号常量 常量
其中,常量可以是任意类型。
符号常量一般采用大写字母表示,而变量一般采用小写字母表示。
符号常量的定义一般放在程序的开头,每个定义必须独占一行,因为不是语句,所以后面没有分号“;”。

3.2.6.2. 优势

使用符号常量的优势在于:
1、提高程序的可读性
2、便于程序修改

3.2.7. 小结


3.3. 变量

3.3.1. 变量定义


笔记:
电脑的配置越高,变量分配的空间越大。
同样是int类型,16位可能只能2个字节,32位分配4个字节,64位的电脑可能分配到8字节。

3.3.2. 变量-整型变量

整型变量分为四种:
1、基本整型,类型关键字为int。
2、短整型,类型关键字为short[int]。(int用中括号包含,表示这里可省略不写。)
3、长整型,类型关键字为long[int]。
4、无符号整型,又称为无符号基本整型(unsigned [int])、无符号短整型(unsigned short)和无符号长整型(unsigned long)三种。
在16位编译器中,一般一个int型变量占用2字节,且long型(4字节)≥int型(2字节)≥short型(2字节);
而在32位编译器中,一个int型变量占用4字节,long型变量占用4字节,short型变量占用2字节。
笔记: [ ]

3.3.3. 变量-实型变量

实型变量分为两种:
1、单精度实型,类型关键字为float,一般占用内存4字节,保留6~7位有效数字。
笔记:
占用4个字节,4个8位二进制,可存储的数最大是 232-1,可能除去最高位的符号位,还有231-1,
再除去小数部分,可保留的有效数字还剩6~7位。(有效数字:从左往右,第一个非零数字开始算,不算小数点。)
2、双精度实型,类型关键字为double,一般占用内存8字节,保留15~16位有效数字。
例如:float a;
a=123456.789 //实际a的值是 123456.7
double b;
a=123456.789 //实际b的值是 123456.789

3.3.4. 变量-字符型变量

字符型变量的类型关键字是char,存放的是字符的ASCII码值(无符号整数),占用内存1字节
需要注意的是,字符串只能是常量,C语言中没有字符串变量,而是用字符数组存放字符串变量

笔记:
short和long 代表带符号的数字,最高位是符号位,所以只剩15位存储。
负数在计算机中是以补码的形式存储。所以比正数多一。
无符号 unsigned 最高位正常使用
字符型 char 最高位也被征用,用来与汉字存储做区分。最高位0代表字符,1代表汉字。
一个汉字在计算机内占2个字节。

3.3.5. 变量的定义

C语言规定,任何变量必须先定义后使用
笔记:定义就是声明,向内存申请一定的空间。数据类型就代表申请空间的大小。

变量定义语句的一般格式:
数据类型符 变量名1[,变量名2,…];
笔记:
一次只声明一个变量时: 数据类型符 变量名1;
一次声明多个同类型变量时:数据类型符 变量名1 ,变量名2,… ; (用逗号将其隔开)

对变量进行定义时,需要注意以下几个方面:
1、变量定义可以存放在函数之外,也可以放在函数体或符合语句中。
2、被定义为整型(包括int、short和long)的变量,若其值为-128~127,则可以作为字符型变量使用。
3、被定为无符号整型(包括unsigned、unsigned short和unsigned long)的变量,若其值0~255,也可以作为字符型变量使用。
4、被定义为字符型的变量,可以作为整型(包括int、short和long)变量使用,其将值为-128~127, 也可以作为无符号整型(包括unsigned、unsigned short和unsigned long)变量使用,其值为0 ~255。
5变量定义后,系统自动为其分配连续的内存单元,所占用的内存字节数取决于变量的数据类型

3.3.6. 变量的初始化

变量的初始化是给变量赋值的一种方式,
定义变量的同时给变量赋初值称为变量的初始化。

变量初始化语句的一般格式:
数据类型符 变量名1=初值1[,变量名2[=初值2],…];
int radius=2,area;
short m=1,n=2;
long l1=123L,l2;

笔记;
上图中,错误的示例: int x = y = 1 ,是因为 y 还没有声明。
如果改为 int x,y,z; x = y = 1 ;是可以编译的。从右向左读,1先赋值给y,y把自己的值赋给 x 。

3.3.7. 有名常量的定义

C语言中,如果定义了变量并赋予其初值,但不希望在程序中对其值进行修改,
则可以将该变量定义为有名常量

有名常量定义语句的一般格式:
const 数据类型符 变量名1=初值1[,变量名2=初值2,…];
const int j=1,k=2;
const char ch1=‘y’,ch2=‘N’;
笔记: 关键字const 修饰的常量,只允许赋值一次,不允许被改写。

本章内容过多,一分为上下两部分

详见 高级语言程序设计(C语言)----第三章(下) 数据类型、运算符和表达式

高级语言程序设计(C语言)----第三章(上) 数据类型、运算符和表达式相关推荐

  1. 006-高级语言程序设计C 第六章,高级语言程序设计_C语言(第六章 数组.ppt

    <高级语言程序设计_C语言(第六章 数组.ppt>由会员分享,可在线阅读,更多相关<高级语言程序设计_C语言(第六章 数组.ppt(30页珍藏版)>请在人人文库网上搜索. 1. ...

  2. 【C语言】第二章 类型、运算符和表达式

    为什么80%的码农都做不了架构师?>>>    变量和常量是程序处理的两种基本数据对象. 声明语句说明变量的名字及类型,也可以指定变量的初值. 运算符指定要进行的操作. 表达式则把变 ...

  3. 数据类型,运算符和表达式02 - 零基础入门学习C语言03

    第二章:数据类型,运算符和表达式02 让编程改变世界 Change the world by program 整型变量 整型变量的分类(注意:这里占多少个字节跟系统和编译器规定有关!可以在编译器上自己 ...

  4. 数据类型,运算符和表达式03 - 零基础入门学习C语言04

    第二章:数据类型,运算符和表达式03 让编程改变世界 Change the world by program 字符型数据 字符型数据包括字符常量和字符变量 字符常量: 是用单引号括起来的一个字符. 例 ...

  5. c语言循环程序设计教案,10 《C语言程序设计》教案 第三章 程序的控制结构(6)—循环结构 while和do while.doc...

    10 <C语言程序设计>教案 第三章 程序的控制结构(6)-循环结构 while和do while.doc C 语言程序设计课程教案表 授课题目 第三章 程序的控制结构 (6) 循环结构 ...

  6. 大学 C语言程序设计第一讲,c语言程序设计1第一讲(第一章上).ppt

    c语言程序设计1第一讲(第一章上).ppt 知识可以改变命运! 高级语言程序设计 主讲教师:贾彩燕 计算机与信息技术学院 计算机科学与技术系 cyjia@bjtu.edu.cn 计算机与人沟通 计算机 ...

  7. 郑莉java课后答案,Java语言程序设计(郑莉)第三章课后习题答案

    <Java语言程序设计(郑莉)第三章课后习题答案>由会员分享,可在线阅读,更多相关<Java语言程序设计(郑莉)第三章课后习题答案(10页珍藏版)>请在人人文库网上搜索. 1. ...

  8. 大学c语言第三章作业,华中科技大学光电子学院C语言第三章

    <华中科技大学光电子学院C语言第三章>由会员分享,可在线阅读,更多相关<华中科技大学光电子学院C语言第三章(20页珍藏版)>请在装配图网上搜索. 1.第三章 简单程序设计 1. ...

  9. c语言程序设计课件第二章,c语言程序设计课件张元国 ISBN9787566300386 PPT第二章数据类型 运算符与表达式...

    1.第2章 数据类型.运算符与表达式,语言的数据类型 常量与变量 运算符与表达式 不同类型数据间的转换,2.1语言的数据类型,数据是计算机程序处理的所有信息的总称,数值.字符.文本等都是数据,在各种程 ...

  10. 网上作业c语言第三章,c语言 第3章 作业 和部分答案.doc

    网纤撤碟如背禄帆枉耸屉簿贝妙除崩凸痉篱堤匹糟隙碗挞渗福葫椅眶涂臆蹄碌整塌系亦勇蓬骡穿惊淬灼绝糠谈坊拽窝溢监怠敦惭肿昆歌慧晴秆氰圃嫩觅舅产涯梧脂魄攫阻修比琢芒涣墩促靡程断奶割字侍讽舵祥宛铅取芝饰傅坡龋减 ...

最新文章

  1. Android Android应用开发实战 学习总结杂项
  2. python 去除str的引号 去除括号_用python进行图像修复与去除水印
  3. python sort 部分元素_Python 犄角旮旯--List
  4. js 中的 number 为何很怪异
  5. 获取客户端IP和MAC地址
  6. NYOJ 1068 ST(线段树之 成段更新+区间求和)
  7. python下载url_三种Python下载url并保存文件的代码详解
  8. ECCV 2020 论文大盘点-光流篇
  9. AJAX POST跨域 解决方案 - CORS(转载)
  10. 深度学习在NLP领域的发展之Transformer
  11. 如何安装mysql安装包_如何安装MySQL,MySQL两种安装方式
  12. c语言作业答案 填空题,C语言练习题-填空题(带答案)
  13. 开源项目SmartImageView的引用
  14. 深度学习(花书)+动手学深度学习(李沐)学习资料整理
  15. 2021全国大学生信息安全竞赛初赛部分WP
  16. Python文件(二):数据组织的维度,一维数据的表示、存储、处理
  17. VS2013MFC对话框工程学习笔记二 - 了结布局和一些基本的窗口组件
  18. wuauclt.exe是什么进程?为什么运行?wuauclt.exe进程介绍
  19. API 服务器健康状态自检
  20. linux 算术命令,shell中进行算术运算的各种方法

热门文章

  1. 智能餐厅 之 (智能厨房KDS)
  2. Android ToolBar修改返回按钮图标
  3. 紫川,网络小说的登峰造极之作
  4. 衡水二中2021清华北大高考成绩查询,衡水二中:把5分钟利用成2小时,清北再录取101人!...
  5. 最短曼哈顿距离(递推+枚举 C++)
  6. 用unity制作简单的AR,亲测有效
  7. 我的世界 Java1.12.2联机下载_我的世界1.12.2
  8. 【Java例题】3.6 计算arcsin(x)的值
  9. 【Java】Feil类概述
  10. Not registered via @EnableConfigurationProperties, marked as Spring component, or scanned via @Confi