【C++基础教程】第一课
一,C++基础
1.1.什么是C++
C++是一种面向对象的编程语言,如今被广泛应用于各种行业。
1.2.C++的语法特点
一般C++的程序长成这个样子:
#include<...> // 引用的头文件
using namespace std;//使用标准命名空间
int main(){ //这里是C++主程序开始执行的地方
... //一些操作
return 0; //程序成功退出
}
一般程序的第一行是#include开头的东西,#开头的指令叫做预处理指令。不过,我们作为初学者,暂时不用知道这么多。我们只需要知道,include是用来引用标准库的,标准库里面有很多的函数,我们需要在程序里面使用到它们。
第二行是using namespace std;表示使用标准命名空间。进行大型开发的时候,可能会有很多函数重名,例如A程序员定义了一个函数get_word(),B程序员也定义了一个函数叫做get_word(),此时要调用A程序员的函数,需要在前面加上A::,::叫做作用域限定符。调用B程序员的函数,需要写成B::get_word()。
为了方便起见,标准库的函数的命名空间叫做std,我们如果不想在每个函数前加上std::,我们可以用一个using namespace std表示以后出现的未加说明的函数都是std命名空间里的。
main函数是C++主程序执行的地方。所有的C++程序都从main开始执行。一般main函数体内的语句需要缩进,这样写起来整齐美观。
return 0表示程序执行到了最后成功退出。如果程序中间出现异常而退出,应该返回一个非0值,表示异常退出。
所有的语句后都需要加上分号表示语句结束。(除了大括号前后)
在C++中,注释符号用"//"表示,用于给代码写注解。所有的注释在执行时会被忽略。
二,C++的输出语句
2.1.hello world
学一门编程语言,首先要学的,应该就是hello world了吧。
C++的输出语句叫做cout,语法如下:
cout<<表达式1<<表达式2<<...<<表达式n;
使用这个语句,需要在最前面加上#include<iostream>语句,引用iostream标准库。
如果想输出hello,world,我们不能直接写cout<<hello,world;
必须在两边加上双引号,表示这是一个字符串。
程序实例:
#include<iostream>
using namespace std;
int main(){
cout<<"Hello, World!";
return 0;
}
2.2.换行符号的输出
如何在hello world后输出一个换行?
第一种方式,在字符串"hello,world"的最后加上一个"\n",就是“hello,world\n"的形式,\n表示换行的意思。实际上,\n是一个转义字符,我们后面再讲。
#include<iostream>
using namespace std;
int main(){
cout<<"Hello, World!\n";
return 0;
}
第二种方式,在最后加上endl,表示换行。
#include<iostream>
using namespace std;
int main(){
cout<<"Hello, World!"<<endl;
return 0;
}
cout语句可以连接多个表达式,endl是一个单独的表达式,所以在前面加上<<符号,连接hello world和换行endl。
2.3.数字的输出
直接把数字写上去即可。例如,
cout<<-1;
三,表达式的输出
【题目】输出123和456的和。
在C++中,cout中要输出的东西也可以是一个算式。所以,我们可以直接这样写:
#include<iostream>
using namespace std;
int main(){
cout<<123+456;
return 0;
}
如果需要输出成这个样子:
123+456=579
我们可以这样写:
#include<iostream>
using namespace std;
int main(){
cout<<"123+456="<<123+456;
//字符串"123+456="原样输出
return 0;
}
在C++中的算数运算符:
+ 加法
- 减法
* 乘法
/ 除法
% 取余数
注:两个整数相除返回的是整数(取整),其他情况返回均为小数。
例如,
#include<iostream>
using namespace std;
int main(){
cout<<3/2<<" "<<3.0/2.0<<endl;
return 0;
}
3/2输出1(向下取整),3.0/2.0输出1.5(小数相除返回小数)
四,课后练习
1,阅读程序写结果:
#include<iostream>
using namespace std;
int main(){
cout<<"1+2="<<1+2<<endl;
return 0;
}
2,阅读程序写结果:
#include<iostream>
using namespace std;
int main(){
cout<<9/4<<" "<<9.0/4<<" "<<9/4.0<<" "<<9.0/4.0<<endl;
return 0;
}
3,完善程序:计算(1+2+3)÷4的值,结果为小数。
#include<_____(1)_____>
using namespace std;
int ___(2)___ {
cout<<____(3)___ /4;
___(4)___ 0;
}
(需要填入的语句用____(1)____,___(2)____等标记出来)
【C++基础教程】第一课的更多相关文章
- 村田噪声抑制基础教程-第一章 需要EMI静噪滤波器的原因
1-1. 简介 EMI静噪滤波器 (EMIFIL®) 是为电子设备提供电磁噪声抑制的电子元件,配合屏蔽罩和其他保护装置一起使用.这种滤波器仅从通过连线传导的电流中提取并移除引起电磁噪声的元件.第1章说 ...
- [原创]零基础R语言教程---第一课---认识R语言
教程的录制的确是折腾了一番,一连录了二十多遍,有时候激动的说错了字,有时候不知道下一句说啥.. 不过好在第一课已经搞定了,哈哈. 虽然内容现在看起来还有点简单, 不过牛b也是一个过程嘛. 我会坚持下去 ...
- CodeIgniter框架入门教程——第一课 Hello World!
本文转载自:http://www.softeng.cn/?p=45 今天开始,我将在这里连载由我自己编写的<CodeIgniter框架入门教程>,首先,这篇教程的读着应该是有PHP基础的编 ...
- Android OpenGL教程-第一课【转】
第一课 快速的开始一个Android OpenGL项目 首先,读懂我们的教程,需要有android的初步基础,我们这里只是通过android提供的SDK,来进行OpenGL的学习,所以你必须先学习如何 ...
- C++自学教程第一课——你好世界,我是柠檬鲸。
C++系列教程现在在自己学校的一个博客平台发布,几个朋友一起搭建的 [C++基础教程系列](https://blog.ytmaxoj.org/cpp_basic_liuary-0/) 下面是原来的正文 ...
- NeHe OpenGL教程 第一课:OpenGL窗口
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Nehe OpenGL教程第一课-创建一个OpenGL窗口(Win32)
原文英文地址为:Creating an OpenGL Window (Win32),翻译的chm中文格式文档下载地址为:OpenGL教程电子书(chm格式)中文版,源代码在官网上也可以下载到,每 ...
- EbitenCookBook中文教程 第一课:安装 Ebiten
本文实时更新原址:https://ebitencookbook.vercel.app/docs/CookBook_Start/class1 第一课 安装 Ebiten 欢迎大家来到 Ebiten 中文 ...
- C语言基础课程 第一课 Linux环境配置小实战httpserver
网段我需要改成如下 10.重启网络服务 并且查看ip 11. 打开windows的浏览器数人Linux的IP地址出现REDHAT的欢迎界面 11.进入目录 12.编写一个简单的html脚本 13 ...
- [nRF51822 AK II 教程]第一课,开发环境的配置及背景介绍【转】
低功耗蓝牙4.0是全新的技术,并不向下兼容,也就是说它和蓝牙3.0.2.0什么的都不能通信的.另外,蓝牙4.0目前的规范只能做外设和主机(智能手机,电脑等)通讯,也就是说你想用一个单模的蓝牙4.0开发 ...
随机推荐
- Matlab 使用filter求解系统响应
MATLAB 提供了函数filter,可以实现差分方程的递规求解. 设差分方程的形式为\(a_0y(n) + a_1y(n-1) + \cdots + a_my(n-m)=b_0x(n)+b_1x(n ...
- Golang语言系列-10-包
包 自定义包 package _0calc import ( "fmt" ) /* [Go语言的包] 在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基 ...
- Apache/Nginx/IIS日志记录的各个字段内容与含义
一.Apache 1.1 Apache日志文件名称及路径介绍 当我们安装并启动Apache后,Apache会自动生成两个日志文件,这两个日志文件分别是访问日志access_log(在Windows上是 ...
- [数据库系列之MySQL] Mysql整体架构浅析一
一.引言 平时我们在做Java系统时,一般情况下都会连接到一个MySQL数据库上去,执行各种增删改查的语句.大部分的Java工程师对MySQL的了解和掌握程度,大致就停留在这么一个阶段:对MySQL可 ...
- 012 PCIe总线的基础知识
一.PCIe总线的基础知识 与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端.PCIe总线除了总线链路外,还具有多 ...
- SQL 练习7
查询所有同学的学生编号.学生姓名.选课总数.所有课程的总成绩(没成绩的显示为 null ) SELECT Student.SId,sname,t.选课总数,t.总成绩 from Student LEF ...
- mongodb中时间跟实际时间相差8小时----时区问题
遇到的问题 参考:mongo中时间跟实际时间相差8小时 Mongo中一个Collection有一个字段用来存放数据的插入时间,但记录的时间比实际时间晚了8小时. 查询得知存储在mongodb中的时间是 ...
- VMware + LInux + Xshell 连接环境设置
一.安装好Centos后,打开设置: 网络连接四中模式桥接模式.NAT模式.仅主机和自定义模式: 1).桥接模式:更公司的局域网连接,等于另一台连接进公司的新电脑 2).NAT模式:与虚拟机使用的计算 ...
- C# 异步锁
参考网址: https://www.cnblogs.com/Alicia-meng/p/13330640.html 使用SemaphoreSlim 实现 当多个任务或线程并行运行时,难以避免的对某些有 ...
- c#创建windows服务入门教程实例
用c#中创建一个windows服务非常简单,与windows服务相关的类都在System.ServiceProcess命名空间下. 每个服务都需要继承自ServiceBase类,并重写相应的启动.暂停 ...