c++ primer plus(1)

前言

本次博客将要通过文字以及代码来介绍 c++ primer plus 

没有C语言基础的放心,我还是会把自己当成傻子,一步一步的来

主要是理解这本书的第二章重点内容,仅仅是笔者自己的鄙见,有问题请指出

OK,开始

第二章

首先是开始第一个c++程序,直接看代码吧

#include<iostream>//预编译,头文件
using namespace std;//命名空间
int main()
{cout << "hello world";//打印return 0;//主函数返回值
}

结果就是在屏幕上打印hello world就完成任务了

很简单,对吧,如果是初学者,你今天能一遍码对,你就成功了,哈哈哈

对于本书,

输入输出

与C语言不同的是cout是一个重载函数,可以自动根据类型打印出结果,这个以后会再说 先了解

我们通过键盘和屏幕来完成输入和输出的反映

输入是cin 输出是cout他们被 头文件iostream包含了解到这里就可以了

语句与分号

其实就是分号是语句的结束标志,语句就是要被执行的,分号不能被省略

c++风格的注释

// 注意在这里的文字是不会被包含进程序中的

上面是c++的注释风格,下面是c语言注释风格

/* 注意在这里的文字是不会被包含进程序中的 */

头文件名

书上是介绍了一大堆东西 其实本质就是

1c++中的头文件没有后缀.h

2想要调用原有的c语言头文件,可以,但是要去掉.h 并且在前面加上c表示头文件的来源

比如cmath头文件

名称空间

这个,知识可以用代码来介绍的

我们后面的 using namespace std;

其实就是调用了名称std

如果没有就是要使用 cout时就是 std::cout  endl就是 std::endl

那么看下面代码

#include<iostream>//预编译,头文件
int main()
{std::cout << "hello world"<<std::endl;//打印return 0;//主函数返回值
}

当然,这是一种偷懒的方法,因为一旦使用命名空间,被包含的名称就不能作为变量名了

这其实是有风险的

最好的方法是,只命名需要使用的名称

using std ::cout;//cout自由

using std ::endl;//endl自由

初识运算符重载

在c++中   插入运算符<<和左移运算符一模一样,但是含义却不同

编译器可以通过上下文确定运算符的含义,大家只要记住有这么回事即可

换行

控制符endl 

作用就是换行,使光标定位在下一行位置其实和c语言中的转义字符'\n'等效

endl前面说了位于名称空间std中

#include<iostream>
using namespace std;
int main()
{
printf("haha\n");
cout<<"haha"<<endl;
return 0;
}

两行代码一个是C语言中的,下面是c++的,其实在c语言大部分语法都被c++支持

c++代码风格

这个大家保持一个良好的习惯即可

1每条语句占一行

2每个函数用左右花括号扩住,每个花括号占一行

3函数中的语句都相对花括号进行缩进

好吧,代码风格还是要保持好

赋值语句与cout的花样

c++的变量的使用是只要在使用它之前,定义声明,就不会错

当然,有些语言必须得先定义后使用

cout的花样就是可以使用<<对字符串进行拼接

cout<<"hellow";
cout<<" world"<<endl;
//下面代码结果与上面一样
cout<<"hellow"<<" world";

函数

其实,到第二章这里函数的讲解,与c语言一样

总结一波就是

函数就是分为有返回值以及无返回值

函数的结构

type 函数名(函数参数)

{

//函数体

}

编程练习

我就跟着这本书,踏踏实实的敲完所有的程序,虽然很蠢

1编写一个c++程序,它显示您的姓名与地址

#include<iostream>
using namespace std;
int main()
{cout << "张三" << " 精英监狱";return 0;
}

2编写一个程序,它要求用户输入一个以long为单位的距离,转化为码,一long为220码

#include<iostream>
using namespace std;
int main()
{int a;cin >> a;cout << a * 220<<"码";return 0;
}

3编写一个c++程序,使用两个自定义函数,完成输出

haha

haha

hehe

hehe

#include<iostream>
using namespace std;
void fun1()
{cout << "haha"<<endl;
}
void fun2()
{cout << "hehe"<<endl;
}
int main()
{fun1();fun1();fun2();fun2();return 0;
}

