C++课件ch4(上)

合集下载

ch4

ch4
考虑到printf和scanf函数使用频繁,系统允许在使用这两 个函数时可不加: #include < stdio.h > 或 #include ”stdio.h”
16
4.4 字符数据的输入输出
putchar 函数(字符输出函数) putchar 函数的功能是在显示器上输出单个字符。 其一般形式为:putchar(字符变量)
结果:333333.328125 单精度只有7位有效数字。
27
x,y整数部分6位
[例4.7 ] 输出双精度数时的有效位。
main() {double x, y; x=1111111111111.111111111; y=2222222222222.222222222; 整数部分13位 printf("%f" , x+y); }
第四章 顺序程Biblioteka 设计最简单的C程序设计课程目标
掌握字符数据输入输出函数用法 熟练使用printf和scanf函数 理解顺序结构程序的设计思路
2
4.1 C语句概述
一个c程序可以有若干个源程序文件组成 C程序
源程序文件1 源程序文件2 源程序文件n 一个源文件可以有若干个函数和预处理命令以及全局变量声明部分组成
函数调用语句
表达式语句 空语句 复合语句
5
1、控制语句有9种:
if( )~else~ for( )~ while( )~ do~while( ) continue break switch goto return 条件语句 循环语句 循环语句 循环语句 结束本次循环语句 终止执行switch或循环语句 多分支选择语句 转向语句 从函数返回语句
其中,()表示是条件, ~表示内嵌的语句。

《甲烷与烷烃》课件

《甲烷与烷烃》课件
《甲烷与烷烃》PPT课件
欢迎来到《甲烷与烷烃》PPT课件!本课程将带您学习甲烷和烷烃的结构、性 质、制备、应用以及相关的反应和环保技术。
甲烷的结构和性质
分子式和结构
甲烷的化学式为CH4,是最 简单的烷烃,分子结构呈四 面体。
化学性质
甲烷是一种非常稳定的烃类 物质,不易燃烧,不溶于水。
物理性质
甲烷是无色、无味的气体, 密度比空气小,在常温下不 易液化。
烷烃的环化反应
1 烷基转移反应
烷烃中的烷基可以转移给其他分子,生成新 的有机物。
2 芳香化反应
烷烃可以经过芳香化反应,形成芳香烃。
烷烃的制备技术
1
加氢制丙烷技术
利用催化剂将烯烃加氢生成丙烷。
甲烷催化制乙烯技术
2
通过甲烷的催化反应制得乙烯。
烷烃的危害与保护
危害和处理方法
烷烃是易燃易爆物质,应储存和使用时注意安全防范措施。
制备方法
烷烃可通过石油、天然气的提炼 和裂解得到。
应用领域
烷烃广泛应用于燃气、燃料、润 滑剂等领域。
应用领域
烷烃也是合成塑料的重要原料。
烷烃的反应
1 氧化反应
烷烃可以与氧气发生燃烧反应,生成二氧化碳和水。
2 加成反应
烷烃可以与其他化合物发生加成反应,生成更复杂的有机化合物。
3 聚合反应
烷烃的单体可以通过聚合反应形成高聚物。
甲烷的制备和应用
1
制备方法
甲烷可以通过天然气的提炼和催化剂的作用得到。
2
应用领域
甲烷广泛应用于燃气、发电、加热等领域,也可用作化学原料。
烷烃的分类和性质
分类方法 直链烷烃和般不易发生反应。
物理性质

《甲烷烷烃》课件

