【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开发 ...
随机推荐
- 基于ssm的电影售票选座管理系统基于Java的电影网站的网页设计与制作源码
注意:此项目只截图部分功能,可评论区咨询查看项目全部功能演示! 1.开发环境 开发语言: 后台框架:SSM(Spring+SpringMVC+Mybatis) 前端技术:HTML+CSS+JavaSc ...
- ApiPost进阶教程(1) — 在ApiPost中使用脚本
什么是APIPOST脚本 APIPOST脚本是基于JavaScript语言的代码片段,可实现在接口请求或集合测试时添加动态行为. 脚本可实现的功能 测试(断言)请求返回结果的正确性(后置脚本). 动态 ...
- 【Python机器学习实战】决策树和集成学习(一)
摘要:本部分对决策树几种算法的原理及算法过程进行简要介绍,然后编写程序实现决策树算法,再根据Python自带机器学习包实现决策树算法,最后从决策树引申至集成学习相关内容. 1.决策树 决策树作为一种常 ...
- noip模拟44[我想我以后会碰见计数题就溜走的]
noip模拟44 solutions 这一场抱零的也忒多了,我也只有45pts 据说好像是把几套题里面最难的收拾出来让我们考得 好惨烈啊,这次的考试我只有第一题骗了40pts,其他都抱零了 T1 Em ...
- STM32—时钟树(结合系统时钟函数理解)
时钟树的概念: 我们可以把MCU的运行比作人体的运行一样,人最重要的是什么?是心跳! 心脏的周期性收缩将血液泵向身体各处.心脏对于人体好比时钟对于MCU,微控制器(MCU)的运行要靠周期性的时钟脉冲来 ...
- noip20
T1 首先,这个插球,就是森林中连点,考虑dp,我们设 \(dp_{i,j}\) 表示有i个点的森林,有j个点在第一颗树中的概率,转移时考虑第i个点是否在第一颗子树里,转移方程: \[dp_{i,j} ...
- 题解 b
传送门 考场上只会暴力 \(n^4\) DP,部分分还写炸了 但其实这个DP可以前缀和优化到 \(n^3\) ,我觉得没有这档部分分就没写 但其实是有这一档的,我没有看出来-- 正解想不到 如果我们已 ...
- Walkthrough: Create and use your own Dynamic Link Library (C++)
参考网站:https://docs.microsoft.com/en-us/cpp/build/walkthrough-creating-and-using-a-dynamic-link-librar ...
- Navicat查询出的数据有时候不能更改?
Navicate查出数据只读,一种情况是查询没带出主键(唯一索引),无法更新数据
- 关于mysql的备份和恢复
备份:在登录之前(cmd中)mysqldump -u root -p [数据库名称] > c:/back.sql备份的话,肯定是DBA才能做,所以只能用root:恢复mysql -u root ...