4编写一个程序,输入年龄,输出包含多少了月

#include<iostream>
using namespace std;
int main()
{int age;cin >> age;cout << age * 12;return 0;
}

5编写一个程序,输入摄氏度转化为华摄氏度

转化公式 华摄氏度=1.8*摄氏度+32.0

#include<iostream>
using namespace std;
int main()
{float temperature;cin >> temperature;cout << 32.0 + temperature * 1.8;return 0;
}

总结

内容简单,但是基础,好好学,明天写第三章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue+vite+elements

1.安装 1> 安装vite&#xff08;直接安装&#xff09; 2> 安装好elements 3> 安装 windicss windicss简单用法 <template> <button class"btn">按钮</button> </template> <style scoped> .btn { apply bg-purple-500 …

新能源行业数据防泄密解决方案

行业背景 随着全球能源危机和环境污染问题日益突出,节能、环保有关行业的发展被高度重视,发展新能源电池已经在全球范围内形成共识。新能源电池相关技术是人们当下最为关注、研究投入最大的科研项目。人们不断尝试新的技术和材料,创造出新型电池。未来生活中将会有越来越高…

顺序表(详解)

1.什么是数据结构 所谓数据结构也就是数据在内存中的储存结构&#xff0c;它有 线性表&#xff0c;队列&#xff0c;栈结构&#xff0c;树结构&#xff0c;图结构等等&#xff0c;顺序表是线性表的一种。 2.物理结构与逻辑结构 物理结构是指一个数据在内存实际的储存空间&am…

C++面向对象程序设计 - 运算符重载

函数重载就是对一个已有的函数赋予新的含义&#xff0c;使之实现新的功能。因此一个函数名就可以用来代表不同功能的函数&#xff0c;也就是一名多用。运算符也可以重载&#xff0c;即运算符重载&#xff08;operator overloading&#xff09;。 一、运算符重载的方法 运算符重…

代码随想录学习Day 29

1005.K次取反后最大化的数组和 题目链接 讲解链接 思路&#xff1a;先对数组进行排序&#xff0c;保证数组中最小的值&#xff08;也就是取反后损失最小的值&#xff09;位于数组最前端。然后对数组进行遍历&#xff0c;在k次内尽可能将负数全部取反。当数组中元素全部>0…

indexDB 大图缓存

背景 最近在项目中遇到了一个问题&#xff1a;由于大屏背景图加载速度过慢&#xff0c;导致页面黑屏时间过长&#xff0c;影响了用户的体验。从下图可以看出加载耗时将近一分钟 IndexDB 主要的想法就是利用indexDB去做缓存&#xff0c;优化加载速度&#xff1b;在这之前&am…

在选择试验台底座时,应注意哪些问题——河北北重

在选择试验台底座时&#xff0c;应注意以下几个方面&#xff1a; 底座尺寸和承载能力&#xff1a;底座的尺寸和承载能力应与试验台的尺寸和所需承载的设备重量相匹配&#xff0c;确保底座能够稳定承载试验台和设备。 材料和质量&#xff1a;底座的材料应具有足够的强度和耐久性…

软件测试之【合理的利用GPT来辅助软件测试一】

读者大大们好呀&#xff01;&#xff01;!☀️☀️☀️ &#x1f525; 欢迎来到我的博客 &#x1f440;期待大大的关注哦❗️❗️❗️ &#x1f680;欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言GPT的原理及技巧GPT辅助接口自动化测试 前言 在编程基础栏目中&#xff…

Kafak详解(1)

简介 消息队列 为什么要有消息队列 图-1 消息队列的使用 消息队列 1)消息Message&#xff1a;网络中的两台计算机或者两个通讯设备之间传递的数据。例如说&#xff1a;文本、音乐、视频等内容。 2)队列Queue&#xff1a;一种特殊的线性表(数据元素首尾相接)&#xff0c;特…

2024平替电容笔买哪个品牌好?iPad电容笔全能榜单热门款TOP5分享!