《甲烷烷烃》课件
《甲烷烷烃》ppt课件
contents
目录
• 甲烷的介绍 • 烷烃的介绍 • 甲烷和烷烃的关系 • 甲烷和烷烃的制备方法 • 甲烷和烷烃的用途
01
甲烷的介绍
甲烷的基本信息
甲烷的分子式:CH4 甲烷的相对分子质量:16.042
甲烷的结构:正四面体结构,碳原子位于中心,四个氢原子位于顶点
甲烷的物理性质
04
甲烷和烷烃的制备方法
甲烷的制备方法
实验室制备
通过加热醋酸钠和氢氧化钠的混 合物,再经冷却和液化,可以得
到甲烷。
天ห้องสมุดไป่ตู้气提取
天然气中包含甲烷,可以通过分离 和提纯的方法从天然气中提取甲烷 。
生物质发酵
生物质在无氧条件下发酵可以产生 甲烷,这种方法常用于沼气的生产 。
烷烃的制备方法
石油分馏
石油分馏可以得到多种烷烃,包 括正烷烃、异烷烃等。
工业用途
烷烃可用于制造清洗剂、溶剂 、涂料等工业产品。
THANKS
感谢观看
气味
烷烃一般无味。
溶解性
烷烃难溶于水,易溶于有机溶剂。
烷烃的化学性质
燃烧反应
烷烃在空气中燃烧生成二 氧化碳和水,同时放出大 量热能。
卤代反应
烷烃在光照条件下可与卤 素发生取代反应,生成卤 代烷。
氧化反应
烷烃可被氧化剂氧化,生 成酮、醛、羧酸等化合物 。
03
甲烷和烷烃的关系
结构上的关系
甲烷是烷烃的代表
甲烷是最简单的烷烃,其分子式为 CH4,具有一个碳原子和四个氢原子 。
烷烃的通式
烷烃的同分异构现象
随着碳原子数的增加,烷烃会出现同 分异构现象,即具有相同分子式但结 构不同的化合物。

ch4继承

ch4继承
class Father{ int a; protected: void fp(){ cout<<a; } public: void print(){ cout<<a; } }; 子类用户: class Son : public Father{ int b; public: void disp(){ fp(); // ok print(); // ok } void ed(){a++;} // error }; 外来用户: void fn(){ Son d; d.print(); // ok d.disp(); // ok d.fp(); // error Father f; f.print(); // ok f.fp(); // error }
2. 派生类B的对象b1能否访问基类 A中的成员:f1(),i1, j1?
可以访问f1(),不可访问i1和j1;
3.f3() 能否访问间接基类A中的成 员:f1(), j1和i1?
可以访问f1()和j1,不可访问i1; 4.C类的对象c1能否访问f1(),i1,j1? 可以访问f1(),不可访问i1,j1;
class Derived : private Base { int d; };
不可访问:a
私有: b c 保护: d
int c;
};
程序改错
公有:
思考:
class A { int m_Private; protected: int m_Protected; public: int m_Pulbic; };
class Derived : protected Base { int d; };
不可访问: a
私有: d 保护:b c

C语言程序ppt课件ch4 选择结构-文档资料

C语言程序ppt课件ch4 选择结构-文档资料
else printf(“不及格
\n”);
main() { int a; scanf(“%d”,&a); if (a<60)
printf(“%d\n”,a); }
共 39 页 第 17 页
例4 求a和b两数中较大的一个。
#include “stdio.h” main( ) { int a,b,max;
default : printf(“error ”);
}
若 grade= ‘A’时,输出结果为? 当 grade= ‘B’时,输出结果为?
共 39 页 第 30 页
流程图为:
grade
输出
输出
输出
“85-100” “70-84” “60-69”
输出 “<60”
输出 “error”
程序段表示的数学式1: 0 (x<0)
y= -1 (x=0) 2sinx (x>0)
数学式1程序可表示为:
讨论:给第二个if行加{ } y=-1;
后表示的数学式?
if (x!=0)
程序段表示的数学式2: -1 (x<0)
{if (x>0) y=2*sin(x); else y=0;}
y= 0 (x=0) 2sinx (x>0)
优先次序:前4种同级,高于后2种(后2种同级)
关系运算符的结合性为从左到右;
如:3>2 a<b
算术运算符 (高) 关系运算符 赋值运算符 (低)
共 39 页 第 4 页
4.1.2 关系表达式
定义:用关系运算符将两个表达式连接起来的式子。 形式:表达式1 关系运算符 表达式2
如:(a>b)>(b<c) 、‘a’<‘b’ 、x>y 、s+f>d 关系表达式的值为逻辑值“真”或“假”. 注意: C语言没有逻辑型数据,关系表达式的真、假 是以数值“1”代表“真”,以“0”代表“假”。

