C程序设计教程第二C概述解析PPT课件
合集下载
C语言程序设计教程(第二版)第二版ppt课件(完整版)
[案例1.2] 由main()函数和1个max()函数构成的C语 言程序。
#include “stdio.h” #include “conio.h” void main( )
{ int num1, num2; printf(“Input the first integer number: ”); scanf(“%d”, &num1); printf(“Input the second integer number: ”); scanf(“%d”, &num2); printf(“max = %d\n”, max(num1, num2)); getch(); }
2022/1/12
17
[案例1.2]中的主函数main( ),也可写成如下格式:
……
void main() { int num1, num2; printf(“Input the first integer number: ”); scanf(“%d”, &num1); printf(“Input the second integer number: ”); scanf(“%d”, &num2); printf(“max=%d\n”, max(num1, num2)); }
21世纪高职高专新概念教材
• C语言程序设计教程(第二版)
2022/1/12
1
第1章 C语言概述
教学目的: 掌握C语言的程序结构,函数结构,源程 序书写规则,以及TC++3.0的基本操作。 了解C语言的特点和语句。
2022/1/12
2
教学内容: 1.1 发展简史和特点 1.2* 程序结构与函数结构 1.3* 源程序书写规则 1.4 C语言的语句 1.5* TC++3.0基本操作
#include “stdio.h” #include “conio.h” void main( )
{ int num1, num2; printf(“Input the first integer number: ”); scanf(“%d”, &num1); printf(“Input the second integer number: ”); scanf(“%d”, &num2); printf(“max = %d\n”, max(num1, num2)); getch(); }
2022/1/12
17
[案例1.2]中的主函数main( ),也可写成如下格式:
……
void main() { int num1, num2; printf(“Input the first integer number: ”); scanf(“%d”, &num1); printf(“Input the second integer number: ”); scanf(“%d”, &num2); printf(“max=%d\n”, max(num1, num2)); }
21世纪高职高专新概念教材
• C语言程序设计教程(第二版)
2022/1/12
1
第1章 C语言概述
教学目的: 掌握C语言的程序结构,函数结构,源程 序书写规则,以及TC++3.0的基本操作。 了解C语言的特点和语句。
2022/1/12
2
教学内容: 1.1 发展简史和特点 1.2* 程序结构与函数结构 1.3* 源程序书写规则 1.4 C语言的语句 1.5* TC++3.0基本操作
计算机二级C语言PPT第2章
S1:1=>sign S2:1=>sum S3:2=>deno S4:(-1)×sign=>sign S5:sign×(1/deno)=>term S6:sum+term=>sum S7:deno+1=>deno S8:若deno≤100 返回S4;
否则算法结束。
在步骤S1中先预设sign(代表级数中各项的符 号,它的值为1或-1)。在步骤S2中使sum等于 1 ,相当于已将级数中的第一项放到了sum中。 在步骤S3中使分母的值为2。在步骤S4中使sign 的值变为-1。在步骤S5中求出级数中第2项的值 -1/2。在步骤S6中将刚才求出的第二项的值-1/2 累加到sum中。至此,sum的值是1-1/2。在步骤 S7中使分母deno的值加1(变成3)。执行S8步 骤,由于deno≤100,故返回S4步骤,sign的值 改为1,在S5中求出term的值为1/3,在S6中将 1/3累加到sum中。然后S7再使分母变为4。按此 规律反复执行S4到S8步骤,直到分母大于100为 止。一共执行了99次循环,向sum累加入了99 个分数。sum最后的值就是级数的值。
对同一个问题,可以有不同的解题方法和 步骤。方法有优劣之分。有的方法只需进行很 少的步骤,而有些方法则需要较多的步骤。一 般说,希望采用简单的和运算步骤少的方法。 因此 ,为了有效地进行解题,不仅需要保证算 法正确, 还要考虑算法的质量, 选择合适的算法
我们所关心的当然只限于计算机算法,即计算 机能执行的算法。
计算机算法可分为两大类别:数值算法和 非数值算法。数值运算的目的是求数值解 。非 数值运算包括的面十分广泛,最常见的是用于 事务管理领域。目前,计算机在非数值运算方 面的应用远远超过了在数值运算方面的应用。 由于数值运算有现成的模型,可以运用数值分 析方法,因此对数值运算的算法研究比较深入, 算法比较成熟。对各种数值运算都有比较成熟 的算法可供选用。人们常常把这些算法汇编成 册(写成程序形式),或者将这些程序存放在磁 盘或磁带上,供用户调用。
否则算法结束。
在步骤S1中先预设sign(代表级数中各项的符 号,它的值为1或-1)。在步骤S2中使sum等于 1 ,相当于已将级数中的第一项放到了sum中。 在步骤S3中使分母的值为2。在步骤S4中使sign 的值变为-1。在步骤S5中求出级数中第2项的值 -1/2。在步骤S6中将刚才求出的第二项的值-1/2 累加到sum中。至此,sum的值是1-1/2。在步骤 S7中使分母deno的值加1(变成3)。执行S8步 骤,由于deno≤100,故返回S4步骤,sign的值 改为1,在S5中求出term的值为1/3,在S6中将 1/3累加到sum中。然后S7再使分母变为4。按此 规律反复执行S4到S8步骤,直到分母大于100为 止。一共执行了99次循环,向sum累加入了99 个分数。sum最后的值就是级数的值。
对同一个问题,可以有不同的解题方法和 步骤。方法有优劣之分。有的方法只需进行很 少的步骤,而有些方法则需要较多的步骤。一 般说,希望采用简单的和运算步骤少的方法。 因此 ,为了有效地进行解题,不仅需要保证算 法正确, 还要考虑算法的质量, 选择合适的算法
我们所关心的当然只限于计算机算法,即计算 机能执行的算法。
计算机算法可分为两大类别:数值算法和 非数值算法。数值运算的目的是求数值解 。非 数值运算包括的面十分广泛,最常见的是用于 事务管理领域。目前,计算机在非数值运算方 面的应用远远超过了在数值运算方面的应用。 由于数值运算有现成的模型,可以运用数值分 析方法,因此对数值运算的算法研究比较深入, 算法比较成熟。对各种数值运算都有比较成熟 的算法可供选用。人们常常把这些算法汇编成 册(写成程序形式),或者将这些程序存放在磁 盘或磁带上,供用户调用。
C程序设计基础-PPT课件
第二章 C程序设计基础
2.1 常量和变量
注意符:号常量在其作用域内不能再赋值。
符号常量的好处:(1)含义清楚。(2)需改变时,“一改全改”。
2024/10/14
1
2.1 常量和变量
注意:
1、变量中的值:变量必须要有值才能参与运算,(如果一个变量
没有赋值,则该变量是一个随机值)变量可以在定义后与其赋值,也可以
2024/10/14
16
2.3 运算符与表达式
逻辑运算符和逻辑表达式
符号
例子 0&&0=0、0&&1=0、1&&0=0、1&&1=1
0||0=0、0||1=1、1||0=1、1||1=1 !1=0、!0=1
使用说明: ➢1、逻辑非优先级高于逻辑与和逻辑或,逻辑与和逻辑或优先级相同; ➢2、C语言规定:非0都表示“真”,只有0表示“假”; 例:6<4&&7>-3+!5
14
2.3 运算符与表达式
赋值运算符与赋值表达式
符号
功能
例子
=
将表达式右边的数据赋值给左边的变量
x=3+a
+=
将表达式右边的计算结果加上左边的变 量再赋值给左边的变量
x+=3+a等价于x=x+(3+a)
-=
将表达式右边的计算结果减去左边的变 量再赋值给左边的变量
x-=3+a等价于x=x-(3+a)
6~7
双精度(double): 8B 10-308 ~ 10308 15~16
长双精度: 16B 10-4931 ~ 104932 18~19
2.1 常量和变量
注意符:号常量在其作用域内不能再赋值。
符号常量的好处:(1)含义清楚。(2)需改变时,“一改全改”。
2024/10/14
1
2.1 常量和变量
注意:
1、变量中的值:变量必须要有值才能参与运算,(如果一个变量
没有赋值,则该变量是一个随机值)变量可以在定义后与其赋值,也可以
2024/10/14
16
2.3 运算符与表达式
逻辑运算符和逻辑表达式
符号
例子 0&&0=0、0&&1=0、1&&0=0、1&&1=1
0||0=0、0||1=1、1||0=1、1||1=1 !1=0、!0=1
使用说明: ➢1、逻辑非优先级高于逻辑与和逻辑或,逻辑与和逻辑或优先级相同; ➢2、C语言规定:非0都表示“真”,只有0表示“假”; 例:6<4&&7>-3+!5
14
2.3 运算符与表达式
赋值运算符与赋值表达式
符号
功能
例子
=
将表达式右边的数据赋值给左边的变量
x=3+a
+=
将表达式右边的计算结果加上左边的变 量再赋值给左边的变量
x+=3+a等价于x=x+(3+a)
-=
将表达式右边的计算结果减去左边的变 量再赋值给左边的变量
x-=3+a等价于x=x-(3+a)
6~7
双精度(double): 8B 10-308 ~ 10308 15~16
长双精度: 16B 10-4931 ~ 104932 18~19
最新c--程序设计第二章解析教学讲义ppt课件
C++程序设计
• 关系表达式
– 由关系运算符连接的表达式。是一种简单的逻辑表达式。值为true 或false。
例如: a+b>c+d /*等同于(a+b)>(c+d),结果为0或1*/ y=a>b /*计算a>b的值0或1赋给y,y的值为0或1*/ a>b>c /*等同于(a>b)>c,先求a>b 的值,
❖ 嵌套在if分支中: if (<表达式1>) if (<表达式2>) <语句1>; else<语句2>;
❖ 嵌套在else分支中: if (表达式1) 语句1; else if (表达式2) 语句2; else if … else 语句n;
C++程序设计
配对关系实例:2.2.2
if
语句的嵌套 • else和if的配对关系 – ”就近配对“原则,相距最近且
//语句1: if(n%3==0)
还没有配对的一对if和else首先 配对
if(n%5==0) cout<<n<<″是15的倍数″<<endl;
else cout<< n<<″是3的倍数但不是5的倍数″<<endl;
//语句2:
if(n%3==0)
{
if(n%5==0) cout<<n<<″是15的倍数″<<endl;
float a,b,c; float delta,x1,x2; cout<<"输入三个系数a(a!=0), b, c:"<<endl; cin>>a>>b>>c; cout<<"a="<<a<<'\t'<<"b="<<b<<'\t‘<<"c="<<c<<endl; delta=b*b-4*a*c;
C语言与程序设计大学教程(CPP教材第二版)二ppt
2021/8/22
25
4.1.3 封装
人们可以通过外部接口函数
Set(int,int,int)来设置和修改时钟
的时间,不必直接对H、M、S三个
整型数赋值,也不必关心
Set(int,int,int)函数怎样设置和修
改时钟的时间。这样规定是合理
的,既减少了劳动,又避免了错
误,这是面向对象程序设计的一个
家庭住址2。021/8/22
13
4.1.1 对象
张强的又一个对象如图 4.4所示,对象名是
“Qiang”。 同是张强对象,由于在 信息系统中的用途不同,从 图4.3和图4.4中可以看出, 它们的属性和操作有很大区 别。
2021/8/22
14
4.1.2 抽象
• 抽象是人类认识问题的最基本手段之一。 面向对象方法中的抽象是指对每一类对象进行概 括,抽出这类对象的公共性质并用计算机语言加以描述 的过程。 • 把具有相同属性和相同操作的一些对象抽象为一个 类,这些对象都是这个类的实例。类的实例与对象的含 义是一样的。 • 一个类实质上是定义了一种对象类型,它描述了属 于该类型的所有对象的属性和操作。 显然,类也应该 由三部分组成20:21/8类/22名、一组属性和一组操作。基本结构 15 如图4.5所示。
4.1 算法的概念 4.2 类 4.3 成员函数重载 4.4 例题分析和小结 实训4 建造集合类实训 习题4
2021/8/22
4
第四章 面向对象基本概念与类
C++是一种面向对象的程序设计语言。 类(class)是C++语言程序设计的核心。 类是用户定义的一种新的数据类型。
2021/8/22
5
4.1 面向对象程序设计的基本概 念
C程序设计教程2精品PPT课件
double result = radius * radius * 3.14 * 4 ;
cout << “The result is “<< result << “ \n “;
}
11/29/2020
11
函数(过程)说明:
函数:把相关的程序语句放在一起,完成特 定的功能,并给这些语句起一个名字。
求解中需要通过函数调用来实施求解时,便 要对函数的性质进行说明,说明其返回类型, 参数类型,参数个数。
11/29/2020
4
变量定义
定义变量的目的:
创建一个所需大小的实体空间给变量名; 说明变量的表示范围; 说明变量可以进行的运算等。
11/29/2020
5
变量定义
例:int a = 12 ;
存储单元
变量由变量名、数据类型和 内存地址
(1Byte)
……
值三部分组成,是可寻址的,
也就是说,能够通过内存地
11/29/2020
13
函数定义是在函数声明的基础上,对整个实现过
程进行详细定义.
格式:
<返回类型><函数名>(<参数表>)
{
<若干条语句> return 函数的返回值;
} 例如: double area(double ra){
double s = ra*ra*3.14;
return s ;
}
11/29/2020
11/29/2020
3
要使用名称来存放数据,必须先说明名称
说明语句分为定义语句和声明语句:
定义语句:在说明名称的同时,还给名称分 配了存储空间
C语言程序设计教程ppt课件(2024)
打印九九乘法表
使用嵌套的for循环打印九九乘法表。
23
04
数组与字符串处理
2024/1/30
24
一维数组定义和操作
2024/1/30
01
一维数组定义
类型说明符 数组名
[常量表达式];
02
一维数组初始化
在定义数组时对数 组元素赋以初值;
04
一维数组操作
包括赋值、输入输
03
出、排序、查找等
。
一维数组引用
do-while循环
与while循环类似,但至少会执行一次 循环体。
示例
int i = 0; do { printf("%d ", i); i; } while (i < 10);
语法
do { // code to be executed } while (condition);
2024/1/30
19
赋值运算符
包括赋值运算符(=)和复合赋 值运算符(+=、-=、*=、/=、 %=),用于为变量赋值或进行 运算后赋值。
12
类型转换与运算顺序
2024/1/30
类型转换
当不同类型的数据进行运算时,需要进行类型转换,包括自 动类型转换和强制类型转换。自动类型转换由编译器自动完 成,而强制类型转换需要使用类型转换运算符。
0。
free函数
用于释放已分配的内存空间 ,避免内存泄漏。
2024/1/30
36
指针在数组、字符串等数据结构中应用
指针与数组
数组名本质上是一个指向数组首元素的指针;通过指针可 以访问和修改数组元素。
指针与字符串
字符串在C语言中以字符数组的形式存储,指针可以方便 地操作字符串。
使用嵌套的for循环打印九九乘法表。
23
04
数组与字符串处理
2024/1/30
24
一维数组定义和操作
2024/1/30
01
一维数组定义
类型说明符 数组名
[常量表达式];
02
一维数组初始化
在定义数组时对数 组元素赋以初值;
04
一维数组操作
包括赋值、输入输
03
出、排序、查找等
。
一维数组引用
do-while循环
与while循环类似,但至少会执行一次 循环体。
示例
int i = 0; do { printf("%d ", i); i; } while (i < 10);
语法
do { // code to be executed } while (condition);
2024/1/30
19
赋值运算符
包括赋值运算符(=)和复合赋 值运算符(+=、-=、*=、/=、 %=),用于为变量赋值或进行 运算后赋值。
12
类型转换与运算顺序
2024/1/30
类型转换
当不同类型的数据进行运算时,需要进行类型转换,包括自 动类型转换和强制类型转换。自动类型转换由编译器自动完 成,而强制类型转换需要使用类型转换运算符。
0。
free函数
用于释放已分配的内存空间 ,避免内存泄漏。
2024/1/30
36
指针在数组、字符串等数据结构中应用
指针与数组
数组名本质上是一个指向数组首元素的指针;通过指针可 以访问和修改数组元素。
指针与字符串
字符串在C语言中以字符数组的形式存储,指针可以方便 地操作字符串。
C语言程序设计教程ppt课件完整版pptx
C语言的应用领域
计算机系统基本概念
计算机系统的组成 操作系统的基本概念 计算机中的数与编码
编程环境与工具安装配置
01
常见的C语言编程环境
02
安装与配置C语言编译器
使用集成开发环境(IDE)进行C语言编程
03
第一个C程序:Hello, World!
01
C程序的基本结 构
02
编写Hello, World!程序
应用场景
适用于需要根据特定条件提前终 止循环或跳过某些循环操作的情 况。
04 函数与模块化设计
函数定义和调用
01
函数定义
包括函数名、参数列表、返回值 类型和函数体等部分,用于描述 函数的功能和实现细节。
函数调用
02
03
函数声明
通过函数名和参数列表来调用函 数,实现相应功能并获取返回值 。
在使用函数之前,需要对函数进 行声明,以便编译器识别函数的 存在和调用方式。
THANKS FOR WATCHING
感谢您的观看
指针运算符
包括取地址运算符&和取值运算符*,分别 用于获取变量的内存地址和通过指针访问内 存中的数据。
动态内存分配函数(malloc, free)使用方法
malloc函数
用于在堆区动态分配指定大小的内存空间,并返回 分配内存的起始地址。
free函数
用于释放之前通过malloc函数分配的内存空间,防 止内存泄漏。
动态规划思想
动态规划是一种在数学、计算机科学和经济学中 使用的,通过把原问题分解为相对简单的子问题 的方式来求解复杂问题的方法。动态规划常用于 优化重叠子问题的计算。
回溯与分支限界法
回溯法是一种通过探索所有可能的候选解来找出 所有解的算法,而分支限界法是一种通过剪枝来 减少搜索空间的优化算法。回溯与分支限界法常 用于解决组合优化问题。
计算机系统基本概念
计算机系统的组成 操作系统的基本概念 计算机中的数与编码
编程环境与工具安装配置
01
常见的C语言编程环境
02
安装与配置C语言编译器
使用集成开发环境(IDE)进行C语言编程
03
第一个C程序:Hello, World!
01
C程序的基本结 构
02
编写Hello, World!程序
应用场景
适用于需要根据特定条件提前终 止循环或跳过某些循环操作的情 况。
04 函数与模块化设计
函数定义和调用
01
函数定义
包括函数名、参数列表、返回值 类型和函数体等部分,用于描述 函数的功能和实现细节。
函数调用
02
03
函数声明
通过函数名和参数列表来调用函 数,实现相应功能并获取返回值 。
在使用函数之前,需要对函数进 行声明,以便编译器识别函数的 存在和调用方式。
THANKS FOR WATCHING
感谢您的观看
指针运算符
包括取地址运算符&和取值运算符*,分别 用于获取变量的内存地址和通过指针访问内 存中的数据。
动态内存分配函数(malloc, free)使用方法
malloc函数
用于在堆区动态分配指定大小的内存空间,并返回 分配内存的起始地址。
free函数
用于释放之前通过malloc函数分配的内存空间,防 止内存泄漏。
动态规划思想
动态规划是一种在数学、计算机科学和经济学中 使用的,通过把原问题分解为相对简单的子问题 的方式来求解复杂问题的方法。动态规划常用于 优化重叠子问题的计算。
回溯与分支限界法
回溯法是一种通过探索所有可能的候选解来找出 所有解的算法,而分支限界法是一种通过剪枝来 减少搜索空间的优化算法。回溯与分支限界法常 用于解决组合优化问题。
C语言程序设计2PPT课件
\ddd 3位8进制数代表的字Fra bibliotek \xhh含义 水平制表
退格 换页 反斜线 双引号 2位16进制数代表的字符
2020/11/13
《C与C++程序设计教程》-第二章
10
[例2.4]转义字符举例。 main() {
printf("\t Hello!"); printf("\n1234567890"); printf("\bHello!"); }
area=PI*radius*radius;
printf("circumference is %f\n",circum);
printf("area is %f\n",area);
}
键盘 3
circumference is 18.849556
显示器 area is 28.274334
返回
2020/11/13
《C与C++程序设计教程》-第二章
9
2.2.4 换码序列常量(转义字符)
是特殊字符常量。以一个反斜杠”\”开头的字符序列, 只代表某个特定的ASCII码字符。用单引号括起。
常见的转义字符常量表(p27表2.2) :
转义字符
\n
\v
\r
<
\0 \‘
含义 换行 垂直制表 回车 空字符 单引号
转义字符 \t \b \f \\ \“
2.2.1 数值常量 2.2.2 字符常量和字符串 2.2.3 标识符命名的常量 2.2.4 换码序列常量
2020/11/13
《C与C++程序设计教程》-第二章
返回
C语言程序设计第二版ppt课件(完整版)
程序=算法+数据结构+程序设计方法+语言环境
C语言的数据结构是以数据类型形式出现的。C的数据类型如下:
基本类型
整型int 字符型 char 实型(浮点型)
枚举类型enum
单精度型 float 双精度型 double
数据类型
构造类型
数组类型 结构体类型struct 共用体类型 union
指针类型 *
空类型void
个部分。在函数定义之外还可以包含一个说明部分,该说明部分叫
做外部说明等。
❖
详细讲解了上机过程及编译和运行环境。其中包括从编写好一
个C程序到完成运行的基本过程。包括启动、编辑、编译、连接、
执行和运行查看结果等步骤。
❖
Turbo C是一个集编辑、编译、连接、执行和调试于一体的语
言程序开发系统,使用非常方便。
#include <stdio.h> #define PI 3.14159 main() {
int r;
/*计算圆的面积*/
float s; scanf("%d",&r); s=PI*r*r; printf("s=%f\n",s); }
/*输入圆的半径*/ /*输出圆的面积的值*/
程序运行结果:
1.3 C程序的举例
成部分。 6. 主函数main()既可以放在max()函数之前,也可以放在max()函数之后。
习惯上,将主函数main()放在最前面。 7.C语言程序中所调用的函数,既可以是由系统提供的库函数,也可以是由设
计人员自己根据需要而设计的函数。例如,在例1.2中,printf()函数是C 语言编译系统库函数中的一个函数,它的作用是在屏幕上按指定格式输出 指定的内容;max()函数是由用户自己设计的函数,它的作用是计算两个 数中的较大值。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
函数体
cout << "Hello world!" << endl ; Байду номын сангаас/ 输出
}
字符串
换行 注释
程序运行时,输出:Hello world!
10
第10页/共18页
[例]最简单的C++程序 (另一种写法,适用于OJ)
#include<iostream> using namespace std; int main( ) {
优点是代码可以重用。
8
第8页/共18页
面向对象的程序设计的要素为:
1.封装性 2.继承性 3.重载性 4.多态性
这部分内容,将在下学期讲解。
9
第9页/共18页
1.4 简单的C++程序介绍
[例]最简单的C++程序
输入输出流头文件 #include <iostream.h> 表示主函数 void main( )
cout << "Hello world! " << endl ; // 输出 return 0; }
11
第11页/共18页
[例1.1]一个简单的C++程序
#include <iostream.h>
输入输出流头文件 表示主函数
void main( void )
函数体
{
int num, square ; // 定义变量 num、square
第7页/共18页
1.3.2 面向对象的程序设计方法
(Object Oriented Programming,简称OOP)
方法是近年来十分流行的一种程序设计方法,它试图用客 观世界中描述事物的方法来描述一个程序要解决的问题。
对象是客观世界中一个实际存在的事物,比如一个具 体的人就是一个对象,将一般人的共同属性抽象出来就可 以构成“类”,如“人”类,它的静态属性有姓名、年龄、 性别、身高、体重,动态属性有思考、走路、说话、吃饭、 睡觉,将静态属性作为类的数据成员,而将动态属性作为 类的执行代码。
第 1 章 C++ 概述
1.1 计算机语言与程序 计算机语言:人与计算机交流的工具,一套语法规则,
语句(语法、语义)。 计算机程序:完成特定功能的语句序列。
程序设计:用计算机语言编制程序的过程。
1
第1页/共18页
计算机语言与程序经历了以下三个阶段的发展: (本部分自学) • 机器语言 • 汇编语言 • 高级语言
2
第2页/共18页
1.2 从 C 到C++ 1960年开始,高级程序设计语言经历了如下过程: ALGOL60→ CPL → BCPL → B → C → C++
1972~1973年 由美国 Bell 实验室 D.M.Retchie 完成,
与著名的 UNIX 操作系统相伴出现。
UNIX 操作系统:90%代码用 C 语言完成。 由 K.Thompson 和 D.M.Retchie 开发
使其能够胜任开发操作系统的工作。 (4)生成的目标代码质量高,程序运行效率高。 (5)可移植性好。
4
第4页/共18页
C语言的局限性
(1)C语言数据类型检查机制较弱,这使得程序中的 一些错误不能在编译时被发现。
(2)C语言本身几乎没有支持代码重用的语言结构, 因此一个程序员精心设计的程序,很难为其他程 序所用。
显示器
Welcome to ZSC
cout
<<
welcome to
ZSC
第14页/共18页
•
插入操作符可以把多个输出数据组合或
级联成单个的输出语句。比如下面的语句:
• cout << "Welcome to ZSC, " <<" I am a student. "
cout << "num= " ; /* 输出提示信息 */
cin >> num ;
// 输入变量 num 的值
square = num*num; //求num的平方
cout << "num的平方为:"<< square << '\n' ; // 输出
} 程序运行时,输字出符:串num=6 回车(输换入行)符
(3)当程序达到一定规模时,程序员很难控制程序的 复杂性。
5
第5页/共18页
1980年,贝尔实验室的 Bjarne Stroustrup博 士及其同事对 C 语言进行了改进和扩充,并引入了 类的概念。
1983年,由 Rick Mascitti 提议正式命名为
C++
(C Plus Plus)。因
为在C语言中,运算符“++”是对变量进行增值运
( 1983年 ANSI C ) (1987年 87 ANSI C)
American National Standard Institute
3
第3页/共18页
C语言的特点
(1)语言简洁、紧凑、使用方便、灵活。C语言只有 32个关键字,程序书写形式自由。
(2)具有丰富的运算符和数据类型。 (3)C语言可以直接访问内存地址,能进行位操作,
据插入该流中去。比如下面的两条语句
•
cout<< " welcome to ZSC ";
13
•
cout<<endl; 第13页/共18页
14
可以用下图来说明,放在引号“ ”中的字符串 welcome to ZSC 是要给显示器设备的数据,用插 入操作符将其传至显示设备上。 endl 字符串之后插 入回车,直接将字符串写到屏幕上。
算,那么C++的喻义是对C语言进行“增值”。
目前使用较广泛的版本有:
VC++ (Visual C plus Plus )
BC++ (Borland C plus Plus ) 等
6
第6页/共18页
1.3 程序设计方法
C++语言包括过程性语言部分和类部分。过程性语言部 分和C语言没有本质差别。类部分是C中没有的,它是面向 对象程序设计的主体。
1.3.1 结构化程序设计方法
结构化程序设计的主要思想是:将任务按功能分解并
逐步求精,分解成较小的、功能完整的模块,每一个模块 用一个过程或函数完成。
程序员把数据与程序分开存储,将程序看成处理数据 的一系列过程。
其主要缺点是,程序依赖于数据,当数据结构发生变
化时,必须对程序进行修改。代码不能重用。
7
12
输出: num的平方为: 36
第12页/共18页
使用cout输出数据
•
在C++ 中引入术语 stream(流),指
的是来自设备或传给设备的一个数据流。
•
cout表示输出流对象,它是输入输出流库
的一部分。与cout 相关联的设备是显示器。在程
序中有了关联字cout 就有了将数据流传到显示器
的条件,这时用插入操作符“<< ” 将其后的数