c++语法知识整理(1)

本文详细介绍了C++编程中的基本程序运行结构,包括顺序结构、选择结构(if语句、三目运算符、switch语句)和循环结构(while、do...while、for循环以及嵌套循环)。通过实例展示了各种结构的使用方法。
摘要由CSDN通过智能技术生成

语法:C++最基本的程序运行结构

(1)顺序结构、选择结构、循环结构

顺序结构

定义:程序顺序执行

选择结构

定义:依据条件是否满足,有选择地执行相应的代码
if语句:
(1)单行格式if语句,语法:if(条件){条件满足执行语句}
下面展示一些 内联代码片

// 场景 :用户输入分数,如果大于600,视为考上一本大学,并在屏幕上输出
#include <iostream>
using namespace std;
int main ()
{
int score = 0;
//提示用户输入分数
cout << "请输入您的分数:" << endl;
cin >> score;
//提示用户输入自己的分数
cout << "您输入的分数为:" << score << endl;
if(score > 600//判断分数是否大于600
{
	cout << "恭喜您考上了一本大学" << endl;  
}
return 0;
}

(2)多行格式if语句,语法:if(条件){条件满足执行语句}else{条件不满足执行语句}

// 场景 :用户输入分数,如果大于600,视为考上一本大学,并在屏幕上输出。如果没有大于六百分则视为没有考上一本大学
#include <iostream>
using namespace std;
int main ()
{
int score = 0;
//提示用户输入分数
cout << "请输入您的分数:" << endl;
cin >> score;
//提示用户输入自己的分数
cout << "您输入的分数为:" << score << endl;
if(score > 600//判断分数是否大于600
{
	cout << "恭喜您考上了一本大学" << endl;  
}
else//不满足条件执行的语句
{
	cout << "抱歉,您没有考上一本大学" << endl;
}
return 0
}

(3)多条件if语句,语法:if(条件1){条件1满足执行的语句}else(条件2){条件2满足执行的语句}…else{都不满足执行的语句}

// 场景 :用户输入分数,如果大于600,视为考上一本大学,并在屏幕上输出,如果分数大于500分则视为考上二本,大于400分则视为考上三本,其余则视为没有考上大学
#include <iostream>
using namespace std;
int main ()
{
int score = 0;
//提示用户输入分数
cout << "请输入您的分数:" << endl;
cin >> score;
//提示用户输入自己的分数
cout << "您输入的分数为:" << score << endl;
if(score > 600//判断条件1是否满足
{
	cout << "恭喜您考上了一本大学" << endl;  
}
else if (score > 500)//判断条件2是否满足
{
	cout << "恭喜您考上了二本大学" << endl;
}
else if (score > 400)//判断条件3是否满足
{
	cout << "恭喜您考上了三本大学" << endl;
}

else//不满足条件执行的语句
{
	cout << "抱歉,您没有考上大学" << endl;
}
return 0;
}

(4)嵌套if语句 作用:在if语句中可以嵌套的if语句,达到更精确条件判断

// 场景 :用户输入分数,如果大于600,视为考上一本大学(大于700分视为考上清华大学,大于650分视为考上北大,大于60分视为考上人大),并在屏幕上输出,如果分数大于500分则视为考上二本,大于400分则视为考上三本,其余则视为没有考上大学
#include <iostream>
using namespace std;
int main ()
{
int score = 0;
//提示用户输入分数
cout << "请输入您的分数:" << endl;
cin >> score;
//提示用户输入自己的分数
cout << "您输入的分数为:" << score << endl;
if(score > 600//判断条件1是否满足
{
	cout << "恭喜您考上了一本大学" << endl; 
	if (score > 700//更精确的条件判断
	{
		cout << "恭喜您考上了清华大学" << endl;
	} 
	else if (score > 650)
	{
		cout << "恭喜您考上了北大" << endl;
	}
	else 
	{
	cout << "恭喜您考上了人大" << endl;
	}
}
else if (score > 500)//判断条件2是否满足
{
	cout << "恭喜您考上了二本大学" << endl;
}
else if (score > 400)//判断条件3是否满足
{
	cout << "恭喜您考上了三本大学" << endl;
}

else//不满足条件执行的语句
{
	cout << "抱歉,您没有考上大学" << endl;
}
return 0;
}
// 练习:三只小猪称体重,最终显示谁的体重最终
#include <iostream>
using namespace std;
int main ()
{
int a = 0;//创建三个变量
int b = 0;
int c = 0;
//1、提示用户分别输入小猪的重量
cout << "请分别输入小猪A、B、C的体重" << endl;
cin >> a;
cin >> b;
cin >> c;
cout << "小猪A的体重为:" << a << endl;
cout << "小猪B的体重为:" << b << endl;
cout << "小猪C的体重为:" << c << endl;
if (a > b )
{
	cout << "小猪A比B的体重重" << endl;
	if (a > c)
	{
	cout << "小猪A的体重最终" << endl;
	}
	else if(c > a)
	{
		cout << "小猪C的体重最终" << endl;
	}
}
else if (b > a)
{
	cout << " 小猪B的体重大于小猪A的体重" << endl;
	if (b > c)
	{
		cout << "小猪B的体重最重" << endl;
	}
	else if (c > b)
	{
		cout << "小猪C的体重最重" << endl;
	}
	return 0;
}

(5)三目运算符:作用: 用三目表达式实现简单的判断
语法:表达式1?表达式2:表达式3
解释:表达式1为真,则执行表达式2并返回表达式2的结果;表达式1为假,则执行表达式3并执行表达式3的结构

// 比较两个数的大小,哪个大输出那个数
#include <iostream>
using namespace std;
main()
{ 
int a = 34;
int b = 45;
int c = 0;//用来接受那个最大的数
c = (a > b ? a : b)
cout << "c = " << c << endl;
//在C++中,三目运算符返回的是变量,即可以继续赋值
(a > b ? a:b) = 100;
cout << "a = " << a << endl;//输出的结果为34
cout << " b = " << b << endl;//输出的结果为100
return 0;
}

(6) switch语句 作用:执行多条件分支语句
语法:switch(表达式)
{
case 结果1:执行语句;break;
case 结果2:执行语句;break;

default: 执行语句;break;

						  }

下面展示一些代码

// 给电影评分  场景描述:9、10 分表示经典,8、7 分表示非常满意,5、6分表示一般,5分以下表示不值得看
# include <iostream>
using namespace std;
main()
{
int score = 0;//构建一个变量
//提示用户打分
cout << "请您给电影打分" << endl;
cin >> score ;
//显示用户打的分数
cout << "您输入的分数为:" << score << endl;
switch(score)
{
case 10:
case 9:
cout << "您认为此部电影经典" << endl;
break;
case 8:
case 7:
cout << " 您认为此电影非常好" << endl;
break;
case 6;
case 5;
cout << " 您认为此电一般" << endl;
break;
default:
cout << "您认为此电不值得看" << endl;
break;
}
return 0;
}
// 注意:switch和if的区别:switch不能表示区间范围,只能判断整型或者字符型,如果没有break程序会一直执行下去
//switch 结构清晰、执行效率高

循环结构

(1)while循环语句 作用:满足循环条件,执行循环语句
语法:while(循环条件){循环语句}
下面展示一些 内联代码片

// 场景:在屏幕上显示0-9这十个数字
#include<iostream>
using namespace std;
main()
{
	int num = 0;
	while (num < 10)
	{
	cout << num << endl;
	num++;

	}

return 0;
}
//注意在执行循环语句的时候,必须提高循环出口(即while后面的小括号里面的条件),否则出现死循环
//循环语句练习+选择结构:练习代码:
//猜数字游戏
//1、产生真正的随机数
srand((unsigned int) time (NULL))//添加随机种子:作用是利用当前时间生成随机数 防止每次生成相同的的随机数
//下面代码每次生成的不是真正意义上的随机数,因为我每次生成相同的数
int num = rand()% 100+1//生成1~100的随机数,rand()% 100生成的是0~99的随机数
//注意上面的代码必须要用到头文件分别为#include<ctime>、#include<cstdlib>
//cout << num << endl;//显示是生成的随机数,要是显示出来就没有猜数字的乐趣了
//2、提示玩家输入数字
cout << "请您输入数字:" << endl;
int val = 0;

cout << "您输入的数字为: " << val << endl;
while (1)
{
	cin >> val;
	if (num >val)
	{
		cout << "您输入的数字过小" << endl;
	}
	else if (num <val)
	{
		cout << "您输入的数字过大" << endl;
	}
	else 
	{
		cout << "恭喜您猜测正确 游戏结束" << endl;
		break;//要结束游戏用break,要不然可以一直执行下去,因为前面的while()括号里面的数字是1,在C++里面除了0为假,其余全为真。所以要没有break会一直执行下去 
	}	
} 

(2)do…while 循环语句
作用:满足循环条件执行循环语句
语法:do{循环语句}while(循环条件 )
注意:do…while 和while的区别在于do…while先执行一次循环再判断条件
下面展示一些 ``。

// 场景描述:寻找三位数的水仙花——个三位数的三次方+十位数的三次方+百位数的三次方=这位书本身
#include<iostream>
using namespace std;
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)
	{
		cout << num  <<endl;
	}
	num++;
}
while (num <1000);
return 0;
}

(3) for 循环
作用:循环满足条件,执行循环条件
语法:for(起始表达式;条件表达式;末尾循环体){循环语句}
下面展示一些 内联代码片

// 场景:敲桌子游戏:遇到个位数为7、十位数为7、7的倍数的数字该游戏玩家敲一次桌子,其他情况喊出来数字
include <oiostream>
using namespace std;
main()
{
for (int num = 0; num <100; num++)
{
if (num%10==7 || num/10==7 || num%7==0)
{
	cout << "敲桌子" << endl
}
else
{
	cout << num << endl 
}

}
return 0;
}

(4)嵌套循环 作用:在循环体中在嵌套一层循环,解决一些实际的问题
下面展示一些 ``。

//场景:打印十行星星,每行有十个
#include <iostream>
using namespace std;
main()
{
//外循环一次内循环执行一周
for(int i = 0; i < 10; i++)//外循环
{
	for (int j = 0;j < 10; j++)//内循环
	{
		cout << "*  " ;
	}
	cout << endl;
}

//练习:9*9乘法表的打印
for (int i = 1; i<10 ; i++)
{
	for (int j = 1; j <= i; j++)
	{
	cout << i << "*" << j << i*j << "  ";
	}
	cout << endl;
}
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值