C语言系列之第2讲 基本数据类型与运算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

23
计算机与信息工程分院
C语言程序设计
作业
思考题 教材P43,一、选择题 教材P44,二、填空题 请大家准备程序设计方法的资料,下次课课前讨 论。重点理解结构化程序设计方法的有关知识 作业 教材P45 三、问答题(1,2,3,4(2,3),5)
24
计算机与信息工程分院
C语言程序设计
计算机与信息工程分院
%(求余) +(取正)
-(取正)
16
C语言程序设计
3 基本运算符与表达式(3)
3.2 自增、自减运算符 ++ ++i相当于:i=i,i=i+1 i++相当于:i=i+1,i=i --i相当于:i=i,i=i-1 i--相当于:i=i-1,i=i
-课堂练习:
如果x=4,分析下面表达式的结果: (x++)+(x++)
12
最大65535 最小0
计算机与信息工程分院
C语言程序设计
2 基本数据类型(4)
2.2 基本数据类型数据的存储形式(续) 实型变量的存储 实型变量以浮点数指数形式存放
阶符 阶码 数符 尾数
-0.314159*102
0 10 1
xx…xx .314159
+
字符型变量的存储
2
-
字符型变量存放字符ASCII码值
(++x)+(++x)
17
计算机与信息工程分院
C语言程序设计
3 基本运算符与表达式(4)
3.2 自增、自减运算符(续) 课堂练习: ①设i的值为2,表达式i++-1的值是多少?表达式执 行以后,i的值是多少?
②设i的值为3,j的值为2,表达式-i+++++j的值是
多少?表达式执行以后,i和j的值分别是多少? ③设i的值为5,表达式i/i++和i++/++i的值分别是 多少?表达式执行以后,i的值分别是多少?
1.7e-308—1.7e308 -128--127 sizeof使用示例
14
计算机与信息工程分院
C语言程序设计
3 基本运算符与表达式(1)
运算是对数据的加工处理 对于最基本的运算形式,常可以用一些简洁 的符号记述,这些符号成为运算符或操作符 表达式(Expression)是将运算量用运算符连 接起来组成的式子,其中的运算量可以是常 量、变量或函数。 引例中的运算符与表达式
输出
2
⑥ 输出avg
计算机与信息工程分院
C语言程序设计
本讲主要内容
1. 变量与常量 2. 基本数据类型 3. 基本运算与表达式 4. 常用数学库函数
本讲小结
3
计算机与信息工程分院
C语言程序设计
1 变量和常量(1)
1.1 变量 对于变量,在程序运行期间,其内存单元中存放 的数据值可以根据需要随时改变
C语言程序设计
sizeof使用示例
#include <stdio.h> main() { int i,j; long s; float a,b; double f1,f2; char ch; printf("%d,%d,%d\n", sizeof(int),sizeof(i),sizeof(10)); printf("%d,%d\n", sizeof(long),sizeof(s)); printf("%d,%d\n", sizeof(50000),sizeof(10L)); printf("%d,%d,%d\n", sizeof(float),sizeof(b),sizeof(9.8F)); printf("%d,%d,%d\n", sizeof(double),sizeof(f1),sizeof(9.8)); printf("%d,%d\n", sizeof(char),sizeof(ch)); printf("%d,%d\n", sizeof('A'),sizeof('\101')); 返 回 返 回 }
float avg=0;
或者
int n,i;
float num,sum,avg;8来自int n=0,i=0;
float num=0,sum=0,avg=0;
计算机与信息工程分院
C语言程序设计
1 变量和常量(6)
1.3 常量(Constants)
返回主菜单
对于常量,在程序运行期间,其内存单元中存放 的数据值不能改变。 整型常量 实型常量 字符常量
…… 1001 1002 1003 1004 1005 1006
变量名 a
3
变量值
变量的存储单元 注意:变量必须先定义,才能使用。否则编译系统 1007
1008 将给出变量未定义的错误信息 ……
(Undeclared Identifier) 内存单元
4
计算机与信息工程分院
C语言程序设计
1 变量和常量(2)
15
计算机与信息工程分院
C语言程序设计
3 基本运算符与表达式(2)
3.1 基本的算术运算 +、-、* /(除) 双目运算符,结合 性为从左至右
注意两个整数相除结果为整数 课堂练习: ①比较5*4/2与5/2*4的结果 ②如设m、n均为整型变量(n≠0),则 单目运算符,结合 性为从右至左 m-m/n*n的结果是什么?
P36页表格
返回主菜单
课堂练习:
请根据P36页表格给出的函数,写出下面代数式 对应的C语言表达式:
abc sin a b
2 2
a b c
3 3 3
3
x1 x2 1.27 sin 78 10

