main函数
唯一被操作系统显示调用的函数。
返回类型为int,返回值一般是一个状态指示器,0往往表示成功执行完毕,其它非0都有os指定的含义。
main函数的参数可以是空,也可以将字符串数组传入。
int main(int argc,char *argv[])
int main(int argc, char **argv)
例如:main位于prog中,执行prog -d -o ofile data0,则argv[0]=”prog”,argv[4]=”data0”。
#include <iostream> #include <assert.h> double stringToNumber(char* s); int main(int argc,char *argv[]){ assert(argc==3); double sum=0; sum=stringToNumber(argv[1])+stringToNumber(argv[2]); std::cout<<sum; return 0; } double stringToNumber(char *s){ double a=1.0,b=0.0,c=0.0; if(*s=='-'){ a=-a; s++; } assert(*s>=48&&*s<=57||*s=='.'); while(*s>=48&&*s<=57){ b=b*10.0+(*s-48); s++; } if(*s=='.'){ s++; double k=1.0; while(*s>=48&&*s<=57){ k=k*0.1; c=c+(*s-48)*k; s++; } assert(*s=='\0'); } assert(*s=='\0'); return a*(b+c); }
编译
编译与具体的os及编译器相关。
IDE将编译器及构建、相关工具绑在一起,这对开发复杂的程序非常有效。
GNU的编译命令为g++;例如:$g++ prog1.cc -o -prog1;
Visual studio的编译器命令为cl。例如:c:\directory>cl -GX prog1.cpp
输入输出
iostream库的基础是istream(输入流)和ostream(输出流)。流是指从某种IO设备上读入或者写出字符序列。
标准库定义了4个IO对象,分别是:cin(标准输入,istream对象),cout(标准输出,ostream对象),cerr(标准错误,用来输出警告和错误信息,ostream对象),clog(输出执行过程中的一般错误,ostream对象)。
*********************************************************
#include <iostream>
int main(){
int sum=0;
int value;
while(std::cin>>value)//读取整数,直到读取失败
sum+=value;
std::cout<<"sum is"<<sum<<std::endl;
return 0;
}
*********************************************************
“<<”:输出操作符,左边为ostream对象,右边是要输出的值,返回左边的输出流本身。
“>>”:输入操作符,左边为istream对象,读取数据集返回到右边的变量中。
“endl”:是一个操纵符,具有换行的效果,并刷新与设备相关的缓冲区。通过刷新可以使用户及时看到写入流中的输出。没有刷新可能使输出停留在流中,如果程序崩溃,可能导致对程序出错位置的误判。
“std”:这是一个命名空间,可以避免由于无意使用了库中定义的相同的名字。“::”是作用域操作符。
以上while语句是一个测试输入的是否是整数,如果不是或者读入结束,则测试失败。
注释
C++注释有两种,单行注释以“//”开头,成对注释用“/* */”。
成对注释号不能嵌套。
整型
整数:short(至少16位)、int(16)、long(32)。默认带符号,加前缀unsigned表示不带符号,unsigned int可以简写成unsigned。
字符:char(8)、wchar_t(16)。wchar_t用于扩展字符,如汉字日语。
布尔值:表示真假,将0值算术代表false,非0值代表true。
符号型
float(32,6位有效数字)、double(64,10位有效数字)、long double(96或128,10位有效数字)。
字面值
整数字面值:十进制(20)、八进制(024)、十六进制(0x14)。默认是int或long类型的,没有short型。可加后缀来表示类型(128u、1024UL、8LU、1L)。
浮点字面值:十进制和科学计数法。后缀F或L表示类型。例如:3.14159F、3.14159E0f、.001f、1e-3f、12.345L、1.2345E1、0.、0e0。
布尔值面值:true、false
字符字面值:可打印的用单引号括起来,’a’,’2’,’,’,’ ’,都是char类型,加前缀L就得到wchar_t宽字符型,如:L’a’。转义字符一般是不可打印的或者有特殊意义,例如换行符’\n’,回车符’\r’,水平制表符’\t’,纵向制表符’\v’,退格符’\b’,单引号’\’’,空字符’\0’,用十六进制定义的转移字符形式为’\xdd’。
字符串字面值:由双引号括起来的零个或多个字符,末尾为空字符。
变量
变量提供了可以可以操作的有名字的存储空间。每个变量都有特定类型,该类型决定了变量的内存大小、布局、能够存储在该内存中的值得取值范围、可用于该变量的操作符。
变量的初始化
int ival=1024; //直接初始化
int ival(1024); //复制初始化
std::string titleA=”hello”
std::string titleB(“hello”);
std::string titleC(5,’3’); //”33333”
对于内置类型,直接初始化与复制初始化几乎没有区别。对于类类型,有些初始化仅能用直接初始化完成。这与构造函数定义初始化有关。
对于内置类型,如果定义在函数体外,都会被自动初始化为0。
声明与定义
声明:指明变量的类型和名字,它不分配存储空间,定义也是声明。
extern int i; //声明但是不定义,在其它的地方定义
int i; //声明并且定义
变量可以声明多次但是只能定义一次。
只有当声明是定义时,声明才可以初始化。有extern的声明初始化时必须位于函数外部。
extern double pi=3.1415; //定义并且初始化。
定义只能定义一次:
extern double pi=3.1415;
double pi; //错误,重新定义
extern double pi; //正确,声明
extern double pi=3.1415; //错误,重新定义
const限定符
const将一个对象转换成常量使得它不能被改变。const int bufSize=512。
全局作用的非const变量整个程序都可以使用,在一个文件中定义int counter;可以在另外一个文件中声明extern int counter;然后使用counter,这个counter就是钱一个文件中的变量。全局作用的const变量只在该文件中可以使用。不能在其它文件中使用,除非,在定义const变量时就将它指定为extern。例如:在一个文件中定义指定为extern的const变量,
extern const int count=fcn();(注意:需要指定为extern)然后在另外一个文件中声明extern const int count;这样,count才能够使用。
相关推荐
计算机网络基础项目一基础知识.ppt
计算机网络基础项目一基础知识.pptx
化学必修一基础知识.doc
一基础知识PPT学习教案.pptx
一基础知识装订工艺流程PPT学习教案.pptx
2019高考语文一轮复习板块一基础知识及运用专题四词语课件.ppt
2019高考语文一轮复习板块一基础知识及运用专题七语言应用课件.ppt
### C++基础知识总结 #### 一、C++数据和变量的类型及变量作用域 **1. 基本的内置类型** C++提供了一系列基本的内置数据类型,用于存储不同种类的数据。以下是一些常见的类型及其特点: - **布尔型 (`bool`)**:...
DIV+CSS教程——第一天XHTML_CSS基础知识
"建设工程造价管理基础知识电子书版借鉴.pdf" 本资源为建设工程造价管理基础知识电子书版借鉴,旨在为建设工程项目管理和造价管理人员提供相关知识和信息。本资源涵盖了建设工程造价管理的基础知识,包括相关法规与...
小学教案
小学教案
证券从业资格考试科目分为基础科目和专业科目,基础科目为《证券市场基础知识》。 专业科目包括:《证券交易》、《证券发行与承销》、《证券投资分析》、《证券投资基金》。 基础科目为必考科目,专业科目可以自选。...
关于存储系统的基础知识,包括第一部分:存储相关基础知识、第二部分:存储中常用的术语、第三部分:DAS、NAS、SAN、iSCSI
"经济学基础知识大全" 本资源摘要信息涵盖了经济学基础知识大全的主要概念和理论,涵盖GDP、GNP、CPI、通货膨胀、通货紧缩、居民可支配收入、恩格尔系数、基尼系数、财政收入、财政赤字、财政盈余、税收等经济学...
资源名称:HTML5基础知识 核心技术与前沿案例内容简介:HTML5基础知识 核心技术与前沿案例《HTML5基础知识、核心技术与前沿案例 》是一本引导初、中级学习者深入了解并有效掌握HTML5核心技巧的技术实战书籍,全书...
"建设工程造价管理基础知识" 本资源摘要信息涵盖了建设工程造价管理的基础知识,包括相关法规与制度、项目管理、合同管理、造价构成、计价依据、决策和设计阶段工程造价的确定与控制、招投标与合同价款的确定、施工...
数据库基础知识概述 本篇资源摘要信息将对数据库基础知识进行概述,主要涵盖数据库的基本概念、组成、安装与系统结构、数据库及表的操作、日常使用与管理、语言、性能问题等方面。 数据库基础知识 数据库系统是指...
NOIP基础知识分类全解 NOIP(全国青少年信息学奥林匹克竞赛)是中国面向中学生的一项计算机科学竞赛活动。它旨在提高学生运用计算机解决实际问题的能力,并培养学生的逻辑思维和编程技能。NOIP初赛主要考查学生的...
对于任何希望深入学习法律的人来说,了解这些基础知识是至关重要的第一步。基础法律知识通常包括但不限于如下几个方面: 2. 法律体系和渊源 法律体系是指在特定国家或地区,所有法律规范按照一定方式组成的一个统一...