南开大学C++课件 第3章 基本数据类型与基本运算
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
程序执行后的输出结果为: 程序执行后的输出结果为: radius:2.5 Enter radius:2.5 The area of circle is 19.625 The circum of circle is 15.7
5
简单实例程序中的语法点
1. main函数是所有C++程序所必须的。最简单的 main函数是所有C++程序所必须的。 函数是所有C++程序所必须的 合法C++程序是: C++程序是 合法C++程序是: main(){} 它没有错误,但什么事都不做。 它没有错误,但什么事都不做。 以双斜杠('//')开头直到行末的全体(符号) ('//')开头直到行末的全体 2. 以双斜杠('//')开头直到行末的全体(符号)称 注解。注解将被当作空格处理。C++还允许使用第二 为注解。注解将被当作空格处理。C++还允许使用第二 种注解方式: 开始(往后), 种注解方式:以有序双符号 '/*' 开始(往后), 直到 为止的全体(符号) 第一次遇见有序双符号 '*/' 为止的全体(符号)也称 为注解。第二种注解方式可以占一行至任意多行。 为注解。第二种注解方式可以占一行至任意多行。
16
类型概念的几个要点是: 类型概念的几个要点是:
每一项数据应唯一地属于某种类型 数据应唯一地属于某种类型; (1)每一项数据应唯一地属于某种类型; ( 2 ) 每一数据类型意味着一个有明确定义 值的集合; 的值的集合; 同一类型的数据占有相同大小的存储 ( 3 ) 同一类型的数据占有相同大小的 存储 空间; 空间; 同一类型的数据具有相同的( ( 4 ) 同一类型的数据具有相同的 ( 允许对 其施加的)运算操作集 其施加的)运算操作集。
2
程序执行后的输出结果为: 程序执行后的输出结果为: The sum is 18 The prod is 45
3
3.1.2 计算圆面积与周长
#include <iostream.h> void main(){ const float pai=3.14; float radius; cout<<"Enter radius:"; cin>>radius; float area=pai*radius*radius; cout<<"\ cout<<"\nThe area of circle is "; cout<<area<<endl; float circum=2*pai*radius; cout<<"The circum of circle is "<<circum<<endl; }
6
程序中涉及的数据, 常量和变量的 3. 程序中涉及的数据,以常量和变量的 形式出现,变量的值在程序执行中可以被改变。 形式出现,变量的值在程序执行中可以被改变。 常量又分为字面常量和有名常量, 15等 常量又分为字面常量和有名常量,如3与15等 都为字面常量,而通过“ 都为字面常量,而通过“const float pai=3.14;”说明的pai则被称为有名常量 说明的pai则被称为有名常量, pai=3.14; 说明的pai则被称为有名常量, 它 们的值在程序中均不可改变。 们的值在程序中均不可改变。 常量和变量都具有各自的数据类型。 常量和变量都具有各自的数据类型。C++ 的四种基本数据类型为:int、float、char、 的四种基本数据类型为:int、float、char、 void,它们分别代表整型(int), void,它们分别代表整型(int),浮点型 float),字符型(char),以及无值型(void)。 (float),字符型(char),以及无值型(void)。
12
cout(即屏幕 上输出信息时,通过“ 即屏幕) 往cout(即屏幕)上输出信息时,通过“插 运算符“<<” 也称输出运算符) 来实现, 入”运算符“<<” (也称输出运算符) 来实现, 语句“ "<<sum;” 如,语句“cout<<"The sum is "<<sum; 的 执行将首先在屏幕上显示出字符串常量: 执行将首先在屏幕上显示出字符串常量:“The sum变量的当前值 sum is ”,而后显示sum变量的当前值。 ,而后显示sum变量的当前值。 cin(即键盘 上输入信息时,通过“ 即键盘) 从cin(即键盘)上输入信息时,通过“提 运算符“>>” 也称抽取或输入运算符) 取”运算符“>>”(也称抽取或输入运算符)来 实现, 语句“cin>>radius;”的执行将等 实现,如,语句“cin>>radius; 的执行将等 待用户从键盘输入一个浮点数, 待用户从键盘输入一个浮点数,而后系统将该 数赋值给变量radius radius。 数赋值给变量radius。
9
C++语言的单词主要分为以下五种 语言的单词主要分为以下五种: 5. C++语言的单词主要分为以下五种:关键字 也称保留字, int、float、const等 (也称保留字,如,int、float、const等),标识符 变量名及有名常量名等各种名字) 字面常量( (如,变量名及有名常量名等各种名字),字面常量(如, 43、3.14等 运算符( 分割符( 43、3.14等),运算符(如,+、=、* 等),分割符(如, 、;等 {、 }、;等)。 每一个C++关键字(保留字) C++关键字 每一个C++关键字(保留字)都具有自己特定的使 用含义,用户程序中不可再将它们用作自定义标识符。 用含义,用户程序中不可再将它们用作自定义标识符。 C++预定义的关键字均由小写字母构成 预定义的关键字均由小写字母构成, C++预定义的关键字均由小写字母构成,今后将在不同 章节陆续用到那些关键字(注意, 章节陆续用到那些关键字(注意,对于某一个具体的编 译实现来说,可能还会再扩充一些不同的关键字,使 译实现来说,可能还会再扩充一些不同的关键字, 用时请留意) 请参看书p33的表2.2 其中列出了C++ p33的表2.2( 用时请留意)。请参看书p33的表2.2(其中列出了C++ 基本关键字)。 基本关键字)。
10
6. C++语言的基本语句主要分为以下几种: C++语言的基本语句主要分为以下几种: 语言的基本语句主要分为以下几种 数据说明(定义)语句、赋值语句、表达式语句、 数据说明(定义)语句、赋值语句、表达式语句、 流程控制语句、复合语句等。 流程控制语句、复合语句等。 语句“ a,b,sum,prod;”为 如,语句“int a,b,sum,prod; 为数据说 sum及prod为 定义)语句,它说明a 明(定义)语句,它说明a、b、sum及prod为4个 int型(整型)变量,程序中可将它们当作4个整 int型 整型)变量,程序中可将它们当作4 型数据来使用。而语句“sum=a+b;”则为 则为赋值 型数据来使用。而语句“sum=a+b; 则为赋值 a+b之值并把结果值赋给变量 语句,负责算出a+b 语句,负责算出a+b之值并把结果值赋给变量 sum。 sum。
11
数据的输入输出 输入输出是每个实用程序必不 7. 数据的输入输出是每个实用程序必不 可少的组成部分。 输入” 可少的组成部分。“输入”向程序提供要加工 的初始数据, 输出” 的初始数据,而“输出”则将运算结果显示 或保存)到某个指定文件中。 (或保存)到某个指定文件中。 C++含有两个特殊文件, C++含有两个特殊文件,一个为标准流对 含有两个特殊文件 cin,它代表键盘, C++的标准输入设备 的标准输入设备; 象cin,它代表键盘,是C++的标准输入设备; 而另一个为标准流对象cout 它代表屏幕, cout, 而另一个为标准流对象cout,它代表屏幕,是 C++的标准输出设备 的标准输出设备。 C++的标准输出设备。
13
字符串常量(简称为字符串) 8. 字符串常量(简称为字符串)是由双引号括起来 的字符序列。双引号为定界符, 的字符序列。双引号为定界符, 不属于字符串常量的 一部分。虽然字符串中的每个字符在内存中只占1 一部分。虽然字符串中的每个字符在内存中只占1个字 节,但整个字符串所占内存的字节数却为字符串的长 度加一。 度加一。是因为系统自动在每个字符串常量的末字符 后加上了一个“空字符” 作为结束标志) 后加上了一个“空字符”(作为结束标志)。系统使用 转义字符‘ 来表示“空字符” 注意,字符‘ 转义字符‘\0’来表示“空字符”。注意,字符‘A’ 在内存占1个字节,而字符串“ 则占 个字节。 则占2 在内存占1个字节,而字符串“A”则占2个字节。 往cout(即屏幕)上输出字符串常量可以对用户起 cout(即屏幕) 即屏幕 到提示作用。 到提示作用。对字符串的处理通常与字符数组和指针 有关。 有关。
8
4. 每个C++程序都是一个符号的序列。 每个C++程序都是一个符号的序列。 C++程序都是一个符号的序列 C++语言的基本符号由数字(0--9)、 语言的基本符号由数字(0--9) C++语言的基本符号由数字(0--9)、大小写英 文字母( --Z --z) z)、 文字母(A--Z,ቤተ መጻሕፍቲ ባይዱ--z)、以及包括空格在内的特 殊符号组成。 符号构成单词, 构成单词 殊符号组成。 由符号构成单词,由单词构成 语句,由语句构成程序 相当于文章) 程序( 语句,由语句构成程序(相当于文章)。 特殊符号可充当运算符( 特殊符号可充当运算符(如:+ - * / 分割符( > < = ! 等)、分割符(如:, ; : { } 另外,下划线、空格、 等)。另外,下划线、空格、句点等也属于特 殊符号。 殊符号。
7
程序中用到的所有变量以及有名常量都必须在使 程序中用到的所有变量以及有名常量都必须在使 用前先说明其数据类型。 用前先说明其数据类型。通过如下格式的语句来说明 一批( 变量的数据类型: 一批(如n个)变量的数据类型: <数据类型名> <变量名1>, ... , <变量名n>; 数据类型名> <变量名1>, <变量名n>; 变量名 变量名 变量名由用户任起,但要求满足以下C++ C++标识符的 变量名由用户任起,但要求满足以下C++标识符的 语法:标识符是由字母或下划线开头的后跟 是由字母或下划线开头的后跟0 语法:标识符是由字母或下划线开头的后跟0到任意多 个字母、数字或下划线所组成的符号串。除变量名外, 个字母、数字或下划线所组成的符号串。除变量名外, 程序员为有名常量、用户自定义类型、函数及其参数、 程序员为有名常量、用户自定义类型、函数及其参数、 类、对象等各种成分所起的名字也都必须是一个标识 符。
第 3章
基本数据类型与基本运算
3.1 3.2 3.3 3.4
简单C++程序 简单C++程序 C++ 基本类型及其派生类型 说明语句 基本运算符
1
3.1.1 求两个数的和与积
#include <iostream.h> void main(){ int a,b,sum,prod; a=3; b=15; sum=a+b; prod=a*b; cout<<"The sum is "<<sum<<endl; cout<<"The prod is "<<prod<<endl; }
17
类型的分类(课本p53表3.1) 类型的分类(课本p53表3.1) p53 1.基本类型 2.用户定义类型 3.导出类型
18
3.2.2 基本数据类型 --
C++预定义了五种最基本的数据类型:整型、 C++预定义了五种最基本的数据类型:整型、浮 预定义了五种最基本的数据类型 点型(也称实型)、字符型、Bool型 无值型。 点型(也称实型)、字符型、Bool型、无值型。整型 )、字符型 数据说明符为int;浮点型又分为单精度浮点型float 数据说明符为int;浮点型又分为单精度浮点型float int 及双精度浮点型double;字符型用char;bool型bool , 及双精度浮点型double;字符型用char;bool型 double char 而无值型使用void。 而无值型使用void。 void
14
3.2
基本数据类型及其派生类型 --
3.2.1 数据类型的概念 3.2.2 基本类型
3.2.3 基本类型的派生类型 3.2.4 enum类型 enum类型 3.2.5 定点类型和浮点类型
15
3.2.1 数据类型概念
任何一个程序都可以分为三个部分: 任何一个程序都可以分为三个部分: 数据的输入,数据的加工, 数据的输入,数据的加工,数据的输 出,所以数据是程序运行的对象和结 是程序设计的第一要素。 果,是程序设计的第一要素。
程序执行后的输出结果为: 程序执行后的输出结果为: radius:2.5 Enter radius:2.5 The area of circle is 19.625 The circum of circle is 15.7
5
简单实例程序中的语法点
1. main函数是所有C++程序所必须的。最简单的 main函数是所有C++程序所必须的。 函数是所有C++程序所必须的 合法C++程序是: C++程序是 合法C++程序是: main(){} 它没有错误,但什么事都不做。 它没有错误,但什么事都不做。 以双斜杠('//')开头直到行末的全体(符号) ('//')开头直到行末的全体 2. 以双斜杠('//')开头直到行末的全体(符号)称 注解。注解将被当作空格处理。C++还允许使用第二 为注解。注解将被当作空格处理。C++还允许使用第二 种注解方式: 开始(往后), 种注解方式:以有序双符号 '/*' 开始(往后), 直到 为止的全体(符号) 第一次遇见有序双符号 '*/' 为止的全体(符号)也称 为注解。第二种注解方式可以占一行至任意多行。 为注解。第二种注解方式可以占一行至任意多行。
16
类型概念的几个要点是: 类型概念的几个要点是:
每一项数据应唯一地属于某种类型 数据应唯一地属于某种类型; (1)每一项数据应唯一地属于某种类型; ( 2 ) 每一数据类型意味着一个有明确定义 值的集合; 的值的集合; 同一类型的数据占有相同大小的存储 ( 3 ) 同一类型的数据占有相同大小的 存储 空间; 空间; 同一类型的数据具有相同的( ( 4 ) 同一类型的数据具有相同的 ( 允许对 其施加的)运算操作集 其施加的)运算操作集。
2
程序执行后的输出结果为: 程序执行后的输出结果为: The sum is 18 The prod is 45
3
3.1.2 计算圆面积与周长
#include <iostream.h> void main(){ const float pai=3.14; float radius; cout<<"Enter radius:"; cin>>radius; float area=pai*radius*radius; cout<<"\ cout<<"\nThe area of circle is "; cout<<area<<endl; float circum=2*pai*radius; cout<<"The circum of circle is "<<circum<<endl; }
6
程序中涉及的数据, 常量和变量的 3. 程序中涉及的数据,以常量和变量的 形式出现,变量的值在程序执行中可以被改变。 形式出现,变量的值在程序执行中可以被改变。 常量又分为字面常量和有名常量, 15等 常量又分为字面常量和有名常量,如3与15等 都为字面常量,而通过“ 都为字面常量,而通过“const float pai=3.14;”说明的pai则被称为有名常量 说明的pai则被称为有名常量, pai=3.14; 说明的pai则被称为有名常量, 它 们的值在程序中均不可改变。 们的值在程序中均不可改变。 常量和变量都具有各自的数据类型。 常量和变量都具有各自的数据类型。C++ 的四种基本数据类型为:int、float、char、 的四种基本数据类型为:int、float、char、 void,它们分别代表整型(int), void,它们分别代表整型(int),浮点型 float),字符型(char),以及无值型(void)。 (float),字符型(char),以及无值型(void)。
12
cout(即屏幕 上输出信息时,通过“ 即屏幕) 往cout(即屏幕)上输出信息时,通过“插 运算符“<<” 也称输出运算符) 来实现, 入”运算符“<<” (也称输出运算符) 来实现, 语句“ "<<sum;” 如,语句“cout<<"The sum is "<<sum; 的 执行将首先在屏幕上显示出字符串常量: 执行将首先在屏幕上显示出字符串常量:“The sum变量的当前值 sum is ”,而后显示sum变量的当前值。 ,而后显示sum变量的当前值。 cin(即键盘 上输入信息时,通过“ 即键盘) 从cin(即键盘)上输入信息时,通过“提 运算符“>>” 也称抽取或输入运算符) 取”运算符“>>”(也称抽取或输入运算符)来 实现, 语句“cin>>radius;”的执行将等 实现,如,语句“cin>>radius; 的执行将等 待用户从键盘输入一个浮点数, 待用户从键盘输入一个浮点数,而后系统将该 数赋值给变量radius radius。 数赋值给变量radius。
9
C++语言的单词主要分为以下五种 语言的单词主要分为以下五种: 5. C++语言的单词主要分为以下五种:关键字 也称保留字, int、float、const等 (也称保留字,如,int、float、const等),标识符 变量名及有名常量名等各种名字) 字面常量( (如,变量名及有名常量名等各种名字),字面常量(如, 43、3.14等 运算符( 分割符( 43、3.14等),运算符(如,+、=、* 等),分割符(如, 、;等 {、 }、;等)。 每一个C++关键字(保留字) C++关键字 每一个C++关键字(保留字)都具有自己特定的使 用含义,用户程序中不可再将它们用作自定义标识符。 用含义,用户程序中不可再将它们用作自定义标识符。 C++预定义的关键字均由小写字母构成 预定义的关键字均由小写字母构成, C++预定义的关键字均由小写字母构成,今后将在不同 章节陆续用到那些关键字(注意, 章节陆续用到那些关键字(注意,对于某一个具体的编 译实现来说,可能还会再扩充一些不同的关键字,使 译实现来说,可能还会再扩充一些不同的关键字, 用时请留意) 请参看书p33的表2.2 其中列出了C++ p33的表2.2( 用时请留意)。请参看书p33的表2.2(其中列出了C++ 基本关键字)。 基本关键字)。
10
6. C++语言的基本语句主要分为以下几种: C++语言的基本语句主要分为以下几种: 语言的基本语句主要分为以下几种 数据说明(定义)语句、赋值语句、表达式语句、 数据说明(定义)语句、赋值语句、表达式语句、 流程控制语句、复合语句等。 流程控制语句、复合语句等。 语句“ a,b,sum,prod;”为 如,语句“int a,b,sum,prod; 为数据说 sum及prod为 定义)语句,它说明a 明(定义)语句,它说明a、b、sum及prod为4个 int型(整型)变量,程序中可将它们当作4个整 int型 整型)变量,程序中可将它们当作4 型数据来使用。而语句“sum=a+b;”则为 则为赋值 型数据来使用。而语句“sum=a+b; 则为赋值 a+b之值并把结果值赋给变量 语句,负责算出a+b 语句,负责算出a+b之值并把结果值赋给变量 sum。 sum。
11
数据的输入输出 输入输出是每个实用程序必不 7. 数据的输入输出是每个实用程序必不 可少的组成部分。 输入” 可少的组成部分。“输入”向程序提供要加工 的初始数据, 输出” 的初始数据,而“输出”则将运算结果显示 或保存)到某个指定文件中。 (或保存)到某个指定文件中。 C++含有两个特殊文件, C++含有两个特殊文件,一个为标准流对 含有两个特殊文件 cin,它代表键盘, C++的标准输入设备 的标准输入设备; 象cin,它代表键盘,是C++的标准输入设备; 而另一个为标准流对象cout 它代表屏幕, cout, 而另一个为标准流对象cout,它代表屏幕,是 C++的标准输出设备 的标准输出设备。 C++的标准输出设备。
13
字符串常量(简称为字符串) 8. 字符串常量(简称为字符串)是由双引号括起来 的字符序列。双引号为定界符, 的字符序列。双引号为定界符, 不属于字符串常量的 一部分。虽然字符串中的每个字符在内存中只占1 一部分。虽然字符串中的每个字符在内存中只占1个字 节,但整个字符串所占内存的字节数却为字符串的长 度加一。 度加一。是因为系统自动在每个字符串常量的末字符 后加上了一个“空字符” 作为结束标志) 后加上了一个“空字符”(作为结束标志)。系统使用 转义字符‘ 来表示“空字符” 注意,字符‘ 转义字符‘\0’来表示“空字符”。注意,字符‘A’ 在内存占1个字节,而字符串“ 则占 个字节。 则占2 在内存占1个字节,而字符串“A”则占2个字节。 往cout(即屏幕)上输出字符串常量可以对用户起 cout(即屏幕) 即屏幕 到提示作用。 到提示作用。对字符串的处理通常与字符数组和指针 有关。 有关。
8
4. 每个C++程序都是一个符号的序列。 每个C++程序都是一个符号的序列。 C++程序都是一个符号的序列 C++语言的基本符号由数字(0--9)、 语言的基本符号由数字(0--9) C++语言的基本符号由数字(0--9)、大小写英 文字母( --Z --z) z)、 文字母(A--Z,ቤተ መጻሕፍቲ ባይዱ--z)、以及包括空格在内的特 殊符号组成。 符号构成单词, 构成单词 殊符号组成。 由符号构成单词,由单词构成 语句,由语句构成程序 相当于文章) 程序( 语句,由语句构成程序(相当于文章)。 特殊符号可充当运算符( 特殊符号可充当运算符(如:+ - * / 分割符( > < = ! 等)、分割符(如:, ; : { } 另外,下划线、空格、 等)。另外,下划线、空格、句点等也属于特 殊符号。 殊符号。
7
程序中用到的所有变量以及有名常量都必须在使 程序中用到的所有变量以及有名常量都必须在使 用前先说明其数据类型。 用前先说明其数据类型。通过如下格式的语句来说明 一批( 变量的数据类型: 一批(如n个)变量的数据类型: <数据类型名> <变量名1>, ... , <变量名n>; 数据类型名> <变量名1>, <变量名n>; 变量名 变量名 变量名由用户任起,但要求满足以下C++ C++标识符的 变量名由用户任起,但要求满足以下C++标识符的 语法:标识符是由字母或下划线开头的后跟 是由字母或下划线开头的后跟0 语法:标识符是由字母或下划线开头的后跟0到任意多 个字母、数字或下划线所组成的符号串。除变量名外, 个字母、数字或下划线所组成的符号串。除变量名外, 程序员为有名常量、用户自定义类型、函数及其参数、 程序员为有名常量、用户自定义类型、函数及其参数、 类、对象等各种成分所起的名字也都必须是一个标识 符。
第 3章
基本数据类型与基本运算
3.1 3.2 3.3 3.4
简单C++程序 简单C++程序 C++ 基本类型及其派生类型 说明语句 基本运算符
1
3.1.1 求两个数的和与积
#include <iostream.h> void main(){ int a,b,sum,prod; a=3; b=15; sum=a+b; prod=a*b; cout<<"The sum is "<<sum<<endl; cout<<"The prod is "<<prod<<endl; }
17
类型的分类(课本p53表3.1) 类型的分类(课本p53表3.1) p53 1.基本类型 2.用户定义类型 3.导出类型
18
3.2.2 基本数据类型 --
C++预定义了五种最基本的数据类型:整型、 C++预定义了五种最基本的数据类型:整型、浮 预定义了五种最基本的数据类型 点型(也称实型)、字符型、Bool型 无值型。 点型(也称实型)、字符型、Bool型、无值型。整型 )、字符型 数据说明符为int;浮点型又分为单精度浮点型float 数据说明符为int;浮点型又分为单精度浮点型float int 及双精度浮点型double;字符型用char;bool型bool , 及双精度浮点型double;字符型用char;bool型 double char 而无值型使用void。 而无值型使用void。 void
14
3.2
基本数据类型及其派生类型 --
3.2.1 数据类型的概念 3.2.2 基本类型
3.2.3 基本类型的派生类型 3.2.4 enum类型 enum类型 3.2.5 定点类型和浮点类型
15
3.2.1 数据类型概念
任何一个程序都可以分为三个部分: 任何一个程序都可以分为三个部分: 数据的输入,数据的加工, 数据的输入,数据的加工,数据的输 出,所以数据是程序运行的对象和结 是程序设计的第一要素。 果,是程序设计的第一要素。