1. 主页
  2. 文档
  3. Level1题解(1-10)
  4. 第1课 认识C++

第1课 认识C++

#include <iostream>
using namespace std;
int main(){                        // main() 是程序开始执行的地方
    cout<<"hello world!"<<endl;    // 用cout语句输出hello world!,endl表示换行
    return 0;
}

上面这段简单的代码,可以输出结果“hello world!”。

  • 第一行:C++ 语言定义了头文件,头文件包含了程序中必需的信息。上面这段程序中,包含了头文件 <iostream>
  • 第二行:using namespace std; 告诉编译器使用 std 命名空间
  • 第三行:int main() 是主函数,程序从这里开始执行,任何程序都有且只有一个主函数
  • return 0;  终止main( )函数,并返回0。
    头文件、命名空间、主函数是一个C++程序的基本组成部分。
  •  // main() 是程序开始执行的地方 是一个单行注释单行注释以 // 开头,在行末结束,注释行不会参与编译和运行
  • cout << “Hello World”<<endl; 会在屏幕上显示消息 “Hello World”,endl是清空缓冲区并换行。
  • 除了头文件,每行代码要以英文格式的 ; 结束。

最后,C++编写的代码要保存成.cpp文件,然后进行编译(编译时生成.exe文件)、运行。

当上面的代码被编译时,编译器会忽略  //后的注释部分,最后输出结果“hello world!”。

Q2.整数算术运算

#include <iostream>        //头文件使用<iostream>,因为下面要使用到cout方法
using namespace std;       //使用std命名空间,如果遗漏,会提示找不到cout方法
int main(){
    cout<<20/7<<endl;        //除法表达式20/7的结果,可以直接用cout输出
    cout<<20%7<<endl;        //%是模运算,表达式20%7的结果是20除以7的余数
}

上面两个cout语句后面都有endl,所以输出结果会有两行,分别是:

下表显示了 C++ 支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:

运算符描述实例
+把两个操作数相加A + B 将得到 30
从第一个操作数中减去第二个操作数A – B 将得到 -10
*把两个操作数相乘A * B 将得到 200
/分子除以分母B / A 将得到 2
%取模运算符,整除后的余数B % A 将得到 0
++自增运算符,整数值增加 1A++ 将使得A变成11,++A也将使得A变成11
自减运算符,整数值减少 1A– 将使得A变成9,–A也将使得A变成9

自增运算符 ++ 会把操作数加 1,自减运算符 — 会把操作数减 1。因此:

x = x+1;
 
等同于
 
x++;

同样的:

x = x-1;
 
等同于
 
x--;

无论是自增运算符还是自减运算符,都可以放在操作数的前面(前缀)或后面(后缀)。例如:

x = x+1;
 
可以写成:
 
++x; // 前缀形式

或者:

x++; // 后缀形式

前缀形式与后缀形式之间有一点不同。如果使用前缀形式,则会在表达式计算之前完成自增或自减,如果使用后缀形式,则会在表达式计算之后完成自增或自减。

请看下面的实例,理解二者之间的区别:

#include <iostream>
using namespace std;
 
main()
{
   int a = 21;
   int c ;
 
   // a 的值在赋值之前不会自增
   c = a++;   
   cout << "Line 1 - Value of a++ is :" << c << endl ;
 
   // 表达式计算之后,a 的值增加 1
   cout << "Line 2 - Value of a is :" << a << endl ;
 
   // a 的值在赋值之前自增
   c = ++a;  
   cout << "Line 3 - Value of ++a is  :" << c << endl ;
   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

Line 1 - Value of a++ is :21
Line 2 - Value of a is :22
Line 3 - Value of ++a is  :23

Q3.等腰字符三角形

#include <stdio.h>        //使用C语言的<stdio.h>,也可写成<cstdio>,scanf和printf方法要这个头文件
                           //这里没有用到命名空间std
int main(){
	char a;                     //定义一个字符变量a
	scanf("%c",&a);            //从屏幕输入字符变量a的值
	
	printf("  %c  \n",a);         //输出到屏幕,运行后看看效果
	printf(" %c%c%c \n",a,a,a);
	printf("%c%c%c%c%c\n",a,a,a,a,a);
	return 0;

}

Q4.正方形的周长和面积

#include <iostream>      //使用头文件<iostream>
using namespace std;     //使用std命名空间
int main(){ 
	int a;           //定义整型变量a
	cout <<"请输入正方形的边长: ";
	cin >> a ;             //输入变量a的值
	
	cout << "正方形的周长是:" << 4*a << endl;             //输出周长
	cout<< "正方形的面积是:" << a*a << endl;              //输出面积
	
	return 0;
}

Q5.两个整数的和差积商

参考Q2的运算表达式,完成这个任务后,可以思考一下:1/2得到的是0,那么如何得到0.5这个小数结果呢?

文章