枚举法
枚举法
整数类型
实数类型
逻辑型
字符型
指针变量值(是地址值)
数据类型:
基本数据类型:整型 实型 逻辑型 字符型
构造数据类型:数组 结构 联合 枚举
*各种数据所表示的数据精度不同,因而它所占用的内存空间的大小不同
整型
1 int整型 2个字节-32768~32768
目前电脑整型4个字节。
一个字节是8位两个字节是16位,有一位是符号位,那值就是15位 0111111111111111
二进制转10进制
2.unsigned int 无符号整型
3.long int 长整型
4. .unsigned long int 无符号长整型
逻辑型占用1个字节
在C语言中,允许字符A+18 会把字符A进行转码为65然后跟18进行计算
先定义后使用
指针
变量前出现了* 说明是 指针变量
函数
1. 求绝对值
①整型
int abs(int x)
abs(-451) = 451
整型2个字节16 位 -32768~32767
长整型4个字节32位
int是2个字节还是4个字节,看我们机器的编译环境,现在编辑器int都是4个字节也是32位。
②长整型
long abs( long x)
abs(-41542) = 41542
③ 双精度
double fabs(double x)
2.正弦函数
sin(90°)=1
sin(3.1415926/2)=1
角度值和弧度值的关系
a角度=a/180×π
360=360/180×π=2π
180=180/180×π=π
90=90/180×π=1/2*π=π/2
3.反正弦函数
doubule asin(double x)
11.计算x的y次方
double pow(double x,double y)
pow(2.0,3.0)=8
match 函数库
double exp(double x); //返回指数函数e^x的值
double log(double x);//返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回x^y的值
double pow10(int p) 返回10^p的值
double sqrt(double x) 返回+√x的值
注释
// 单行
/**/ 多行
编译 ——就是把文本形式源代码翻译为机器语言形式的目标文件的过程。
链接——把目标文件、操作系统的启动代码和用到的库文件进行组织,形成最终生成可执行代码的过程
运行
2. 编译 链接 运行对应的图标以及快捷键
3.细节
# include <iostream> 让文件iostream的内容包含到新建的程序中去。这个头文件中设置了输入/输出相关环境,有这个了才可以输入cout输出,cin输入对象
#include <cmatch> 常用的数学函数包含到新建程序中去,有了它才能使用函数
using namespace std 是为避免同名冲突而引入的。 std是c++自带的一个名字空间,由她定义了c++的库标识符,比如cout等
main是主函数 main()前面是int是标准的,需要有返回值。所以在主函数结束前需增加一行代码 return 0
cout << 输出 一般是显示器
<< end I 换行
cin >> 输入 用键盘输入的一个数据,如input框这种
const :常量
berak:无条件退出该层循环,循环控制变量不再起作用
continus:并不退出该层循环,只是不再执行循环体中的其后语句,循环控制变量任然起作用。
define:宏定义
递归是分治策略的最好应用。递归思想能更自然的反应问题,使程序易于理解和易于调试,递归程序的缺点是要占用大量的时间和空间。
推荐使用与或结点图来描述递归函数,它可以使较抽象的事情形象化和形式化,有助于对问题的分析和理解
逻辑运算很重要
有条有理,有根有据,要有自己的风格和习惯,要创新。大量练习,熟能生巧。
在C++的语言环境下,让我们学会如何针对问题进行分析,构建数学模型,寻找算法并编程从面到时达实现我们的想法
递归是分治策略的最好应用。递归思想能更自然的反应问题,使程序易于理解和易于调试,递归程序的缺点是要占用大量的时间和空间。
推荐使用与或结点图来描述递归函数,它可以使较抽象的事情形象化和形式化,有助于对问题的分析和理解
老师课程设计方式非常好,先复习个PPT做预习,然后再用视频结合语音授课能够更好的吸收!
berak:无条件退出该层循环,循环控制变量不再起作用
continus:并不退出该层循环,只是不再执行循环体中的其后语句,循环控制变量任然起作用。
程序设计是练会的
1:以符号“#”开头的行,称为编译预处理。
2:“#include”称为文件预处理命令。
3:“#includev <isotream>”这条命令是让文件“iostream”的内容包含到新建的程序中去。
4:iostream是C++系统定义的一个“头文件”,在这个头文件中设置了C++的输入/输出(I/0)相关环境,定义了输入流cin和输出流cout对象。
5:“#includev <cmath>”这条命令是让系统中已经有的常用的数学函数包含到新建的程序中去。有了它才能使用正弦、余弦函数的公式。
6:using namespace称为名字空间命令,是为避免同名冲突而引入的,std是C++自带的一个名字空间,由它定义了c++等。
7:main()是每一个c++程序都必须有的,称为主函数。可以把它看成是程序的入口。
计算三角函数的程序中实际只有一行代码,开头是cout《,中间是三角函数算式,结果是《endI。按照这种模式两头不动,只改变中间部分就可以计算任何算式。
cout是系统的关键字,代表标准输出的流设备,其后的符号《表示输出操作,可将其右侧的数据送至显示器上。cout《的右侧就是三角函数算式的数值。
1.3 输出流对象cout
c++引入术语stream(流),指的是来自设备或传给设备的一个数据流。
cout表示输出对象,是输入输出流库的一部分。
1.4 输入流对象cin
cin表示输入流对象,它也是输入输出流库的一部分,与cin向关联的输入设备是键盘。用提取操作符》将数据流存储到一个事先定义好的变量中去。
for (k=2, k<4, k=k+1)
//计数型循环,变量K初始化赋值2
{ //循环体开始
thispaper='2'+k;
//被试者,依次为2,3,4,赋值给thispaper
sum=(thispaper=='2') //A教授是否说对
+(thispaper=='4') //B教授是否说对
+(thispaper!='3') //C教授是否说对
+(thispaper!='4') //D教授是否说对
} //循环体结束
// 2:1011
// 3:0001
// 4:0111
3#论文是最好的
1. 基本数据类型
整型:
int 整型 2字节 范围 -32768~32767
unsignedin 无符号整型 4字节 范围0~65535
long int 长整型 4字节 范围-2147483648~2147483637
unsigned long int无符号长整型 4字节 范围0~4294967295
实型:
float 浮点型 4字节 范围-1.7*10^38~3.4*10^38
duble双精度型 8字节 范围-1.7*10^308~1.7*10^308
long double长双精度型 16字节 范围-3.4*10^4392~1.1*10^4392
逻辑型:1字节
字符型:1字节
2. 定义指针并将其初始化为Null是一个良好的习惯,否则容易产生一些难以预料的错误发生。
int *P=NULL
例:
int a=66;
//定义整型变量0,初始66
int *p=NULL,*q=NULL;
//定义整型指针变量p,q并初始化为0
p=&a;
//将变量a地址赋给p
q=p;
//将p的值赋给q
变量是相对常量而言,允许改变的量成为变量
变量在计算机中需要占据存储空间
变量第一个字符必须是字母或者下划线
sort(z,y)将数组元索从小下标为z到下标为Y的y-z+1个元素从小到大排序
1.求绝对值
原型为int abs(int x), 自变量为整数
abs(-122)=122
原型为long labs(long x), 自变量长整数
labs(-1245678)=1245678
原型为double fabs(double x), 自变量双精度实数
fabs(-3.11111)=3.11111
2.正弦函数
原型为double sin(double x),
sin(3.1415926/2)=1
3.反正弦函数
原型为double asin(double x),
(asin(x)就是arcsin(x)
4.余弦函数
原型为double cos(double x),
cos(3.1415926535/2)=4.48966e-011
5.反余弦函数
原型为double acos(double x)
acos(0.32696)=1.23771
acos(x)就是arccos(x)
6.正切函数
原型为double tan(double x)
tan(3.1415926535/4)=1
7.反正切函数
原型为double atan(double x)
atan(-862.42)=-1.56964)
8.计算e^x函数
原型为double exp(double x)
exp(1)=2.71828
exp(2.302585093)=10
9.计算lnx函数
原型为doouble log(double x)
log(2.71828)=0.999999
10.计算log10^x函数
原型为double log10(double x)
log3(3)=1
11.计算x^y函数
原型为double pow(double x)
pow(3.0,3.0)=27
12.计算不大于自变量x的整数值函数
原型为duble floor(double x)
floor(3.1)=3
floow(-1.2)=-2
13.计算开2次根号函数
原型为double sqrt(double x)
sqrt(4)=2
// *******************************************
// * 程序名:计算水果总价及找零 *
// * 作者:屠冲 *
// * 日期:2021-3-26 *
// * 版本:初始版,尚未编译 *
// * 主要功能;依照输入的水果重量及付款 *
// * 金额告知应找零金额 *
// ******************************************
#include<iostream> //预编译
using namespace std;
int main() //主函数
{ //主函数开始
float AppleP=8.25; //对象1:苹果单价
float OrangeP=1.2; //对象2:桔子单价
float BananaP=3.5; //对象3:香蕉单价
float AppleW=0.0;
//对象4:苹果重量初始化为0
float OrangeW=0.0;
//对象5:桔子重量,初始化为0
float BananaW=0.0;
//对象6:香蕉重量,初始化为0
float Total=0.0;
//对象7: 总价,初始化为0
float PriceI=0.0;
//对象8: 总收款,初始化为0
float PriceO=0.0;
//应找零,初始化为0
cout<<"请输入苹果重量"<<endl;
//提示
cin>>AppleW;
//输入值赋值给苹果重量
cout<<"请输入桔子重量"<<endl;
//提示
cin>>OrrangeW;
//输入值赋值给桔子重量
cout<<"请输入香蕉重量"<<endl;
//提示
cin>>BananaW;
//输入值赋值给香蕉重量
Total=AppleP*AppleW+OrangeP*OrangeW+BananaP*BananaW;
//计算总价
cout<<"请输入总计收款:"<<endl;
//提示
cin>>PriceI;
//输入值赋值给总收款
PriceO=Total-PriceI;
//依照总收款与总价计算应找零并赋值
cout<<"应找零"<<PriceO<<endl;
//输出应找零金额
returen 0;
} //主函数结束
开发环境:Visual C++6.0集成开发环境
1. 建立工程(相当于一个容器,扩展名.dsp)
双击VC图标-->File/New/Projects/Win32 Console Application-->输入工程名称-->OK-->如果是需要写程序选择空的工程(An empty project)
2. 建立文件(C++源程序文件,扩展名.cpp)
File/New/Files/C++ Source File-->输入文件名称-->Add to Projects.
3.编程中使用的引号需使用半角
4.程序编译快捷:Ctrl+ F7
程序链接快捷:F7
程序执行快捷:Ctrl+F5
5. 程序内容
#include 文件预处理
#include<iostream>
iostream是头文件,只有被包含后cin,cout才可以使用
cmath也是一个头文件,数学函数头文件,只有被包含后函数才能被使用
using namespace为使用名字空间,避免同名冲突
cout<<"I am a students"<<endl
箭头指向cout表示在显示器上输出
cin>>x; 输入一个内容并赋值给X变量
// ***************************************************************
// * 程序名:计算水果总价及找零 *
// * 作者:屠冲 *
// * 日期:2021-3-26 *
// * 版本:初始版,已调试OK,可运行 *
// * 主要功能;依照输入的水果重量及付款 *
// * 金额告知应找零金额 *
// ***************************************************************
#include <iostream> //预编译
using namespace std;
int main() //主函数
{ //主函数开始
float AppleP=10; //对象1:苹果单价
float BananaP=5; //对象2:香蕉单价
float AppleW=0.0; //对象3:苹果重量初始化为0.0
float BananaW=0.0; //对象4:香蕉重量,初始化为0.0
float Total=0.0; //对象5: 总价,初始化为0.0
float PriceI=0.0; //对象6:收款金额,初始化为0.0
float PriceO=0.0; //对象7:应找零金额,初始化为0.0
cout<<"请输入苹果重量"<<endl; //提示
cin>>AppleW; //输入值赋值给苹果重量
cout<<"请输入香蕉重量"<<endl; //提示
cin>>BananaW; //输入值赋值给香蕉重量
Total=AppleP*AppleW+BananaP*BananaW; //计算总价
cout<<"合计"<<Total<<"元"<<endl; //提示总价
cout<<"请输入收款金额"<<endl; //提示
cin>>PriceI; //输入值赋值给收款金额
if(PriceI<Total) //判定收款金额是否小于总价
cout<<"付款金额不足"<<endl; //若收款金额小于总价,则提示“付款金额不足"
else //否则就执行下列显示及找零操作
{
PriceO=PriceI-Total; //计算应找零金额
cout<<"******************************"<<endl;
cout<<"尊敬的顾客您好!"<<endl; //显示欢迎语
cout<<"收您"<<PriceI<<"元"<<endl; //显示收款金额
cout<<"应收您"<<Total<<"元"<<endl; //显示应收款金额
cout<<"应找您"<<PriceO<<"元"<<endl; //提示应找零金额
cout<<"欢迎您的再次光临!"<<endl; //显示欢迎语
cout<<"*******************************"<<endl;
}
return 0;
} //主函数结束