ch02_Basic

Similar documents
PowerPoint 演示文稿

PowerPoint 演示文稿

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

没有幻灯片标题

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2

Microsoft PowerPoint - 03.Fortran程序设计基础1

Microsoft Word - 正文.doc

C/C++语言 - C/C++数据

FY.DOC

计算概论A B03 C++语言的基本成分 - 运算成分(2)

新版 明解C++入門編

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

CC213

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

第一章 绪论

C C

C/C++程序设计 - 字符串与格式化输入/输出

数据结构

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378>

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

第二章 C++简单程序设计

C 1

Microsoft PowerPoint - 1. C++介绍.ppt [兼容模式]

CHAPTER VC#

PowerPoint 演示文稿

C++ 程序设计 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

Microsoft PowerPoint - 07 派生数据类型

C++ 程序设计 笔记 * 潘建瑜 2019 年 6 月 9 日 * 本笔记仅供课堂教学使用

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义

Mx* Language Reference Manual 2016 年 4 月 7 日 1 用词说明 未定义 指中央还没有表态指语言定义中不涉及的部分, 编译器和运行时环境如何表现是未知的 主要是为了给学生实现语言留下足够的空间, 标准测试集里不会出现涉及未定义部分的内容 例如 : 术语 : 源程

《计算概论》课程 第十九讲 C 程序设计语言应用

Microsoft PowerPoint - 01_Introduction.ppt

第 1 章 C 语言的发展 特点与程序结构 本章主要介绍了 C 语言的发展 特点和程序结构, 重点阐述了程序设计的基本方法, 包括面向过程的程序设计和面向对象的程序设计 ; 算法的概念及其表示, 包括用自然语言 流程图 伪代码 N-S 流程图的表示方法 ; 最后介绍了 C 语言应用程序的开发过程 1

考 纲 解 读 14 浙 江 省 普 通 高 考 语 文 科 考 纲 研 读 吴 美 琴 今 年 的 考 试 说 明, 我 用 了 八 个 字 进 行 概 括, 那 就 是 稳 中 微 调, 关 注 生 活 稳 中 微 调 :14 年 的 语 文 考 试 说 明 是 近 几 年 来 调 整 幅 度

北京大学

幻灯片 1

第3章 Java语言基础

<4D F736F F F696E74202D20B5DA32D5C220B5A5C6ACBBFA433531D3EFD1D4BBF9B4A1>

C/C++ - 函数

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc

内容简介 本书从结构化程序设计技术出发, 以 C 程序设计语言为载体, 以 Windows 下的 Visual C 为程序调试和运行平台, 通过对典型实例的算法及相应 C 语言代码的描述, 介绍了在程序设计过程中如何对问题进行分析 如何组织数据和如何描述解决问题, 揭示了在计算机应用过

普通高等教育电气信息类应用型规划教材 程序设计基础 基于问题情境的 C 语言实践教程 张克军主 编 代俊雅副主编 北 京

第二章 Java 语法基础 实验目的 (1) 常量 变量与数据类型 a. 掌握 Java 的常量 变量声明及使用方法 b. 掌握 Java 各种数据类型的使用 c. 掌握基本的输入输出方法 (2) 运算符与表达式 a. 掌握算术运算 关系运算 逻辑运算, 及优先关系 b. 掌握表达式的使用 (3)

内容简介 本书以教育部高等学校计算机科学与技术教学指导委员会编制的 关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求 中有关计算机程序设计基础 (C 语言 ) 课程教学基本要求为指导, 结合教育部考试中心最新的全国计算机等级考试二级 (C 语言程序设计 ) 考试大纲要求和作者多

第 章 顺序结构程序设计 程序里要对数据进行各种操作 其中进行各种运算操作是最基本的操作之一 在 语言程序中 使用表达式 也就是通常所说的计算式子 描述各种运算 表达式是由参与运算的数据和表示运算的符号按照一定的规则组成的式子 描述运算的符号称为运算符 由一个或两个特定符号表示一种运算 语言具有丰富

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

新版 明解C言語入門編

第五讲 数组 一维数组 二维数组 数组作为函数参数

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/

C/C++ - 文件IO

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

试卷代号 :1253 座位号 E 口 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期 " 开放本科 " 期末考试 C 语言程序设计 A 试题 2015 年 1 月 E 四! 五 总分! 一 单选题 ( 每小题 2 分, 共 20 分 ) 1. 由 C 语言源程序文件编译而成的目标文件的默

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

