第2章 C语言基础
华北电力大学 控制与计算机
C 语言程序设计
C语言基础
第1页/共73页
2
本章主要内容
本章介绍C语言的基础,包括:
数据类型
运算符和表达式
均是程序设计的基本知识
为什么讨论这些知识?
通常程序要对数据进行操作处理:
处理的对象是数据
数据通过运算符和表达式进行操作
第2页/共73页
3
例如:
【】计算圆的面积,半径为 5 cm。
程序如下:
#include <>
void main( )
{ float r, area ;
r=5 ;
area=*r*r;
printf (“面积=%f平方厘米\n ", area) ;
}
运算结果是:面积=平方厘米
程序中用到的数据:r、area、5、
对数据进行的运算:* 、=
第3页/共73页
4
分析:
计算机操作处理时,要完成以下工作:
数据r和area是变量,在内存中需要给半径 r 和运算结果 area 开辟存储空间,存放它们的值。应该留多大的地方来存放它们的值?
数据 5 和 是常量与 r 、area 不同,它们在编写程序时就是确定的值,在运算过程中不会改变。这样的数计算机怎么处理?
对整数 5 和 ,计算机存放时是否有区别?
涉及数据类型
的基本知识
第4页/共73页
5
C语言的数据类型
C数据类型
数组类型
结构体类型
共用体类型
枚举类型
整型(很多种)
字符型
实型(浮点型)
空类型
单精度型
双精度型
基本类型
指针类型
构造类型
本章讨论
基本类型数据
第5页/共73页
6
整型数据
1.整型数据的类型
基本整型数据类型 int ,分配 4 Byte
短整型数据类型short int,分配 2 Byte
长整型数据类型long int,分配 4 Byte
整型数据均以二进制补码形式存储
问题:
为什么要采用补码?
如何表示?
第6页/共73页
7
计算机中正、负数的表示
例如:109 =(1101101)2
要区别:+109 和 -109
方法是:将符号也数码化
即: 正的符号 +用 0 表示
负的符号 -用 1 表示
∴ 计算机中的整数表示方法是:
符号位+二进制数值(以 8bit 为例)
+109 → +110 1101 → 0110 1101
-109 → -110 1101 → 1110 1101
第7页/共73页
8
问题:计算机计算复杂化
例如计算: (-19)+(+22)
1001 0011 + 0001 0110
解决的方法是:
使用补码的表示方法(按前述表示的编码称为原码),即能将减法一律转换为加法。
需要判断符号是否相同:
如果相同,结果符号不变,并进行绝对值相加
如果不同,结果取绝对值大的数的符号,并进行绝对值相减
第8页/共73页
9
原码、反码和补码
正数:原码、反码、补码相同
符号位为0,数值为对应的二进制数。
+109
[01101101]原 = [01101101]反 = [01101101]补
负数:
原码符号位为1,数值为绝对值的二进制数 -109 [11101101]原
反码符号位为1,数值为绝对值的二进制数各位变反 -109 [10010010]反
补码符号位为1,数值为绝对值的二进制数各位变反加1 -109 [10010011]补
第9页/共73页
10
用补码计算
例如计算:
(-19)+(+22)
1110 1101 + 0001 0110= 0000 0011
(0000 0011)2= 3
第10页/共73页
C的基础知识PPT课件 来自淘豆网m.daumloan.com转载请标明出处.