C/C++知识总结 二 C/C++基础知识
C/C++基础知识
- C/C++基本格式说明
- C/C++基本常识说明
C/C++基本格式说明
C语言基本格式
#include<stdio.h> //预处理文件
int main() //自定义且必须定义的mani()函数——为程序开始运行的入口
{
scanf(); //基本输入函数
printf(); //基本输出函数
return 0; //函数结束标志
}//两个{}对应的大括号为main函数的作用范围
注意:这里的#include< >为预编译处理指令,而stdion.h则是编译系统提供的一个库文件,里边有许多函数所需要的的定义(如:scanf和print函数)、以及使用这些定义所包含的信息,因此要想使用这些函数就必须包含 #include<stdio.h>,这样编译器在编译时就会把函数定义等放到取代#include<stdio.h>的位置上。
注意:程序中的 int main(){ }本质就是一个函数,它是程序的入口,可以通过这个函数去调用其它的函数、自定义的“类”等功能。
C++基本格式
#include<iostream> //预处理文件
int main()
{
using namespace std; //声明使用名称空间std,因为名称空间std中
int a; //声明一个int类型的a变量
cin>>a; //cin输入”类对象“,向a变量中输入值
cout<<"Hollow word!";“输出类对象”,输出Hollow word!到屏幕
return 0; //函数结束标志,大量的
}
C、C++格式关联
- 预处理文件方面:
iostream标准文件库包含了stdio.h文件库而且还有c++特有的内容,注意iostream与iostream.h的区别
- 输入输出方面:
C语言中用scanf(),printf()函数来输入输出,而C++则用cin,cout类对象来输入输出。
C/C++基本常识
常识:
程序的输入输出:指的是以“程序”为对象(参照)),输入指的是从输入源(如键盘、文件)输入数据到程序;输出指的是从程序产生的数据发送到输出源(如屏幕、文件)
C/C++程序的编译其实主要有几个阶段:1.编译预处理(包括include头文件的复制,宏定义的展开处理等等),2.把预处理后的文件经过语法(syntax)分析和语义(sematics)分析之后生成汇编文件,3.然后再利用汇编器和链接器(链接上动态链接库,插入静态链接库代码等等)生成可执行文件,比如Linux下就是elf格式的文件。
标准库的头文件用尖括号 < > 括起来,非标准库的头文件用双引号 ” ” 括起来。
对象是内存中具有类型的区域。
在C++中,初始化和赋值是两种不同的操作。
内置类型变量在任何函数外如不初始化,系统都会初始化为0,在函数体内如不初始化则可能发生错误(除了用作左操作数)。
有些类类型有默认构造函数,因此定义其对象时可以不显式地提供初始化。
在 C++ 语言中,变量必须且仅能定义一次,而且在使用变量之前必须定义或声明变量,声明变量不分配内存,因此声名不初始化,若声明同时初始化则视为定义。
scanf() 函数用于从标准输入(键盘)读取并格式化, printf() 函数发送格式化输出到标准输出(屏幕)。 scanf()函数原型为int scanf( char const* const _Format, …),printf()函数原型为int printf(char const* const _Format, …)。 scanf()和printf()是格式化输入通过%d,%s,%c等限定输入/输出的类型及格式,因此书写需要格外注意格式和类型,scanf()后面的变量需要取变量的地址。
c++里面没有专门的输入与输出,使用I/O流类来实现
#include
插入操作符”<<“向标准输出流cout中插入字符(cout是basic_ostream类的对象)
抽取操作符”>>“从标准输入流cin中抽取字符(cin是istream类的对象)
cin,cout 在终端I/O处理(键盘)
约定:
- 变量名,函数名和数据类型名等用小写字母
- 自定义的类型名(如类)、符号常量名及宏用大写字母
- 下划线开头的名字常为系统函数(库函数)用户一般不用
C/C++知识总结 二 C/C++基础知识的更多相关文章
- 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句
salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...
- Shell编程(二)——shell的基础知识及常用命令
shell的基础知识 一.bash有以下特点: 1.记录命令历史 2.指令和文件名补全 3.别名 alias rm='rm -i' 4.通配符 * 0个或多个字符 ?匹配一个字符 5 输入输出重定向 ...
- elastic search&logstash&kibana 学习历程(二)es基础知识
简介:es的index索引,document文档对象,副本,多节点集群等基础知识 1.通俗的解释: 在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中 ...
- java中的二维数组基础知识
二维数组基本知识,毕竟常见的有:概念,初始化,遍历 概念: 理解二维数组,首先要先理解一维数组是什么.一维数组是个容器,存储相同数据类型的容器(这里不再做一位数组的具体介绍).二维数组就是用来存储一维 ...
- PHP基础入门(二)---入门基础知识必备
前言 在上一章中,我们初步了解了PHP的网页基础和PHP的入门基础,今天继续给大家分享更多有关PHP的知识. 理论知识看起来可能比较枯燥一些,但是我们的实践(敲代码)毕竟离不开它. 只有理论与实践相结 ...
- salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句
salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex语言和java很多的语法类似,今天总结的是一些简单的Apex的变量等知识. 有如下几种常 ...
- R语言实战(二)——数据分析基础知识
一.R中数据结构 1.数据集 通常是由数据构成的一个矩形数组,行 表示 观测(记录.示例),列 表示 变量(字段.属性) 2.R中的数据结构 3.向量 c()可以用来创建向量 > a <- ...
- RabbitMQ框架构建系列(二)——RabbitMQ基础知识介绍
上一篇记录了一下AMQP协议,RabbitMQ是一个Erlang开发的AMQP协议的开源实现.这一篇简单的介绍一下RabbitMQ的基本原理. 一.RabbitMQ的特点 1.可靠性:RabbitMQ ...
- python学习笔记(二)python基础知识(交作业)
交作业 #!/usr/bin/env python # coding: utf-8 # # 1. 每个用户购买了多少不同种类的产品 # filename = 'train.txt' import sy ...
随机推荐
- java异常和throw和throws的区别
之前在编程中编译完成后,运行时,会遇见一些常见的错误,如NullPointerException,ArrayIndexOutOfBoundsException等等 在今天重新回顾学习了java异常,总 ...
- 内网渗透之权限维持 - MSF与cs联动
年初六 六六六 MSF和cs联动 msf连接cs 1.在队伍服务器上启动cs服务端 ./teamserver 团队服务器ip 连接密码 2.cs客户端连接攻击机 填团队服务器ip和密码,名字随便 ms ...
- 编译 AR9271 wifi 网卡固件 htc_9271.fw
下载最新的固件源码https://github.com/qca/open-ath9k-htc-firmware/archive/1.4.0.zip得到 open-ath9k-htc-firmware- ...
- web安全测试--环境搭建
本博客主要作为作者的学习笔记,请勿装载. 作为一个安全测试的入门选手,一切操作在虚拟机中进行是最保险的. 第一先下载自己喜欢的虚拟机,我的笔记本用的VirtualBox(下载地址:https://ww ...
- mysql实现读写分离
MySQL读写分离概述 1.读写分离介绍 对于目前单机运行MySQL服务.会导致MySQL连接数过多.最终导致mysql的宕机.因此可以使用多台MySQL服务器一起承担压力.考虑到项目中读写比例的不一 ...
- Html的总结(待完善)
Html的总结(待完善) 框内文字 Placeholder 框内文字(例如:请输入密码) A标签 link 未点击的A标记 visited 点击过的A标签 hover 放置鼠标变颜色 active 点 ...
- linux环境下安装可操作图库语言Gremlin的图框架HugeGraph
原创/朱季谦 图数据库是一项比较前沿而逐渐热门的技术,是NoSql数据库的一种,它应用图形理论存储实体之间的关系信息,最主要的组成有两种,结点集和连接结点的边.常见的图数据库有Neo4j,Januas ...
- Python程序设计试验报告一: 熟悉IDLE和在线编程平台
安徽工程大学 Python程序设计 实验报告 班级 物流192 ...
- 第三届上海市大学生网络安全大赛 流量分析 WriteUp
题目链接: https://pan.baidu.com/s/1Utfq8W-NS4AfI0xG-HqSbA 提取码: 9wqs 解题思路: 打开流量包后,按照协议进行分类,发现了存在以下几种协议类型: ...
- Natas0 Writeup(前端源码、敏感信息)
Natas0: 提示密码就在本页,右键查看源码,注释中发现flag. flag:gtVrDuiDfck831PqWsLEZy5gyDz1clto 总结:客户端代码注释中切勿保存敏感信息.