初识C++语言(1)

目录

C++语言简介

C++ 语言概述

C++ 语言的特点

语言简洁紧凑,使用灵活方便       

运算符丰富       

数据结构丰富         

结构化语言         

生成的代码质量高         

可移植性强         

C++程序结构

C++语言系统的使用

一.启动Dev-C++

 二、新建源程序

三、 保存源程序到硬盘

四、编译、运行

五、调试程序 

总结


C++语言简介

       信息学奥林匹克竞赛是一项益智性的竞赛活动,核心是考查选手的智力和使用计算机解题的能力,选手首先应针对竞赛题目的要求构建数学模型,进而构造出计算机可以接受的算法,之后编写出计算机能够执行的程序。程序设计是信息学竞赛的基本功,选手参与竞赛活动的第一步是熟练掌握一门程序设计语言,目前竞赛中允许使用的程序设计语言有C语言、C++语言、Pascal。

C++ 语言概述

C++由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现(最初这种语言被称作“C with Classes”带类的C)。开始,C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。

今天C++已成为世界主流编程语言之一。

C++ 语言的特点

语言简洁紧凑,使用灵活方便       

 C++语言一共只有32个关键字和9种控制语句,程序书写自由,主要用小写字母表示。

运算符丰富       

 C++语言的运算符包含的范围很广泛,共有34个运算符。

数据结构丰富         

C++语言的数据类型有:整型、实型、字符型、数组类型等等

结构化语言         

结构化语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。

生成的代码质量高         

C++语言在代码效率方面可以和汇编语言相媲美。

可移植性强         

C++语言编写的程序很容易进行移植,在一个环境下运行的程序不加修改或少许修改就可以在完全不同的环境下运行。

C++程序结构

在介绍C++语言程序的结构之前,我们先来看一个简单的例子:

在屏幕上输出“Hello World!”。

#include<iostream>      //使用cin,cout,须调用iostream 库,否则编译出错
#include<cstdlib>         // 使用system( )调用cstdlib库
using namespace std;  //在C语言中要省略,例如在VC++和TC++中
int main()                      //有的C语言可用void main(),例如TC++和VC++
{
	cout<<"Hello  World!"<<endl;   //输出"Hello World!" 
	return 0;                  //结束整个程序
}
运行结果:
   Hello World!

【说明】:

1、以“//”开头为注释行,“//”后的内容用以对语句进行说明,输入程序时可以不输入。                       

2、#include<iostream> 告诉编译器的预处理器将输入输出流的标准头文件(iostream)包括在本程序中。 这个头文件包括了C++中定义的基本标准输入输出程序库的声明。                                         

3、using namespace std 使用std(标准)名字空间的意思。所谓的名字空间是标准C++中的一种机制,用来 控制不同类库的冲突问题。使用它可以在不同的空间内使用相同名字的类或者函数。                                                                                                                                                         

4、int main( ) 这一行为主函数(main function)的起始声明。main()是所有C++程序的运行的起始 点。不管它是在代码的开头,结尾还是中间,此函数中的代码总是在程序开始运行时第 一个被执行。所有C++程序都必须有一个main(),int main()前int在Dev  C++中可省略, 在TC++和VC++中最好保留。 main后面跟了一对圆括号( ),表示它是一个函数。C++中所有函数都跟有一对圆 括号( ),括号中可以有一些输入参数。注意,圆括号中即使什么都没有也不能省略。 如例题中显示,主函数main()中的内容,由一对花括号{ }括起来。                                                                       

5、cout << "Hello World!"<<endl 这个语句在本程序中最重要。 cout是一个输出语句,告诉计算机把引号之间的字符 串送到标准的输出设备(屏幕)上。cout 的声明在头文件iostream中,所以要想使用cout 必须将头文件iostream包括在程序开始处。endl是C++语言的换行控制符,表示内容输出 后换行显示后续的内容。                                                                                                 

 6、system("pause")          在4.99以前版本的Dev-C++环境下,为了查看程序运行结果,需要在main函数的return 0语句前加上:system("pause"); 这样程序运行到该语句时,结果显示屏幕将会停留,让大家有时间看程序的输出结果,否则结果显示屏幕将会一闪而过。在4.99之后的版本可不必加该语句,运行结束后结果显示屏幕将自动停留。                                                                         

