C++ Primer Plus 第6版 读书笔记(2)第2章 开始学习 C++

news2024/12/24 11:28:54

 

C++是在 C 语言基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言,是C语言的超集。本书是根据2003年的ISO/ANSI C++标准编写的,通过大量短小精悍的程序详细而全面地阐述了 C++的基本概念和技术,并专辟一章介绍了C++11新增的功能。

《C++ Primer Plus(第6版)中文版》分18章,分别介绍了C++程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑运算符、函数重载和函数模板、内存模型和名称空间、类的设计和使用、多态、虚函数、动态内存分配、继承、代码重用、友元、异常处理技术、string类和标准模板库、输入/输出、C++11新增功能等内容。

《C++ Primer Plus(第6版)中文版》针对C++初学者,从C语言基础知识开始介绍,然后在此基础上详细阐述C++新增的特性,因此不要求读者有C语言方面的背景知识。《C++ Primer Plus(第6版)中文版》可作为高等院校教授C++课程的教材,也可供初学者自学C++时使用。

本章内容包括:
创建 C++程序。                          C++程序的一般格式。
 
#include 编译指令。                         main( )函数。
 
使用 cout 对象进行输出。         在 C++程序中加入注释。
 
何时以及如何使用 endl。                 声明和使用变量。
 
使用 cin 对象进行输入。                 定义和使用简单函数。
 
 
296bfce87f154767bb762db66d43bb94.png

 

0a6bc69500f0407295bc138cb34c8fa5.png 

 