2024年&#xff0c;随着科技的不断发展和消费者对生活品质的追求&#xff0c;电容笔作为一种创新的无纸化工具&#xff0c;逐渐走进人们的生活和工作中。然而&#xff0c;在电容笔市场的繁荣背后&#xff0c;也隐藏着品质良莠不齐的现象。众多品牌为了追求利润&#xff0c;推出…

python常用高阶函数

map函数 map(function, iterable1[, iterable2, …]) map() 是 Python 内置的高阶函数&#xff0c;它用于将一个或多个可迭代对象&#xff08;如列表、元组、字符串等&#xff09;中的每个元素按照指定的函数进行处理&#xff0c;并返回一个迭代器&#xff08;iterator&#xf…

JS----随机数字,字符,数组

随机数字 function random(min 0, max 100) {if (min > 0 && max > 0 && max > min) {const gab max - min 1return Math.floor(Math.random() * gab min)}return 0 }输入格式 随机字符 function randomStr (len 32) {var s for (; s.lengt…

电力调度自动化系统由什么构成?

电力调度自动化系统由什么构成&#xff1f; 电力调度自动化系统通过数据采集与传输、数据处理与存储、监视与控制、优化与决策、通信网络和系统应用软件等构成&#xff0c;实现对电力系统的监控、控制和优化。 电力调度自动化系统是一种集成了计算机技术、通信技术、自动化技术…

SpringBoot下载Excel模板功能

目录 一、前端只需要填写一个a标签调用一下后端接口即可 二、后端 2.1 准备一个excel模板 &#xff0c;将其复制到resource目录下的templates文件夹下 2.2 接着复制下列代码即可 三、运行效果 一、前端只需要填写一个a标签调用一下后端接口即可 1.1 先代理一下防止跨域 e…

chatGPT以及openAI介绍及相关概念

OpenAI 简介 成立背景: OpenAI 成立于 2015 年&#xff0c;由一群高科技界的重要人物创立&#xff0c;包括 Elon Musk 和 Sam Altman。其目标是推动人工智能&#xff08;AI&#xff09;的发展&#xff0c;同时确保 AI 的发展能够造福全人类。 研究方向: OpenAI 专注于深度学习…

40-50W 1.5KVDC 隔离 宽电压输入 DC/DC 电源模块 ——TP40(50)DC 系列

TP40(50)DC系列电源模块额定输出功率为40-50W、应用于2:1、4&#xff1a;1电压输入范围 9V-18V、18V-36V、36V-75V、9V-36V、18V-75V的输入电压环境&#xff0c;输出电压精度可达1%&#xff0c;可广泛应用于通信、铁路、自动化以及仪器仪表等行业。

【系统分析师】软件工程

文章目录 1、信息系统生命周期2、软件开发模型2.1 原型及其演化2.2 增量模型和螺旋模型2.3 V模型、喷泉模型、快速应用开发2.4 构件组装模型2.5 统一过程-UP2.6 敏捷方法 3、逆向工程4、净室软件工程 【写在前面】 记录了一系列【系统分析师】文章&#xff0c;点击下面的链接&a…

【鸿蒙开发】后台任务

1. 功能介绍 设备返回主界面、锁屏、应用切换等操作会使应用退至后台。 2. 后台任务类型 OpenHarmony标准系统支持规范内受约束的后台任务&#xff0c;包括短时任务、长时任务、延迟任务、代理提醒和能效资源。 开发者可以根据如下功能介绍&#xff0c;选择合适的后台任务以…

软件测试架构体系之软件测试基本流程图

前言&#xff1a; 采用通用的测试流程&#xff0c;能高效、高质量的完成软件测试工作&#xff0c;有助于减少沟通成本&#xff0c;对各阶段产出有明确认知等等。最终目标&#xff1a;实现软件测试规范化、标准化。以下为非通用标准&#xff0c;仅供大家参考。 一、软件测试流…

DSView Windows平台编译

在Windows平台编译开源逻辑分析仪软件DSView&#xff0c;因官方没有公布DSView Windows平台源码&#xff0c;主要解决Windows平台以下问题&#xff1a; libusb_get_pollfds不支持Windows平台&#xff0c;导致无法采集数据插入设备后&#xff0c;无法自动识别设备&#xff0c;U…