福州大学:《数据结构》课程教学资源(PPT课件讲稿)C++编程简介

C艹+编程简介 函数原型与函数特征 数据声明与作用过 类、对象、构造函数与析构函数 输入输出 函数、参数传递与函数返回值 函数名重载与操作符重载 动态存储分配 友元函数与内联函数 结构、联合与类 模板类
1 ◼ 函数原型与函数特征 ◼ 数据声明与作用域 ◼ 类、对象、构造函数与析构函数 ◼ 输入/输出 ◼ 函数、参数传递与函数返回值 ◼ 函数名重载与操作符重载 ◼ 动态存储分配 ◼ 友元函数与内联函数 ◼ 结构、联合与类 ◼ 模板类

函数原型 下面的程序给出了典型的C程序结构,它是 Hel, world”程序的变型。 这个程序由三个文件组成: / File: hello.h */ char *helloo; / File: hello. c # include包括 sprintf()的原型* # include/包括malo(的原型*/ # include/包括 strlen()的原型* # include" hello.h"/包括hell0)的原型*2
2 函数原型 ◼ 下面的程序给出了典型的C 程序结构,它是 “Hello, world”程序的变型。 ◼ 这个程序由三个文件组成: /* File: hello.h */ char *hello( ); /* File: hello.c */ # include /*包括sprintf ( )的原型*/ # include /*包括malloc( )的原型*/ # include /*包括strlen( )的原型*/ # include "hello.h" /*包括hello( )的原型*/