甲烷 ppt课件

甲烷  ppt课件

活动探究三 甲烷能与氯气反应吗?
CH4与Cl2的反应
现象: 试管内气体颜色变浅,液面上升,内
壁出现油状液滴,试管中出现少量白雾。
学一学
H
· · H C × H + Cl Cl
H
H
·Байду номын сангаас· H C Cl + H × Cl
H
H
· H C × H
H
Cl ··Cl
学一学
H
H
H C H + Cl Cl 光 H C Cl + H Cl
NaOH溶液
稀硫酸
(滴有石蕊溶液)(滴有石蕊溶液)
活动探究二 甲烷能与高锰酸钾、强酸和强碱反应吗?
通常情况下,甲烷比较稳定,不与 高锰酸钾、强酸和强碱反应。
化学性质
一、甲烷的燃烧
产生淡蓝色火焰, 并放出大量的热
点燃
CH4+2O2
CO2+2H2O
活动探究三 甲烷能与氯气反应吗?
注意:观察实验现象并记录
第三章 有机化合物
最简单的有机化合物 甲烷
观察甲烷——物理性质
自无色无味的气体沼) 密度比空气小(标况 下0.717g/L)) 极难溶于水
温故知新 甲烷的分子结构 电子式: 结构式:
甲烷的分子结构模型
球棍模型
比例模型
验证实验——CH4的稳定性
CH4
验证实验——CH4的稳定性
尾气 收集
酸性KMnO4溶液
H
H
CH4+Cl2 光 CH3Cl+HCl
一氯甲烷(难溶于水的气体)
写一写
H
H
Cl C H + Cl Cl 光 Cl C Cl + H Cl

ch4软件开发

ch4软件开发

.sslist/.ssnolist 分别允许/禁止替换符号扩展到列表,在调试
替换符号的扩展时很有用。 .page 在输出列表中产生新的一页。
.option 控制列表文件中的某些特性。(p92)
5. 引用其他文件的伪指令
.def 确认一个在当前模块中定义的且能被其他模块使用的符
号,汇编器把这个符号存入符号表中。 .ref 确认一个在当前模块中使用但在其他段中定义的符号。
源文件中包括汇编语言指令、汇编伪指令以及宏指令。
•链接器(linker) →可执行的COFF目标模块
调整对符号的引用,并解决外部引用的问题。它也可以接 收来自文档管理器中的目标文件,以及链接以前运行时所生成
的输出模块。
•调试工具 → C54x
通过软件仿真程序或硬件在线仿真器的调试,最后将程序 加载到用户的应用系统。
MVPD table, *AR1+ ;from program memory into
CALL SUM ;call SUM subroutine
end:
B
end
SUM: STM
#a, AR3
;The subroutine implement
STM
MAC
#x, AR4
;multiply- accumulate
汇编器把这个符号标注成一个未定义的外部符号,且把它装入
目标符号表中,以便链接器能还原它的定义。 .global 表明一个外部符号,使其他模块在连接时可以使用。
如果在当前段定义了该符号,那么该符号就可以被其他模块使
用,与.def功能相同;如果在当前段没有定义该符号,则使用了 其他模块定义的符号,与.ref功能相同。一个未定义的全局符号 只有当它在程序中使用的时候,链接器才对其进行处理。

ch4函数表达-C++课件

ch4函数表达-C++课件

