版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一部分 C+结构化程序设计,第一章 C+程序设计基础,1.1 C+语言概述,1. C+语言与程序设计,计算机程序:一个指令序列。 程序设计:定义指令序列或编写程序的过程。 程序设计语言:编写程序的语言。,1.2 C程序开发过程:,1.3 程序实例,例1:在屏幕输出“你好,欢迎你!”,/* Hello program */ #include void main() cout你好,欢迎你!endl; /你好,欢迎你! ,程序说明: 两种注释 编译预处理行 main( )函数: 程序执行的起点 语句: 每个语句用“;”作为结束。,1.3 程序实例,例1:在屏幕输出“你好,欢迎你!”,/* Hell
2、o program */ #include using namespace std; int main() cout你好,欢迎你!endl; /你好,欢迎你! return 1; , 引用,1.5 变量、常量及引用,1.5 变量、常量及引用, 变量, 常量,继续, 枚举类型,变量 程序执行中其值可以改变的量。每个变量与一个 或多个内存单元相对应。,2. 变量名 变量的标识名(内存单元的标号)。变量名属 于C+的标识符,取名规则见书。,例:,1.5 变量、常量及引用,变量,变量的值,可以改变。,3. 变量的定义,变量,一般形式为: ,4. 变量的类型,告诉计算机应为变量分配多少内存空间、取值范围
3、以及可以对变量进行的合法操作。, C+系统已定义的基本数据类型见下页。,1.5 变量、常量及引用,常用的基本数据类型, 变量占用空间的大小与使用的编译系统有关。,1.5 变量、常量及引用,char a,b,c; int x,y; float data_1; double length,width; ,例:变量定义举例。,1.5 变量、常量及引用,5. 变量的初始化 在定义变量的同时可以给其赋值。,char a=A; int x=0, y=12 ; double w1=12.3456, w2= -0.4567e-4; char ch(B); long int x1(1), y1(100); do
4、uble data1(12.056), data2( -0.12345e-4);,例:变量的初始化。,1.6 变量、常量及引用, 对已定义变量可以用多种方式改变它的值。,int x, y=12 ; double w1=12.3456, w2; x=18; y=25; cinw1w2;,例:改变变量的值。,1.6 变量、常量及引用,关于变量的讨论:, 函数体内定义的非静态变量,若没有赋初值,则在刚定义 后其值不确定。, 赋给变量的值不应超过它的取值范围。, 改变变量的值(为变量赋值)是一个“覆盖”过程,即无论 变量原来的值是什么,变量赋值后,新值将取代原有的值。,例: int x=15; x=2
5、3;,例:int x; coutx+5endl;,例:int x; x=5000000000;,1.5 变量、常量及引用,#include void main( ) int d1=5,d2=20; double x1=12.5, x2=-5.0; char ch1(*), ch2(A); coutd1+d2endl; coutx1-x2endl; coutch1 ch2+3endl; ,25 17.5 * 68,运行结果:,例:程序中的变量。,返回,1. 常量,常量,2. 直接常量,程序中直接使用的常数值。,1.5 变量、常量及引用,每个常量与一定的内存单元相对应。程序执行时其值不可以改变。,
6、3. 常量的类型,整型、浮点型、字符型、字符串常量、布尔型。,十进制整数: 由09数字组成的正负整数,如、15、-247。 八进制整数: 以数字0开头的整数,由数字07组成,如015, 0238。 十六进制整数: 以0 x或0X开头的整数,由数字09和字母af (或大写)组成。例如:0 x516, 0 x8AB,0 xb2ff。,1)整型直接常量 用于表示一个整数。,注意:八进制和十六进制只能表示无符号整数. 任一整型常数后跟字母(或)时,为长整型. 如:12345L 任一整型常数后跟字母(或)时,为无符号整型. 如:7895,1.5 变量、常量及引用,2)浮点型直接常量 用于表示一个带小数的
7、数。, 浮点型常数有两种表示形式: 小数形式:3.14159,0.55,123.0。 指数形式:+5.25e-8 表示 +5.2510-8 0.5678e+05 表示 0.5678105,1. 指数形式表示浮点型数时e(或E)前可以是整数或小数,但后的指数部分必须是整型数。 2. 浮点型数总是按double类型存储的,只有在数的后面加上才按float类型存储,如1.234E-6f。 3. 长双精度(long double)型常量通常在双精度数后面加上l或L表示,如:1.2345e-12L。,说明:,1.5 变量、常量及引用,3)字符型直接常量 用单引号括起来的单个字符。,1.字符型常量中的单引
8、号作为定界符,不是字符型常量内容。 2.字符型常量具有数值,其值就是该字符的ASCII码值。而且值可以作 为整数参与运算,例如: +5 结果为102,是字符的ASCII码值 9-6 结果为51,是数字字符的ASCII码值 A+32 结果为97 ,是字符的ASCII码值 - 结果为整数2。 3. 对不可打印的字符,和特殊字符要使用以反斜杠开始的转义序列。,说明:,1.5 变量、常量及引用,例:可打印字符:A、S、*、a 不可打印字符:n(回车符)、0(空字符) 特殊字符:、”、 ,4)字符串直接常量 用双引号括起来的若干个字符。,1. 字符串中可以包含空格、转义字符、中文字符等。 2. 双引号作
9、为字符串的定界符,不是字符串中的内容。 3. 一个字符占一个字节,一个汉字占两个字节。 4. 编译程序在存储字符串常量时自动在字符串最后加一个0作为一 个字符串的结束标志,0占一个字节位置。 5. 字符串长度是指字符串中包含的字符个数(一个汉字算两个字符), 字符串存储长度=字符串长度+1。,说明:,1.5 变量、常量及引用,例: “This is a stringn” “xyz” “a” “ABCnxyz” “1234” “中国_天津”,) 布尔直接常量 仅有两个值,即 true(真)和 false(假)。, C+没有提供独立于整型的基本布尔类型,布尔类型数据是占一个字节, true 用1表
10、示, false用0表示。,6)符号常量 为常量起一个名字,称为符号常量。,1. 符号常量在说明时一定要赋初值,其值程序中不能修改。 2. 符号常量名不要和一般变量名重名。 3. 使用符号常量可以提高程序的可读性,增强程序的可维护性。,说明:, 符号常量的说明形式为:, const 常量名常量值; 或 const 常量名常量值;,例: const int CLASSSIZE=30; const double pi=3.14159;,返回,1. 什么是引用,引用,为程序中已经定义过的变量取一个别名,这个别名称为引用。,2. 说明引用, 变量名是已经定义过的一个变量名;与被引用 变量的类型相一致。
11、,1.5 变量、常量及引用,一般形式为: int ,例:引用举例。, 5 1010,输出结果:, rea 是 a 的引用(别名),所以它们对应的是相同的存 储空间。,返回,1. 枚举数据类型,枚举类型,用户自己定义的数据类型,将一些可能取值的量逐个列举出来 。,2. 枚举类型的定义,一般形式为:enum 枚举元素;,例:枚举类型的定义。,enum weeksun,mon,tue,wed,the,fri,sat; week a,b; enum dxeast,west,south,north x,y;,枚举型使用说明(1):, 枚举元素在说明后都自动有一个整数值。,例:enum weeksun,m
12、on,tue,wed,the,fri,sat; 其中,sun的值为,mon的值为,sat的值为6, 可以为枚举元素另指定一个整数值,指定元素后边的 各元素值按增的顺序重新排列。,例:enum weekmon=1,tue,wed,the,fri,sat,sun; 其中,mon的值为,sat的值为6, sun的值为7,枚举型使用说明(2):, 仅能给枚举变量赋枚举元素值。,例:enum weeksun,mon,tue,wed,the,fri,satw1,w2; w1=mon; w2=fri; /正确 w1=1; w2=5; /错误 w1=(week)1; /正确, 对两个同类型的枚举变量可进行比较
13、,实际比较的是它们 所取的枚举元素的值。,例:w1w2 结果为 false,枚举型使用说明(3):,返回,例:enum weeksun,mon,tue,wed,the,fri,sat w1,w2; cinw1w2; /错误 w1=mon; w2=fri; coutw1“ ”w2endl; /输出结果:1 5, 枚举变量不能用于输入,输出时仅输出枚举值的顺序号。,1.6 运算符与表达式,1. C+的表达式,表达式是指能计算出值的式子。,2. C+表达式的组成,表达式由操作数(包括:常量、变量及函数调用)、运算符和括号()组成。,3. 运算符,运算符是一个表示对操作数进行特定运算和处理的符号。,算
14、术运算符与算术表达式, 算术运算符包括: (加)、(减)、* (乘)、 (除)、 (取余数) 、可作一元运算符使用,表示正和负。 两个整型数相除,结果仍为整型数。 用于求两个整型数相除的余数。,例: int a=21,b=4; a/b; a%b;,简单赋值运算符与赋值表达式, 简单赋值表达式的形式为: 变量表达式 赋值表达式完成的运算是把表达式的值存入左侧的变量。 赋值表达式的值为赋值后左边变量的值。,例:int a=21,b=4,c; c=a+b; a=b=1;,为变量赋值具有“覆盖”的性质。在对变量初始化时使用的“=”不是赋值运算符,它只是一个初始化符号。,复合赋值运算符与赋值表达式, 将
15、其他运算符和简单赋值运算符放在一起的缩写形式,例 如: +=、-=、*=、/=、%= 等。 复合赋值表达式的形式为:变量表达式,例: int a=21,b=4,c; c/=a+b;/等价于 c=c/(a+b);,右侧的表达式应视为一个整体。,自增和自减运算符, 自增运算符(+)和自减运算符(-)的两种使用方式: 前缀使用方式: 变量 后缀使用方式:变量 ,例:,应避免在一个表达式中对同一个变量多次进行自增或自减。,关系运算符与关系表达式, 关系运算符用于比较两个操作数的大小,包括: (大于)、=(大于等于)、=(等于)!=(不等于) 关系表达式的值是整数值,当关系式成立时为1;否则为0 。 不
16、能用关系运算符比较两个字符串的大小。,例: int a(5),b,c,d; b=(a=1); /注意区别=和=。 c=(a=1); d=m=x; / 比较字符的ACSII码 d=“abc”“efg” / 错误,逻辑运算符与逻辑表达式(1), 逻辑运算符用于对操作数进行逻辑运算,包括: x=-1=-1 /表达式的值为 0,逻辑运算符与逻辑表达式(3),例2:多个 / l2、x、y、z的值分别为:,1,2,1,1,0,0,2,0,条件运算符与条件表达式, 条件表达式的一般形式为: ? : ,例:条件表达式举例。,#include void main() int a,b,c; cinab; c=ab
17、?a:b; coutcendl; ,逗号运算符与逗号表达式, 逗号表达式的一般形式为: 表达式1,表达式2, ,表达式n 逗号表达式的功能是:从左到右计算各表达式,并以最后 一个表达式的值作为逗号表达式的值。,例:逗号表达式举例。 int a,b,x; x=(a=1,b=3,+b,a+b);,求字节运算符, 使用形式: sizeof(e) e为表达式或数据类型名。 功能:求相关类型数据在内存中占用的字节数。,例:求字节运算符举例。 int s1,s2; double x=4.5,y=2.1; s1=sizeof ( int ); /求int类型数据所占的字节数 s2=sizeof (x+y);
18、 /求x+y的值所占的字节数,类型转换运算符(1), 类型转换运算符的使用形式为: (类型名)表达式 或 类型名(表达式) 功能:将“表达式”的值转换成“类型名”所指定的类型。,1. 整数转换为字符型,则去掉多出的高位; 2. 长整型转换为一般整型时,去掉多出高位; 3. 浮点型转换成整型时,去掉小数部分; 4. 双浮点型转换成单浮点型时,按单浮点型位数舍入。,转换原则:,类型转换运算符(2),例:类型转换运算符使用举例。 int x(5), y(2); double a, b, c; a=x/y; b=double(x)/y; c=double(x/y);,a 的值是:2.0 b 的值是:
19、2.5 c 的值是:2.0,结果:,运算符的优先级和结合性,2. 结合性:,优先级,几种不同的运算符出现在一个表达式中时,优先级别高的先计算,优先级别低的后计算。,当在一个表达式中连续出现多个同优先级运算符时,对它们的运算是按由左到右顺序,还是按由右到左顺序。, 运算符的优先级及结合性见教材表1.4(p25)。,运算符的优先级和结合性, 结合性为从右到左的运算符: 1. 所有的一元运算符 例:int z(-1),x; x=-z+; 2. 赋值运算符 例:int x,y,z; x=y=z=1; 3. 条件运算符,混合数据类型表达式的计算(1), 如果两个操作数的类型不同,把取值范围较窄的那个值的
20、类型转换为取值范围较宽的那个值的类型,然后进行计算。, 对赋值运算符 “=” ,采用隐式强制类型转换。,例:int a; double b=3.65; a=b; /赋值后变量 a 的值为 3,例:int x=5,y=2; double a=3.4,b=3.3,r1,r2; r1=x/y*(a-b); r2=x*(a-b)/y;,r1 的值是:0.2 r2 的值是:0.25,结果:, 转换是逐步进行,而不是一次完成。,混合数据类型表达式的计算(2), 表达式中的char和bool型数据一定会转换成int型,而float型一定会转换成double型。,A B 70 66 B,程序运行结果:,1.7 基本输入/输出,1. 输入,指在程序运行时由
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 8.5.2直线与平面平行(第2课时)(教案)
- 小学2025年学习主题班会说课稿
- Lesson 2 Great Buildings教学设计高中英语北师大版必修二-北师大版2004
- 高中生留学规划指导主题班会说课稿
- 2026年期货 开户测试题及答案
- 2026年各地高三测试题及答案
- 小学语文人教部编版四年级下册8 千年梦圆在今朝教案及反思
- 5.2《了解我自己-探索我的优势能量桶》教学设计-鲁教版初中心理健康教育八年级下册
- 数学一年级下册七 看魔术-乘法的初步认识教学设计
- 小学7 一匹出色的马教案
- DBJ50-T-098-2019 城市绿化养护质量标准
- 装卸作业环境风险评估与控制
- 农业项目法人责任与管理规定
- 一年级 100以内口算练习题(可A4打印)
- 广东省珠海市香洲区2023-2024学年部编版七年级下学期7月期末历史试题
- 人教版高中地理选择性必修1第一章地球的运动第一节地球的自转和公转练习含答案
- 《会计信息系统》考试复习题库(含答案)
- 中国血脂管理指南(基层版2024年)
- 2023年云南烟草专卖局招聘考试真题
- 北京市大气颗粒物浓度的季节变化
- 外墙石材清洗施工方案
评论
0/150
提交评论