7、return 0       主函数main( )的返回语句,一般是函数的最后一条可执行语句。main()函数末尾使用return语句时,数值0表示程序顺利结束,其他数表示有异常。在后面的例子中你会看到C++程序都以类似的语句结束。                                                                                                             

在C++中,语句的分隔是以分号“;”为分隔符的,分行写代码只是为了更方便人阅读。

C++语言系统的使用

       Dev-C++是一个可视化集成开发环境,可以用此软件实现C/C++程序的编辑、预处理/编译/链接、运行和调试。现在介绍Dev-C++常用的一些基本操作,每一位同学都要掌握。

一.启动Dev-C++

1. 鼠标点击任务栏中的“开始”按钮,选“程序”菜单项,然后选“程序”下的子菜单项“Bloodshed Dev-C++”项,显示该项下的子菜单。          2. 方法一:单击”Dev-C ++”菜单项,即可启动Dev-C ++集成开发工具。(如图所示)                                                                                     方法二:直接双击桌面上的Dev-C++的图标。                                                                                   

 二、新建源程序

1)从主菜单选择“文件” 〉“新建” 〉“源代码”即可(如图所示)。

图5

2).此时屏幕右下侧出现一片白色区域,称为“源程序编辑区域” ;可以在此输入程序。如图所示。

注意:       1.必须在英文输入环境下编辑程序(如果你当前能在程序编辑区输入中文,说明你是在中文输入环境下。为了输入程序,你必须切换到英文输入环境下)。                                                                                                                                                                                      2.在4.99以前的版本的Dev-C++环境下,为了查看程序运行结果,需要在main函数的return语句前加上:system("pause")或getchar( ),这样程序运行到该语句时,结果显示屏幕将会停留,让大家有时间看程序的输出结果。否则结果显示屏幕将会一闪而过。在4.99之后的版本可不必加该语句,运行结束后结果显示屏幕将自动停留。

三、 保存源程序到硬盘

        一个好的习惯是创建了一个新程序后,在还未输入代码之前先将该程序保存到硬盘某个目录下,然后在程序的编辑过程中经常性地保存程序,以防止机器突然断电或者死机。要保存程序,只需从主菜单选择“文件”—〉”保存”就可以将文件保存到指定的硬盘目录。如图所示。

       此时会弹出一个对话框。在此你需要指定文件要存放的磁盘目录(例如: D:\temp),自定文件名称(例如:ex1)以及保存类型。在点击右下角的保存按钮后,在D盘上的temp目录下将会出现一个名为ex1.cpp的源文件。

四、编译、运行

编译:从主菜单选“运行”—〉“编译运行”或快捷键“F9”,如图。如果程序中存在词法、语法等错误,则编译过程失败。 

                                   

编译器会在屏幕右下角的“Compile Log”标签页中显示错误信息,如图所示,并且将源程序相应的错误行标成红色底色。

五、调试程序 

1.设置程序断点                                                                                                                                                                                                         

       通过预处理、编译和链接的程序仅仅是该程序中没有词法和语法等错误,而无法发现程序深层次的问题(譬如算法不对导致结果不正确)。当程序运行出错时,需要找出错误原因。仔细读程序来寻找错误固然是一种方法,但是有时光靠读程序已经解决不了问题,此时需要借助于程序调试(Debug)手段。这是一种有效的排错手段,每一位同学都需要掌握。                                                   如果想让程序运行到某一行前能暂停下来,就需要将该行设成断点。具体方法是在代码所在行行首单击,该行将被加亮。默认的加亮颜色是红色。                                                                                如果想取消不让某行代码成为断点,则在代码行首再次点击即可。

2.运行程序                                                                                                                                                                                                             

        设置断点后,此时程序运行进入debug状态。要想运行程序,就不能使用主菜单“Execute”->“Run”,而是需要用主菜单“Debug”—〉“Debug”(或者按快捷键F8),如图所示。

