C++学习day--02 C++语法规则

news2024/9/23 23:33:48

1、回顾

通过第一天的学习,我们搭建好了开发环境,并打印了你好,现在做一个案例:自己跟着敲写出来:

#include <iostream>
#include <Windows.h>
int main(void) {
std::cout << "1.网站 404 攻击" << std::endl;
std::cout << "2.网站篡改攻击" << std::endl;
std::cout << "3.网站攻击记录" << std::endl;
std::cout << "4.DNS 攻击" << std::endl;
std::cout << "5.服务器重启攻击" << std::endl;
system("pause");
return 0;
}

这是个小练习,学一个知识点,就练习一个知识点。

怎么运行呢?

执行方式 1(开发时使用)

使用调试模式执行:

 选择 Debug 模式(默认), 再单击按钮

执行方式 2 

直接双击运行调试模式下的可执行文件:

执行方式 3

使用发布模式:

 执行方式 4

直接运行发布模式下编译后的可执行文件:

发布模式和调试模式的区别
调试模式中会生成很多调试信息,便于排查错误,但是对执行效率有影响。
确认程序正确后,使用发布模式生成可执行文件

2、C/C++语法规则

原始的规则:
1. 各“语法单位”(组成部分)使用任意个(至少 1 个)分隔符隔开。
分隔符有:空格,或 tab 键,或换行符。
int main(void)
int
main(void) 都是合法的。
intmain(void) 是非法的
2. 必须使用英文输入法输入 (仅双引号括起来的“字符串”中可使用中文)
3. 每条代码的后面使用 ;表示这个指令代码结束。
4. #include 等预处理指令 , 必须一条指令占一行
其他规则不需记忆,在后面的项目实践中掌握。
以下代码也能编译运行 .

 这样的代码很难阅读,因此学习时,建议按照标准的风格来写。如下面这个代码是一个比较规范的风格:

无论如何,只要遵循最基本的原则, 代码就是合法的, 就能编译执行.
懂得最基本的规则之后, 再追求优雅风格的代码(高逼格风格)
再次强调:
不要刻意记忆 C++的语法规则(记也没有意义)
初学时,仅掌握最基本的语法规则即可!

3、头文件的使用

程序如戏 ,程序中有很多元素(std::cout, system), 都是一个个演员 。但是他们之间都互不认识, 但是却要一起合作, 强行编译 , 就会导致错误 ! 得预先介绍他们, 知道他们各自的名号和用法。
解决方案 :
包含相应的头文件 ! ( 头文件中 , 含有相关元素的介绍说明 )
std::cout
头文件 : iostream
system
头文件 : Windows.h
#include <Windows.h> 表示把文件 Windows.h 中的所有内容拷贝 ( 复制 ) 到“这里”

 头文件查找路径

#include <Windows.h>
<>表示,从编译器默认的路径中去找文件 stdio.h
这个默认路径,取决于编译器。不同平台下不同编译器的路径都不相同。
这个默认路径下,已经包含了 c 标准库所需要的所有头文件。
使用 C++ 标准库的头文件使用该方式。
#include “mytest.h”
" "表示从当前目录下寻找文件 mytest.h
如果在当前目录下找不到,再从编译器默认的路径中查找。
使用用户自定义的头文件使用该方式。

头文件的位置:

要求放在文件的最前面。
#include  的作用是,把相关的声明拷贝到这个文件内,
所以都习惯把#include 放到文件的最前面。
如果放到后面,当 include 之前出现了相关的函数,就会有问题,例如:

 发生编译错误。

4、程序从哪里开始执行?

人生,就是一个程序。在不同的阶段,做不同的事。 每件事,就是一个函数。每个人的人生都不相同, 以不同的顺序,做不同的事(相当于调用不同的“函数”), 但是都是从“出生”开始。程序也一样, 在C++、C、java程序中,默认从main函数开始执行。大多数语言都是从main函数处开始执行。
main函数的要求:
1. 返回类型
2. 参数
3. 返回值
main函数的作用:
1、main 函数是程序的唯一入口。
2、也就是说,程序运行时,首先从 main 函数开始执行。
3、一个程序,必须要有一个 main 函数,而且也只能有一个 main 函数
main函数的格式:
格式 1
int main(void) {
}
格式 2
具体用法在后面的函数部分,再详细讲解
int main(int argc , char* argv) {
}

 main 函数的返回:

