【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开发 ...
随机推荐
- 1009 Product of Polynomials (25分) 晚上脑子就是容易僵住
#include<iostream> using namespace std; struct { int a; double b; }poly[1001]; double a[2001]; ...
- VsCode安装使用教程和插件安装方法
许多渗透方式都python写脚本,比较方便,写一下vscode和插件的安装办法,虽然不是很复杂,但是写一下做一下笔记: Visual Studio Code (简称 VS Code / VSC) 是一 ...
- 题解 [美团 CodeM 初赛 Round B]景区路线规划
有个影响因素k,显然不能高斯消元 n和k都不大,可以直接\(O(nk)\)跑DP 然而带上时间这一影响因素后的转移颇为难写,我从6点直接调到9点最后还是只能dfs爆搜骗了55pts 考场上推方程一定要 ...
- VirtualBox-虚拟硬盘扩容-win7
问题: 我在VirtualBox下搭建的win7系统只设置了一个C盘,当初只给硬盘分配32G,如今深受生活的毒打,发现只剩5G可用,装个PS都费劲. 我要扩容,扩容! 当前环境: VirtualBox ...
- Elastic_Search 和java的入门结合
1, pom 文件添加依赖... 2, config 配置文件 3, 写接口文件
- HashTable原理和底层实现
1. 概述 上次讨论了HashMap的结构,原理和实现,本文来对Map家族的另外一个常用集合HashTable进行介绍.HashTable和HashMap两种集合非常相似,经常被各种面试官问到两者的区 ...
- C# 串口开发
在单片机项目开发中,上位机也是一个很重要的部分,主要用于数据显示(波形.温度等).用户控制(LED,继电器等),下位机(单片机)与 上位机之间要进行数据通信的两种方式都是基于串口的: USB转串口 - ...
- blog.mzywucai.club停站
考研,不经营了,两台服务器也关了:blog.mzywucai.club也关了,就让它沉了吧!以后做个更好的?
- Java String.split()的特殊用法
1 //用多种字符分隔字符串 2 public class Main { 3 /* 4 * "(1,2),(2,4),(3,6),(4,7)"按[(),]分隔 5 * 空白(1,2 ...
- ES6对象扩展——扩展运算符
1.复制对象:使用扩展运算符复制对象时是浅拷贝 //复制对象:使用扩展运算符复制对象时是浅拷贝 const obj1 = { a:1, b:2, d:{ aa:1, bb:2 } } const ob ...