chap07.key

设计模式 Design Patterns

PowerPoint 演示文稿


02

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

试卷代号 :1075 座位号 rn 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期 " 开放本科 " 期末考试 c+ 十语言程序设计试题 2016 年 1 月 t 问一 Urr-f 斗 士 1 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new

试卷代号 ~1075 座位号 E 口 国家开放大学 ( 中央广播电视大学 )20]5 年秋季学期 " 开放本科 " 期末考试 C 十十语言程序设计 试题 同二二十斗 2016 年 1 月 巴叫一 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. l

c_cpp

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

2015年计算机二级(C语言)模拟试题及答案(三)

3.1 num = 3 ch = 'C' 2

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

untitled

第 章 程序由语句组成, 语句经常使用数据类型 运算符 表达式等 Java 语言的数据类型 运算符与表达式等是从 C++ 语言简化而来, 更加简洁 高效 2. 1 常量和变量 Java 程序运行时, 值不可修改的数据称为常量, 分为字面常量 ( 常数 ) 与标识符常量两种 变量是程序运行时值发生改变

C 语言程序设计 ( 第 33 版 )) #define PI // 下面 2 行是函数的原型说明部分 double sup_area(double r); double volume(double r); // 下面是主函数部分 { double a=-5,b,c,d; b=fab

C

5. 閱 讀 下 文, 推 斷 內 最 適 合 填 入 的 詞 語 依 序 為 何? 人 也 真 是 一 個 絕 字, 一 邊 向 左, 一 邊 向 右, 一 副 的 樣 子, 偏 又 相 連 著, 各 說 各 話 各 走 各 路, 卻 又 人, 這 麼 一 個 簡 單 的 字, 竟 包 含 如 此

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

实验 2 顺序结构程序设计 9 unsigned short a; a= 1; printf("%d\n",a); 运行以上程序, 查看输出的结果, 分析为什么会输出这些信息 (1) 打开 VC 创建 liti2 2.c 文件 (2) 输入以上代码并编译执行 (3) 结果如图 2 2 所示 图 2

Microsoft Word - 第1篇(1-6).DOC

untitled

CHAPTER 1

数学软件 Matlab 编程基础 ( 脚本 ) 1

// 语句序列 根据以上分析写出一个完整的程序, 并在集成开发环境编译执行 运行结果如下 : 请输入摄氏温度 C: 26.5 摄氏温度 C=26.5 华氏温度 F=79.7 #include<iostream> double C,F; cout<<" 请输入摄氏温度 C:\n"; cin>>c; F

Ps22Pdf

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]


语言教程 1 C 语言概述 C 语言的发展过程 当代最优秀的程序设计语言 C 语言版本 C 语言的特点 面向对象的程序设计语言 C 和 C 简单的 C 程序介绍 输入和

C/C++ 语言 - 循环