main 函数应该用 return 返回一个 int 类型数据,也就是说,必须返回一个整数。 一般用法:
程序成功结束,则 main 函数返回 0
程序有异常,则返回一个大于 0 的整数。

 使用其他函数:

真正强大的人,总是善于使用各种资源。 使用已有的函数,来完成自己的工作,而不是一切都由自己来实现。 IT 格言:不要重复制造轮子 ---《人月神话》 , 解读:尽可能使用已经开发好的函数。 有哪些“其它函数”?
1)  C 标准库
2 C++ 标准库
3 )第三方开源框架
4 )公司内已经开发好的函数
5 )程序员自己定义的函数

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

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

相关文章

SPSS如何进行相关分析之案例实训?

文章目录 0.引言1.双变量相关分析2.偏相关分析3.距离分析 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对SPSS进行了学习&#xff0c;本文通过《SPSS统计分析从入门到精通》及其配套素材结合网上相关资料进行学习笔记总结&#xff0c;本文对相关分析进行阐述。 1.双…

ubuntu(22.04)--常用命令(2)-awk-sed-find-cut-xargs-grep-curl-tee-wc-sort

1.awk 它逐行处理数据&#xff0c;特别适用于从文件中提取特定的数据。例如&#xff0c;您可以使用以下命令从CSV文件中提取数据的第一列&#xff1a; #1.awk awk -F , {print $1} linuxmi.csv#指定分割符#第一列# 待处理文件$ awk [options] [file] #1.打印第2列awk ‘{pr…

IPC<进程间通信>之共享内存-源代码在结尾处

一&#xff0c;什么是共享内存 共享内存是进程间通信的一种方式&#xff0c;相较于传统的管道和命名文件的通信方式&#xff0c;shared memory是最快的一种方式&#xff0c;但是他也有一定的缺陷&#xff0c;下面再谈。 共享内存区是最快的IPC形式。一旦这样的内存映射到共享…

从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)

目录 0. 引入6个默认成员函数 1. 构造函数&#xff08;默认成员函数&#xff09; 1.1 构造函数的概念 1.2 构造函数的特性和用法 1.3 默认构造函数 2. 析构函数&#xff08;默认成员函数&#xff09; 2.1 析构函数概念 2.2 析构函数特性 3. 拷贝构造函数&#xff08;默认成员函…

附录2-购物车案例

