第十一章 流类库与输入/输出

Size: px
Start display at page:

Download "第十一章 流类库与输入/输出"

Transcription

1 第十一章流类库与输入 / 输出

2 本章主要内容 I/O 流的概念 输出流 输入流 输入 / 输出流 2

3 I/O 流的概念 当程序与外界环境进行信息交换时, 存在着两个对象, 一个是程序中的对象, 另一个是文件对象 流是一种抽象, 它负责在数据的生产者和数据的消费者之间建立联系, 并管理数据的流动 程序建立一个流对象, 并指定这个流对象与某个文件对象建立连接, 程序操作流对象, 流对象通过文件系统对所连接的文件对象产生作用 读操作在流数据抽象中被称为 ( 从流中 ) 提取, 写操作被称为 ( 向流中 ) 插入 3

4 输出流 ostringstream 类向字符串写入数据 输出流 最重要的三个输出流是 ostream ofstream 类支持磁盘文件输出 4

5 输出流输出流对象 预先定义的 ostream 类对象 : cout 标准输出 cerr 标准错误输出, 没有缓冲, 发送给它的内容立即被输出 clog 类似于 cerr, 但是有缓冲, 缓冲区满时被输出 5

6 输出流输出流对象 ofstream 类支持磁盘文件输出 如果在构造函数中指定一个文件名, 当构造这个文件时该文件是自动打开的 ofstream myfile("filename"); 可以在调用默认构造函数之后使用 open 成员函数打开文件 ofstream myfile; // 声明一个静态文件输出流对象 myfile.open("filename"); // 打开文件, 使流对象与文件建立联系 在构造对象或用 open 打开文件时可以指定模式 ofstream myfile("filename", ios_base::out ios_base::binary); 6

7 输出流插入运算符 (<<) 插入 (<<) 运算符是所有标准 C++ 数据类型预先设计的 用于传送字节到一个输出流对象 7

8 输出流} 控制输出格式 控制输出宽度 为了调整输出, 可以通过在流中放入 setw 操纵符或调用 width 成员函数为每个项指定输出宽度 setw 和 width 都不截断数值 setw 和 width 仅影响紧随其后的域, 在域输出结束后宽度恢复默认值 ( 必要的宽度 ) 例 11-1 使用 width 控制输出宽度 #include <iostream> using namesoace std; int main() { double values[] = { 1.23, 35.36, 653.7, }; for(int i = 0; i < 4; i++) { cout.width(10); cout << values[i] << endl; } return 0; 输出结果 :

9 输出流} 例 : 使用 * 填充 缺省为空格 使用 setfill 操纵符或 fill 成员函数设置填充字符 持久影响 #include <iostream> using namespace std; int main() { double values[]={ 1.23, 35.36, 653.7, }; cout.fill('*'); for(int i = 0; i < 4; i++) { cout.width(10); cout << values[i] << '\n'; } return 0; 输出结果 : ******1.23 *****35.36 *****653.7 ***

10 输出流} 例 11-2 使用 setw 指定宽度 #include <iostream> #include <iomanip> #include <string> using namespace std; int main() { double values[] = { 1.23, 35.36, 653.7, }; string names[] = { "Zoot", "Jimmy", "Al", "Stan" }; for (int i = 0; i < 4; i++) cout << setw(6) << names[i] << setw(10) << values[i] << endl; return 0; 输出结果 : Zoot 1.23 Jimmy Al Stan

11 出流对齐方式 输 输出流默认为右对齐文本 setiosflags 操作符来设置格式标志, 持久影响 smanip setiosflags ( ios_base::fmtflags mask ); resetiosflags 操作符来清除格式标志 smanip resetiosflags ( ios_base::fmtflags mask ); 掩码 mask 可用位或 进行组合 : 对齐 :ios_base::left, ios_base::right 进制 :ios_base::dec, ios_base::oct, ios_base::hex 浮点 :ios_base::fixed, ios_base::scientific 其他 :ios_base::skipws 等 11

