您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 青少年信息奥赛C++语言基础
C++语言基础C++程序实例1#includebits/stdc++.husingnamespacestd;intmain(){coutHello!\n;coutWelcometoC++!\n;return0;}运行结果:Hello!WelcometoC++!C++字符集•C++字符集是C++程序中可以使用的基本符号–大小写的英文字母:A~Z,a~z–数字字符:0~9–特殊字符:例如空格!#%^&*_(下划线)+=-~/\‘“;.,()[]{}C++词法记号(类似单词)•关键字C++预定义的单词•标识符程序员声明的单词,它命名程序正文中的一些实体•文字在程序中直接使用符号表示的数据•操作符用于实现各种运算的符号•分隔符如{};用于分隔各个词法记号或程序正文•空白符空格、制表符(TAB键产生的字符)、换行符(Enter键所产生的字符)和注释的总称•C++字符集类似英语的字母或者汉语的笔画。•C++的词法符号类似英语的单词或汉语的字。•C++程序类似英语的十四行诗或者汉语的诗词歌赋。C++字符集、词法符号、程序关系C++词法记号——关键字•关键字又称保留字,是C++预定义的单词•关键字是C++中具有固定意义的一批英文单词或其缩写,有专门的用途,用在固定的位置,不能移作它用。C++中共有74个关键字/保留字,每一个都有自己的故事。C++常用关键字及分类数据类型说明符与修饰符boolcharwchar_tclassconstdoubleenumfloatintlongshortsignedstructunionunsignedvoidvolatile存储类型说明符autoexterninlineregisterstatic访问说明符friendprivateprotectedpublic其它说明符asmoperatortemplatethistypedefvirtual语句与标号breakcasecatchcontinuedefaultdoelseforgotoifreturnswitchthrowtrywhile运算符及逻辑值deletefalsenewsizeoftrueC++词法记号——标识符•构成规则:以大写字母、小写字母或下划线(_)开始,由大写字母、小写字母、下划线(_)或数字0~9组成。•注意事项–标识符区分大小写–标识符长度任意(取决于操作系统)–提倡使用“见名知义”的标识符–避免使用系统已定义的标识符(系统保留字)例:判断下面哪些是合法的标识符:MyFile94SalarySalary94Salary94amount$amountvoidf3.5Num_of_StudentC++程序实例2#includebits/stdc++.husingnamespacestd;intmain(){constintPRICE=30;intnum,total;floatv,r,h;num=10;total=num*PRICE;couttotalendl;r=2.5;h=3.2;v=3.14159*r*r*h;coutvendl;return0;}数据类型•数据类型告诉我们存储单元中的数据的形式,及可以对存储单元中的数据执行哪些操作。•C++的数据类型可以分为基本类型、构造类型、指针类型、空类型(void)四个大类。基本数据类型数据类型关键字字节数数值范围字符型char1-128~127整型int4-2147483648~2147483647单精度浮点型float4±(3.4E-38~3.4E38)双精度符点型double8±(1.7E-308~1.7E308布尔型bool1true,false类型修饰符C++还允许在基本数据类型前加上类型修饰符,来更具体地表示数据类型。C++的类型修饰符包括:•signed有符号•unsigned无符号•short短型•long长型数据类型标识符字节数数值范围常量写法举例Char1-128~127‘A’,‘0’,’\n’signedchar1-128~12756unsignedchar10~255100short[int]2-32768~32767100signedshort[int]2-32768~32767-3456unsignedshort[int]20~655350xffint4-2147483648~21474836471000signedint4-2147483648~2147483647-123456unsignedint40~42949672950xffff数据类型标识符字节数数值范围常量写法举例long[int]4-2147483648~2147483647-123456longlong8-2^63~2^63-1-3246unsignedlong[int]40~4294967295123456float4±(3.4E-38~3.4E38)2.35,-53.231,3E-2Double8±(1.7E-308~1.7E308)12.354,-2.5E10longdouble10±(1.2E-4932~1.2E4932)8.5E-300说明:(1)表中带[]的部分表示是可以省略的,如short[int]可以写为shortint或简写为short,二者的含义是相同的。(2)四种修饰符都可以用来修饰整型。用signed修饰的类型的值可以为正数或负数,用unsigned修饰的类型的值只能为正数。(3)用short修饰的类型,其值一定不大于对应的整数,用long修饰的类型,其值一定不小于对应的整数。•C++的构造类型是基本类型的组合,包括数组、结构体和联合体等•指针类型是对基本类型或构造类型的地址进行操作的一种数据类型。•空类型(void)是什么也没有的一种特殊数据类型,仅用在有限的一些情况下,通常用作无返回值函数的返回类型。有时也被归类到基本类型常量•在C++语言中,数据分为常量和变量两大类。•由于程序中的数据是有类型的,所以常量和变量都是有类型之分的。。•常量按照不同的数据类型可以分为:字符型常量、整型常量、浮点型常量,以及字符串常量等。•程序是根据程序中常量的书写格式来区分它是哪种类型常量的。整型常量在程序中书写整型常量时,没有小数部分。用户可根据需要分别可以用十进制、八进制和十六进制的形式书写:•十进制格式:由数字0至9和正、负号组成,书写时直接写出数字,如:123,-516,+1000等。•八进制格式:以数字0开头的数字(0至7)序列,0111,010007,0177777等。•十六进制格式:以0x或0X开头的数字(数字0至9、字母A至Z)序列,如0x78AC,0xFFFF等。浮点型常量只能用十进制来表示。可以用小数或指数形式表示,不分单精度和双精度类型。如:34.5,.345,1.5e-3字符型常量(1)用一对单引号括起来的一个字符,单引号只是字符与其他部分的分割符,不是字符的一部分,并且,不能用双引号代替单引号。在单引号中的字符不能是单引号或反斜杠。如:‘a’,‘A’,‘#’合法的字符常量‘’’,‘\’非法的字符常量“A”不代表字符常量(2)另一种表示字符常量的方法是使用转义字符。C++规定,采用反斜杠后跟一个字母来代表一个控制字符,具有新的含义。C++中常用的转义字符转义字符含义ASCII码值(十进制)\a响铃(BEL)7\b退格(BS)8\n换行(LF)10\r回车(CR)13\t水平制表(HT)9\v垂直制表(VT)11\\反斜杠92\’单引号39\”双引号34\0空格符(NULL)0\ddd任意字符3位八进制数\xhh任意字符2位十六进制数字符串常量用一对双引号括起来的一个或多个字符的序列称为字符串常量或字符串。字符串以双引号为定界符,双引号不作为字符串的一部分。如:“Hello”,“GoodMorning!”,“Isay:\“Goodbye!\””字符串中的字符数称为该字符串的长度,在存储时,系统自动在字符串的末尾加以字符串结束标志,即转义字符‘\0’。符号常量常量也可用一个标识符来代表,称为符号常量。如:#definePRICE30intmain(){coutPRICEendl;return0;}使用符号常量应注意以下几个方面:(1)它不同于变量,在作用域内其值不能改变和赋值。如:在上例中如再用PRICE=40;这一语句进行赋值则是错误的。(2)符号常量名一般用大写,而变量名用小写,以示区别。在程序中的常量有以下三种表示方法:(1)在程序中直接写入常量(词法记号中的文字)如:-200,3.4E-10,‘A’,‘1’,0x120,045,5.35,1000l(2)利用#define定义宏常量(符号常量)一般格式:#define宏名常数如:#definePI3.14…………s=2*PI*r;…………程序中常量的表示方法(3)利用const定义正规常数(常变量)格式:const数据类型标识符常量名=常量值;说明:①const必须放在被修饰类型符和类型名前面②数据类型是一个可选项,用来指定常数值的数据类型,如果省略了该数据类型,那么编译程序认为它是int类型如:constinta=10;表示定义了一个初始值为10的整型常量,它在程序中不可改变,但可用于表达式的计算中1.变量的概念及特点程序中的变量是用于保存程序运算过程中所需要的原始数据、中间运算结果和最终结果的,因此,每一变量就相当于一个容器,对应着计算机内存中的某一块存储单元。变量的值具有以下两个特点:(1)“一充即无”:即将一个新数据存放到一个变量中时,该变量中原来的值消失,变量的值变成了新值。如:执行完语句inti;i=10;i=20;后i的值为20,而不是10。变量(2)“取之不尽”:可将某个变量的值与程序中的其它数据进行各种运算,在运算过程中,如果没有改变该变量的值时,那么,不管用该变量的值进行多少次运算,其值始终保持不变。如:语句inti,j,k;i=10;j=i+10;k=i+j*5;其中,i的值可无限制地多次使用,但它的值始终保持值10,因为在程序中没有改变变量i的值。2.定义变量(变量声明)程序中的每一变量,都要先定义,后使用。定义变量一般有以下三种格式:•数据类型标识符变量名;•数据类型标识符变量名=初始化值;•数据类型标识符变量名1[=初始值1],变量名2[=初始值2],……;如:chara;//定义字符型变量ainti=1000;//定义整型变量i,i的初始值为1000;floata=2,b=3,c;/*定义浮点型变量a、b、c,且a、b的初始值分别为2、3。*/3.定义变量的位置在程序中的不同位置采用不同的变量定义方式,决定了该变量具有不同的特点。变量的定义一般可有以下三种位置:(1)在函数体内部在函数体内部定义的变量称为局部变量,这种局部变量只在进入定义它的函数体时起作用,离开该函数体后该变量就消失(被释放),即不再起作用。因此,不同函数体内部可以定义相同名称的变量,而互不干扰。如:voidfunc1(){inty;y=2;}voidfunc2(){inty;y=-100;}(2)形式参数当定义一个有参函数时,函数名后面括号内的变量,统称为形式参数。如:intis_in(char*a,charb){while(*a)if(*a==b)return1;elsea++;return0;}(3)全局变量:在所有函数体外部定义的变量,其作用范围是整个程序,并在整个程序运行期间有效。如:intcount;//定义count变量是全局变量voidfunc1();voidfunc2();intmain(){count=10;func1();}voidfunc1(){inttemp;temp=count;func2();printf(“countis%d”,count);//输出10}voidfunc2(){intcount;for(count=1;count5;count++)putchar(‘.’);}变量小结•变量有“三要素”:–变量名:标识符,
本文标题:青少年信息奥赛C++语言基础
链接地址:https://www.777doc.com/doc-3885341 .html