目录 1 效果 2 接口数据 3 App.vue 4 HEADER.vue 5 COUNT.vue 6 GOODS.vue 7 FOOTER.vue 1 效果 由四种子组件和一个App.vue构成 2 接口数据 返回结果如下 {"status": 200,"message": "获取购物车列表数据成功&#xff01;",&q…

idea中的debug操作详解

行断点 默认模式 方法断点 菱形&#xff0c;加在方法前&#xff0c;用的比较多的地方&#xff1a;加在接口前会进入这个接口的实现类。 异常断点 如果说你的程序抛了某个异常&#xff0c;你需要知道在哪里抛出的&#xff0c;可以直接设置异常断点&#xff0c;设置后程序会…

Shell脚本之循环语句(for、while、until)

目录 一、echo命令二 for循环语句三 while循环语句结构(迭代&#xff09;四. until 循环语句结构五.continue和break和exit 一、echo命令 ?echo -n 表示不换行输出 echo -e 输出转义字符&#xff0c;将转义后的内容输出到屏幕上 常见转义字符&#xff1a; 二 for循环语句 用法…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置自动亮度调整BrightnessAuto(自动曝光自动增益)(C++)

自动亮度调整项目场景 Baumer工业相机堡盟相机是一种高性能、高质量的工业相机&#xff0c;可用于各种应用场景&#xff0c;如物体检测、计数和识别、运动分析和图像处理。 Baumer的万兆网相机拥有出色的图像处理性能&#xff0c;可以实时传输高分辨率图像。此外&#xff0…

北斗哨兵北斗短报文远程监控系统解决方案

一、项目背景 随着社会发展各行各业都会遇到各种各样的安全问题&#xff0c;监控系统作为安防的第一线安防设备也已广泛部署&#xff0c;然而地处偏僻的监控区域往往面临着难以提供电力供应以及网络供应的问题&#xff0c;类似于山区环境监测&#xff0c;工地监测等复杂的环境布…

Web自动化测试流程:从入门到精通,帮你成为测试专家

B站首推&#xff01;2023最详细自动化测试合集&#xff0c;小白皆可掌握&#xff0c;让测试变得简单、快捷、可靠https://www.bilibili.com/video/BV1ua4y1V7Db 目录 摘要&#xff1a; 步骤一&#xff1a;选取测试工具 步骤二&#xff1a;编写测试用例 步骤三&#xff1a;编…

5月4号软件资讯更新合集.....

&#x1f680; Layui 2.8.2 发布 更新日志 table 修复 autoSort: true 时&#xff0c;更改 table.cache 未同步到 data 属性的问题 修复 多级表头存在 hide 表头属性时&#xff0c;执行完整重载可能出现的错位问题 修复 未开启 page 属性时底边框缺失问题 优化 打印内容中…

大型游戏剧本杀小程序app

大型游戏剧本杀小程序的发展趋势主要表现为以下几个方面&#xff1a; 社交互动&#xff1a;未来大型游戏剧本杀小程序将会更加注重社交互动&#xff0c;为用户提供更多的沟通方式和社交场景&#xff0c;以增强玩家间的互动和参与感。 智能化和AR/VR技术应用&#xff1a…

网络基础项目——全网互通实验

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 前言 本章将会讲解网络基础项目——全网互通实验。 一.实验项目图 二.实验要求 1.全网互通,所有PC机能访问服务器(ping)2.路由器…

DA-Net:用于视网膜血管分割的双分支Transformer和自适应条带上采样

文章目录 DA-Net: Dual Branch Transformer and Adaptive Strip Upsampling for Retinal Vessels Segmentation摘要本文方法整体框架Transformer LayerAdaptive Strip Upsampling Block 实验结果消融实验 DA-Net: Dual Branch Transformer and Adaptive Strip Upsampling for R…

【Python习题集6】类与对象

类与对象 一、实验内容二、实验总结 一、实验内容 1.设计一个Circle类来表示圆&#xff0c;这个类包含圆的半径以及求面积和周长的函数。在使用这个类创建半径为1~10的圆&#xff0c;并计算出相应的面积和周长。 半径为1的圆&#xff0c;面积: 3.14 周长: 6.28 半径为2的圆&am…

【虹科案例】虹科任意波形发生器板卡在声场模拟实验中的应用

声场模拟实验介绍 声场模拟实验是一种通过模拟不同环境下的声场特征来模拟真实世界中声音传输情况的实验方法。通过模拟不同环境下的声场特征&#xff0c;如空间分布、强度、频率等&#xff0c;来模拟真实世界中的声音传输情况&#xff0c;从而对声学相关问题进行研究。 在声…

Java集合框架知识总结

前言 Java集合框架主要由两个接口及其下面的实现类构成&#xff0c;这两个接口分别是Map接口和Collection接口&#xff0c;下面先通过其对应的UML类图看下这两个接口的具体实现&#xff0c;如下 1、Map接口 Map接口的主要实现有我们熟悉的HashMap、HashTable以及TreeMap、Con…

信息技术发展

OSI网络标准协议 物理层&#xff1a;联网的媒介 RS232 FDDI 数据链路层: 网络层接收到的数据分割成可被物理层传输的帧 IEEE802.3/.2 ATM 网络层&#xff1a;网络地址翻译成对应的物理地址&#xff0c;路由 IP ICMP IGMP IPX ARP 传输层&#xff1a;端到端的错误恢复和流量控制…

轻松提升投标技术分?smardaten高性价比原型服务受热捧

日前&#xff0c;某个交通领域的软件公司A遇到了难题&#xff0c;十多个在跟的项目需要在一个月内完成投标准备工作。 应用软件“强甲方需求”的大环境下&#xff0c;A公司又陷“投标高峰期”。 更具挑战性的是&#xff0c;其中&#xff0c;有5个项目要求应标企业提供真实系统的…

一文介绍Linux EAS

能量感知调度&#xff08;Energy Aware Scheduling&#xff0c;简称EAS&#xff09;是目前Android手机中Linux线程调度器的基础功能&#xff0c;它使调度器能预测其决策对CPU能耗的影响。依靠CPU的能量模型&#xff08;Energy Model&#xff0c;简称EM&#xff09;&#xff0c;…