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. python数据分析工具 | numpy

    Python中没有提供数组功能,虽然列表可以完成基本的数组功能,但并不是真正的数组,而且在数据量较大时,使用列表的速度回非常慢.因此,Numpy提供了真正的数组功能,以及对数据进行快速处理的函数.Nu ...

  2. GitHub 热点速览 vol.10:疫情下的 GitHub

    作者:HelloGitHub-小鱼干 摘要:如果说上周的 GitHub 是股市附体 star 低迷不振,那么本周的 GitHub 像极了受到疫情影响而未开学的高校们,新生 GitHub 项少,能上 G ...

  3. python opencv Sobel、Laplace、canny算子的边缘提取 以及参数解析

    前提:各种算子不完全区分好坏,但根据我实际操作分析得到,有的算子之间效果大相径庭,但有的也很相似,也就是各有各的用法,这里按 Sobel.Laplace.canny三种算子作比较,看其结果: 一.  ...

  4. js 实现简易留言板功能

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. vuex 业务使用

    1 创建变量 cityVuex.js export default { state: { cityArr: [] }, mutations: { setCityArr (state, arr) { s ...

  6. 页面高度自适应方法(PC、移动端都适用)

    有个项目移动端的首页需要自适应. 宽度已经自适应了 , 高度也要自适应 ,先总结一下方法,PC端也适用. $(function(){ var h = window.innerHeight; $(&qu ...

  7. MySQL 【教程二】

    MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: # CREATE TABLE table_name (c ...

  8. atomic的底层实现

    atomic操作 在编程过程中我们经常会使用到原子操作,这种操作即不想互斥锁那样耗时,又可以保证对变量操作的原子性,常见的原子操作有fetch_add.load.increment等. 而对于atom ...

  9. Vulnhub 靶场 Os-hackNos WP

    About Os-hackNos 描述 Difficulty : Easy to Intermediate Flag : 2 Flag first user And second root Learn ...

  10. jenkins-gitlab-harbor-ceph基于Kubernetes的CI/CD运用(一)

    注:这部分的学习还是要靠自己多点点 多尝试尝试 这部分19年3月份我是玩的很溜的,一年没用,基本忘光光了. 学习要温故而知新! 流程拓扑图 前提准备 部署应用服务 部署kubernetes 集群:ht ...