class sometimes { int naive; void make_money() { this.naive++; int main() { sometimes keep = new sometimes; keep.naive = 0; while (getint() < Wallace)

C/C++ System Program Documentation

内容简介本书主要内容包括程序设计基础知识 C 语言数据类型 运算符与表达式 程序结构 数组 指针 其他数据类型 函数 文件等, 通过对大量实例进行分析, 力求提高和培养学生的程序设计能力 本书有配套辅导教程 程序设计基础实训指导教程 C 语言 ( 科学出版社出版 ), 引导读者学习和巩固各章节内容

Microsoft Word - YYCXfm.DOC

内容简介 C 语言是一种结构化程序设计语言, 本书通过大量的实例讲解 C 语言程序设计的方法, 主要内容包括 C 语言程序的结构 数据类型 运算符和表达式 数据的输入和输出 选择结构 循环结构 数组 函数 指针 编译预处理 结构和共用体 位运算 文件等 每个单元包括小结 实验 习题等 本书可作为高等


C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx

Microsoft PowerPoint - lect03_Fortran77

内容简介 本书根据全国计算机等级考试二级 C 语言程序设计考试大纲要求, 结合目前高等院校学生学习计算机程序设计课程的情况组织内容, 全面地介绍了 C 语言程序设计的基础知识, 系统地讲述了 C 语言程序设计的基本方法和技巧 本书以 ANSI C 语言标准为依据, 深入浅出地介绍了 C 语言的基本数

class sometimes { int naive; void make_money() { this.naive++; int main() { sometimes keep = new sometimes; keep.naive = 0; while (getint() < Wallace)

《C语言程序设计》教材习题参考答案

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

CC213

51 C 51 isp 10 C PCB C C C C KEIL

Transcription:

主要内容 C++ 语言概述 C++ 的发展 C++ 源程序结构与书写规范 C++ 编译器和集成开发环境 C++ 编程基础 数据的简单输入输出 2 C++ 语言概述 C++ 语言概述 C++ 的发展 - C++ 是从 C 语言发展演变而来, 可以看成是 C 的超集 - 1980 年由 Bjarne Stroustrup 开发创建 - 1983 年正式取名为 C++,1989 年开始 C++ 的标准化工作 - 1994 年制定了 ANSI C++ 标准草案 - 1998 年由 ISO 批准为国际标准, 通称 C++98 - 目前的 C++ 最新标准是 C++14(2014 年 8 月通过 ) ( 注 :C++17 基本上已经完成, 并开始 C++20 的制定工作 ) ANSI - American National Standards Institute / 美国国家标准协会 ISO - International Organization for Standardization / 国际标准化组织 3 http://isocpp.org/std/status 关于 C 和 C++ 的更多介绍见课程主页的相关链接 4 一个简单的 C++ 程序 int main() C++ 源程序结构 : { cout << "Hello!" << 一个 endl; C++ 源程序由一个或多个源文件组成 cout << "Welcome to 每个源文件可由一个或多个函数组成 C++! " << endl; 一个源程序有且只能有一个 main 函数, 即主函数 程序执行从 main 开始, 在 main 中结束 源程序中可以有预处理命令, 通常应放在源文件或源程序的最前面 一行可以写多个语句, 一个语句可以分几行书写 注 : 所有标点符号必须在英文状态下输入 5 C++ 程序书写规范 每个说明和每条语句都必须以分号 ; 结尾, ( 预处理命令, 函数头和花括号 之后除外 ) 标识符, 关键字之间必须至少加一个空格表示间隔, 若已有明显的间隔符, 也可不再加空格来间隔 习惯用小写字母, 区分大小写书写漂亮的程序 : 注释 :// 和 /* */ 为注释符 { 要对齐 常用锯齿形书写格式 一行写一个语句 一个语句写一行 所有标点符号必须在英文状态下输入 使用 TAB 缩进 有合适的空行 有足够的注释 6 程序分析 C++ 编译器 // 预处理指令, 载入头文件 // 使用标准的命名空间 int main() 主函数 { cout : 标准输出, 通常指屏幕 cout << "Hello!" << endl; cout << "Welcome to C++! " << endl; << : 插入 endl : 换行并刷新流 7 编译器 编译器就是将 高级语言 翻译为 机器语言 的程序 一个现代编译器的主要工作流程 : 源代码编译目标代码链接可执行程序 常见的 C++ 编译器 Visual C++ Windows 平台上最流行的编译器, 集成在 Visual Studio 中 GNU C++ 开源免费,Linux/Unix 平台上的首选, 非常优秀的编译器 Intel C++ Intel 的编译器, 对自家硬件的支持很好,Win/Linux 都有相应版本 8

IDE IDE ( 集成开发环境 ) Integrated Development Environment 用于程序开发的应用程序 / 软件, 一般包括代码编辑器 编译器 调试器和图形用户界面工具等 常见的 C++ 集成开发环境 - Visual Studio :Windows 平台上最流行的商业 C++ 集成开发环境 - Dev C++ : 小巧, 免费,win 下的 gcc, 非常适合学习 C++ - Code::Blocks : 开放源码的全功能跨平台集成开发环境, 免费 C++ 字符集 : 标识符, 关键字 C++ 数据类型与类型转换 变量 常量 符号常量 运算符 运算优先级 语句与表达式 9 10 字符集 C++ 字符集 字母 ( 大写和小写, 共 52 个 ) 数字 (0 到 9 共 10 个 ) 空白符 ( 空格符 制表符 换行符 ) 标点和特殊字符! # % ^ & * () [] { _ + = ~ < > / \ ' " ;., 注 : 这里的标点符号都是指在英文状态下的标点 11 词法记号 / 词汇 标识符 : 用来标识变量名 函数名 对象名等的字符序列 - 由字母 数字 下划线组成, 第一个字符必须是字母或下划线 - 区分大小写, 不能用关键字 - C++ 不限制标识符长度, 实际长度与编译器有关, 通常不要超过 32 个 - 命名原则 : 见名知意 不宜混淆 关键字 : 具有特定意义的字符串, 通常也称为保留字 - 类型说明符 语句定义符 ( 控制命令 ) 预处理命令等 运算符 ( 详见后面介绍 ) 分隔符 : 逗号 冒号 分号 空格 ( ) { 注释符 : 以 /* 开头并以 */ 结尾 ; 或 // 开头 文字 : 直接用字符表示的数据, 即常量, 如数字 字符串等 12 C++ 数据类型 C++ 数据类型 基本类型 整型 实型 自定义数据类型或扩展数据类型或派生数据类型或导出数据类型 字符型 (char) 布尔型 (bool) 整型 (int) 短整型 (short) 长整型 (long) 单精度 (float) 双精度 (double) 数组型 指针型 枚举型 类 无符号 (unsigned) 有符号 13 基本数据类型 类型 关键字 所占字节数 表示范围 整型 short 2-2 15 ~ 2 15-1 int 2 / 4-2 15 ~ 2 15-1 / -2 31 ~ 2 31-1 long 4 / 8-2 31 ~ 2 31-1 / -2 63 ~ 2 63-1 unsigned int 2 0 ~ 2 16-1 unsigned short 2 0 ~ 2 16-1 unsigned long 4 0 ~ 2 32-1 实型 float 4 (6-7) 10-38 ~ 10 38 double 8 (15-16) 10-308 ~ 10 308 long double 16 (18-19) 10-4932 ~ 10 4932 ex02_sizeof.cpp 布尔型 bool 1 true, false 字符型 char 1 C++ 标准没有规定每种数据类型的字节数和表示范围, 只规定大小顺序, 具体 长度由处理器和编译器决定 更长的整型 :long long / unsigned long long 14 数据类型的转换 数据类型的转换 自动转换 / 隐式转换 不同类型的数据进行运算, 需先转换成同一类型 转换按数据长度增加的方向进行, 以保证精度不降低 所有的浮点运算都是以双精度进行的 char 型和 short 型参与运算时, 必须先转换成 int 型 赋值号两边的数据类型不同时, 右边的类型将转换为左边的 char short int unsigned long unsigned long float double int i=2; double x=3.2, y; y=i+x; ex02_datetype_01.cpp 强制转换 / 显示转换类型说明符 ( 表达式 ) // C++ 风格 ( 类型说明符 ) 表达式 // C 风格 将表达式的值转换成指定的数据类型 int i=2, a=3; double y, z; y=double(i)/a; // y=static_cast<double>(i)/a z=double(i/a); 注 : 类型转换不会改变变量的数据类型! 15 16

数据类型的转换 转换规则 浮点型转整型 : 直接丢掉小数部分 字符型转整型 : 为字符的 ASCII 码 整型转字符型 :ASCII 码对应的字符 int i; char a; i=3.6; cout << "i=" << i << endl; i= 3.6; cout << "i=" << i << endl; i='m'; cout << "i=" << i << endl; a=90; cout << "a=" << a << endl; 变量 用于存储数据, 值可以改变 变量名 : 要求与标识符相同 变量类型 : 整型 实型 字符型 布尔型 变量必须先声明, 后使用 变量的声明 数据类型变量名列表 ; 变量的初始化 : 有两种方式 ( 赋值号和小括号 ) int i, j, k=0; double x(3.1415); char c; 17 18 常量 ( 常数 ) 在程序运行中值不能改变的量 整型常量 : 整数, 后面加 l 或 L 表示长整型, 后面加 u 或 U 表示无符号整型 实型常量 : 缺省为双精度实数, 后面加 f 或 F 表示单精度, 加 l 或 L 表示 long double 字符型常量 : 用单引号括起来的单个字符和转义字符 字符串常量 : 用双引号括起来的字符序列 布尔常量 :true 和 false 符号常量 符号常量 : 用标识符代表常量 const 数据类型标识符 = 常量值 ; const float PI=3.1415926; 符号常量在声明时必须初始化 符号常量的值在程序中不能被修改 ( 不能重新赋值 ) 123, 456, 123L, 456U; 1.2, 1.2F, 1.2L, 1.2e8, 1.2e8F, 1.2e 8L 'M', 'A', 'T', 'H', '?', '$' "MATH@ECNU" 19 20 typedef typedef: 为一个已有的数据类型另外命名 ( 取别名 ) typedef 已有类型名新类型名表 ; 可以同时取多个别名 typedef double area, volume; typedef int natural; natural i, j; area s; volume v; 21 运算符 算术运算符 :+ * / % ++ ( 自增 ) ( 自减 ) 赋值运算符 : = += = *= /= %= &= = ^= >>= <<= 逗号运算符 :, ( 把若干表达式组合成一个表达式 ) 求字节数运算符 :sizeof ( 计算数据类型所占的字节数 ) 关系运算符 : 用于比较运算,> < == >= <=!= 逻辑运算符 : 用于逻辑运算,&&! 条件运算符 : 是一个三目运算符, 用于条件求值 (? : ) 指针运算符 :* ( 取内容 ) & ( 取地址 ) 位运算符 : 按二进制位进行运算 & ^ ( 异或 ) ~ ( 取反 ) << ( 左移 ) >> ( 右移 ) 22 赋值运算 赋值与逗号运算 标准赋值语句 : 变量 = 表达式 自增自减 ( 前置和后置 ) ++ -- x++; ++x; y=x++*x; y=++x*x; x = x+1; x = x+1; 前置 : 先自增自减, 然后使用后置 : 先使用, 然后自增自减 x = 3; y=x*x; x=x+1; x=x+1; y=x*x; x = y = 3; y = 3; x = y; 注 : 这种方式不能用于变量初始化! int i=10, j, k; j = i++; k = ++i; ex02_datatype_02.cpp 不要在同一语句中包含一个变量的多个 ++ 或, 因为它们的解释在 C/C++ 标准中没有规定, 完全取决于编译器的个人行为 23 其他常见赋值运算符 += -= *= /= %= x += 3; x /= 3; 逗号运算符 : 表达式 1, 表达式 2 x = x+3; x = x/3; - 先计算表达式 1 的值, 再计算表达式 2 的值, 并将表达式 2 的值作为整个表达式的结果 int a, b, c, d, e; a = 5; b = a + 3; a = a + (c=6); d = e = f = a; e *= d; f /= c 2; ex02_datatype_03.cpp int a=2, b; 注意运算的优先级! a = 3*5, a+10; b = (3*5, a+10); ex02_datatype_04.cpp 24

位运算 位运算符 : 按二进制位进行运算 & ^ ( 异或 ) ~ ( 取反 ) << ( 左移 ) >> ( 右移 ) short a=5, b=14; a : 00000000 00000101 short c1,c2,c3,c4,c5,c6; b : 00000000 00001110 c1 = a & b; c2 = a b; C3 = ~ a; C4 = a ^ b; C5 = a << 3; C6 = a >> 2; a&b a b ~ a a ^ b a<<3 : 00000000 00000100 : 00000000 00001111 : 11111111 11111010 : 00000000 00001011 : 00000000 00101000 a>>2 : 00000000 00000001 ex02_datatype_05.cpp / 补码 运算优先级 详见教材或课程主页 () ++( 后置 ) ( 后置 ) 强制类型转换! ++( 前置 ) ( 前置 ) +( 正号 ) ( 负号 ) * / % + < <= > >= ==!= && 赋值 (= += = *= /= 等 ) 逗号运算 (, ) 其他运算符将会再后面的讲义中陆续介绍 25 26 常用数学函数 需加入 cmath 头文件 : #include <cmath> abs(x) exp(x) log(x) log10(x) sqrt(x) pow(x,y) x e x ln x lg x x x y min(x,y) max(x,y) 取整函数 :ceil, floor, round, trunc 最小值最大值 ex02_math.cpp 三角函数 :sin, cos, tan, asin, acos, atan 双曲三角函数 :sinh,cosh,tanh,asinh,acosh,atanh 语句 程序由语句构成,C++ 的语句包括 : 空语句 ( 只有分号 ) 声明语句 表达式语句 ( 赋值表达式 ) 复合语句 ( 将多个语句用 { 括起来组成的一个语句 ) 选择语句 循环语句 跳转语句...... 27 28 表达式语句 表达式与表达式语句 表达式 : 运算符连接常量 变量 函数所组成的式子 表达式语句 : 表达式 ; a+b*c a+b*c; 表达式中的运算符含赋值运算符 a+(b=3)*c 表达式可以包含在其它表达式中, 但表达式语句不行! a+(b=3;)*c 赋值表达式的值是赋值号左边变量的值 sizeof 求字节数运算符 : sizeof( 数据类型 ) 返回数据类型对应的变量所占的字节数 sizeof( 表达式 ) 返回表达式结果的数据类型对应的变量所占的字节数 int a, b, c; a = sizeof(int); b = sizeof(3 + 5); c = sizeof(3.0l + 5); ex02_datatype_06.cpp 29 30 简单的输入输出 输出到标准输出设备 ( 显示器 ):cout x = 3.14159; 输出 :cout 输入 :cin 操作符 : 控制输出的格式 几个常用转义字符 () \a 响铃 \r 回车 \\ 反斜杠 \b 退后一格 \t 水平制表符 \' 单引号 \n 换行 \v 垂直制表符 \" 双引号 cout << "The double quotation mark is \" \n"; 31 x = 3.14159; ex02_io_01.cpp y = 2.71828; cout << "x=" << x << "\t y=" << y << "\n"; 32

简单的输入输出 从标准输入设备 ( 键盘 ) 中输入 :cin cin >> x ; 在输入语句前通常需要输出一些提示信息 cout << "Please input x: "; cin >> x ; ex02_io_02.cpp 需加入头文件 iomanip 含义 endl 插入换行符, 并刷新流 setw(n) 设置域宽 setfill( 字符 ) 设置填充 fixed 使用定点方式输出 scientific 使用指数形式 setprecision(n) 设置输出的有效数字个数 ; 若在 fixed 或 scientific 后使用, 则设置小数位数 left 左对齐 right 右对齐 ( 缺省方式 ) 33 34 的作用范围 : setw : 只对紧随其后的输出起作用 其它 : 直至下一个同类型命令为止 详细使用方法参见第七讲 举 贷款问题 银行贷款问题已知贷款总额, 贷款年利率和贷款年限, 计算每月需偿还的金额和偿还总额 double x=3.14159, y=12.3456789; cout << setprecision(5); cout << "y=" << y << endl; cout << fixed; cout << setprecision(5); cout << "y=" << y << endl; ex02_io_03.cpp cout <<left; cout << "x=" << setw(20) << x << "MATH" <<endl; cout << setw(20) << "x=" << x << "MATH" <<endl; 35 等额本息方式 : L : 贷款总额 r m : 月利率 y: 还贷年限 等额本金方式 R : 已偿还的本金总额 每月需偿还的金额 : L r (1 r ) 12 y m m 12 y (1 rm ) 1 每月需偿还的金额 : L ( L R) r 12 y m 36 举 贷款问题 ( 等额本息 ) ex02_loan.cpp #include <cmath> // 数学函数 int main() { double Loan, rate_year, rate_month, year; double payment_month, payment_total; cout << "input loan amount: " ; cin >> Loan; cout << "input yearly interest rate: "; cin >> rate_year; rate_month = rate_year/1200; cout << "input number of years: "; cin >> year; double vtmp = pow(1+rate_month,12*year); // 计算每月还款金额 payment_month=load*rate_month*vtmp/(vtmp 1); payment_total=payment_month*year*12; cout << "Monthly payment: " << payment_month << ", "; cout << "Total payment: " << payment_total; 37 举 显示时间 显示系统当前时间头文件 ctime 中函数 time(0) 或 time(null) 返回当前时间与 1970 年 1 月 1 日零时的时间差 ( 格林威治时间, 以秒为单位 ) 北京时间 : 格林威治时间 + 8 小时 #include <ctime> int main() { long Second, Minute, Hour; Second = time(null); Minute = Second / 60; Hour = Minute / 60; cout << " 当前北京时间是 "; cout << (Hour+8) % 24 << ":" << Minute % 60 << ":" << Second % 60 << endl ; ex02_showtime.cpp 38 课后练习 课后练习 ( 自己练习 ) 见课程主页 上机作业 1 编写程序, 从键盘读入圆柱体的半径和高度, 计算其表面积和体积, 并将结果在屏幕上输出, 取 3.14159265 ( 程序取名 hw02_01.cpp) 2 银行提供两种 5 年定期存款方式 : 一年期方式 : 年利率 10%, 每年到期后, 自动将本年度的利息加入本金中 ; 五年期方式 : 年利率 11%, 五年后本金和利息一起归还储户 编写程序, 分别以两种方式存入 100 万元, 输出五年后各得多少? ( 程序取名 hw02_02.cpp) 3 修改程序 ex02_showtime.cpp, 使得输出的时 分 秒都占两个位置, 如 :14 点 25 分 10 秒显示为 14:25:10,9 点 8 分 5 秒显示为 09:08:05 ( 程序取名 hw02_03.cpp) 39 40