【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 中绘制带箭头的坐标系
如何在 Matlab 中绘制带箭头的坐标系 如何在 Matlab 中绘制带箭头的坐标系 实现原理 演示效果 完整代码 实现原理 使用 matlab 的绘制函数时,默认设置为一个方框形的坐标系, 图1 ...
- git命令行or图形化界面?看这篇操作就够了
我们在自己的私人分支开发好各自的模块后,就要合并到master,这个时候在idea里边先切换到master,然后update一下获取最新更新,解决一下冲突,最后再合并自己的私人分支,add,commi ...
- NSIS 制作自动升级包
1:首先定义基础变量 !define PRODUCT_NAME "XXX"//补丁名称 !define PRODUCT_VERSION "3"//版本号 !de ...
- 基于AOP和HashMap原理学习,开发Mysql分库分表路由组件!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 什么?Java 面试就像造火箭 单纯了! 以前我也一直想 Java 面试就好好面试呗 ...
- MySQL高级查询 & 事务机制
1.基础查询where 高级条件查询Where子句 SELECT empno,ename,sal,hiredate FROM t_tmp WHERE deptno=10 AND (sal+IFNULL ...
- 有关SQL注入的一些小知识点
1.判断注入点: 本质原理是找一个需要后台处理后,提交给数据库的点,我理解为用户可以控制并输入后台数据库的变量,比如我们DVWA SQL injection 的ID ,我们可以通过闭合单引号,#注释 ...
- 原来一条select语句在MySQL是这样执行的《死磕MySQL系列 一》
前言 看到蒋老师的第一篇文章后就收货颇丰,真是句句戳中痛点. 令我记忆最深的就是为什么知道了一个个技术点,却还是用不好 ?不管是蒋老师所说的Redis还是本系列要展开学习的MySQL. 这是一个值得思 ...
- express中session的基本使用
1.首先安装express-session模块 npm install express-session --save 2.引入express-session,以及设置中间键 var session = ...
- 8、二进制安装K8s之部署CIN网络
二进制安装K8s之部署CIN网络 部署CIN网络可以使用flannel或者calico,这里介绍使用calico ecd 方式部署. 1.下载calico二进制安装包 创建所需目录 mkdir -p ...
- Ratel:一直站在Android逆向巅峰的平头哥
本文来源:带动行业内卷,渣总义不容辞 字越少事儿越大,请关注github(可以点击阅读原文): https://github.com/virjarRatel 平头哥(ratel)是一个Android逆 ...