22
1.2
计算机与信息工程分院
C语言程序设计
本讲小结
介绍了C语言的数据类型 重点学习了的变量的定义及初始化 重点学习了C语言的基本数据类型及存储形式 重点学习了C语言的算术运算符及表达式 介绍了C语言中常用的数学函数 请同学们重点阅读教材附录B
12、0、-3
4.6、-1.23 ‘a’、‘b’
直接常量 常量
符号常量
Define PI 3.14159 Define N 100
9
计算机与信息工程分院
C语言程序设计
2 基本数据类型(1)
2.1 C语言的数据类型
数值类型 基本类型 字符类型char 数组 C数据类型 构造类型 浮点型
短整型short
1 变量和常量(4)
1.2 变量的定义—变量的定义 变量名1,变量名2,…,变量名n 变量定义的一般格式: [存储类别] 类型符 寄存器变量(register) 自动变量(auto) 全局变量 静态变量(static) 变量名表 ;
数据类型 标识符
引例中变量的定义
7
计算机与信息工程分院
C语言程序设计
20
计算机与信息工程分院
C语言程序设计
3 基本运算符与表达式(6)
返回主菜单
3.4 混合运算时数据类型的转换(续) 显式类型转换 (类型说明符) (float) a (int)(x+y) 整型 (表达式)
把a转换为实型 把x+y的结果转换为
21
计算机与信息工程分院
C语言程序设计
4 常用数学库函数(1)
整型数据
八进制: 以0数字开头,如:0123,067 十六进制: 以0x开头,如: 0x123, 0xff
实型数据
十进制: 必须带小数点,如: 123.0,-9.0
指数形式: 如: 1.23E3, 0.9e-2, 5e2
字符型数据
11
普通字符: 如: ’ a’, ’ 2’, ’ H’,’#’ 转义字符: 如: ’ \n’, ’ \167’, ’ 计算机与信息工程分院 \xlf’, ’\\’
27
计算机与信息工程分院
C语言程序设计
#include <stdio.h> 引例中的运算符和表达式 main () {分析求n个数的平均值的算法 int n=0,i=0; 求平均值的数的个数n 输入 float num=0.0,sum=0.0,avg=0.0; 求平均值的每个数的数值num scanf("%d",&n); while(i<n) ①输入求平均值的数的个数n;用sum存放已输入 处理 数值的和,用i计数,用avg存放平均值。sum初 { 值为0,i初值为0,avg初值为0。 scanf("%f",&num); ②若i<n 执行第③步,否则执行第⑤ 步 sum=sum+num; ③输入数值num,sum=sum+num,i=i+1 i++; ④返回第②步 } ⑤avg=sum/n avg=sum/n; printf("%f\n",avg); 返 回 ⑥ 输出avg 输出 }28
25
计算机与信息工程分院
C语言程序设计
引例中变量的定义
分析求n个数的平均值的算法 int n;
求平均值的数的个数n 输入 float num; 求平均值的每个数的数值num
float sum; ①输入求平均值的数的个数n;用sum存放已输入 处理 数值的和,用i计数,用avg存放平均值。sum初 int i;
18
计算机与信息工程分院
C语言程序设计
从左到右逐一计算各表达 返回主菜单 3 基本运算符与表达式(4) 式,并以表达式n的值为 3.3 逗号运算 逗号运算表达式的结果
表达式1,表达式2,…,表达式n
课堂练习:
假设a=3,求表达式的值
a=3*5,a*4
(a=3*5,a*4),a+5
19
计算机与信息工程分院
C语言程序设计
2 基本数据类型(3)
2.2 基本数据类型数据的存储形式
整型变量的存储
int型:
最高位为符号位
最大 01 11 11 11 11 11 11 11 32767 最小 10 00 00 00 00 00 00 00 -32768 unsigned int型: 11 11 11 11 11 11 11 11 00 00 00 00 00 00 00 00
1 变量和常量(5)
int 变量的定义—变量的初始化 int n=0; 1.2 n; float num; float num=0; 变量的初始化,就是在定义变量的同时赋予其与 float sum; float sum=0; 类型相一致的初值,并且与问题解决意义相一致 int i; 的初值。 float avg; 或者 int i=0;
1.2 变量的定义—标识符 关键字 预定义标识符 自定义标识符
被用作库函 数名和预编 用于标识变 量、常量、 数组、用户 自定义函数 等的标识符
具有特定含 义的标识符。 关键字不能 另作它用。 (P28)
译命令的标
识符
5
计算机与信息工程分院
C语言程序设计
1 变量和常量(3)
1.2 变量的定义—自定义标识符命名规则
n167xlf整型数据实型数据字符型数据c语言程序设计计算机与信息工程分院122基本数据类型322基本数据类型数据的存储形式整型变量的存储int型0111最大11111111111132767003276810000000000000unsignedint型1111111111111111最大65535最小00000000000000000最高位为符号位最小c语言程序设计计算机与信息工程分院132基本数据类型422基本数据类型数据的存储形式续实型变量的存储实型变量以浮点数指数形式存放字符型变量的存储字符型变量存放字符ascii码值0314159102xxxx31415911020阶符阶码数符尾数c语言程序设计返回主菜单计算机与信息工程分院1423基本数据类型的存储长度类型关键字intshortlongfloatdouble字节数位数224481数的表示范围327683276732768327672147483648214748364734e3834e3817e30817e308128127整型16163232648实型字符型charsizeof使用示例c语言程序设计计算机与信息工程分院153基本运算符与表达式1运算是对数据的加工处理对于最基本的运算形式常可以用一些简洁的符号记述这些符号成为运算符或操作符表达式expression是将运算量用运算符连接起来组成的式子其中的运算量可以是常量变量或函数
①自定义标识符由英文字母、数字和下划线构成
②开头字符必须是字母或下划线(不能为数字) ③不能使用关键字(建议也不要使用预定义标识符)
标识符的长度,不同的C编译系统有不同的规定: Turbo C 2.0 最长可允许32个字符;
VC++ 6.0 标识符最长可允许247个字符。
6
计算机与信息工程分院
C语言程序设计
C语言程序设计
第2讲 基本数据类型与运算
主讲教师: 刘辉 email: liuhui@ phone: 87935400(office)
1
计算机与信息工程分院
C语言程序设计
引例 分析求n个数的平均值的算法 输入 处理
求平均值的数的个数n 求平均值的每个数的数值num ①输入求平均值的数的个数n;用sum存放已输入 数值的和,用i计数,用avg存放平均值。sum初 值为0,i初值为0,avg初值为0。 ②若i<n 执行第③步,否则执行第⑤ 步 ③输入数值num,sum=sum+num,i=i+1 ④返回第②步 ⑤avg=sum/n
13
计算机与信息工程分院
C语言程序设计
2 基本数据类型(5)
2.3 基本数据类型的存储长度
类型 整型
返回主菜单
关键字 字节数 位数 数的表示范围 int 2 16 -32768—32767
short long
实型 float double 字符型 char
2 4
4 8 1
16 32
32 64 8
-32768—32767 -2147483648— 2147483647 3.4e-38—3.4e38
值为0,i初值为0,avg初值为0。 float avg; ②若i<n 执行第③步,否则执行第⑤ 步 ③输入数值num,sum=sum+num,i=i+1 或者 ④返回第②步 int n,i; ⑤avg=sum/n
float num,sum,avg; ⑥ 输出avg 输出
26
返 回
计算机与信息工程分院
整型
整型int 长整型long 单精度型float 双精度double
结构体struct
共用体union 枚举类型enum
指针类型 空类型void
定义类型typedef
10
计算机与信息工程分院
C语言程序设计
2 基本数据类型(2)
2.2 基本数据类型数据的表示形式
十进制: 以非0数字开头,如: 123,-9,0
C语言程序设计
3 基本运算符与表达式(5) 高 double
3.4 混合运算时数据类型的转换 long 隐式类型转换(自动类型转换)
float
unsigned 对单目运算符而言,因只有一个运算量,故 表达式的类型就是运算量的类型 低 int char, short
对双目运算符而言: ①若两个整型(int)运算量参加运算,则结果 课堂练习: 也是整型。 假设k为整型,x为单精度型,y为双精度型,z ② 若不是两个整型的运算量参加运算,则C编 为长整型,下面表达式的结果为哪种类型 译系统自动对它们进行转换,将精度低的类型 转换为精度高的类型 10+’a’+k*x-y/z
相关文档
最新文档