12 例 11-3 设置对齐方式 输出流} #include <iostream> #include <iomanip> #include <string> using namespace std; int main() { 输出结果 : Zoot 1.23 Jimmy Al Stan double values[] = { 1.23, 35.36, 653.7, }; string names[] = { "Zoot", "Jimmy", "Al", "Stan" }; for (int i=0;i<4;i++) cout << setiosflags(ios_base::left) << setw(6) << names[i] << resetiosflags(ios_base::left) << setw(10) << values[i] << endl; return 0; 12

13 输出流精度 浮点数输出精度默认值是 6 setprecision 操纵符或 precision 成员函数来设置精度 显示为 若设置了 ios_base::fixed, 定点格式 ( 没有指数部分 ): 若设置了 ios_base::scientific, 科学格式 : e+003 若都未设置, 精度值确定总的有效位数, 否则确定小数点后小数位数 13

14 输出流} 例 11-4 控制输出精度 输出结果 : #include <iostream> #include <iomanip> Zoot 1 #include <string> Jimmy 4e+001 using namespace std; Al 7e+002 int main() { Stan 4e+003 double values[] = { 1.23, 35.36, 653.7, }; string names[] = { "Zoot", "Jimmy", "Al", "Stan" }; for (int i=0;i<4;i++) cout << setiosflags(ios_base::left) << setw(6) << names[i] << resetiosflags(ios_base::left) << setw(10) << setprecision(1) << values[i] << endl; return 0; 14

15 输出流进制 默认进制是 dec( 十进制 ) dec oct 和 hex 操纵符设置输入和输出的默认进制 15

16 输出流文件输出流成员函数 输出流成员函数有三种类型 : 与操纵符等价的成员函数 执行非格式化写操作的成员函数 其它修改流状态且不同于操纵符或插入运算符的成员函数 16

17 输出流文件输出流成员函数 open 函数把流与一个特定的磁盘文件关联起来 需要指定打开模式 默认模式 :ios_base::out put 函数把一个字符写到输出流中 write 函数把内存中的一块内容写到一个文件输出流中 seekp 和 tellp 函数操作文件输出流的内部指针 close 函数关闭与一个文件输出流关联的磁盘文件 错误处理函数在写到一个流时进行错误处理 17

18 出流例 11-5 向文件输出 #include <fstream> using namespace std; struct Date { int mondy, day, year; }; int main() { Date dt = { 6, 10, 92 }; ofstream file("date.dat", ios_base::binary); file.write(reinterpret_cast<char *>(&dt), sizeof(dt)); file.close(); return 0; } 输18

19 输出流二进制输出文件 以通常方式构造一个流, 然后使用 setmode 成员函数, 在文件打开后改变模式 使用 ofstream 构造函数中的模式参量指定二进制输出模式 ios_base::binary, 默认是文本模式 19

20 输出流20 字符串输出流 ostringstream 用于构造字符串 功能 支持 ofstream 类的除 open close 外的所有操作 str 函数可以返回当前已构造的字符串 典型应用 将数值转换为字符串

21 输出流} 例 11-6 字符串输出流应用 #include <iostream> #include <sstream> #include <string> 输出结果 : using namespace std; 5 template <class T> 1.2 inline string tostring(const T &v) { ostringstream os; // 创建字符串输出流 os << v; // 将变量 v 的值写入字符串流 return os.str(); // 返回输出流生成的字符串 } int main() { string str1 = tostring(5); cout << str1 << endl; string str2 = tostring(1.2); cout << str2 << endl; return 0; 21

22 输入流 istringstream 类支持从字符串中读取数据 输入流 重要的输入流类 : istream 类最适合用于顺序文本模式输入 cin 是其实例 ifstream 类支持磁盘文件输入 22

23 输入流输入流对象 如果在构造函数中指定一个文件名, 在构造该对象时该文件便自动打开 ifstream myfile("filename"); 在调用默认构造函数之后使用 open 函数来打开文件 ifstream myfile;// 建立一个文件流对象 myfile.open("filename",); // 打开文件 "filename 打开文件时可以指定模式 ifstream myfile("filename", ios_base::in ios_base::binary); 23

