第1关:Hello World!
任务描述
本关任务:输出 “Hello World!” 。
相关知识
大多数编程语言的教程,都将Hello World!
程序作为第一个入门程序。我们也按照惯例,以Hello World!
程序起步。
Hello World!
程序的源码如下:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
cout<<"Hello World!"<<endl;
return 0;
}
第2关:程序中的变量
任务描述
本关任务:计算两数之和。
相关知识
程序中的变量
变量就像一个箱子,可以用来存放“东西”,这个“东西”就是数据。
在C语言中,定义一个变量需要指明变量的类型和变量名,也就是箱子存放东西的种类,和箱子的编号。比如:
int main()
{
int i; //变量名是i,类型是int。类型为int代表i只能存放整数。
}
往箱子里放东西,叫做赋值。如果是在定义变量的同时赋值,则叫做初始化。比如:
int main()
{
int i = 1; //初始化为1
int a;
a = 1; //赋值为1
}
变量的输入输出
在上一个Hello World
程序中,我们使用了cout
来输出一个字符串,对于int
等类型的数据,也可以使用cout
进行输出。比如:
#include <iostream> //引用头文件。引用了它才能使用cin,cout。
using namespace std; //引用std命名空间。否则在使用cin和cout时需要使用完整名字std::cin和std::cout
int main()
{
int a = 10;
int b = 20;
cout << a << b; //连续使用 << 可以进行连续的输出
cout << endl << a << endl << b << endl; //输出endl会进行换行
}
得到的输出是: 1020
10
20
与cout
对应的,可以使用cin
来读取输入,它使用起来与cout
也有点相似。比如:
//此处省略了引用头文件和命名空间,下同。
int main()
{
int a;
int b;
cin >> a >> b; //连续读取用户输入
cout << a << b;
}
如果输入的是20 30
,那么得到的结果是: 2030
基础四则运算
C语言中支持+ - * /
四种运算符,它们的使用方法与在数学中的表示一样,比如:
int main()
{
int a = 10;
int b = 10;
int c = a + b; //将a + b的结果赋值给c
cout << c << endl;
}
得到的结果是: 20
其他几个运算符的使用方式是一样的,不过除法/
的效果有点特别:
int main()
{
int a = 5;
int b = 2;
cout << a / b << endl;
}
得到的结果是: 2
为什么这里的结果是2
,而不是2.5
呢?因为a
和b
均为整型int
**,因此运算结果都要截取**到整数。如果想要进行小数运算,则可以使用float
类型:
int main()
{
float a = 5;
float b = 2;
cout << a / b << endl;
}
得到的结果是: 2.5
编程要求
请在右侧编辑器的指定位置,读取两个整型数据,然后将它们的和输出。
注意:输出结果后需要使用endl
换行。具体见测试说明。
测试说明
平台会对你编写的代码进行测试:
测试输入:1 1
预期输出:2
测试输入:65412 51257
预期输出:116669
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b;
c=a+b;
cout<<c<<endl;
return 0;
}
第3关:程序的基础结构
任务描述
本关任务:输出指定范围内的偶数。
相关知识
C语言程序虽然多种多样,但基本组成却是只有三种结构:顺序结构,分支结构,循环结构。
顺序结构
在利用计算机解决问题的时候,只要从上往下按顺序写出解决问题的步骤(程序语句),计算机就能按照这个顺序执行所写的代码,得到结果。比如一个交换变量的小程序:
int main()
{
int a = 10,b = 20; //利用逗号在一行内声明多个变量
cout << a << endl << b << endl;
int t = a; //引入一个临时变量,暂存a的值
a = b; //将b赋值给a
b = t; //再将临时变量t中存放的a给b
cout << a << endl << b << endl;
}
得到的结果是: 10
20
20
10
就像倒水一样,利用第三个杯子交换两个杯子中的饮料。
分支结构
分支结构提供了根据某个条件,选择性执行代码的能力,这样就给程序带来了灵活性。常用的分支语句有**if ...
语句和if ... else ...
语句**,比如:
int a = -10;
if(a < 0) //if语句
{
//条件成立时执行这里的语句
cout << "a是负数" << endl;
}
if(a < 10) //if ... else语句
{
//条件成立时执行这里的语句
cout << "a小于10" << endl;
}
else
{
//条件不成立时执行这里的语句
cout << "a大于等于10" << endl;
}
cout << "结束" << endl;
得到的结果是: a是负数
a小于10
结束
条件部分除了小于<
,还可以使用大于>
,小于等于<=
,大于等于>=
,等于==
,不等于!=
,它们使用方法与上面例子中的一样。
循环结构
如果要处理一些重复的,但是有规律可循的任务时,就可以使用循环结构了。常用的循环语句有**for
循环语句**。
循环结构有三个要素:循环变量,循环体,循环条件,for
语句也是如此。一个简单的例子如下:
for(int s = 0;s < 5;s = s + 1)
//1.循环变量是s,初始值是0。
//2.循环成立的条件是s < 5。
//3.最后的s = s + 1是在循环体结束之后执行的,用于更新循环变量
{
//这一对大括号中的是循环体。
cout << s << endl;
}
得到的结果是: 0
1
2
3
4
综合运用
在编写程序的时候,可以将这三种结构任意的组合,只要满足语法即可。下面是一个输出指定范围内奇数的例子:
int n;
cin >> n; //读取输入
for(int s = 0;s <= n;s=s+1) //注意条件是<=
{
if(s % 2 == 1) //%符号是取余运算符
{
cout << s << endl;
}
}
如果输入5
,得到的结果是: 1
3
5
编程要求
请你对上述求奇数的例子稍作修改,让它能求指定范围内的偶数。
请在右侧编辑器的指定位置完成代码。
测试说明
平台会对你编写的代码进行测试:
测试输入: 5
预期输出: 0
2
4
测试输入: 0
预期输出: 0
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=0;i<=n;i++)
{
if(i%2==0)
{
cout<<i<<endl;
}
}
return 0;
}