总结

 C++程序由一个或多个被称为函数的模块组成。程序从main()函数(全部小写)开始执行,因此该函数必不可少。函数由函数头和函数体组成。函数头指出函数的返回值(如果有的话)的类型和函数期望通过参数传递给它的信息的类型。函数体由一系列位于花括号({)中的C++语句组成。

 

 

有多种类型的 C++语句,包括下述 6 种。
声明语句:定义函数中使用的变量的名称和类型。
赋值语句:使用赋值运算符(=)给变量赋值。
消息语句:将消息发送给对象,激发某种行动。
函数调用:执行函数。被调用的函数执行完毕后,程序返回到函数调用语句后面的语句。
函数原型:声明函数的返回类型、函数接受的参数数量和类型。
返回语句:将一个值从被调用的函数那里返回到调用函数中。

 


是用户定义的数据类型规范,它详细描述了如何表示信息以及可对数据执行的操作。对象是根据类
规范创建的实体,就像简单变量是根据数据类型描述创建的实体一样。
C++提供了两个用于处理输入和输出的预定义对象(cin 和 cout),它们是 istream 和 ostream 类的实例,
这两个类是在 iostream 文件中定义的。为 ostream 类定义的插入运算符(<<)使得将数据插入到输出流成
为可能;为 istream 类定义的抽取运算符(>>)能够从输入流中抽取信息。cin 和 cout 都是智能对象,能够
根据程序上下文自动将信息从一种形式转换为另一种形式。
C++可以使用大量的 C 库函数。要使用库函数,应当包含提供该函数原型的头文件。

 
 

2.6 复习题 


1.C++程序的模块叫什么?
2.下面的预处理器编译指令是做什么用的?
3.下面的语句是做什么用的?
4.什么语句可以用来打印短语“Hello,world”,然后开始新的一行?
5.什么语句可以用来创建名为 cheeses 的整数变量?
6.什么语句可以用来将值 32 赋给变量 cheeses?
7.什么语句可以用来将从键盘输入的值读入变量 cheeses 中?
8.什么语句可以用来打印“We have X varieties of cheese,”,其中 X 为变量 cheeses 的当前值。
9.下面的函数原型指出了关于函数的哪些信息?
10.定义函数时,在什么情况下不必使用关键字 return?
11.假设您编写的 main( )函数包含如下代码:
而编译器指出 cout 是一个未知标识符。导致这种问题的原因很可能是什么?指出 3 种修复这种问题的
方法。

 

答案:

1.它们叫作函数。
2.这将导致在最终的编译之前,使用iostream文件的内容替换该编译指令。
3.它使得程序可以使用sd名称空间中的定义。
4.cout <"Hello,world\n";

cout <"Hello,world"<<endl;
5.int cheeses;
6.cheeses =32;
7.cin >cheeses;
8.cout <<"We have "<cheeses <<varieties of cheeseln";
9.调用函数ioop()时,应提供一个参数,该参数的类型为double,而该函数将返回一个int值。例如,
可以像下面这样使用它:
int gval froop(3.14159);
函数rattle()接受一个int参数且没有返回值。例如,可以这样使用它:
rattle(37);
函数prune()不接受任何参数且返回一个int值。例如,可以这样使用它:
int residue prune();
10.当函数的返回类型为void时,不用在函数中使用return。然而,如果不提供返回值,则可以使
用它:
return;


2.7 编程练习 

 

程序,它要求用户输入一个以long 为单位的距离,然后将它转换为码(一long 等于220 码)。
++程序,它使用 3 个用户定义的函数(包括 main( )),并生成下面的输出:


1.编写一个 C++程序,它显示您的姓名和地址。
 

3.编写一个 C其中一个函数要调用两次,该函数生成前两行;另一个函数也被调用两次,并生成其余的输出。


4.编写一个程序,让用户输入其年龄,然后显示该年龄包含多少个月,如下所示:

5.编写一个程序,其中的 main( )调用一个用户定义的函数(以摄氏温度值为参数,并返回相应的华氏温度值)。该程序按下面的格式要求用户输入摄氏温度值,并显示结果:
下面是转换公式:
华氏温度 = 1.8×摄氏温度 + 32.0 

6.编写一个程序,其 main( )调用一个用户定义的函数(以光年值为参数,并返回对应天文单位的值)。
该程序按下面的格式要求用户输入光年值,并显示结果:
天文单位是从地球到太阳的平均距离(约 150000000 公里或 93000000 英里),光年是光一年走的距离
(约参程序10 万亿公里或 6 万亿英里)(除太阳外,最近的恒星大约离地球 4.2 光年)。请使用 double 类型(清单 2.4),转换公式为:1 光年=63240 天文单位

 

 

7.编写一个程序,要求用户输入小时数和分钟数。在 main( )函数中,将这两个值传递给一个 void 函数,后者以下面这样的格式显示这两个值

 

 

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

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

相关文章

企业网站自动生成系统的设计和实现

技术&#xff1a;Java、JSP等摘要&#xff1a;随着Internet技术的发展&#xff0c;人们的日常生活已经离不开网络。未来社会人们的生活和工作将越来越依赖于数字技术的发展&#xff0c;越来越数字化、网络化、电子化、虚拟化。Internet的发展历程以及目前的应用状况和发展趋势&…

BigGAN

1、BIGGAN 解读1.1、作者 Andrew Brock、Jeff Donahue、Karen Simonyan 1.2、摘要 尽管最近在生成图像建模方面取得了进展&#xff0c;但从 ImageNet 等复杂数据集中 成功生成高分辨率、多样化的样本仍然是一个难以实现的目标。为此&#xff0c;我们以迄 今为止最大的规模训练生…

使用MUI与H5+构建移动端app

前言 通过mui构建APP 效果图: <!DOCTYPE html> <html> <head><meta charset

c语言指针(结构体)

*结构体&#xff1a;-箭头&#xff08;->&#xff09;&#xff1a;左边必须为指针&#xff1b;-点号&#xff08;.&#xff09;&#xff1a;左边必须为实体。*函数传数组用指针传递&#xff1a;-传的是第一个的元素的指针-也就是说在函数里&#xff0c;形参只是一个指针&…

Delphi 中 FireDAC 数据库连接(总览)

本系列包含一组文章&#xff0c;描述了如何用在Delphi中使用FireDAC设置数据库驱动和管理数据库连接。通过这一些列文章的学习&#xff0c;将熟练掌握FireDAC数据库连接管理应用。自由使用FireDAC&#xff01;主题说明定义连接描述了如何存储和使用FireDAC连接参数以及连接定义…

sqlserver 数据库优化工具,安全性设置,并发设置,SQL耗时优化

当前数据库版本查询&#xff0c;硬件资源最大限度决定当前数据库实例的性能.数据库并发设置&#xff0c;理论最大连接数&#xff0c;当前实例数据库实例设置的最大连接数&#xff0c;决定高并发的连接数数据库连接字符串优化&#xff0c;是否复用&#xff0c;生命周期&#xff…

英语学术写作作业文章分析1

Abstract:a concise overview of the study研究简明概述 Introduction&#xff1a;1.providing the background 提供研究背景 2.indentifying the problem under study 了解正在研究的问题 3.evaluating previous studies评估之前的研究 4.identifying the research gap认识研…

GAIDC 2023盛会迎来大模型论坛“主场”,百度飞桨护航大模型产业发展

‍‍‍‍2月25日-26日&#xff0c;2023全球人工智能开发者先锋大会&#xff08;GAIDC&#xff09;在上海临港举行&#xff0c;大会以“向光而行的AI开发者”为主题&#xff0c;汇聚了当前科技和产业革命中的开发者先锋力量。百度深度参与本次大会&#xff0c;飞桨联合上海市人工…

-source1.5中不支持diamond运算符终极解决办法

1. 常规办法 在File->Setting中设置如下&#xff1a; 然后检查&#xff1a;File->Project Structure里面的相关配置&#xff1a; 以上办法能解决问题的概率在90%&#xff0c;如果还不行&#xff0c;那么请按照以下方法&#xff0c;基本上100%可以解决。 如果还没解决则…

前端基础之CSS扫盲

文章目录一. CSS基本规范1. 基本语法格式2. 在HTML引入CSS3. 选择器分类二. CSS常用属性1. 文本属性2. 文本格式3. 背景属性4. 圆角矩形和圆5. 元素的显示模式6. CSS盒子模型7. 弹性布局光使用HTML来写一个前端页面的话其实只是写了一个大体的框架, 整体的页面并不工整美观, 而…

01 导入已有环境配置(上课使用)

一、导入虚拟机 通过 VMware 打开已经安装好的 集群 打开三个 将导入的虚拟机打开 第一次打开会需要选择方式 “我已移动虚拟机” 不会改变原虚拟机的配置 “我已复制虚拟机” 会去改变虚拟机mac地址&#xff0c;需要重新的去配置 mac 地址 选择 未列出 &#xff0c;以 root…

Matlab论文插图绘制模板第79期—无线条等高线填充图

资源群里有朋友问如何绘制等高线填充图&#xff0c;但删除线条&#xff0c;只保留填充颜色的那种。 那么&#xff0c;本期就来分享一下无线条等高线填充图的绘制模板。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;Matlab论文插图绘制模板系列&#xff0c;旨在降低大…

【C语言进阶】指针与数组、转移表详解

前言 大家好我是程序猿爱打拳&#xff0c;我们在学习完指针的基本概念后知道了指针就是地址&#xff0c;我们可以通过这个地址并对它进行解引用从而改变一些数据。但只学习指针的基础是完全不够的&#xff0c;因此学习完指针的基础后我们可以学习关于指针的进阶&#xff0c;其中…

WireShark如何进行USB包协议分析

USB协议学习的步骤之一就是从抓包看协议通信,进而学习usb设备开发是怎么回事。这里发现一个工具就是wireshark。 WireShark如果要抓取usb设备的包,需要在安装的时候,选择usbpcap一并进行安装。

惠普星14Pro电脑开机不了显示错误代码界面怎么办?

惠普星14Pro电脑开机不了显示错误代码界面怎么办&#xff1f;有用户电脑开机之后&#xff0c;进入了一个错误界面&#xff0c;里面有一些错误代码。重启电脑之后依然是无法进入到桌面中&#xff0c;那么这个情况怎么去进行解决呢&#xff1f;我们可以重装一个新系统&#xff0c…

Android自定义View实现打钩签到动画

效果图实现原理我们看实现的动画效果&#xff0c;其实是分为1. 绘制未选中状态图形&#xff08;圆弧和对号&#xff09;2. 绘制选中状态圆弧的旋转的动画3. 绘制选中状态圆弧向中心收缩铺满动画4. 绘制选中状态对号5. 绘制选中状态下圆的放大回弹动画6. 暴露接口接口回调传递选…

FEBC2022|打造VR内容生态闭环 佳创视讯持续加码轻量化内容建设

2月24日&#xff0c;由陀螺科技主办的未来商业生态链接大会作为 2023 癸卯兔年开年率先召开的行业重要影响力盛会在深圳成功召开。今年大会云集了科技、软件、游戏、XR等元宇宙领域的世界500强、上市公司及行业独角兽企业&#xff0c;围绕游戏、元宇宙、XR、数字营销等多项热门…

ZigBee基本概念

本文主要介绍zigbee中profile、cluster、attribute、command的概念&#xff0c;以及zigbee的一些基本思想。zigbee联盟为了不同厂商的zigbee设备之间能够互联互通&#xff0c;于是制订了的zigbee协议标准&#xff0c;到今天&#xff08;2016.3.28&#xff09;已经到了版本3.0。…

【数据结构】知识点总结(C语言)

线性表、栈和队列、串、数组和广义表、树和二叉树、图、查找、排序线性表线性表&#xff08;顺序表示&#xff09;线性表是具有相同特性元素的一个有限序列&#xff0c;数据元素之间是线性关系&#xff0c;起始元素称为线性起点&#xff0c;终端元素称为线性终点。线性表的顺序…

python线程通信

在现实生活中&#xff0c;如果一个人团队正在共同完成任务&#xff0c;那么他们之间应该有通信&#xff0c;以便正确完成任务。 同样的比喻也适用于线程。 在编程中&#xff0c;要减少处理器的理想时间&#xff0c;我们创建了多个线程&#xff0c;并为每个线程分配不同的子任务…