24 输入流提取运算符 (>>) 提取运算符 (>>) 对于所有标准 C++ 数据类型都是预先设计好的 是从一个输入流对象获取字节最容易的方法 ios 类中的很多操纵符都可以应用于输入流 但是只有少数几个对输入流对象具有实际影响, 其中最重要的是进制操纵符 dec oct 和 hex 24

25 输入流输入流成员函数 open 函数把该流与一个特定磁盘文件相关联 get 函数的功能与提取运算符 (>>) 很相像, 主要的不同点是 get 函数在读入数据时包括空白字符 getline 的功能是从输入流中读取多个字符, 并且允许指定输入终止字符, 读取完成后, 从读取的内容中删除终止字符 read 成员函数从一个文件读字节到一个指定的内存区域, 由长度参数确定要读的字节数 如果给出长度参数, 当遇到文件结束或者在文本模式文件中遇到文件结束标记字符时结束读取 25

26 输入流输入流成员函数 seekg 函数用来设置文件输入流中读取数据位置的指针 tellg 函数返回当前文件读指针的位置 close 函数关闭与一个文件输入流关联的磁盘文件 26

27 输入流例 11-9 从文件读二进制记录 #include <iostream> #include <fstream> #include <cstring> using namespace std; struct SalaryInfo { unsigned id; double salary; }; int main() { SalaryInfo employee1 = { , 8000 }; ofstream os("payroll", ios_base::out ios_base::binary); os.write(reinterpret_cast<char *>(&employee1), sizeof(employee1)); os.close(); 27

28 输入流} ifstream is("payroll", ios_base::in ios_base::binary); if (is) { SalaryInfo employee2; is.read(reinterpret_cast<char *>(&employee2), sizeof(employee2)); cout << employee2.id << " " << employee2.salary << endl; } else { cout << "ERROR: Cannot open file 'payroll'." << endl; } is.close(); return 0; 28

29 输入流31 字符串输入流 istringstream 用于从字符串读取数据 在构造函数中设置要读取的字符串 功能 支持 ifstream 类的除 open close 外的所有操作 典型应用 将字符串转换为数值

30 输入流1.2 例 字符串输入流应用 #include <iostream> #include <sstream> 输出结果 : #include <string> 5 using namespace std; template <class T> inline T fromstring(const string &str) { istringstream is(str); // 创建字符串输入流 T v; is >> v; // 从字符串输入流中读取变量 v return v; // 返回变量 v } int main() { int v1 = fromstring<int>("5"); cout << v1 << endl; double v2 = fromstring<double>("1.2"); cout << v2 << endl; return 0; } 32

31 输入输出流输入输出流 iostream 类对象可以是数据的源或目的 fstream 类支持磁盘文件输入和输出 stringstream 类支持面向字符串的输入和输出 33

32 小结与复习建议 主要内容 I/O 流的概念 输出流 输入流 输入 / 输出流 达到的目标 理解 I/O 流的概念, 学会使用 I/O 流类库实现文件输入 / 输出及格式控制 46

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

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

《计算概论》课程 第十九讲  C 程序设计语言应用 计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 [email protected] 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout

More information

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

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 201 201 21 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 1 B 1 C 5 D RPG 10 E 10 F 1 G II 1 1 201 201 C 1 # include 2 int main ( void

More information

Microsoft PowerPoint - string_kruse [兼容模式]

Microsoft PowerPoint - string_kruse [兼容模式] Strings Strings in C not encapsulated Every C-string has type char *. Hence, a C-string references an address in memory, the first of a contiguous set of bytes that store the characters making up the string.

More information

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

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 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

C++ 程序设计 实验 2 - 参考答案 MASTER 2017 年 5 月 21 日 1