3.单步执行程序                                                                                                                                                                                                         

     要想运行蓝色底色的代码,可以使用图14所示的“Next Step( F7)”、“Step Into(Shift F7)”、“Continue(Ctrl F7)”,“Run to Cursor(Shift F4)”等(具体含义见下面的介绍)。在学习函数之前,一般用的是Next Step和Continue。学习函数后,还会用到Step Into。                                                                                                                                                                                              4.设置watch窗口                                                                                                                                                                                                 

       在调试程序时,可能要看程序运行过程中变量的值,以检测程序对变量的处理是否正确,可以在调试时通过调试菜单下的添加变量(Add Watch)窗口来增加变量watch,新增的变量将会显示在最左边Explore的Debug页中。如果左边Explore中的当前页不是Debug页,则可以点击Debug标签使之成为当前页。

总结

还没有下载的小伙伴们可以私我拿到免费安装包,和我一起学习C++吧。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为ensp实现防火墙的区域管理与用户认证

实验环境 基于该总公司内网&#xff0c;实现图片所在要求 后文配置请以本图为准 接口配置与网卡配置 1、创建vlan 2、防火墙g0/0/0与云页面登录 登录admin,密码Admin123&#xff0c;自行更改新密码 更改g0/0/0口ip&#xff0c;敲下命令service-manage all permit 网卡配置…

什么是平值、实值、虚值期权合约?有哪些区别?

今天带你了解什么是平值、实值、虚值期权合约&#xff1f;有哪些区别&#xff1f;期权按执行价格与标的物市价的关系可分为实值期权、平值期权和虚值期权。 平值期权、实值期权和虚值期权是描述期权合约相对于标的资产当前价格的位置的术语&#xff1a; 1.平值期权&#xff0…

11计算机视觉—语义分割与转置卷积

目录 1.语义分割应用语义分割和实例分割2.语义分割数据集:Pascal VOC2012 语义分割数据集预处理数据:我们使用图像增广中的随机裁剪,裁剪输入图像和标签的相同区域。3.转置卷积 上采样填充、步幅和多通道填充步幅多通道转置卷积是一种卷积:重新排列输入和核转置卷积是一种卷…

14-62 剑和诗人36 - 混合专家 (MoE) 扩展 AI 视野

了解混合专家 (MoE) 混合专家 (MoE) 是一种机器学习技术&#xff0c;它将多个“专家”神经网络模型组合成一个更大的模型。MoE 的目标是通过组合专业专家&#xff08;每个专家专注于不同的子领域&#xff09;来提高 AI 系统的准确性和能力。 MoE 模型的一些关键特征&#xff1…

Golang | Leetcode Golang题解之第225题用队列实现栈

题目&#xff1a; 题解&#xff1a; type MyStack struct {queue []int }/** Initialize your data structure here. */ func Constructor() (s MyStack) {return }/** Push element x onto stack. */ func (s *MyStack) Push(x int) {n : len(s.queue)s.queue append(s.queu…

Linux笔记之使用系统调用sendfile高速拷贝文件

Linux笔记之使用系统调用sendfile高速拷贝文件 code review! 文章目录 Linux笔记之使用系统调用sendfile高速拷贝文件sendfile 性能优势sendfile 系统调用优点&#xff1a;缺点&#xff1a; cp 命令优点&#xff1a;缺点&#xff1a; 实际测试&#xff1a;拷贝5.8个G的文件&a…

14-63 剑和诗人37 - 分布式系统中的数据访问设计

​​ 在分布式系统中,跨服务和数据库提供统一、可靠的数据访问至关重要,但又极具挑战性。微服务和数据库的拓扑结构为分布、缓存、复制和同步带来了复杂性。 让我们探索有助于解决这些复杂性并简化构建强大、高性能分布式系统的常见数据访问模式。 概述 我们将通过示例介绍…

苹果手机抹机(马来西亚)操作步骤

苹果手机抹机&#xff08;马来西亚&#xff09;操作步骤 操作环境操作步骤 操作环境 苹果6s&#xff0c;没有插卡&#xff0c;就连接上了一个wifi 操作步骤

领取serv00免费虚拟主机

参考 ‍ 教程地址【免费serv00虚拟机SSH登录搭建网站】 ‍ 领取地址 ​​ 领到了 ​​ SSH登录要魔法&#xff0c;网页登录不用 ​​ 轻松搭建自己的静态网站 ​​ ‍ soulio.serv00.net 网页加载速度还可以。 ​​ ‍ ‍

Qt/QML学习-定位器

