1 Primitive Data Types and Operations C/C++ Language Programming Wanxiang Che.

Slides:



Advertisements
Similar presentations
L2:CSC © Dr. Basheer M. Nasef Lecture #2 By Dr. Basheer M. Nasef.
Advertisements

第八章 轴系零件 § 8-1 键、销及其连接 一、键连接 二、销连接 § 8-2 轴 一、轴的分类和应用 二、轴的结构和轴上零件的固定
退 出退 出退 出退 出 上一页 下一页 仪器使用 §1-2 尺规绘图工具和仪器的使用方法 图板丁字尺三角板 比例尺圆规分规铅笔曲线板。 要提高绘图的准确度和绘图效率,必须正确地使用各种绘图工 具和仪器。常用的手工绘图工具和仪器有图板、丁字尺、三角板、 比例尺、圆规、分规、铅笔、曲线板等。 提示:将光标放在仪器上,
概率统计( ZYH ) 节目录 2.1 随机变量与分布函数 2.2 离散型随机变量的概率分布 2.3 连续型随机变量的概率分布 第二章 随机变量及其分布.
概率统计( ZYH ) 节目录 3.1 二维随机变量的概率分布 3.2 边缘分布 3.4 随机变量的独立性 第三章 随机向量及其分布 3.3 条件分布.
第 12 章位运算 C 语言兼具高级语言及低级语言的特性,因此 适合编写系统软件。 C 语言具备低级语言的特性 就在于它能直接对硬件进行操作,即位运算。 所谓位运算是指,按二进制位进行的运算。 例如,将一个存储单元中各二进位左移或右移一 位等。
HistCite 结果分析示例 罗昭锋. By:SC 可能原因:文献年度过窄,少有相互引用.
实验:验证牛顿第二定律. 1 、实验目的:探究 a 与 F 、 m 的定量关系 2 、实验原理:控制变量法 A 、 m 一定时,探究 a 随 F 的变化关系 B 、 F 一定时, 探究 a 随 m 的变化关系.
第二章 数据信息 自然语言 字 -  单词 -  句子-  语言 计算机语言 字符-  词法单位-  程序-  语言 ↑ 词法 文法.
第二章 质点组力学 质点组:许多(有限或无限)相 互联系的质点组成的系统 研究方法: 1. 分离体法 2. 从整体考虑 把质点的三个定理推广到质点组.
嵌入式操作系统 陈香兰 Fall 系统调用 10/27/09 嵌入式 OS 3/12 系统调用的意义  操作系统为用户态进程与硬件设备进行交互提供 了一组接口 —— 系统调用  把用户从底层的硬件编程中解放出来  极大的提高了系统的安全性  使用户程序具有可移植性.
地理信息系统概述. 数据和信息 (Data & Information) 数据 原始事实 如:员工姓名, 数据可以有数值、图形、声音、视觉数据等 信息 以一定规则组织在一起的事实的集合。
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第六十二讲 ) 离散数学. 最后,我们构造能识别 A 的 Kleene 闭包 A* 的自动机 M A* =(S A* , I , f A* , s A* , F A* ) , 令 S A* 包括所有的 S A 的状态以及一个 附加的状态 s.
1 为了更好的揭示随机现象的规律性并 利用数学工具描述其规律, 有必要引入随 机变量来描述随机试验的不同结果 例 电话总机某段时间内接到的电话次数, 可用一个变量 X 来描述 例 检测一件产品可能出现的两个结果, 也可以用一个变量来描述 第五章 随机变量及其分布函数.
计算机文化基础 第 13 章 多表操作. 多表操作 以前所进行的操作中,在同一时刻只能打开一个表文 件,这是单工作区操作。但是在有些情况下,我们需要同时 了解多个表文件中的内容,例如 图 8-1 。在表文件 Stud1.DBF 中,有姓名,班级,电话三项;在 Stud2.DBF 中, 有姓名,性别,籍贯,英语四个字段。在单工作区操作方式.
1 第二章 误差和分析数据的处理. 2 ● 内容提要 1. 误差及其产生原因 2. 准确度与精密度 3. 有效数字及其计算规则 4. 分析数据的处理.
第 10 章 数据表的基本操作 计算机文化基础. 第一节 表结构显示与修改 1 、显示表的结构 格式: LIST/DISPLAY STRUCTURE [TO PRINT] 功能:显示(打印)当前已打开的数据库文件结构 说明:首先必须打开库文件。 LIST 是连续显示全部内容; DISPLAY 是分屏显示.
第三章 C 数据及其表达式 2 回顾  程序是为执行一项任务而编写的有序指令集  算法是解决问题的具体方法和步骤  流程图是算法的图形化表现形式  C 程序的编译和运行过程  编译器将源程序转换成机器能理解的程序  连接器用于连接相关的目标文件以生成可执行程序  进制间的转换  补码.
线性代数习题课 吉林大学 术洪亮 第一讲 行 列 式 前面我们已经学习了关 于行列式的概念和一些基本 理论,其主要内容可概括为:
Linux 内核源代码导读 中国科学技术大学计算机系 陈香兰( 0551 - ) Spring 2009.
第二章 随机变量及其分布 第一节 随机变量及其分布函数 一、随机变量 用数量来表示试验的基本事件 定义 1 设试验 的基本空间为 , ,如果对试验 的每一个基 本事件 ,规定一个实数记作 与之对应,这样就得到一个定义在基本空 间 上的一个单值实函数 ,称变量 为随机变量. 随机变量常用字母 、 、 等表示.或用.
第 4 章 过程与变量的作用范围. 4.1 Visual Basic 的代码模块 Visual Basic 的应用程序是由过程组成的, 过程代码存放在模块中。 Visual Basic 提供了 三类模块,它们是窗体模块、标准模块和类 模块。 窗体模块 窗体模块是大多数 Visual Basic.
数 学 系 University of Science and Technology of China DEPARTMENT OF MATHEMATICS 第 3 章 曲线拟合的最小二乘法 给出一组离散点,确定一个函数逼近原函数,插值是这样的一种手段。 在实际中,数据不可避免的会有误差,插值函数会将这些误差也包括在内。
聚合物在生物高分子分离中的应用 王延梅 中国科学技术大学高分子科学与工程系 Tel
语义分析 主要内容:  语义分析概述 ( 必要性、功能、描述方法 )  符号表  类型表达式  声明和程序体的语义分析.
大亚湾 PMT 读出电子学介绍 王铮 中科院 “ 核探测技术与核电子学重点实验室 ” 年会.
信息利用与学术论文写作 Library of Jiangsu University, Zhenjiang Sha Zhenjiang
第二章 贝叶斯决策理论 3学时.
非均相物系的分离 沉降速度 球形颗粒的 :一、自由沉降 二、沉降速度的计算 三、直径计算 1. 试差法 2. 摩擦数群法 四、非球形颗粒的自由沉降 1. 当量直径 de :与颗粒体积相等的圆球直径 V P — 颗粒的实际体积 2. 球形度  s : S—— 与颗粒实际体积相等的球形表面积.
量子化学 第四章 角动量与自旋 (Angular momentum and spin) 4.1 动量算符 4.2 角动量阶梯算符方法
从 Postscript 格式文献中提取 数学公式的方法. 概述 从 Postscript 格式文献中提取识别数学公式, 是数学公式识别领域的一个研究方向。主要针对 以 Word 和 Latex 为生成源的 Postscript 文档, 提出 基于内容的数学公式提取方法。首先重载 Postscript.
主讲教师:陈殿友 总课时: 124 第十一讲 极限的运算法则. 第一章 二、 极限的四则运算法则 三、 复合函数的极限运算法则 一 、无穷小运算法则 机动 目录 上页 下页 返回 结束 §5 极限运算法则.
在发明中学习 线性代数 概念的引入 李尚志 中国科学技术大学. 随风潜入夜 : 知识的引入 之一、线性方程组的解法 加减消去法  方程的线性组合  原方程组的解是新方程的解 是否有 “ 增根 ” ?  互为线性组合 : 等价变形  初等变换  高斯消去法.
第一节 相图基本知识 1 三元相图的主要特点 (1)是立体图形,主要由曲面构成; (2)可发生四相平衡转变; (3)一、二、三相区为一空间。
1/108 随机信号分析. 2/116 第 2 章 随机信号 3/ 定义与基本特性 2.2 典型信号举例 2.3 一般特性与基本运算 2.4 多维高斯分布与高斯信号 2.5 独立信号 目 录.
换热器换热器 反应器反应器. 间壁 热流体 冷流体 热流体 套管换热器 外壳 管板 封头封头 挡板 ( 折流板 ) 封头 列管式换热器列管式换热器 管壳式换热器管壳式换热器.
导体  电子导体  R   L  i 离子导体  ( 平衡 ) mm   .
第 3 章 控制流分析 内容概述 – 定义一个函数式编程语言,变量可以指称函数 – 以 dynamic dispatch problem 为例(作为参数的 函数被调用时,究竟执行的是哪个函数) – 规范该控制流分析问题,定义什么是可接受的控 制流分析 – 定义可接受分析在语义模型上的可靠性 – 讨论分析算法.
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第五十三讲 ) 离散数学. 定义 设 G= ( V , T , S , P ) 是一个语法结构,由 G 产生的语言 (或者说 G 的语言)是由初始状态 S 演绎出来的所有终止符的集合, 记为 L ( G ) ={w  T *
编译原理总结. 基本概念  编译器 、解释器  编译过程 、各过程的功能  编译器在程序执行过程中的作用  编译器的实现途径.
 符号表  标识符的作用: 声明部分:定义了各种对象及对应的属性和 使用规则。 程序体:对所定义的对象进行各种操作。 $ididname IdnameAttributeIR  必要性 Token : 新表-符号表(种类、类型等信息):
Department of Mathematics 第二章 解析函数 第一节 解析函数的概念 与 C-R 条件 第二节 初等解析函数 第三节 初等多值函数.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved. 1 Chapter 2 Elementary Programming.
Liang, Introduction to Programming with C++, Second Edition, (c) 2010 Pearson Education, Inc. All rights reserved Chapter 2 Elementary Programming.
首 页 首 页 上一页 下一页 本讲内容本讲内容 视图,剖视图(Ⅰ) 复习: P107 ~ P115 作业: P48(6-2,6-4), P49( 去 6-6) P50, P51(6-13), P52 P50, P51(6-13), P52 P53 (6-18,6-20) P53 (6-18,6-20)
1 Liang, Introduction to C++ Programming, (c) 2007 Pearson Education, Inc. All rights reserved X 1 Chapter 2 Primitive Data Types and Operations.
Liang, Introduction to Programming with C++, Second Edition, (c) 2010 Pearson Education, Inc. All rights reserved Chapter 2 Elementary Programming.
Chapter Two– Data Numbering & Character Encoding System in Microcomputer Principles of Microcomputers 2015年10月22日 2015年10月22日 2015年10月22日 2015年10月22日 2015年10月22日.
1 、如果 x + 5 > 4 ,那么两边都 可得 x >- 1 2 、在- 3y >- 4 的两边都乘以 7 可得 3 、在不等式 — x≤5 的两边都乘以- 1 可得 4 、将- 7x — 6 < 8 移项可得 。 5 、将 5 + a >- 2 a 移项可得 。 6 、将- 8x < 0.
第一节 物质的量. 聚小成大,聚微成宏 想想看: 你如何用托盘天平称出一粒米的质 量(假设每粒大米的质量一样大 )
名探柯南在侦查一个特大盗窃集团过程 中,获得藏有宝物的密码箱,密码究竟 是什么呢?请看信息: ABCDEF( 每个字 母表示一个数字 ) A :是所有自然数的因数 B :既有因数 5 ,又是 5 的倍数 C :既是偶数又是质数 D :既是奇数又是合数 EF :是 2 、 3 、 5 的最小公倍数.
项目七: PLC 功能指令应用 带进位循环左移指令 XXXXX. 项目七: PLC 功能指令应用 FX2 系列可编程控制器移位控制指令有移位、循环移位、字移位 及先进先出 FIFO 指令等 10 条指令。 带进位循环右移指令 RCR 带进位循环左移指令 RCL 字右移位指令 WSFR 先入先出读出指令.
Liang, Introduction to Programming with C++, Second Edition, (c) 2010 Pearson Education, Inc. All rights reserved Chapter 2 Elementary Programming.
1 物体转动惯量的测量 南昌大学理学院
第四章 计算机数控( CNC )系统  本章重点:  1 计算机数控系统构成及其结构特点  2 运动轨迹插补原理  3 刀具补偿.
§10.2 对偶空间 一、对偶空间与对偶基 二、对偶空间的有关结果 三、例题讲析.
是什么? 有什么用? 机要文件科研成果商业机密 原创设计 重要资料,有时难免被泄露或被剽窃。
企业产品标准信息公共服务平台 操作介绍 目录 一 、系统架构介绍 二 、企业产品标准自我声明填报系统 三 、企业产品标准公示系统.
表单自定义 “ 表单自定义 ” 功能是用于制作表单的 工具,用数飞 OA 提供的表单自定义 功能能够快速制作出内容丰富、格 式规范、美观的表单。
力的合成 力的合成 一、力的合成 二、力的平行四边形 上一页下一页 目 录 退 出. 一、力的合成 O. O. 1. 合力与分力 我们常常用 一个力来代替几个力。如果这个 力单独作用在物体上的效果与原 来几个力共同作用在物体上的效 果完全一样,那么,这一个力就 叫做那几个力的合力,而那几个 力就是这个力的分力。
A Simple Java Program //This program prints Welcome to Java! public class Welcome { public static void main(String[] args) { public static void main(String[]
Liang, Introduction to C++ Programming, (c) 2007 Pearson Education, Inc. All rights reserved X 1 Chapter 2 Primitive Data Types and Operations.
逻辑设计基础 1 第 7 章 多级与(或)非门电路 逻辑设计基础 多级门电路.
Computer Networks and Internets 《计算机网络与因特网》课件 林坤辉
八. 真核生物的转录 ㈠ 特点 ① 转录单元为单顺反子( single cistron ),每 个蛋白质基因都有自身的启动子,从而造成在功能 上相关而又独立的基因之间具有更复杂的调控系统。 ② RNA 聚合酶的高度分工,由 3 种不同的酶催化转 录不同的 RNA 。 ③ 需要基本转录因子与转录调控因子的参与,这.
张勤 人大报刊复印资料 专题全文数据库 简 介简 介 《人大报刊资料全文数据库》是中国人民大 学书报资料中心与北京博利群电子信息有限 公司联合开发研制的大型数据库光盘。它涵 盖面广、信息量大、分类科学、筛选严谨、 结构合理,是国内最具权威的社会科学、人.
1 1 Chapter 2 Elementary Programming. 2 2 Motivations In the preceding chapter, you learned how to create, compile, and run a Java program. Starting from.
目录 上页 下页 返回 结束 二、无界函数反常积分的审敛法 * 第五节 反常积分 无穷限的反常积分 无界函数的反常积分 一、无穷限反常积分的审敛法 反常积分的审敛法  函数 第五章 第五章.
§7.2 估计量的评价标准 上一节我们看到,对于总体 X 的同一个 未知参数,由于采用的估计方法不同,可 能会产生多个不同的估计量.这就提出一 个问题,当总体的一个参数存在不同的估 计量时,究竟采用哪一个好呢?或者说怎 样评价一个估计量的统计性能呢?下面给 出几个常用的评价准则. 一.无偏性.
Liang, Introduction to C++ Programming, (c) 2007 Pearson Education, Inc. All rights reserved X 1 Topic 2: Input / Output Formatting Lecturer:
Presentation transcript:

1 Primitive Data Types and Operations C/C++ Language Programming Wanxiang Che

2 Introducing Programming with an Example Computing the Area of a Circle Programs? = Data Structures + Algorithms –Niklaus Wirth (Turing Award, 1984)

3 Data Structures + Algorithms #include int main() { radius; area; // Step 1: Read in radius // Step 2: Compute area // Step 3: Display the area }

4 Trace a Program Execution #include int main() { double radius; double area; // Step 1: Read in radius radius = 20; // Step 2: Compute area area = radius * radius * ; // Step 3: Display the area std::cout << "The area is "; std::cout << area << std::endl; } no value radius allocate memory for radius

5 Trace a Program Execution no value radius memory #include int main() { double radius; double area; // Step 1: Read in radius radius = 20; // Step 2: Compute area area = radius * radius * ; // Step 3: Display the area std::cout << "The area is "; std::cout << area << std::endl; } no value area allocate memory for area

6 Trace a Program Execution 20 radius no value area assign 20 to radius #include int main() { double radius; double area; // Step 1: Read in radius radius = 20; // Step 2: Compute area area = radius * radius * ; // Step 3: Display the area std::cout << "The area is "; std::cout << area << std::endl; }

7 Trace a Program Execution 20 radius memory area compute area and assign it to variable area #include int main() { double radius; double area; // Step 1: Read in radius radius = 20; // Step 2: Compute area area = radius * radius * ; // Step 3: Display the area std::cout << "The area is "; std::cout << area << std::endl; }

8 Trace a Program Execution 20 radius memory area print a message to the console #include int main() { double radius; double area; // Step 1: Read in radius radius = 20; // Step 2: Compute area area = radius * radius * ; // Step 3: Display the area std::cout << "The area is "; std::cout << area << std::endl; }

9 Variables ( 变量 ) // Compute the first area radius = 20; area = radius * radius * ; std::cout << area; // Compute the second area radius = 30; area = radius * radius * ; std::cout << area;

数据类型( Data Type ) 10 C/C++DATATYPESC/C++DATATYPES 基本类型 basic types 构造类型 structures 指针类型 pointer 空类型 void 数值类型 字符类型 char 枚举类型 enum 整 型 integer 浮点型 floating point 单精度型 float 双精度型 double 短整型 short 长整型 long 整型 int 数组 array 结构体 structure 共用体 union

Why distinguish Data Types? Data Types indicate –data representations, 小数, 整数, 科学计数, 符号 … –size of storage in memory –legal numeric area( 合法的 取值范围 ) 不可思议 –operations to participate ( 可参与的运算 ) 11

12 b , B , KB , MB , GB , TB bit :位 Byte :字节 Kilobyte(KB) : K Megabyte(MB) :兆 Gigabyte(GB) : G Terabyte(TB) : T 1 TB == 1,024 GB 1 GB == 1,024 MB 1 MB == 1,024 KB 1 KB == 1,024 B 1 B == 8 b

b , B , KB , MB , GB , TB 世界上有 10 种人, 1 种人懂二进制, 1 种人 不懂二进制 一个位有多大? – 只能是 “0” 或者 “1” ,这叫二进制 二进制诠释了计算机的哲学 – 复杂事物都是由若干种简单事物构成 13

b , B , KB , MB , GB , TB 一个字节有多大? – 可以表示数字 0~255 – 保存一个字符(英文字母、数字、符号), ASCII 编码 – 两个字节保存一个汉字 GB2312 , 6763 字 GB , 字 GB18030 , 字 BIG5 , 字 – 两个字节保存一个宽字符, UNICODE 编码 个字符 14

Basic Types int an integer, typically reflecting the natural size of integers on the host machine Usually be stored in 4 bytes of memory in most of computers float single-precision floating point number 单精度浮点数 usually in 4 bytes double double-precision floating point number 双精度浮点数 usually in 8 bytes char a single byte, capable of holding one character in the local character set store 256 ASCII characters or integer of 0~255 15

Qualifiers of Basic Type 数据类型修饰符 short 2 bytes short int long 4 bytes long int long double 10 bytes specifies extended-precision floating point 长双精度 ( 高精度 ) 浮点 signed and unsigned May be applied to char or any integer unsigned specifies the number to be positive or zero signed specifies the number to be negative, positive or zero; the word signed can be omitted in default declaration 16 The word int can be omitted in such declarations

17 Storage of basic data types Unlike Java, size is machine-dependent!

每种类型究竟多长? 答曰: –char <= short <= int <= long <= long long( 有的编译器不支持 ) – 不固定长度,取决于平台(硬件、 OS 和编译器) sizeof operator –Find the size of a type –std::cout << sizeof(int) << " " << sizeof(long) << " " << sizeof(double); 18

19 Assignment Statements x = 1; y = x; x = 2; // What’s the value of y? x = y = z; // How to understand?

20 Reading Input from Keyboard Using the std::cin object to read input from the keyboard. –std::cin >> radius; –Give some prompts

21 Overflow ( 溢出 ) The range of short is ~32767 Assign a short with larger number ? Try …

22 Overflow Problems A machine with Windows 95/98 can only run 49.7 days continuously Why? –Windows 自启动时刻起,有一个计数器,记录系统 已经运行了多少毫秒。 – 这个计数器个 unsigned long –unsigned long 的最大值: – 一天有 24*60*60*1000 = 毫秒 – / = …… – 当 49.7 天的时候,此计数器会溢出,引起死机

23 Numeric Operators

24 Remainder Operator 5 % 2 yields 1 (the remainder of the division) Very useful –Judging even or odd number –Suppose today is Saturday. What day is in 10 days? Tuesday:

25 Arithmetic Expressions _____ is translated to (3+4*x)/5 – 10*(y-5)*(a+b+c)/x + 9*(4/x + (9+x)/y)

26 Converting Temperatures Write a program that converts a Fahrenheit degree to Celsius using the formula:

27 Type Casting Implicit casting double d = 3; (type widening) Explicit casting // type narrowing // Fraction part is truncated int i = (int)3.9;

Shorthand Assignment Operators 28 OperatorExampleEquivalent +=i += 8i = i + 8 -=f -= 8.0f = f *=i *= 8i = i * 8 /=i /= 8i = i / 8 %=i %= 8i = i % 8

29 Increment and Decrement Operators

30 Increment and Decrement Operators, cont. Avoid using these operators in expressions that modify multiple variables, or the same variable for multiple times –k=(i++)+(++i)+(i++);

Notes of Variables 变量使用前必须声明 int main() { int j = i + 1; cout << "j is " << j; return 0; } 没有被赋值的变量其 值不定 int main() { int i; int j = i + 1; cout << "j is " << j; return 0; } 31

Character Data Type Character Constant –'a' , 'A' , '5' , '%' , '$'…… – 单引号内只能有一个字符,除非用 “ \ ” 开头 就是一个普通整数,也可以参与各种数学运算 – 每个字符对应唯一一个 0~255 之间的数值,可从 ASCII 表 (American Standard Code for Information Interchange) 查出 ASCII 表 – 注意: '5' 和 5 的区别, A 和 'A' 的区别 风马牛,不相及 – 字符可以参与运算了! 'B' - 'A' , '2' - '0’ 32

33 Escape Sequences for Special Characters ( 转义字符 )

34 Appendix B: ASCII Character Set char is a small int

35 char operation Convert lowercase letter into uppercase main() { char ch; ch = 'b' - 32; // ch = 'b' - ('a' - 'A') ; cout << ch << endl; }

36 Program Errors Syntax Errors –No type define, identifier name, … Runtime Errors –Zero Division Logic Errors –Finding difficultly

Debug Bug – Errors – In 1947, “first actual case of bug being found” Debug ( 调试 )‏ – Find and fix bugs