一、上一讲复习习题
(每题 1 1 1 分,共 4 4 4 分)
1.下面代码的错误有哪些?
if(n%2==0){
cout<<"Is a even.";
else{
cout<<"Is a odd."
}
}
n
未定义,且没有初始值。else
语句写的位置错误,应在if
语句的后面写。- 第四行
cout<<"Is a odd."
处没有分号。 else
在C++中没有定义,压根不能用,而不是位置错。
2.这个判断闰年的核心代码,是对的还是错的?
//year表示当前年份
cin>>year;
if(n/4==0&&n%400!=0){
cout<<"Is a leap.";
}
if(n%400==0){
cout<<"Is a leap.";
}
else{
cout<<"Is not a leap.";
}
- 正确。
- 错误。有_______处错误。
3.下面是洛谷 P5716的核心代码,请说出下面代码的问题。
//year表示年份,month表示月份,isleap表示是否为闰年。
cin>>year>>month;
if(year%4==0||year%400==0){
isleap=true;
}
else{
isleap=false;
}
if(month=1||month=3||month=5||month=7||month=8||month=10||month=12){
cout<<"31"<<endl;
}
else if(month==4&&month==6&&month==9&&month==11){
cout<<"30"<<endl;
}
else if(month==2){
if(isleap){
cout<<"29"<<endl;
}
else{
cout<<"28"<<endl;
}
}
- 答:______________________________________________________________________________________________________。
4.读程序选输出。阅读程序,选择它的正确输出。(禁止运行程序)
#include<iostream>
using namespace std;
int main(){
int b=4,a=1,c=4;
int root=b*b-4*a*c;
if(root>0){
cout<<"2"<<endl;
}
else if(root==0){
cout<<1<<endl;
}
else{
cout<<0<<endl;
}
return 0;
}
"1"
- 没有输出
0
1
"2"
二、循环结构课堂讲义
引导、概念普及
概念1:程序设计结构基础三要素:顺序结构、分支结构、循环结构。
概念2:程序设计基础掌握内容:顺序结构、分支结构、循环结构、一/多维数组、字符串、函数/函数递归的理解。
一、for
循环
我们要列举大于等于数字 1 1 1 ,小于数字 6 6 6 的数字,怎么办呢?相信同学们都已经想好怎么写了,核心代码如下:
cout<<1<<endl;
cout<<2<<endl;
cout<<3<<endl;
cout<<4<<endl;
cout<<5<<endl;
如果我们要列举 99 99 99 个数, 999 999 999 个数, 9999 9999 9999 个数, 99999 99999 99999 个甚至更多的数,用这种方法岂不太低效了?
别急,我们可以用for
循环解决。列举 1 1 1 到 99 99 99 的数的核心代码如下:
for(int i=1;i<100;i=i+1){
cout<<i<<endl;
}
这里每个部分是什么呢?
for
关键字到}
结束的地方称为for
循环。它是一种循环结构。
for
后面()
内三个部分由;
分隔,分别表示:进入循环前执行的语句(循环初始化)、循环继续执行一次的条件判断(循环条件),每一次循环执行后会执行的语句(循环后执行语句)。
任务1:分别输出 1 1 1 至 100 , 1000 , 10000 , 100000 , 1000000 100,1000,10000,100000,1000000 100,1000,10000,100000,1000000 的连续数字,想想怎么做?提示:我们可以用for
循环解决问题。( 3 3 3 分)
答案:标程链接
任务2: 100 100 100 以内的正偶数。提示:每次i
不一定+1
,或用if
解决问题?( 3 3 3 分)
答案:标程链接