char hello(name) char name char *value;/*返回串" Hello,name.".* value =(char *)(malloc(9+strlen(name)); sprintf (value, Hello OS name return value, File: main.c r/ # include/包括 printf()的原型*/ # include" hello.h"/包括hell0)的原型*/
3 char *hello(name) char *name; { char *value; /*返回串 "Hello, name.". */ value = (char *)(malloc(9+strlen(name)); sprintf (value, "Hello, %s.", name); return value; } /* File: main.c */ # include /*包括printf ( )的原型*/ # include "hello.h" /*包括hello( )的原型*/

main(argc, argv) int argc, char argyl i printf(" %s", hello("world)); 头文件名字的后缀用“h”表示,程序文件 名字的后缀用“c”表示。 hel.h:包含heo函数的原型。main函数 可通过“# include”定向到该原型的定义文 件,取得对原型的访问性
4 main(argc, argv) int argc; char *argv[ ]; { printf("%s", hello("world")); } ◼ 头文件名字的后缀用“.h”表示,程序文件 名字的后缀用“.c”表示。 ◼ hello.h:包含 hello函数的原型。main函数 可通过“# include”定向到该原型的定义文 件,取得对原型的访问性

hello.c:这是hel函数的定义文件。它通过 个 string类型的形式参数接受需要打印的 串,返回一个 sstring类型的值作为打印串。 返回类型必须与在#ncud定向的“h文件 中所给出的原型的类型匹配。 man. c:这是打印“Hell,word”的主程序 它构造和返回一个欢迎词字符串,其结果通 过函数prin打印出来。 C把函数和数据定义放在后缀为“c”的代 码文件中。在各代码文件中使用后缀为“h” 的 include文件,定义对其它各模块的调用接
5 ◼ hello.c:这是hello函数的定义文件。它通过 一个string类型的形式参数接受需要打印的 串, 返回一个string类型的值作为打印串。 返回类型必须与在#include定向的“.h”文件 中所给出的原型的类型匹配。 ◼ main.c:这是打印“Hello, world”的主程序, 它构造和返回一个欢迎词字符串,其结果通 过函数printf打印出来。 ◼ C 把函数和数据定义放在后缀为“.c”的代 码文件中。在各代码文件中使用后缀为“.h” 的include文件, 定义对其它各模块的调用接 口

C++的函数特征 特征是函数参数表的描述。 利用特征信息可进行严格的类型检查。它 允许编译器检验实际参数的数目是否正确, 对应的形参和实参是否相容,函数返回的 类型与函数调用的环境是否相容。 它克服了在许多C程序的开发中,由于在 C原型中没有定义参数的类型和数量,而 造成的实参和形参之间不匹配,函数返回 类型与使用之间不匹配等许多缺陷
6 C++的函数特征 ◼ 特征是函数参数表的描述。 ◼ 利用特征信息可进行严格的类型检查。它 允许编译器检验实际参数的数目是否正确, 对应的形参和实参是否相容,函数返回的 类型与函数调用的环境是否相容。 ◼ 它克服了在许多 C 程序的开发中,由于在 C 原型中没有定义参数的类型和数量,而 造成的实参和形参之间不匹配,函数返回 类型与使用之间不匹配等许多缺陷

现用C++语句改写前面的C程序。 C++程序在“h”文件中对heo(使用了 函数特征。对于hel()的原型: ◆不要求形式参数的名字出现在特征中 参数的数目和类型,以及返回类型,都 完整地在函数说明中定义 C++允许在函数说明时,在括号内直接声明 形式参数的类型。 除了标准注释分界符(…外,C++还接 受以∥开始,直到该行末尾的注释
7 ◼ 现用 C++ 语句改写前面的 C 程序。 ◼ C++ 程序在“.h”文件中对 hello( ) 使用了 函数特征。对于 hello( ) 的原型: ◆ 不要求形式参数的名字出现在特征中 ◆ 参数的数目和类型,以及返回类型,都 完整地在函数说明中定义 ◼ C++允许在函数说明时, 在括号内直接声明 形式参数的类型。 ◼ 除了标准注释分界符 (/*...*/) 外,C++还接 受以 // 开始,直到该行末尾的注释

File: hello.h */ char hello( char =) File: hello. cpp *, # include/)含函数 sprintf()的原型 # include/包含函数 strlen(的原型 # include hello. h/包含函数 hello(的原型 char hello(char name)& char value- new char 9+ strlen(name) sprintf (value, Hello, %os. " name) return value:
8 /* File: hello.h */ char *hello(char *); /* File: hello.cpp */ # include //包含函数sprintf( )的原型 # include //包含函数strlen( )的原型 # include “hello.h” //包含函数hello( )的原型 char *hello(char *name) { char *value = new char [9 + strlen(name)]; sprintf (value, "Hello, %s.", name); return value; }

/* File: main cpp */ # include∥/说明输出流对象cout # include"heoh"/包含函数 hello()的原型 main(int argc, char * argvlDi cout<< hello( world );
9 /* File: main.cpp */ # include //说明输出流对象cout # include "hello.h" //包含函数hello( )的原型 main(int argc, char *argv[ ]) { cout << hello("world"); }

C++的数据声明 C++的数据声明将数据名与数据类型联系起 来。其主要形式有: ◆常数值:如25,13.4,“ value is”,它们的 内容保持不变。 ◆变量:数据类型的实例,在程序执行时可 以改变其内容。 ◆常量:数据声明时在变量名前冠以保留字 const,如 const int maX=500,可定义 个常量。其内容在声明时给定,在声明它 的程序运行时内容再赋值无效
10 C++的数据声明 ◼ C++的数据声明将数据名与数据类型联系起 来。其主要形式有: ◆ 常数值:如25, 13.4, “value is”, 它们的 内容保持不变。 ◆ 变量:数据类型的实例, 在程序执行时可 以改变其内容。 ◆ 常量:数据声明时在变量名前冠以保留字 const,如 const int MAX = 500, 可定义 一 个常量。其内容在声明时给定,在声明它 的程序运行时内容再赋值无效
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第4章 数据链路层.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第3章 物理层.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第2章 计算机网络体系结构.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第1章 计算机网络基础.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第15章 计算机网络安全.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第14章 FTP服务器管理.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第13章 Web服务器管理.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第12章 Windows 2000网络服务.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第11章 Windows 2000 Server操作系统.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第10章 Internet.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第9章 应用层.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第8章 传输层.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第7章 网络层.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第6章 广域网.ppt
- 邢台职业技术学院:《计算机网络技术实用教程》课程教学资源(PPT课件讲稿,第3版)第5章 局域网技术.ppt
- 《计算机系统结构》课程教学资源(PPT课件讲稿)第四章 数据表示和指令系统.ppt
- 《计算机系统结构》课程教学资源(PPT课件讲稿)第六章 并行处理技术和多处理机.ppt
- 《计算机系统结构》课程教学资源(PPT课件讲稿)第五章 流水线处理技术.ppt
- 《计算机系统结构》课程教学资源(PPT课件讲稿)第二章 存储系统.ppt
- 《计算机系统结构》课程教学资源(PPT课件讲稿)第一章 概论.ppt
- 福州大学:《数据结构》课程教学资源(PPT课件讲稿)第一章 绪论.ppt
- 福州大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 线性表.ppt
- 福州大学:《数据结构》课程教学资源(PPT课件讲稿)第三章 栈和队列.ppt
- 福州大学:《数据结构》课程教学资源(PPT课件讲稿)第五章 数组.ppt
- 福州大学:《数据结构》课程教学资源(PPT课件讲稿)第六章 树与森林.ppt
- 福州大学:《数据结构》课程教学资源(PPT课件讲稿)第七章 图.ppt
- 福州大学:《数据结构》课程教学资源(PPT课件讲稿)第八章 集合与搜索.ppt
- 福州大学:《数据结构》课程教学资源(PPT课件讲稿)第九章 排序.ppt
- 福州大学:《数据结构》课程教学资源(PPT课件讲稿)第十章 索引与散列.ppt
- 福州大学:《数据结构》课程教学资源(习题解答)第1章 绪论.doc
- 福州大学:《数据结构》课程教学资源(习题解答)第2章 数组.doc
- 福州大学:《数据结构》课程教学资源(习题解答)第3章 链表.doc
- 福州大学:《数据结构》课程教学资源(习题解答)第4章 栈与队列.doc
- 福州大学:《数据结构》课程教学资源(习题解答)第5章 递归与广义表.doc
- 福州大学:《数据结构》课程教学资源(习题解答)第6章 树与森林.doc
- 福州大学:《数据结构》课程教学资源(习题解答)第7章 集合与搜索.doc
- 福州大学:《数据结构》课程教学资源(习题解答)第8章 图.doc
- 福州大学:《数据结构》课程教学资源(习题解答)第9章 排序.doc
- 福州大学:《数据结构》课程教学资源(习题解答)第10章 索引与散列.doc
- 福州大学:《数据结构》课程教学资源(PPT课件讲稿)第一章 绪论.ppt