题目描述
省略写法
(睡一觉起来就忘了std的知识点了......别说简写,连写都没写)
因为cin cout都属于std命名空间里的对象,每次使用时都要加上std::,这较为繁琐
为了简化操作,可在代码最开头加上
using namespace std;
for循环
for语句的语法格式是:
for(初始化语句;条件判断;操作){
//代码块
}
编程中初始化值一般都是从0开始,代入本题条件,如果想让for语句执行n次,c++代码如下:
for(i=0;i<n;i++){
std::cin
}
本题用for循环的完整题解为:
#include<iostream>
using namespace std;
int main(){
int n;
while(cin >> n){
int a,b;
for(int i=0; i<n; i++){
cin >> a >> b;
cout<< a+b << endl;
}
}
}
++和--
i++后缀递增操作符:先返回变量当前值,然后加1
++i前缀递增操作符:先加1,然后返回增加后的值
i--后缀递减操作符
--i前缀递减操作符
while循环
回顾一下while基本语法:
while(条件){
}
然后按照刚才成功写出的for循环的逻辑补完while循环:
#include<iostream>
using namespace std;
int main(){
int n;
while(cin >> n){
int a,b;
while(cin >> a >> b;){
cout<< a+b << endl;
}
}
}
❌写错了,重新理一下思路
for循环的逻辑是:定义一个变量i,循环一次i+1,当i=n时退出循环
#include<iostream>
using namespace std;
int main(){
int n;
while(cin >> n){
int a,b;
int i=0;
while(i<n){
i++;
cin >> a >> b;
cout<< a+b << endl;
}
}
}
进一步的我们还可以节约一个变量i,从i和n比较变成n和0比较
#include<iostream>
using namespace std;
int main(){
int n;
while(cin >> n){
int a,b;
while(n>0){
n--;
cin >> a >> b;
cout<< a+b << endl;
}
}
}
其实也可以直接把条件写成n--,因为0可以转换为false,当值为while(0)时也就自动退出循环了
#include<iostream>
using namespace std;
int main(){
int n,a,b;
while(cin >> n){
while(n--){
cin >> a >> b;
cout<< a+b << endl;
}
}
}
do while
除了for和while循环,还有一种do while循环:
do{
//代码块
}while(条件判断)
do while循环会先执行循环体代码块,然后再检查条件判断,如果条件判断为真,则继续下一次;条件判断为假就退出循环。
无论条件的值如何,我们都至少执行一次循环。
数据类型转换
在某些情况下可能会发生数据类型的转换,比如在while(条件判断)循环中,条件判断通常是一个布尔值(T真F假),但假如我们给出的是整型值,编译器会自动转换为布尔值(非0为T,0为F)