c++学习记录
一、字符串的应用
```cpp
#include <iostream>
#include <string> //标准库
using std::string; //string定义在命名空间std中
int main()
{
char s1[] = "4s5s"; //c风格定义
string s2 = s1; //c++风格定义
std::cout << s2<< std::endl;
}
二、布尔类型
#include <iostream>
int main()
{
bool flag = true;
std::cout << flag << std::endl; //1
flag = false;
std::cout << flag << std::endl; //0
std::cout << sizeof(flag) << std::endl; //占一个字节大小
}
三、三只小猪称体重
#include <iostream>
int main()
{
int a, b, c = 0;
int d = 0;
std::cout << "请输入小猪a的体重 "<< std::endl;
std::cin >> a;
std::cout << "请输入小猪b的体重 " << std::endl;
std::cin >> b;
std::cout << "请输入小猪c的体重 " << std::endl;
std::cin >> c;
if (a > b)
{
if (a > c) {
d = a;
}
else
{
d = c;
}
}
else if (b > c) {
d = b;
}
else
{
d = c;
}
std::cout << d << std::endl;
return 0;
}
四、猜数字
#include <iostream>
int main() {
int num = rand()%100+1;
//std::cout << num << std::endl;
int val = 0;
while (1) { //代表死循环
std::cin >> val;
if (val > num)
{
std::cout << "大了" << std::endl;
}
else if (val < num) {
std::cout << "小了" << std::endl;
}
else {
std::cout << "猜对了" << std::endl;
break; //用来跳出当前循环(while)
}
}
}
五、do-whiled循环
/*水仙花数是指一个3位数,他的每个位上的数字的3次幂之和等于它本身
例如:1^3+5^3+3^3=153
请利用do...while语句,求出所有3位数中的水仙花数*/
#include <iostream>
int main()
{
int num = 100;
do {
int a = 0;//个位
int b = 0;//十位
int c = 0;//百位
a = num % 10;
b = num / 10 % 10;
c = num / 100;
if (a*a*a +b * b*b + c * c*c == num)
{
std::cout<<num<<std::endl;
}
num++;
} while (num<160);
}
六、for循环
/*敲桌子
从1数到100,如果数字个位含7,或者十位含7,或者该数字是7的倍数,则打印敲桌子,其余数字直接打印*/
#include <iostream>
int main()
{
int i = 0;
for (i = 1; i <= 100; i++) {
if (i /10 == 7 || i % 10 == 7 || i % 7 == 0) {
std::cout << "敲桌子" << std::endl;
}
else {
std::cout << i << std::endl;
}
}
return 0;
}
七、for循环嵌套(待解决)
#include<iostream>
using namespace std;
int main() {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
std::cout << i<< "*" << j << "=" << i * j <<"\t"<< std::endl;
//std::cout << " " << std::endl;
}
cout <<"\n"<< endl;
}
return 0;
}
八、break
/*break的使用时机:
1、出现在switch语句中
2、出现在循环语句中
3、出现在嵌套循环语句中
1*/
#include <iostream>
int main()
{
std::cout << "请选择游戏难度" << std::endl;
std::cout << "1.普通" << std::endl;
std::cout << "2.中等" << std::endl;
std::cout << "3.困难" << std::endl;
int select = 0;
std::cin >> select;//等待用户输入
switch (select)
{
case 1:
std::cout << "您选择的是普通难度" << std::endl;
break;
case 2:
std::cout << "您选择的是中等难度" << std::endl;
break;
case 3:
std::cout << "您选择的是困难难度" << std::endl;
break;
default:
break;
}
//2.出现在循环语句中
int i = 0;
for (i = 0; i <= 10; i++)
{
if (i = 5) { //当i等于5时跳出循环
break;
std::cout << i << std::endl;
}
}
int m, n ,p= 0;
for (m = 0; m < 10; m++) {
for (n = 0; n < 10; n++) {
if (p == 5)
{
break; //退出内层循环
}
std::cout << "*" << std::endl;
}
std::cout << " " << std::endl;
}
}
九、continue
#include <iostream>
int main()
{
//continue语句
for (int i = 0; i <= 100; i++)
{
if (i % 2 == 0)
{
continue;//可以用来筛选条件,执行到此就不在向下执行,执行下一次循环
}
std::cout << i << std::endl;
}
system("pause");
}
十、goto语句
/*goto无条件跳转语句
如果标记的名称存在,执行到goto语句时,会跳转到标记的位置*/
#include <iostream>
int main() {
int flag = 1;
std::cout << "1" << std::endl;
goto flag;
std::cout << "2" << std::endl;
std::cout << "3" << std::endl;
std::cout << "4" << std::endl;
flag;
std::cout << "5" << std::endl;
}