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++基础知识的更多相关文章

  1. 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

    salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...

  2. Shell编程(二)——shell的基础知识及常用命令

    shell的基础知识 一.bash有以下特点: 1.记录命令历史 2.指令和文件名补全 3.别名 alias rm='rm -i' 4.通配符 * 0个或多个字符 ?​匹配一个字符 5 输入输出重定向 ...

  3. elastic search&logstash&kibana 学习历程(二)es基础知识

    简介:es的index索引,document文档对象,副本,多节点集群等基础知识 1.通俗的解释: 在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中 ...

  4. java中的二维数组基础知识

    二维数组基本知识,毕竟常见的有:概念,初始化,遍历 概念: 理解二维数组,首先要先理解一维数组是什么.一维数组是个容器,存储相同数据类型的容器(这里不再做一位数组的具体介绍).二维数组就是用来存储一维 ...

  5. PHP基础入门(二)---入门基础知识必备

    前言 在上一章中,我们初步了解了PHP的网页基础和PHP的入门基础,今天继续给大家分享更多有关PHP的知识. 理论知识看起来可能比较枯燥一些,但是我们的实践(敲代码)毕竟离不开它. 只有理论与实践相结 ...

  6. salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

    salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex语言和java很多的语法类似,今天总结的是一些简单的Apex的变量等知识. 有如下几种常 ...

  7. R语言实战(二)——数据分析基础知识

    一.R中数据结构 1.数据集 通常是由数据构成的一个矩形数组,行 表示 观测(记录.示例),列 表示 变量(字段.属性) 2.R中的数据结构 3.向量 c()可以用来创建向量 > a <- ...

  8. RabbitMQ框架构建系列(二)——RabbitMQ基础知识介绍

    上一篇记录了一下AMQP协议,RabbitMQ是一个Erlang开发的AMQP协议的开源实现.这一篇简单的介绍一下RabbitMQ的基本原理. 一.RabbitMQ的特点 1.可靠性:RabbitMQ ...

  9. python学习笔记(二)python基础知识(交作业)

    交作业 #!/usr/bin/env python # coding: utf-8 # # 1. 每个用户购买了多少不同种类的产品 # filename = 'train.txt' import sy ...

随机推荐

  1. python3 flask shell

    python shell来操作flask flask shell 报错: from flask_bootstrap import BootstrapImportError: No module nam ...

  2. SpringBoot1.5.10.RELEASE配置mybatis的逆向工程

    在application.properties配置扫描等,不做多说 1.在pom配置文件中引入mybatis和mysql的依赖,如下: <dependency> <groupId&g ...

  3. 小程序的数据存储,与Django等服务发送请求

    目录 官方文档 快速归纳 存取改删 1.wx存储数据到本地以及本地获取数 1.1 wx.setStorageSync(string key, any data) 存(同步) 1.2 wx.setSto ...

  4. IOS手动添加的View 在代码中使用(自动布局)autoLayout

    - (void)viewDidLoad { [super viewDidLoad]; UIButton *btnTest = [UIButton buttonWithType:UIButtonType ...

  5. 实验二——Linux系统简单文件操作命令

    项目 内容 这个作业属于那个课程 这里是链接 作业要求在哪里 这里是链接 学号-姓名 17041506-张政 作业学习目标 学习在Linux系统终端下进行命令行操作,掌握常用命令行操作并能通过命令行操 ...

  6. [POI2017]bzoj4726 Sadota?

    题目描述 离线题库请 题目描述 某个公司有\(n\)个人, 上下级关系构成了一个有根树.其中有个人是叛徒(这个人不知道是谁).对于一个人, 如果他 下属(直接或者间接, 不包括他自己)中叛徒占的比例超 ...

  7. Ng-Matero V9 正式发布!

    距离 Ng-Matero 第一版发布已经过去了半年多,该项目获得了越来越多的关注及喜爱,甚至得到了外国友人的赞助.借此项目也认识了很多对 Angular 和 Material 感兴趣的朋友,如今对项目 ...

  8. Python习题集(十六)

    每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 写一个函数repl ...

  9. 【MyBatis笔记】mapper文件的配置以及说明

    <!doctype html>[MyBatis笔记]mapper文件的配置以及说明 figure:last-child { margin-bottom: 0.5rem; } #write ...

  10. maven中的pom配置文件一——spring,mybatis,oracle,jstl,json,文件上传

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...