QML学习 定位器例程视频讲解代码 main.qml import QtQuick 2.15 import QtQuick.Window 2.15Window {width: 640height: 480visible: truetitle: qsTr("positioner")Rectangle {id: rectColumnwidth: parent.width / 2height: parent.height / 2border.width: 1Col…

Django 框架下的media和static静态文件

Django有两种静态文件 static&#xff1a; 静态文件夹&#xff0c;存放CSS,JS,网站的一些图片等静态资源&#xff0c;为Templates下的html页面提供的。static是不会变化的 media&#xff1a;媒体文件夹&#xff0c;存放网站中用户所相关的一些文件&#xff0c;比如说用户的图片…

杜比全景声——空间音频技术

什么是杜比&#xff1f;是否是标清、高清、超清之上的更清晰的格式&#xff1f;杜比全景声 和传统多声道立体声的差别&#xff1f;杜比全景声音频的渲染方式&#xff1f;车载平台上杜比技术的应用&#xff1f; 杜比技术的起源 杜比实验室&#xff08;Dolby Laboratories&…

SpringBoot使用RedisTemplate、StringRedisTemplate操作Redis

前言 RedisTemplate 是 Spring Boot 访问 Redis 的核心组件&#xff0c;底层通过 RedisConnectionFactory 对多种 Redis 驱动进行集成&#xff0c;上层通过 XXXOperations 提供丰富的 API &#xff0c;并结合 Spring4 基于泛型的 bean 注入&#xff0c;极大的提供了便利&#x…

【计算机网络03】不花钱怎么搭建一个网络实验室

使用GNS3和虚拟机搭建网络实验室 1、安装抓包工具分析数据包2、定义和使用抓包筛选器3、安装和配置GNS34、配置路由器和VPCS5、使用WireShark捕获GNS3网络数据包6、VMware创建虚拟机7、使用思科PacketTracer 1、安装抓包工具分析数据包 官网安装wireshark&#xff1a;https://…

LLM大模型应用中的安全对齐的简单理解

LLM大模型应用中的安全对齐的简单理解 随着人工智能技术的不断发展&#xff0c;大规模语言模型&#xff08;如GPT-4&#xff09;的应用越来越广泛。为了保证这些大模型在实际应用中的性能和安全性&#xff0c;安全对齐&#xff08;Safe Alignment&#xff09;成为一个重要的概…

Nginx中文URL请求404

这两天正在搞我的静态网站。方案是&#xff1a;从思源笔记Markdown笔记&#xff0c;用MkOcs build成静态网站&#xff0c;上传到到Nginx服务器。遇到一个问题&#xff1a;URL含有中文会404&#xff0c;全英文URL则正常访问。 ‍ 比如&#xff1a; ​​ ‍ 设置了utf-8 ht…

时序分解 | Matlab基于ESMD极点对称模态分解

时序分解 | Matlab基于ESMD极点对称模态分解 目录 时序分解 | Matlab基于ESMD极点对称模态分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 ESMD&#xff08;Extreme-point Symmetric Mode Decomposition&#xff09;是一种信号分解方法&#xff0c;用于提取信号中的模…

AC修炼计划(AtCoder Regular Contest 180) A~C

A - ABA and BAB A - ABA and BAB (atcoder.jp) 这道题我一开始想复杂了&#xff0c;一直在想怎么dp&#xff0c;没注意到其实是个很简单的规律题。 我们可以发现我们住需要统计一下类似ABABA这样不同字母相互交替的所有子段的长度&#xff0c;而每个字段的的情况有&#xff…

LoRaWAN网络协议Class A/Class B/Class C三种工作模式说明

LoRaWAN是一种专为广域物联网设计的低功耗广域网络协议。它特别适用于物联网&#xff08;IoT&#xff09;设备&#xff0c;可以在低数据速率下进行长距离通信。LoRaWAN 网络由多个组成部分构成&#xff0c;其中包括节点&#xff08;终端设备&#xff09;、网关和网络服务器。Lo…

web后端开发--请求响应

目录 前言 请求 简单参数 原始方法 Spring方式 Post请求乱码处理 实体参数 简单实体参数 复杂实体参数 ​编辑 数组集合参数 数组参数 ​编辑 集合参数 日期参数 ​编辑 Json参数 ​编辑 传递json数据 json数组 json对象&#xff08;POJO&#xff09; jso…