隐式类型转换
♥ C++遇到两种不同数据类型的数值进行运 算时,会将某个数做适当的类型转换,然 后再进行转换。转换总是朝表达能力强的 方向进行,并且转换总是逐个运算符进行 的。这个转换过程,在程序运行时自动进 行,称为隐式转换。
从表达能力弱的类型到强的类型的转换 是安全的,反之,会引起精度丢失.
float f = 7.0/3; // doublefloat
如:5-3
故有些操作符既是单目操作符,又是双目操作符
三目操作符 ?:
操作符汇总 P105,表4-1
优先级:表达式中多个操作符的执行顺序 的规定性,如: a= b+6; //先+后=,优先级不同 可用()改变优先级 结合性:同级操作符的执行顺序的规定性, 如: a=b=6; // 先做b=6 *x++; // 先做x++再做*操作
cout<<a<<“ “<<b<<endl;
结果:11,10 解析:先计算 b = a; 因此,b的值 是未加1之前的a,所以为10; 然后再计算 a++,a的值为11。
♥ 试验:
int a=4,b=6,c=5;
cout<<(b>a++&&c>a);
0
int a=4,b=5;
cout<<((a++, b>a++)?1:0);
int a = 7.0/3;
// doubleint
cout.precision(9); cout << fixed << 7.0/3 <<“\n” ; cout << f <<“\n”<< a << “\n” ; 结果为:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5) 既有函数声明又有函数定义时,定义 中不允许默认参数; 6) 如果只有函数定义,默认参数才可以 出现在函数定义中。
void ShowMessage(char*Text, int Length = -1, int Color = 0);
调用ShowMessage函数时,可以指定一个、二 个或三个参数: ShowMessage("Helloo"); ShowMessage("Helloo", 5); ShowMessage("Helloo", 5, 8);
2. 形参和实参都用指针
#include<iostream.h> int a[8]={1, 3, 5, 7, 9, 11, 13}; void fun(int *pa, int n) //指针pa指向实参数组 { for(int i=0; i<n-1; i++) *(pa+7)+=*(pa+i); } void main() { int m=8; 实参 fun(a, m); cout<<a[7]<<endl; }
第四章 函数和作用域
• • • • • • • • 函数的定义和说明 函数的调用 函数的参数 内联函数 函数重载 函数的嵌套调用和递归调用 作用域 C++的系统函数
【学习目标】
◇ 掌握函数的概念、定义和调用。 ◇ 理解C++函数参数传递的方法:值传递和引用传递。 ◇ 理解内联函数的概念、作用,会定义内联函数。 ◇ 理解函数重载的概念、作用。 ◇ 理解递归的概念。 ◇ 理解全局变量、局部变量、静态变量的概念和用法。
void fun3( ) { cout<<“It is in fun3.”<<endl; }
在C++中说明函数时,可以定义缺省参数,例如: void ShowMessage(char*Text, int Length = -1, int Color = 0);
注意:如果定义某个缺省参数,必须定义所有后续参数 的缺省值。例如,下面的函数说明是错误的: void ShowMessage(char*Text, int Length = -1, int Color);
二、内联函数的定义
inline <类型><函数名>(<参数表>) <函数体>
#include<iostream.h> inline int power(int x) { return (x)*(x); } void main( ) { for(int i=1; i<=10; i++) { int p=power(i); cout<<i<<“*”<<i<<“=”<<p<<endl; } }
§4.1 函数的定义和说明
一、函数的定义
<类型> <函数名>(<参数表>)
<函数体>
函数返回值的 类型
指定函数用return返回的函数值的类型,如 果函数没有返回值,返回类型应为void
一、函数的定义
<类型> <函数名>(<参数表>)
<函数体>
函数的标识
一、函数的定义
函数名: 一个符合C++语法要求的标识符。 定义函数名与定义变量名的规则是一样的。 函数名应尽可能反映函数的功能。
实参:地址值(指针) 形参:指针
将实参的地址值赋给对应的形参指针,使 形参指针指向实参; 通过改变形参所指向的变量值来影响实参!
ቤተ መጻሕፍቲ ባይዱ
#include<iostream.h> void swap2(int *x, int *y) { int temp; temp=*x; *x=*y; *y=temp; //形参指针所指向的变量值交换 cout<<“x=”<<*x<<“y=”<<*y<<endl; x=9, y=5 } void main( ) { int a(5), b(9); swap2(&a, &b); cout<<“a=”<<a<<“b=”<<b<<endl; a=9, b=5 }
§4.4 内联函数
一、内联函数的引入
1. 引入内联函数是为了解决函数调用时的 效率问题; 2. 编译时,用内联函数的函数体替换内联 函数的调用表达式(一般函数在运行时 被调用); 3. 内联函数是以目标代码的增加为代价来 换取时间的节省。
注意
函数的引入可以减少程序的目标代码,实现程序代 码的共享。但是,函数调用也需要一些时间和空间 方面的开销 对于较长的函数这种开销可以忽略不计,但是对于一 些函数体代码很短,但又被频繁地调用的函数,就不 能忽视这种开销。引入内联函数正是为了提高程序的 运行效率。因此会增加目标程序代码量,进而增加空 间开销
return <表达式>; 或
return;
1) <表达式>的值作为函数的返回值;
2) <表达式>的类型自动转换为函数类型; 3) 程序执行的控制权转向调用函数; 注:无返回值的函数用“void”说明类型!
return语句的返回值通常是一个表达式
一个函数也可以有多个return语句,在函数的执行过程中,遇 到任一个return语句,将立即停止执行,并返回到调用函数
函数定义
cout<<"a="<<a<<","<<"b="<<b<<","<<"c="<<c<<endl;
a=1, b=3, c=5 a=7, b=3, c=5 a=7, b=9, c=5 a=7, b=9, c=11
#include <iostream.h> int m(8); int add_int(int x, int y=7, int z=m); void main( ) { int a(5), b(15), c(20); int s=add_int(a, b); cout<<s<<endl; } 函数定义 int add_int(int x, int y, int z) { return x+y+z; }
实参:常量、变量值或表达式值 形参:变量
将实参值拷贝一个副本给对应的形参; 形参值的改变不影响实参!
#include<iostream.h> void swap1(int x, int y) { int temp; temp=x; x=y; y=temp; //形参值交换 cout<<“x=”<<x<<“y=”<<y<<endl; } void main( ) { int a(5), b(9); swap1(a, b); cout<<“a=”<<a<<“b=”<<b<<endl; }
§4.2 函数的调用
函数调用通过一个表达式实现:
<函数名>(<实参表>)
void main( ) { int a=3; 实参 int b=5; int c=add(a,b); //实参与形参个数相等,类型相同 } 函数调用表达式的值是函数的返回值;
函数调用表达式的类型是函数的类型;
函数的返回值通过返回语句实现
int t=++x; int z=add(t, x+y);
二、设置函数参数的默认值
1. C++允许在函数说明或定义时为形参指定 默认值;
2. 按从右至左的顺序设置参数的默认值; 3. 函数调用,实参与形参结合时: a) 若实参数目不足,则使用形参默认值;
b) 若给定实参值,则使用给定的实参值。
4) 默认参数在函数声明中提供;
二、函数的引用调用 //C++特色
引用是变量的别名 对引用的操作就是对被引用的变量的操作
形参:引用
实参:变量名
将实参变量名赋给对应的形参引用,相当于 在被调用函数中使用了实参的别名; 通过改变引用来直接改变对应的实参值; 引用调用比传址调用更直接。
#include<iostream.h> 形参:引用 void swap3(int &x, int &y) { int temp; temp=x; x=y; y=temp; //形参引用值交换 cout<<“x=”<<x<<“y=”<<y<<endl; } void main( ) { int a(5), b(9); swap3(a, b); 实参:变量 cout<<“a=”<<a<<“b=”<<b<<endl; }
函数调用
由函数名和函数调用运算符()组成,()内有 0个或多个逗号分隔的参数(称为实参)。每一 个参数是一个表达式,且参数的个数与参数的类 型要与被调函数定义的参数(称为形参)个数和 类型匹配。
一、函数的传值调用
• • 变量的两种值:变量本身值和变量地址值; 传值调用分为:传值调用和传址调用;
1. 传值调用
函数声明
28
三、使用数组作函数参数
1. 形参和实参都用数组
#include<iostream.h> int a[8]={1, 3, 5, 7, 9, 11, 13}; 形参 void fun(int b[ ], int n) { for( int i=0; i<n-1; i++ ) b[7]+=b[i]; } void main( ) { int m=8; 实参 fun(a, m); 49 cout<<a[7]<<endl; }
相关文档
最新文档