首页 第1章c++基础知识

第1章c++基础知识

举报
开通vip

第1章c++基础知识nullnull孙岱sundaycsu@163.comC++程序设计第1章 C++基础知识 第1章 C++基础知识 1.1 程序设计语言的基本概念 程序设计语言是人类在计算机上解决实际问题的一种工具。当一个求解问题能够用数学模型表达时,人们会考虑用某种程序设计语言将该问题的数学模型表示成计算机可以接受的程序形式,再由计算机自动处理这个程序,生成人们所需要的结果。 1.1 程序设计语言的基本概念1. 面向过程的结构化程序设计语言 2. 面向对象的程序设计语言C++语言是面向对象的语言,同时也兼顾了面向过程...

第1章c++基础知识
nullnull孙岱sundaycsu@163.comC++程序设计第1章 C++基础知识 第1章 C++基础知识 1.1 程序设计语言的基本概念 程序设计语言是人类在计算机上解决实际问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 的一种工具。当一个求解问题能够用数学模型表达时,人们会考虑用某种程序设计语言将该问题的数学模型表示成计算机可以接受的程序形式,再由计算机自动处理这个程序,生成人们所需要的结果。 1.1 程序设计语言的基本概念1. 面向过程的结构化程序设计语言 2. 面向对象的程序设计语言C++语言是面向对象的语言,同时也兼顾了面向过程的程序设计 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。1.2 C++程序的基本结构 1.2 C++程序的基本结构 1.2.1 C++程序结构 一般来说,C++程序的结构包含声明区、函数区两个部分,在任何一个区内都可以随时插入程序的注释。 null【例1.1】从键盘输入圆的半径,求圆的面积。 程序代码如下: //*****ex1_1.cpp***** #include #define PI 3.14159 float sum(float x); void main() { float r,s; cout<<"Input r:"; cin>>r; s=sum(r); cout<<"r="<; (2)宏定义,如例1.1中的#define PI 3.14159; (3)函数声明,如例1.1中的float sum(float x); (4)条件编译; (5)全局变量声明; (6)结构体等的定义; (7)类的定义。 null2.函数区 一个程序由一个主函数main()和若干个其他函数组成。程序的执行从main()函数开始。 每个函数都是由函数声明部分(函数首部)与函数体部分组成。 函数声明部分包括函数返回值类型、函数名、函数的形式参数。 函数体部分是用一对花括号{ }括起来的完成该函数所表达的功能的语句的集合。null 一般来说,程序设计语言可用下面的模型描述:程序设计语言的模型与人类的自然语言模型类似。例1_1null1.2.2 C++程序的书写格式 C++程序的书写格式比较灵活,书写程序时可以任意换行。为了提高程序的可读性,C++程序的书写格式有如下约定: (1)一般每行书写一条语句,并以分号(;)结束。 语句较短时,可以多条语句可书写在一行内。语句较长时,一条语句可写在多行上。 (2)分号是语句的结束符,表示一条语句的结束,(但函数说明行和声明区的多数语句后不用分号)。 (3)各语句按逻辑层次进行缩进对齐。 (4)可使用注释以增强程序的可读性。注释以“/*”开始,以“*/”结束;若为单行注释还可以“//”开始,占据一行。例1_11.3 一个应用程序的开发过程 1.3 一个应用程序的开发过程 1.3.1 Visual C++ 6.0开发环境 Visual C++ 6.0开发环境 是一个集编辑、编译、链接、调试、运行于一体的集成环境,即在一个程序的控制下可以分步或一次性地完成编辑、编译、链接、调试运行工作。 null1.3.2 一个应用程序的开发过程 1.启动Visual C++ 6.0开发环境 null2.创建 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 项目 nullnull3.创建C++源程序文件并添加到项目文件中 nullnull4.编译、链接与运行程序 产生的文件类型 .cpp 源程序文件(编程者输入的程序代码)*** .obj目标文件(编译后生成的二进制代码) .exe可执行文件 .dsp项目参数配置文件(project)** .dsw 工作区文件(workspace) *菜单: Compile、 Build 与Execute Program例1.1程序所建立的项目的运行结果如下: Input r:10 r=10 s= 314.159 1.4 C++的词法规则 1.4 C++的词法规则 单词有:标识符、运算符、注释符、分隔符 标识符包括常量名、变量名、关键字、函数名、类型名等1.4.1 C++的字符集 C++的字符集包括如下字符: (1)26个小写字母:a~z。 (2)26个大写字母:A~Z。 (3)10个数字:0~9。 (4)标点和特殊字符:+ - * / , : ; ? \ ” ’ ~ | ! # % & ( ) [ ] { } ^ < > 空格。 (5)空字符:ASCII码为0的字符,用作字符串的结束符。程序的构成:字符→单词→语句→… →程序 词法规则即各种“单词”的构词规则例1_11.4.2 C++的单词及其构词规则 null标识符 ——用于命名 一个标识符中,可以出现的字符有字母、下划线和数字,但第一个字符不能是数字。如: Aa、ABC、A_Y、ycx11、_name是合法标识符。而5xyz、m.x、!abc、x-y是非法标识符 标识符中字母的大小写是不同的。如:ABC和AbC是不同的标识符 定义标识符时尽可能让标识符有意义,便于阅读,即做到“见名知义”。 标识符用来命名C++程序中的常量、变量、函数、语句标号及类型定义符等。 被系统定义了的,具有特定含义的标识符—关键字(又称保留字,见p10 表1-1 C++中的关键字) 在程序中代表操作数据且其值不能改变的量—常量 在程序中代表操作数据且其值能改变的量—变量1.5 C++基本数据类型 1.5 C++基本数据类型 null表1-2 C++基本数据类型 实际上,常用的类型有short、 int、float、double、char unsigned short、 unsigned int 小数形式,6位数字;指数形式6位小数1.6 常量与变量 1.6 常量与变量 1.6.1 常量 C++程序中有4种常量:整型常量、浮点型常量、字符常量和字符串常量。 数值型常量1.整型常量 整型常量有三种形式:十进制、八进制和十六进制。 十进制常量,如12、345都是合法的十进制常量。 八进制常量在数值前要加上一个零(0),如011、077都是合法的八进制常量。 十六进制常量的写法是在数值前加上一个零(0)和一个字母X(大小写均可),如0X11、0xF都是合法的十六进制常量,分别等于十进制数17和15。 null2.浮点型常量 浮点型常量又称实数型常量。分为十进制数形式和指数形式两种表示方法。 (1)十进制数形式的浮点型常量的书写格式: <整数部分>.[<小数部分>] 其中小数点不能省略。如1.2345、1.0、1.、.12345均是合法的浮点型常量。(2)指数形式的浮点型常量的书写格式: <整数部分>.<小数部分>E<指数部分> 其中,指数形式表示符“E”大小写均可,<指数部分>必须是整数。 如12E-3、0.1E2、.12345E6、0E0等均是合法的。 null【例1.2】浮点型常量的运用。 程序代码如下: //*****ex1_2.cpp***** #include #include void main() { float a,b,c; a=12.34567; b=.11183155; c=12.e2; cout<<"a="< void main() { char s1[10],s2[10]; cout<<"Input 2 Words,Please:"; cin>>s1>>s2; cout< <常量表达式>例1_1null1.6.2 变量 变量是在程序中可以改变值的量,变量有名字、类型和值三个要素。 1.变量的定义 变量在使用前必须定义。格式如下: [<存储类>] <数据类型> <变量名表>;例如:int a,b,c; a、b、c为整型变量; 2.变量的数据类型 变量的基本数据类型有:整型、浮点型和字符型。 变量的构造数据类型如数组、结构体、共用体、类。 3.变量的存储类(四种:auto、register、static、extern ) (改在第三章后学习)变量的值null3.变量的存储类 变量的存储类定义变量的有效性范围,即作用域。C++中有4类:自动存储类(auto)、寄存器存储类(register)、静态存储类(static)和外部存储类(extern)。 static double x,y[10]; x、y是静态双精度变量,y是数组null(1)自动存储类 某一变量定义成自动存储类后,其作用域在定义它的函数体或分程序内,自动存储类变量只能定义在函数体或分程序内。变量的生存期在作用域内,即执行完定义它的函数后,该变量即被释放。这类变量的安全性最好,在不同的函数中可以定义相同名字的变量,互不影响。在函数体内定义自动存储类变量时可以省去说明符auto。前面程序中定义的变量都省去了存储类说明符auto,它们都是自动存储类变量。 null(2)寄存器存储类 寄存器存储类的变量与自动存储类的变量有相同的作用域和生存期。定义这类变量必须加存储类说明符register,并且只能定义在函数体或分程序内。这类变量有可能被存放在CPU的空闲通用寄存器中,当CPU中没有空闲通用寄存器时,当作自动存储类变量。一旦变量存入CPU的寄存器中,则变量的访问效率将大大提高,这是因为访问内存比访问CPU寄存器花的时间长得多。 null(3)静态存储类 静态存储类分为内部静态存储类和外部静态存储类。内部静态存储类变量定义在函数体或分程序内,其作用域在定义它(们)的函数体或分程序内。而外部静态存储类变量定义在函数体或分程序外,其作用域在定义它(们)的文件内,可见两者的作用域是不同的。 内部静态存储类和外部静态存储类变量有相同的生存期,都被存放在内存的静态区域,静态变量在程序结束时才释放内存。 要定义静态存储类变量,必须加存储类说明符static。 null(4)外部存储类 外部存储类变量的作用域是整个程序,包含该程序的各个文件。生存期是整个程序,在程序结束时才释放内存。 null表1-3 各种存储类特性的比较 存 储 类 别自动类寄存器类内部静态类外部静态类静态类外部类或分程序内在定义它的文件内程序的各个文件程序结束前有效离开定义体即消失存取速度快安全性好在定义它的函数体安全性差同自动类作 用 域生 存 期其 他null外部存储类变量可以定义在函数体内、外,定义在函数体外时可以不加存储类说明符,但在说明一个外部存储类变量时,必须加存储类说明符extern。有如下两种情况要在引用外部存储类变量前,对其进行说明。 ① 在一个文件中,在定义前引用外部存储类变量必须说明。 ② 在多个文件的程序中,在一个文件中定义,在另一个文件中引用,引用前要说明。 null【例1.5】定义在前、引用在后的外部存储类变量(输出结果与例1.4类似)。 程序代码如下: //*****ex1_5.cpp***** #include char s1[10],s2[10]; void main() { cout<<"Input 2 Words,Please:"; cin>>s1>>s2; cout< void main() { extern char s1[10],s2[10];//说明外部存储类变量 cout<<"Input 2 Words,Please:"; cin>>s1>>s2; cout<>x; 变量初始化——在定义变量时对变量赋初值: [<存储类>] <数据类型> <变量名1>=<初值1>,<变量名2>=<初值2>,…;下面都是一些合法的定义: int a=1,b=2,c=3; static char xyz='A',buffer[10]="Hello"; double a[5]={1.12345, 2.23456, 3.34567, 4.45678, 5.56789} float s=1+2+3;1.7 运算符与表达式 1.7 运算符与表达式 C++的表达式包括算术表达式、关系表达式、逻辑表达式、赋值表达式、条件表达式和逗号表达式。 1.7.1 算术运算符与算术表达式 1.算术运算符 算术运算符有: (1)单目运算符:-(取负)、++(增1)、--(减1)。 (2)双目运算符:+(加)、-(减)、*(乘)、/(除)、%(取余)。 优先级: 单目高于双目; * 、/ 、 %高于+ 、- 前缀运算(++<变量>和 --<变量> )与后缀运算(<变量>++和 <变量>-- ):单独使用,效果一样;与其他运算混合使用,产生的结果不一样。null【例1.7】前缀运算表达式的运用。 程序代码如下: //*****ex1_7.cpp***** #include void main() { int i=0; int a; a=++i; cout<<"a="<>2="<<(a>>2)<>2="<<(b|a>>2)<>2=1 a<<2=28 b|a>>2=3null1.7.5 赋值运算符与赋值表达式 1.赋值运算符 (1)=:基本赋值运算符 (2)+=:加赋值运算符 如:a+=b等价于a=a+b (3)-=:减赋值运算符 如:a-=b等价于a=a-b (4)*=:乘赋值运算符 如:a*=b等价于a=a*b (5)/=:除赋值运算符 如:a/=b等价于a=a/b (6)%=:取余赋值运算符 如:a%=b等价于a=a%b …… 2.赋值表达式 <变量名>=<表达式> 先计算右边表达式的值,后赋给左边变量。 <变量名>=<表达式>;形成赋值表达式语句 3.注意 先右后左结合,如a=b=c=1;使得c赋值为1,b赋值为1,a赋值为1。 赋值时类型自动转换,可能会丢失精度。如int x; x=1.6;x值为1null【例1.13】赋值表达式。 #include void main() { int a=1; cout<<"a="<b?b--:++a]="<<(a>b?b--:++a)<b?++a:++b]="<<(c+=a>b?++a:++b)<b?a:b>c?b:c]="<<(a>b?a:b>c?b:c)<b?b--:++a] = 2 [c+=a>b?++a:++b] = 6 [a>b?a:b>c?b:c] = 6 null1.7.7 逗号运算符与逗号表达式 逗号运算符为双目运算符,它的优先级最低,结合性是从左至右。逗号运算符用来连接两个或两个以上的表达式,形成逗号表达式。 计算逗号表达式时,从左至右依次计算各个表达式,逗号表达式的值取最后一个表达式的值。多用在for循环语句的for关键字后的圆括号内,圆括号内由分号分隔的表达式可以是逗号表达式。null【例1.15】逗号表达式的运用。 #include void main() { int a=1, b=2, c=3; cout<<"a="< 本文档为【第1章c++基础知识】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_063300
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2013-07-28
浏览量:9