八皇后问题
八皇后问题
1以符号#开头的行,称为编译处理行
2.#include称为文件处理命令
3.定义输入流cin输出流out
4.程序是为别人编的,让大家看懂是第一位
5程序说明4步凑
1.程序名
2.作者
3.编制时间,修改时间
4.主要功能
1至100这些自然数可以分三类:
①单位数: 仅有一个数1
②素数: 大于1且只有1和它自身这样两个正因数
③合数: 除了1和自身以外,还有其他正因数
1不是素数,除了1以外的自然数,当然只有素数与合数。筛法实际上是筛去合数,留下素数
do while 直到型循环 至少执行一次
直到表达式为假时才退出循环,所以至少执行一次。
查找 线性查找
1、了解程序编写软件Microsoft Visual C++ 6.0
2、打开编辑运行源程序
3、了解cout cin
编译 ——就是把文本形式源代码翻译为机器语言形式的目标文件的过程。
链接——把目标文件、操作系统的启动代码和用到的库文件进行组织,形成最终生成可执行代码的过程
2. 编译 链接 运行对应的图标以及快捷键
3.细节
# include <iostream> 让文件iostream的内容包含到新建的程序中去。这个头文件中设置了输入/输出相关环境,有这个了才可以输入cout输出,cin输入对象
#include <cmatch> 常用的数学函数包含到新建程序中去,有了它才能使用函数
using namespace std 是为避免同名冲突而引入的。 std是c++自带的一个名字空间,由她定义了c++的库标识符,比如cout等
main是主函数 main()前面是int是标准的,需要有返回值。所以在主函数结束前需增加一行代码 return 0
cout << 输出 一般是显示器
<< end I 换行
const 定义的是常量
break: 跳出循环体,不再执行循环体的所有语句
continue:不跳出循环体,只是不执行其后的语句,但仍旧在循环体内执行下一个数
memset:数字初始化命令
memset(sheep,0,sizeof(sheep));
sizeof: 说明的是初始化的规模
假设i是植树,且要满足4n+1
i=4n+1
i-1=4n
(i-1)/4=n
(i-1)%4==0
break 跳出循环语句 结束循环执行
1.break:跳出当前循环体,也称结束当前循环体。彻底退出循环
2.continue:跳出此次循环,继续执行下一次循环,结束本轮的执行,执行下一次。只是结束本轮,下一次还会继续执行
数组
类型说明符 数组名 [常量表达式]
在C语言中,定义数组值能是常量不允许使用变量
例如 int n
n=5
int a[n] 不合法的
因为n是变量 不是常量
宏定义 是常量
#define N 100 宏定义常量100
int a[N] 这种是可以的
数组初始化
第二种数值的定义 使用menset函数
格式
memset(数组名,初始化值,sizeof(数组明))
举例: memset(sheep,0,sizeof(sheep))
含义 是将 名为sheep的数组中的全部元素均初始化为0.更深一层是说让系统为sheep[10]所分配的内存单元从sheep[0]为标志的地址单元到该数组的全部地址单元都赋以0.调用此库函数需要加入头文件。
么有初始化 直接输入 存放的内容是不确定的。
输出的-858993460 都一样
其他不变,改变声明项为
int a[4]={3,8} 前两个分别是3和8,后面的是0
数字的数字是4个 赋值5个就会出问题
函数返回值的类型 函数名 (参数类型 形参){
说明部分
语句部分
}
例子:
int power(int p, int n)
int 是函数值的数据类型
power 函数名称
int p 和int n 是两个形参,参数也要定义类型
return 表达式 和return (表达式)区别
return (表达式) 强制类型转换, 让返回值类型与函数类型一直。
注意: 有时被调用的函数只是一些操作,而不需要返回数值,这时返回语句的格式为
return ; 或者不写
1. 形参
在未对函数进行调用时,并不对形参分配内存单元。在发生函数调用时,立刻给形参分配内存单元。调用结束后,释放掉形参所占的内存单元。
形参属于局部变量,作用域就是该函数
在定义函数的时候,必须指定形参的类型
练习:
判断是否为素数
去掉最高分和最低分,平均值
点菜系统
cout cin main()
1.需要实际操作才能上手比较快;
2.思路算法 编程构思和程序实现;
c++的环境中需要有main()和《endl结束语句
递归是分治策略的最好应用。递归思想能更自然的反应问题,使程序易于理解和易于调试,递归程序的缺点是要占用大量的时间和空间。
推荐使用与或结点图来描述递归函数,它可以使较抽象的事情形象化和形式化,有助于对问题的分析和理解
const 定义的是常量
break: 跳出循环体,不再执行循环体的所有语句
continue:不跳出循环体,只是不执行其后的语句,但仍旧在循环体内执行下一个数
memset:数字初始化命令
memset(sheep,0,sizeof(sheep));
sizeof: 说明的是初始化的规模
链表结点的插入与删除 头指针pMHend指向pNode
1以符号#开头的行,称为编译处理行
2.#include称为文件处理命令
3.定义输入流cin输出流out
4.程序是为别人编的,让大家看懂是第一位
5程序说明4步凑
1.程序名
2.作者
3.编制时间,修改时间
4.主要功能
输入流对象cout
输入流对象
开发中,注意 不是所有的都会有解,所以需要标识,对无解的进行友好提示。
上面的代码进行优化
输出的是67 代表字符C,但我们想要输出C,就需要转字符串
&& 与
|| 或
!非
逻辑运算符本节重点
count /cin
if 语句,如果是单条语句可以不带{},如果不是单条语句必须带大括号
验证
枚举 一次一次试 -----最终用循环来处理
2.2.1
1 变量先声明再使用,声明的过程就是分配空间
2 变量名的定义规则
3 变量名的易读性
2.3.2 数据类型
1 基本数据类型
2 构造数据类型
2.3,1 定义变量和赋初值
2.4.1 变量的赋值
2.5.1 指针变量
2.5.2 指针赋值
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向关联的输入设备是键盘。用提取操作符》将数据流存储到一个事先定义好的变量中去。