一,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++基础教程】第一课的更多相关文章

  1. 村田噪声抑制基础教程-第一章 需要EMI静噪滤波器的原因

    1-1. 简介 EMI静噪滤波器 (EMIFIL®) 是为电子设备提供电磁噪声抑制的电子元件,配合屏蔽罩和其他保护装置一起使用.这种滤波器仅从通过连线传导的电流中提取并移除引起电磁噪声的元件.第1章说 ...

  2. [原创]零基础R语言教程---第一课---认识R语言

    教程的录制的确是折腾了一番,一连录了二十多遍,有时候激动的说错了字,有时候不知道下一句说啥.. 不过好在第一课已经搞定了,哈哈. 虽然内容现在看起来还有点简单, 不过牛b也是一个过程嘛. 我会坚持下去 ...

  3. CodeIgniter框架入门教程——第一课 Hello World!

    本文转载自:http://www.softeng.cn/?p=45 今天开始,我将在这里连载由我自己编写的<CodeIgniter框架入门教程>,首先,这篇教程的读着应该是有PHP基础的编 ...

  4. Android OpenGL教程-第一课【转】

    第一课 快速的开始一个Android OpenGL项目 首先,读懂我们的教程,需要有android的初步基础,我们这里只是通过android提供的SDK,来进行OpenGL的学习,所以你必须先学习如何 ...

  5. C++自学教程第一课——你好世界,我是柠檬鲸。

    C++系列教程现在在自己学校的一个博客平台发布,几个朋友一起搭建的 [C++基础教程系列](https://blog.ytmaxoj.org/cpp_basic_liuary-0/) 下面是原来的正文 ...

  6. NeHe OpenGL教程 第一课:OpenGL窗口

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  7. Nehe OpenGL教程第一课-创建一个OpenGL窗口(Win32)

       原文英文地址为:Creating an OpenGL Window (Win32),翻译的chm中文格式文档下载地址为:OpenGL教程电子书(chm格式)中文版,源代码在官网上也可以下载到,每 ...

  8. EbitenCookBook中文教程 第一课:安装 Ebiten

    本文实时更新原址:https://ebitencookbook.vercel.app/docs/CookBook_Start/class1 第一课 安装 Ebiten 欢迎大家来到 Ebiten 中文 ...

  9. C语言基础课程 第一课 Linux环境配置小实战httpserver

     网段我需要改成如下 10.重启网络服务 并且查看ip 11. 打开windows的浏览器数人Linux的IP地址出现REDHAT的欢迎界面 11.进入目录 12.编写一个简单的html脚本 13 ...

  10. [nRF51822 AK II 教程]第一课,开发环境的配置及背景介绍【转】

    低功耗蓝牙4.0是全新的技术,并不向下兼容,也就是说它和蓝牙3.0.2.0什么的都不能通信的.另外,蓝牙4.0目前的规范只能做外设和主机(智能手机,电脑等)通讯,也就是说你想用一个单模的蓝牙4.0开发 ...

随机推荐

  1. 一键部署lnmp基本

    #!/bin/bash systemctl stop firewalld systemctl disable firewalld setenforce 0 #--------nginx-------- ...

  2. HandlerInterceptor与WebRequestInterceptor的异同

    相同点 两个接口都可用于Contrller层请求拦截,接口中定义的方法作用也是一样的. //HandlerInterceptor boolean preHandle(HttpServletReques ...

  3. Redis实现分布式锁那件事

    今天我们来聊一聊分布式锁的那些事. 相信大家对锁已经不陌生了,我们在多线程环境中,如果需要对同一个资源进行操作,为了避免数据不一致,我们需要在操作共享资源之前进行加锁操作.在计算机科学中,锁(lock ...

  4. VLAN-3 Hybrid接口应用

    一.实验拓扑图 二.实验编址 三.实验步骤 1.给对应的PC设置对应的IP和掩码还有接口,以及根据需要划分不同的vlan区域,再用文本标记出不同部门. 2.启动设备(全选) 3.首先用ping命令检查 ...

  5. 【设计模式】DDD 设计理念

    From: https://liudongdong1.github.io/ 微服务架构,在集中式架构中,系统分析.设计和开发往往是独立进行的,而且各个阶段负责人可能不一样,那么就涉及到交流信息丢失的问 ...

  6. @Transactional-同一个类中方法自调,调用方法事物失效

    问题分析 一个类中的方法调用另一个事物传播性为创建事物的方法,调用的方法事物失效? SpringAOP 代理的Service对象调用了其方法,这个方法再去调用这个Service中的其他方法是没有使用A ...

  7. CNN卷积神经网络详解

    前言   在学计算机视觉的这段时间里整理了不少的笔记,想着就把这些笔记再重新整理出来,然后写成Blog和大家一起分享.目前的计划如下(以下网络全部使用Pytorch搭建): 专题一:计算机视觉基础 介 ...

  8. OAuth2 与OpenID的区别

    OAuth2 OpenId OpenId是在OAuth2基础之上实现的 比OAuth2更简便 OAuth2需要在认证后 额外的去再调用用户信息的接口 才能获取用户信息 而OpenId直接伴随token ...

  9. .Net 5 新特性之--支持字典在迭代中进行修改

    我们都知道以前字典迭代中是不支持动态修改的[否则会报错::"Collection was modified; enumeration operation may not execute.&q ...

  10. APMServ中Apache启动失败的原因

    APMServ中Apache启动失败绝大多数的情况是因为APMServ得路径出错和80端口被占用,也有可能您使用的是WIN8系统,下面SJY根据不同情况告诉大家如何解决APMServ中Apache启动 ...