C++ 程序设计 实验 2 - 参考答案 MASTER 2017 年 5 月 21 日 1 C++ 程序设计 实验 2 - 参考答案 MASTER 2017 年 5 月 21 日 1 1 CRECT 类 1 CRect 类 设计矩形类, 包含 长度和宽度信息 基本构造函数 基础属性的访问接口 ( 读 / 写, Read/Write, Get/Set) 计算周长和面积 ( 注 : 基本构造函数, 一个无参数的默认构造函数, 以及一个初始化数据成员的构造函数如果数据成员的初始化有多种形式, 就提供多个构造函数

More information

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

C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1 C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1 1 CARDGAME 1 CardGame 题目描述 桌上有一叠牌, 从第一张牌 ( 即位于顶面的牌 ) 开始从上往下依次编号为 1~n 当至少还剩两张牌时进行以下操作 : 把第一张牌扔掉, 然后把新的第一张放到整叠牌的最后 请模拟这个过程, 依次输出每次扔掉的牌以及最后剩下的牌的编号 输入 输入正整数 n(n

More information

Strings

Strings Streams and File I/O Cheng-Chin Chiang Streams 串流是 C++ 中一種負責資料輸出入程式的機制 輸入串流 : 資料流入程式 鍵盤 程式 檔案 程式 輸出串流 : 資料流出程式 程式 螢幕 程式 檔案 String Usage 我們已經學過的串流 cn: 鍵盤輸入串流 cout:: 螢幕輸出串流 我們可以定義其他形式的串流 例如 : 檔案輸入或檔案輸出 使用方法與

More information

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

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

PowerPoint Presentation

PowerPoint Presentation USTC Chapter 23 Text Processing 王子磊 (Zilei Wang) Email: [email protected] http://vim.ustc.edu.cn Overview 应用领域 字符串 I/O Maps 规则表达式 现在, 你已经知道了基础知识 确实如此! 恭喜你! 不要继续关注编程语言特性了! 开始使用吧! 程序和应用是什么样的? 通过编程能够做好什么?

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

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

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

迅速在两个含有大量数据的文件中寻找相同的数据

迅速在两个含有大量数据的文件中寻找相同的数据 迅速在两个含有大量数据的文件中寻找相同的数据 求解问题如下 : 在本地磁盘里面有 file1 和 file2 两个文件, 每一个文件包含 500 万条随机整数 ( 可以重复 ), 最大不超过 2147483648 也就是一个 int 表示范围 要求写程序将两个文件中都含有的整数输出到一个新文件中 要求 : 1. 程序的运行时间不超过 5 秒钟 2. 没有内存泄漏 3. 代码规范, 能要考虑到出错情况

More information

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

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx 运算符重载 Operator Overloading class Point { public: ; double x_, y_; Why Operator Overloading? Point (double x =0, double y = 0):x_(x),y_(y) { int main(){ Point a(1., 2), b(3,4); Point c = a + b; return 0;

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

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

《C语言程序设计》第2版教材习题参考答案 教材 C 语言程序设计 ( 第 2 版 ) 清华大学出版社, 黄保和, 江弋编著 2011 年 10 月第二版 ISBN:978-7-302-26972-4 售价 :35 元 答案版本 本习题答案为 2012 年 2 月修订版本 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p = &a A. *p = *a B. p = *a C.p = &a D. *p =

More information

Microsoft PowerPoint - Class4.pptx

Microsoft PowerPoint - Class4.pptx C++ 程式初探 IV 2015 暑期 ver. 1.0.2 C++ 程式 IV 大綱 1. 時間函式 2. 格式化輸出 3. 遞迴函式 (recursion) 4. 字串 5. 字串轉型 2 補充語法 時間計算 引入標頭檔 #include #include #include #include using namespace

More information

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

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p NOWOER.OM /++ 程师能 评估. 单项选择题 1. 下 描述正确的是 int *p1 = new int[10]; int *p2 = new int[10](); p1 和 p2 申请的空间 的值都是随机值 p1 和 p2 申请的空间 的值都已经初始化 p1 申请的空间 的值是随机值,p2 申请的空间 的值已经初始化 p1 申请的空间 的值已经初始化,p2 申请的空间 的值是随机值 2.

More information

Microsoft Word - CPE考生使用手冊160524.docx

Microsoft Word - CPE考生使用手冊160524.docx 大 學 程 式 能 力 檢 定 (CPE) 考 生 使 用 手 冊 2016 年 5 月 24 日 這 份 手 冊 提 供 給 參 加 CPE 檢 定 考 試 的 考 生 內 容 包 含 考 試 環 境 的 使 用, 以 及 解 題 時 所 使 用 I/O 的 基 本 知 識 1. 如 欲 報 名 參 加 CPE 考 試, 請 先 於 CPE 網 站 完 成 帳 號 註 冊, 然 後 再 報 名 該

More information

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

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: [email protected] 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

C++11概要 ライブラリ編

C++11概要 ライブラリ編 C++11 Egtra 2012 6 23 1 Boost. #9 1.1 C++11 1.2 http://creativecommons.org/licenses/by-sa/2.1/jp/ - 2.1 2 Misc 2.1 C++11 unique_ptr shared_ptr // #include std::unique_ptr up(new int(1));

More information

Strings

Strings Inheritance Cheng-Chin Chiang Relationships among Classes A 類 別 使 用 B 類 別 學 生 使 用 手 機 傳 遞 訊 息 公 司 使 用 金 庫 儲 存 重 要 文 件 人 類 使 用 交 通 工 具 旅 行 A 類 別 中 有 B 類 別 汽 車 有 輪 子 三 角 形 有 三 個 頂 點 電 腦 內 有 中 央 處 理 單 元 A

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

幻灯片 1

幻灯片 1 第一课 C 与 C++ 互联网新技术在线教育领航者 1 内容概述 第一部分 : C++ 综述 1. C++ 历史背景 2. Why C++ 3. 推荐书籍第二部分 : C VS C++ 1. C 语法回顾 2. 例 :C 实现动态数组 3. C++ 的 vector 第三部分 :C++ 对 C 的扩展 ( 上 ) 1. 命名空间 2. 输入输出 3. 基本类型转换 4. 声明 列表初始化 5. 指针和引用

More information

ebook55-13

ebook55-13 1 3 C + + C C + + 13.1 X 256 C + + p r i v a t e p u b l i c p e r m u t e () X X Y 13.2 Y Y X 13 257 Y X Y X X m a i n () s i z e o f ( Y s i z e o f ( X ) p u b l i c p r i v a t e p u b l i c p r i

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

untitled

untitled 露 年 老 女 兩 留 兩 離 不 不 不 料 車 不 料 來 1. 22 年 讀 律 說 2. 女 20 老 女 麗 3. 45 老 論 4. 林 女 43 見 識 女 5. 45 來 老 6. 女 20 女 7. 劉 女 45 利 說 8. 60 9. 50 良 10. 50 11. 45 12. 45 露 1 13. 老 14. 里 50 兩 L 不 1 : L L 切 2 1 切 泥 留 露

More information

秘密

秘密 錯 魂 記 歌 仔 戲 劇 本 劇 情 簡 介 義 明 雅 蓮 夫 妻 膝 下 無 子, 養 育 年 齡 差 距 甚 大 的 小 妹 慧 君, 他 們 都 熱 愛 南 管 音 樂, 而 台 南 城 的 南 管 秋 祭 大 會 將 近, 這 三 人 所 屬 的 館 閣 雅 音 齋 也 正 加 緊 練 習, 希 望 能 在 秋 祭 大 會 中 奪 得 頭 彩 某 日 姑 嫂 兩 人 出 門 行 香, 天

More information

Microsoft PowerPoint - Class5.pptx

Microsoft PowerPoint - Class5.pptx C++ 程式初探 V 2015 暑期 ver. 1.0.1 C++ 程式語言 大綱 1. 大量檔案讀取 & 計算 2. 指標 3. 動態記憶體 & 動態陣列 4. 標準函式庫 (STL) vector, algorithm 5. 結構與類別 2 大量檔案讀取 & 計算 若目前有一個程式將讀取純文字文件 (.txt) 中的整數, 並將該文件中的整數有小到大排序後, 儲存到另外一個新的純文字件中 假設有

More information

Microsoft Word - 97.01.30軟體設計第二部份範例試題_C++_ _1_.doc

Microsoft Word - 97.01.30軟體設計第二部份範例試題_C++_ _1_.doc 電 腦 軟 體 設 計 乙 級 技 術 士 技 能 檢 定 術 科 測 試 範 例 試 題 (C++) 試 題 編 號 :11900-920201-4 審 定 日 期 : 94 年 7 月 1 日 修 訂 日 期 : 96 年 2 月 1 日 97 年 1 月 30 日 ( 第 二 部 份 ) 電 腦 軟 體 設 計 乙 級 技 術 士 技 能 檢 定 術 科 測 試 應 檢 參 考 資 料 壹 試

More information

目 录(目录名)

目  录(目录名) 目录 目录...1-1 1.1 域名解析配置命令... 1-1 1.1.1 display dns domain... 1-1 1.1.2 display dns dynamic-host... 1-1 1.1.3 display dns server... 1-2 1.1.4 display ip host... 1-3 1.1.5 dns domain... 1-4 1.1.6 dns resolve...

More information

}; "P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ", " " string imagedata; if(0!= read_image("a.jpg",imagedata)) { return -1; } string rsp; ytopen_sdk m_sd

}; P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ,   string imagedata; if(0!= read_image(a.jpg,imagedata)) { return -1; } string rsp; ytopen_sdk m_sd tencentyun-youtu c++ sdk for 腾讯云智能优图服务 & 腾讯优图开放平台 安装 运行环境 Linux 依赖项 - curl-7.40.0, 获取更新版本 https://github.com/bagder/curl - openssl-1.0.1k, 获取更新版本 https://github.com/openssl/openssl 构建工程 工程采用 CMake 构建 1.

More information

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

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf(%d, &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf(% 2013 ( 28 ) ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 10 B 1 C 1 D 5 E 5 F 1 G II 5 H 30 1 2013 C 1 #include 2 int main(void) 3

More information

文件

文件 CH10 文件 1 文件的概念 一 文件分类 二 文件的组织结构 : ASCII 码文件 ( 文本文件 ) 二进制文件 文件是二进制代码的, 则文件就是字节流 文件是 ASCII 码的, 则文件就是字符流, 也是字节流 1 如 : 对于整型变量 x, 其值为 32767 若以文本方式存放, 则共有 5 个字符, 内容为 : 00110011 00110010 00110111 00110110 00110111

More information

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO Linux muduo C++ ([email protected]) 2012-09-30 C++ TCP C++ x86-64 Linux TCP one loop per thread Linux native muduo C++ IT 5 C++ muduo 2 C++ C++ Primer 4 W. Richard Stevens UNIX Sockets API echo Sockets

More information

软件工程文档编制

软件工程文档编制 实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,

More information

Strings

Strings Polymorphism and Virtual Functions Cheng-Chin Chiang Virtual Function Basics 多 型 (Polymorphism) 賦 予 一 個 函 數 多 種 意 涵, 存 在 於 同 一 類 別 之 內 祖 先 類 別 與 後 代 類 別 間 物 件 導 向 程 式 設 計 基 本 原 理 虛 擬 函 數 (Virtual Function)

More information

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生 共 青 团 工 作 简 报 2011 年 第 1 期 共 青 团 大 连 海 洋 大 学 委 员 会 团 学 要 闻 : 导 读 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 我 校 在 大 连 市 大 学 生 创 新 创 意 作 品 大 赛 中 取 得 佳 绩 校 团 委 召 开 学 生 干 部 思 想 动 态 座 谈 会 校 团 委 组 织 开 展 弘 扬 雷 锋

More information

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

C++ 程序设计 OJ4 - 参考答案 MASTER 2019 年 5 月 30 日 1 C++ 程序设计 OJ4 - 参考答案 MASTER 2019 年 月 30 日 1 1 STRINGSORT 1 StringSort 题目描述 编写程序, 利用 string 类完成一个字符串中字符的排序 ( 降序 ) 并输出 输入描述 输入仅一行, 是一个仅由大小写字母和数字组成的字符串 输出描述 输出排序后的字符串 样例输入 abcde 样例输出 edcba 提示 使用 std::sort

More information

牧 者 心 聲 要 因 心 懷 平 而 作 惡 要 謹 慎 言 行 免 得 舌 頭 犯 罪 ; 惡 人 時 候 要 用 嚼 環 勒 住 口 ( 詩 三 十 九 1) 今 天 社 會 和 教 會 裏 極 其 渴 望 人 能 以 具 體 行 動 勉 勵 走 善 良 正 直 路 作 好 榜 樣 ; 可 惜

牧 者 心 聲 要 因 心 懷 平 而 作 惡 要 謹 慎 言 行 免 得 舌 頭 犯 罪 ; 惡 人 時 候 要 用 嚼 環 勒 住 口 ( 詩 三 十 九 1) 今 天 社 會 和 教 會 裏 極 其 渴 望 人 能 以 具 體 行 動 勉 勵 走 善 良 正 直 路 作 好 榜 樣 ; 可 惜 週 六 崇 拜 秩 序 2010 年 7 24 日 下 午 500 主 席 王 和 祥 牧 長 講 員 蕭 壽 華 牧 師 司 琴 沈 慧 珍 小 姐 會 眾 開 始 以 心 靈 與 實 敬 拜 進 堂 ( 主 禮 人 及 詩 班 ) 始 禮 頌 ( 歌 詞 見 第 4 頁 ) 宣 召 心 必 靠 耶 和 華 快 樂 靠 祂 救 恩 高 興 舌 頭 要 終 日 論 說 祢 公 義 時 常 讚 美 祢

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

untitled

untitled 1 7 7.1 7.2 7.3 7.4 7.5 2 7.1 VFT virtual 7.1 3 1 1. 2. public protected public 3. VFT 4. this const volatile 4 2 5. ( ) ( ) 7.1 6. no-static virtual 7.2 7. inline 7.3 5 3 8. this this 9. ( ) ( ) delete

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

Microsoft PowerPoint - 12_StreamIO.ppt

Microsoft PowerPoint - 12_StreamIO.ppt 1 第 12 章 C++ Stream Input/Output 12.1 簡介 12.2 串流 (Streams) 12.3 輸出串流 (Stream output) 12.4 輸入串流 (Stream output) 12.5 未格式化 I/O 12.6 串流操作器 12.7 串流格式設定 12.8 串流錯誤狀態處理 12.9 結合輸入 / 輸出串流 2 一般 I/O 特色 C++ I/O 物件導向

More information

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

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/ 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:// 不能以数字开头 D._3_ B:// 不能用点和空格 提问 抢答 E.$anothervar C: // 不能用点和空格

More information

Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式]

Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式] 函数 Function 如何重用代码 How to reuse code 3 4 = 3*3*3*3 3 4,6 5 : 拷贝 - 粘帖代码 (Copy-paste code) 3 4,6 5,12 10 : 拷贝 - 粘帖代码 (Copy-paste code) Bad! 使用函数 (with a function) 使用函数 (with a function) 使用函数 (with a function)

More information

程序员-下午题-10下

程序员-下午题-10下 全国计算机技术与软件专业技术资格 ( 水平 ) 考试 2010 年下半年程序员下午试卷 ( 考试时间 14:00~16:30 共 150 分钟 ) 请按下述要求正确填写答题纸 1. 在答题纸的指定位置填写你所在的省 自治区 直辖市 计划单列市的名称 2. 在答题纸的指定位置填写准考证号 出生年月日和姓名 3. 答题纸上除填写上述内容外只能写解答 4. 本试卷共 6 道题, 试题一至试题四是必答题,

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 张铭 数据结构与算法 数据结构与算法 ( 九 ) 张铭主讲 采用教材 : 张铭, 王腾蛟, 赵海燕编写高等教育出版社,2008. 6 ( 十一五 国家级规划教材 ) http://www.jpk.pku.edu.cn/pkujpk/course/sjjg 第 9 章 9.1 主存储器和外存储器 9.2 文件的组织和管理 9.2.1 文件组织 9.2.2 C++ 的流文件 9.3 外排序 2 张铭 数据结构与算法

More information

通过Hive将数据写入到ElasticSearch

通过Hive将数据写入到ElasticSearch 我在 使用 Hive 读取 ElasticSearch 中的数据 文章中介绍了如何使用 Hive 读取 ElasticSearch 中的数据, 本文将接着上文继续介绍如何使用 Hive 将数据写入到 ElasticSearch 中 在使用前同样需要加入 elasticsearch-hadoop-2.3.4.jar 依赖, 具体请参见前文介绍 我们先在 Hive 里面建个名为 iteblog 的表,

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: [email protected] 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

More information

Microsoft PowerPoint - ch12.ppt

Microsoft PowerPoint - ch12.ppt 12 資料流與檔案的存取 如果程式所處理的資料只能寫在原始程式內部, 或以互動的方式由鍵盤逐一輸入, 則功能將很有限 本章探討如何從檔案讀取資料, 以及將處理後的資料存入檔案的方法 1/69 資料流與檔案的存取 12.1 12.2 12.3 12.4 12.5 12.6 資料流檔案的存取檔案的存取模式資料的讀取與寫入檔案內容的位置標記將檔案的存取寫成函數 2/69 3/69 資料流 (stream)

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

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

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc 2 5 8 11 0 1. 13 2. 15 3. 18 1 1. 22 2. 25 3. 27 2 1. 35 2. 38 3. 41 4. 43 5. 48 6. 50 3 1. 56 2. 59 3. 63 4. 65 5. 69 13 22 35 56 6. 74 7. 82 8. 84 9. 87 10. 97 11. 102 12. 107 13. 111 4 114 1. 114 2.

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 第 13 章外存中数据的组织 文件 本章的基本内容是 : 概述 文件的打开与关闭 文件的读写操作 任务 13.1 统计入学成绩 ( 文件版 ) 问题 某大学的博士入学考试科目为外语和两门专业课, 对于每个考生, 输入各科考试成绩并计算总分 要求用文件实现 想法 已经录入的成绩信息应该用文件保存下来, 已经计算的总分也应该保存到文件中, 并已追加方式继续录入 算法 文件 student.txt 存放学生的成绩信息,

More information

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

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式] 指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++

More information

Microsoft Word - well_game.doc

Microsoft Word - well_game.doc 智慧型系統控制 趙春棠老師 四技機電四甲 49422019 黃秉宏 井字遊戲並沒有什麼必勝的著法, 但只要適當的回應, 就可保持不敗 也 1 2 3 4 5 6 7 8 9 法則 手玩家的最佳著法其第一步最好下在四個角落 ( 即 2 4 6 8 號位置 ), 因為後手玩家除了下在中央的 5 號位置之外必敗 即使對手下了該位置, 只要回以馬步佈局或對角佈局也還有一半的勝算 先手玩家第一步的次佳選擇在

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 [email protected] www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023) ( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.

More information

幻灯片 1

幻灯片 1 信息科学技术学院 程序设计实习 郭炜微博 http://weibo.com/guoweiofpku http://blog.sina.com.cn/u/3266490431 刘家瑛微博 http://weibo.com/pkuliujiaying 1 信息科学技术学院 程序设计实习 郭炜刘家瑛 继承和派生 ( 教材 P215) 2 继承和派生的概念 继承 : 在定义一个新的类 B 时, 如果该类与某个已有的类

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information