`

(一)基础知识

阅读更多

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设备上读入或者写出字符序列。

标准库定义了4IO对象,分别是: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(326位有效数字)double(6410位有效数字)long double(9612810位有效数字)

 

字面值

整数字面值:十进制(20)、八进制(024)、十六进制(0x14)。默认是intlong类型的,没有short型。可加后缀来表示类型(128u1024UL8LU1L)

浮点字面值:十进制和科学计数法。后缀FL表示类型。例如:3.14159F3.14159E0f.001f1e-3f12.345L1.2345E10.0e0

布尔值面值:truefalse

字符字面值:可打印的用单引号括起来,’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。例如:在一个文件中定义指定为externconst变量,

extern const int count=fcn();(注意:需要指定为extern)然后在另外一个文件中声明extern const int count;这样,count才能够使用。

 

分享到:
评论

相关推荐

    计算机网络基础项目一基础知识.ppt

    计算机网络基础项目一基础知识.ppt

    一基础知识PPT学习教案.pptx

    一基础知识PPT学习教案.pptx

    2019高考语文一轮复习板块一基础知识及运用专题七语言应用课件.ppt

    2019高考语文一轮复习板块一基础知识及运用专题七语言应用课件.ppt

    建设工程造价管理基础知识电子书版借鉴.pdf

    "建设工程造价管理基础知识电子书版借鉴.pdf" 本资源为建设工程造价管理基础知识电子书版借鉴,旨在为建设工程项目管理和造价管理人员提供相关知识和信息。本资源涵盖了建设工程造价管理的基础知识,包括相关法规与...

    2014小升初语文知识点专项复习 专题一 基础知识 j q x教案.doc

    小学教案

    Java基础知识整理

    Java是一种广泛应用于软件开发的编程语言,拥有丰富的基础知识体系。本文将对Java基础知识进行系统性的整理和总结,涵盖面向对象、访问控制权限、Final关键字、内部类、集合等多个方面的知识点。 面向对象 面向...

    经济学基础知识大全.pdf

    "经济学基础知识大全" 本资源摘要信息涵盖了经济学基础知识大全的主要概念和理论,涵盖GDP、GNP、CPI、通货膨胀、通货紧缩、居民可支配收入、恩格尔系数、基尼系数、财政收入、财政赤字、财政盈余、税收等经济学...

    2014小升初语文知识点专项复习 专题一 基础知识 zh ch sh r教案.doc

    小学教案

    存储基础知识培训

    关于存储系统的基础知识,包括第一部分:存储相关基础知识、第二部分:存储中常用的术语、第三部分:DAS、NAS、SAN、iSCSI

    公共基础知识资料大全

    【公共基础知识资料大全】是...总的来说,二级公共基础知识的学习是一个全面的过程,不仅要求理论知识扎实,还需要通过大量练习来提高实际应用技能。这份资料大全提供了全面的学习路径,对备考者来说是一份宝贵的财富。

    HTML5基础知识核心技术与前沿案例

    资源名称:HTML5基础知识 核心技术与前沿案例内容简介:HTML5基础知识 核心技术与前沿案例《HTML5基础知识、核心技术与前沿案例 》是一本引导初、中级学习者深入了解并有效掌握HTML5核心技巧的技术实战书籍,全书...

    建设工程造价管理基础知识.pdf

    "建设工程造价管理基础知识" 本资源摘要信息涵盖了建设工程造价管理的基础知识,包括相关法规与制度、项目管理、合同管理、造价构成、计价依据、决策和设计阶段工程造价的确定与控制、招投标与合同价款的确定、施工...

    计算机应用基础计算机基础知识(共84张PPT).pptx

    【计算机基础知识】 计算机基础知识是学习计算机应用的基础,包括计算机硬件和软件的构成、操作系统的使用、各种应用程序的运行原理等内容。在这个领域,你需要了解计算机的五大组成部分:运算器、控制器、存储器、...

    TI-开关电源基础知识.pdf

    TI-开关电源基础知识.pdf 本文档总结了开关电源的基础知识,包括开关电源的类型、工作原理、优缺点比较、PWM 控制原理、降压、升压和降压-升压转换器等。 开关电源的类型: 1. 线性稳压器:传输元件工作在线性区...

    2020年杭州师范大学862英语教学基础知识考研真题

    2020年杭州师范大学862英语教学基础知识考研真题,作为宝贵的第一手资料,对于备考该科目的学生来说,不仅提供了考试的直接素材,还能帮助他们更好地理解考试大纲和命题趋势,从而提高复习效率。 2020年的考研真题...

    法律基础知识汇总.pdf

    对于任何希望深入学习法律的人来说,了解这些基础知识是至关重要的第一步。基础法律知识通常包括但不限于如下几个方面: 2. 法律体系和渊源 法律体系是指在特定国家或地区,所有法律规范按照一定方式组成的一个统一...

    网工全面复习之一(计算机(网络)基础知识).rar

    网工全面复习之一(计算机(网络)基础知识).rar 可以迅速复习计算机(网络)基础知识

    2021年计量基础知识考试题库及答案.doc

    一、计量基础知识概述 计量基础知识是指计量基础理论和计量基础实践的总称。计量基础知识包括计量基本概念、计量单位、计量器具、计量方法、计量误差、计量检定、计量标准等方面的知识。 二、计量基础概念 计量...

    数据库基础知识

    Oracle 数据库基础知识 Oracle 数据库基础知识是数据库管理系统的基础部分,本节课将涵盖 Oracle 数据库的基础知识,包括 Oracle 中的数值类型、字符串类型等。 一、Oracle 中的数值类型 Oracle 中的数值类型可以...

    模拟电子技术基础知识点总结

    一、半导体基础知识点: 1. 半导体的定义:半导体是一种导电能力介于导体和绝缘体之间的物质,例如硅(Si)和锗(Ge)。 2. 半导体的特性:半导体具有光敏、热敏和掺杂特性。 3. 本征半导体:纯净的具有单晶体结构...

Global site tag (gtag.js) - Google Analytics