版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,第一章 C+程序设计基础,本章内容, C+语言概述 C+程序开发过程 C+程序实例(程序框架和简要书写规则) 基本数据类型 常量、变量及引用(重点) 运算符与表达式(重点) 基本输入/输出(重点),1.1 C+语言概述,1.程序设计语言与程序设计,程序设计语言:人与计算机交流的语言。 计算机程序:借助程序设计语言对解决问题步骤的描述 程序设计:将某个问题的求解过程用程序设计语言描 述出来的过程。,程序设计语言分类(按支持的程序设计方法),面向过程的程序设计语言,如 C、FORTRAN等 面向对象程序设计语言,如C+、JAVA等,1.1 C+语言概述,C+简介 一种用于程序设计的高级语言 来源
2、于C,支持面向过程的程序设计方法 对C进行了扩展,支持面向对象的程序设计方法 用途广泛:开发系统程序、各种应用程序 C+ 的标准1998 : ISO/ANSI 推出,1.1 C+语言概述,/一个C+程序示例 #include void main() int a,b,c; coutab; c=a+b; couta+b=cendl; ,执行程序,从存储器取指令,在CPU执行指令,结束,NO,YES,启动,停止,1.2 C程序调试过程,Visual C+是实现这一过程的一种软件工具(语言处理程序),类似的还有GCC、Borland C+、C+Builder等,1.3 程序实例 (程序组成和书写格式)
3、,/一个C+程序示例 #include /*编译预处理命令,以“#”开头,行末不加分号*/ void main() /主函数,执行入口 /函数体 int a,b,c; coutab; c=a+b; couta+b=cendl; ,程序组成 注释 预处理命令 函数 变量 输出 输入 语句 输出 其他,C+程序书写规则,一行写一条语句,短语句可以一行写多个,长语句也可以写多行; 每条语句以分号结束; C+程序区分大小写,如:int a; int A; 则a和A是两个不同的变量; 采用适当的缩进书写方式很重要; 大括号的使用要恰当。,1.4 C+的数据类型,+常用的基本数据类型,.5 常量、变量及引
4、用,1.常量 程序中直接写出的常数,程序执行时其值不可以改变。 常量的类型 整型、浮点型、字符型、字符串常量、布尔常量 注意:编译系统依据书写形式确定常量的类型,十进制整数: 由数字组成的正负整数,如、15、247。 八进制整数: 以数字开头的整数,由数字组成,如015,0236。 十六进制整数: 以0 x或0X开头的整数,由数字和字母(或大 写)组成。例如:0 x516,0 x8AB,0 xb2ff。 注意 八进制和十六进制只能表示无符号整数. 任一整型常数后跟字母(或)时,为长整型.如:12345L 十进制整型常数后跟字母(或)时,为无符号整型. 如:7895,1)整型常量,浮点型常数有两
5、种形式: 小数形式:3.14159 -0.55 -123.05. .5 指数形式:+5.25e-8 表示 +5.2510-8 0.5678+05 表示 0.5678105 1.0e-5或1e-5 表示 10-5,)浮点型常量(float 和double类型),说明: 指数形式表示浮点型数时e(或E)前可以是整数或小数,但后的指数部 分必须是整型数。 不带后缀的浮点型常量为 double 型,带后缀 F 或 f 可表示单精度实型常量,如:3.14159为double型;而3.14159f, 1.234e-6f为float型。 通常在双精度数后面加上l或L表示长双精度(long double)型常
6、量,如 1.2345e-12L。,) 字符型常量:用单引号括起来的单个字符,可打印字符:例:A、S、*、a 不可打印字符:例:n(回车符)、0(空字符) 特殊字符:例:、”、 ,说明:,1.字符型常量中的单引号作为定界符,不是字符型常量内容。 2.字符型常量具有数值,其值就是该字符的ASCII码值。而且该值可以作为整数参与运算,例如: +5 结果为102,是字符的ASCII码值 9-6 结果为51,是数字字符的ASCII码值 A+32 结果为97 ,是字符的ASCII码值 - 结果为整数2。 3. 对不可打印的字符和特殊字符要使用以反斜杠开始的转义序列。,表1.3 转义字符,字符形式 功能,
7、报警 退格 走纸(用于打印机) 换行 横向跳格(键) 垂直跳格 回车 单引号 双引号 反斜杠 0 空字符 到位八进制数所表示的字符 到位十六进制数所表示的字符,) 字符串常量,用双引号括起来的一串字符。 例如: “ This is a string. ” /字母及标点符号 “ 1234 ” /数字 中国_天津 /汉字 /注意与a的区别 /空字符串 Its a c+ program /转义字符,说明:,字符串长度是指字符串中包含的字符个数(一个汉字算两个字符,转义字符算一个字符) 编译程序在存储字符串常量时,自动在字符串最后加一个0作为一个字符串的结束标志,0占一个字节位置。 存储长度=字符串长
8、度+1 字符串不能做算术、比较大小等运算。,5)布尔常量,仅有两个值,即 true(真)和false(假) true的值为1,false的值为0,6)符号常量:为常量起一个名字,称为符号常量。,符号常量的说明形式 const 数据类型名 常量名常量值; 或数据类型名 const 常量名常量值; 例如: const int m=100; const float pi=3.14159;,说明:,符号常量在说明时一定要赋值,其值在程序中不能修改。 符号常量名一般不要和变量名重名。 使用符号常量可以提高程序的可读性,增强程序的可维护性。,1)什么是变量 在程序运行过程中可以改变其值的量,每个变量对应内
9、存中的若干个存储单元,程序中使用变量就是使用相应存储单元中存放的数值。,2.变量,变量值,12.345,变量名,X1,存储单元,0 x15AB,存储单元地址,程序中的变量应先声明后使用。,一般形式 类型名 变量名1,变量名2,; 变量的类型 告诉计算机应为变量分配多少内存空间、取值范围以及可以对变量进行的合法操作。 例 char a,b,c; int ,y; long int s1,s2; float data_1, data_2;,2) 定义变量,变量名:变量的名字,属于C+的一种标识符。 标识符的命名规则 必须由字母、下画线和数字组成 第个字符应是字母或下画线 不能使用+的关键字作为标识符
10、 例如:a、ex1、EX1、data_5、count /合法的标识符 23、5x、main、int、姓名 /为非法标示符 注意: 标识符的最大长度:一般不要超过32个字符。 区分大小写,如:ex1和 EX是两个不同的变量名 变量名应见名知意,如用 age 表示年龄,area表示面积,2) 定义变量,3)变量的初始化,变量在定义的同时给其赋值 例如: char A; int =0,=12 ; double w1=12.3456, w2= -0.4567e-4; 或 char (A); int (0),(12) ; double w1(12.3456), w2(-0.4567e-4); 注意:初值
11、类型应与变量类型一致,4)使用变量值的说明,对于非静态的局部变量,定义一个变量而且没有赋初值时,其值不确定。 在程序中对已定义变量可以用多种方式改变它的值 变量取到新值后,原值将被覆盖。,4)使用变量值的说明,例如: #include void main() int x, y=10 ; coutxy; coutx=xy=yendl; x=20; y=30; coutx=xy=yendl; ,x=-858993460y=10 输入3和5 x=3y=5 x=20y=30,运行结果:,3.引用,给程序中定义过的变量名再起一个别名 说明引用的形式为: 数据类型 引用名变量名; 或 数据类型 引用名(变
12、量名); 注意:变量名和引用名是对同一个存储单元的操作 例如: int a(10); int /a的值是多少?,枚举类型*,将一些可能取值的量一一列举出来,称为枚举类型。 说明枚举类型的形式为: enum 枚举类型名枚举元素; 其中:enum是用于说明枚举类型的关键字。 每个枚举元素就是枚举常量值。 例如: enumcolourred,yellow,blue,white,black; 定义枚举型变量形式 enum colourred,yellow,blue,white,blackc1,c2; 或 enum colourm1,m2;,枚举型使用说明,1)枚举元素在说明后都自动有一个整数值。 例如
13、:colour中,red的值为,yellow的值为, black的值为。 可以在说明枚举类型时另指定一个整数值,指定元素后边的 各元素值按增的顺序重新排列,而没有指定的元素值仍按 系统自动给定的值。 例如:enumd east,west,south10,north; south的值10,north的值为11,east的值为,west值为。 2)仅能给枚举变量赋枚举元素值。 3)枚举变量进行增或减,比较运算。 4)枚举变量不能用于输入,输出时仅输出枚举值的顺序号。,.6 运算符与表达式,表达式:完成各种运算的式子 表达式的组成: 操作数: 常量、变量、表达式、数组元素及函数调用。 运算符: 对操
14、作数进行特定运算和处理的符号 。 ():改变运算顺序 运算符的优先级和结合性 优先级: 当几种不同的运算符出现在一个表达式中时,进行运算的先后顺序。 结合性:当几个相同级别的运算符进行连续计算时,操作数与运算符的结合方向。,1.6.1 算术运算符与算术表达式,算术运算符 (加) (减) * (乘) (除) (取余) 说明 、可作一元运算符,表示正和负 优先级: 、 *、 高于、 结合性:由左向右。,注意的几个问题,保证运算关系的正确性 用于求两个整型数相除的余数 例如:10.5%5是非法的 整型数据运算,结果类型不变 例如:15/2 允许不同类型的数据进行混合运算,按规则自动转换 例如:15.
15、0/2,(3*x+4*y)/(c+d),结果为7而不是7.5,结果为7.5,自动转换规则,Double unsigned long long unsigned int float short, char,例: 混合类型数据运算的求值过程 int a=10, b=5; double x=1.5; char c1=A; /A的Ascii码是65 表达式 : a*x + 1/b + (c1+4) + 1.0/b,15.0,0,15.0,69,84.0,0.2,84.2,1.6. 赋值运算符与赋值表达式,1)简单赋值运算符 = ,使用形式为: 变量操作数 作用:将操作数存入变量,操作数可以是常量、变量
16、或表达式。 表达式的结果: “”号左边变量的值和类型。 例如: int a ,b,c; a=15; a=a+1; b=3.75; /表达式的值为3 c=a+b;,2)复合赋值运算符,将算术运算符和简单赋值运算符放在一起的缩写形式,包括: +=、-=、*=、/=、%= 等。 例如: a +=; 相当于 a=a+b; a -=; 相当于 a=a-b; a *=; 相当于 a=a*b; a /=; 相当于 a=a/b; a%=; 相当于 a=a%b;,2)复合赋值运算符,赋值运算符的使用说明:,优先级仅比逗号运算符高,低于其他运算符。例如: a-=x+y 等价于 a-=(x+y) 允许连续赋值,但结
17、合性为由右向左,如: a=b=3; 等价于 a=(b=3) a+=b+=3; 等价于 a+=(b+=3) 赋值运算符左边必须是变量名。以下是错误的表达式: 5=a; a += b+ = c+d =12;,1.6.4 自增运算符(+)和自减运算符 (-),使用方式 前缀方式: 变量 后缀方式: 变量 例:int i(5); +i 前置自增,表达式的值为6,a的值为6。 i+ 后置自增,表达式的值为5,a的值为6。 -i 前置自减,表达式的值为4,a的值为4。 i- 后置自减,表达式的值为5,a的值为4。,1.6.4 自增运算符(+)和自减运算符 (-),几点注意 运算对象必须是变量,如:3+、+
18、(a+b)错误 采用前置或后置对变量本身效果一样,但对表达式会有不同的结果。如:int a,b; a=5; b=a-; /b=5,a=4 b=-a; /b=4,a=4 尽量避免对同一个变量连用多个+和-,如: +a (+a)+(+a),1.6.5 关系运算符与关系表达式,共有个运算符 ! 小于 小于等于 大于 大于等于 等于 不等于 优先级 相同(高) 相同(低) 结合性:由左至右 表达式的值是整型数,关系成立时为1,不成立时为0 例:int a=5,b=3; 表达式的值 a=b 1 a b 0 /注意与 = 的区别 am 0 /按ASCII码比较 注意:不能用关系运算比较字符串大小,如以下运
19、算是错误的 “zhang” ”wang”,1.6.6 逻辑运算符与逻辑表达式,逻辑运算符:用于多个条件的组合判断,包括: 逻辑“与”: 表达式的值 a=-1 xy|(+y),2) 逗号运算符与逗号表达式,形式: e1,e2,en 功能:从左到右计算各表达式值,并以最后一个表达式的值作为逗号表达式的值。 结合性由左至右,优先级最低 例: =(a=1,=3,+,a+b); /x的值是5,3) 求字节运算符,形式为: sizeof() 可以是任意类型的常量、变量、类型名或表达式。 作用:求所属类型在内存中占用的字节数。 结合性是由右向左,优先级高于前面讲过的运算符 例如:,unsigned int
20、a,b ,i; double (3.5); =sizeof(); /结果是8 b=sizeof(double); /结果是8 i=sizeof(4*x); /结果是8,4) 类型转换符,使用格式: (类型名)表达式或 类型名 (表达式) 作用: 将“表达式”的值转换成“类型名”所指定的类型。 例如:int a(5),b(2);float x; x=float(a/b); /2.0 x=(float)a/b; /2.5 转换规则:,1. 整数转换为字符型,则去掉多出的高位; 2. 长整型转换为一般整型时,去掉多出高位; 3. 浮点型转换成整型时,去掉小数部分; 4. 双浮点型转换成单浮点型时,按
21、单浮点型位数舍入。,1.6.8 运算符的优先级和结合性,优先级: 括号-一元运算符-二元运算符-条件运算符-赋值运算符-逗号运算符 二元运算符:算术-插入/提取-关系-逻辑-赋值 结合性 一元运算符、条件运算符、赋值运算符为从右向左,其余均为由左向右,表 4,1.7 基本输入/输出,输入: 在程序运行时由输入设备(如:键盘)为程序中的变量提供数据的操作; 输出:将程序中的数据传给输出设备(如:显示器)的操作 输入输出又称I/O(Input/Output)操作。,输入,输出,程序,1. 从键盘输入数据时使用cin和,使用形式: cin变量1 变量2变量n ; 输入时,用空格、制表符或回车分隔不同
22、的数据。 2. 将结果输出到显示器使用cout和,使用形式: coute1e2en ; 其中:每个输出量可以是: 常量、变量、表达式、字符串、函数调用等。,一、输入/输出的基本方法,使用cin和cout时,在程序开始处要写入预编译命令: #include 或: #include using namespace std;,注意:,程序举例:输入两个整数和两个浮点数,分别计算其和并输出。,#include void main() int i1,i2; float f1,f2; couti1i2; coutf1f2; cout两个浮点数的和是:f1+f2endl; ,运行,三种换行方式,1. 默认格
23、式输出 系统内定的输出格式 与编译系统有关,如在VC中: 输出一个整型数或字符时,原样输出; 输出一个float 或double型数时,默认6位有效数字; 如果不加换行控制,当连续输出多个数据时,达到屏幕宽度时自动换行,二、 输出格式,#include using namespace std; void main( ) int a=123; long int b=1234567; float x1=12.34, x2=23.456789; double y=12.34567890123; cout”a=”an”b=”bendl; cout”x1=”x1” ”x2=”x2endl; cout”y
24、= ” yendl; ,默认格式输出举例:,a=123 b=1234567 x1=12.34 x2=23.4568 y=12.3457,输出结果:,2.在输出时使用控制符(操作算子),常用的几个控制符: dec 转换为十进制数输出 hex 转换为十六进制数输出 oct 转换为八进制数输出 setw (int) 设置输出的宽度,只对一个输出项有效 setprecision (int) 设置浮点数输出的有效数字位数 setfill (char) 设置填充字符 endl 插入换行符,1.dec、hex、oct仅对整型数有效 2.除endl外,使用以上格式控制符时,要加上编译预处理命令: #include 或: #include using namespace std;,注意:,输出结果:,使用格式控制符举例:,#include #include using namespace std; void main( ) int x=24; double y=12.3456789; coutx“ ; couthexx“ ; coutoctxn; coutdec; /以下仍按十进制输出 coutsetw(8)x,xendl; coutsetw(8)setfi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届江苏省兴化一中高三下学期联考押题卷英语试题试卷含解析
- 2025福建厦门市政水务集团有限公司专业技术岗应届毕业生招聘40人笔试历年典型考点题库附带答案详解2套试卷
- 2025湘西鹤盛原烟发展有限责任公司招聘5人(湖南)笔试历年难易错考点试卷带答案解析
- 2025浙江宁波土地开发有限公司招聘7人笔试参考题库附带答案详解
- 2025河南豫能控股股份有限公司及所管企业第一批社会招聘6人笔试历年典型考点题库附带答案详解
- 2025江西吉安井冈山市人力资源服务有限公司面向社会招聘办证员1人笔试参考题库附带答案详解
- 2025平安人寿保险股份有限公司平潭分公司招聘若干人笔试历年典型考点题库附带答案详解2套试卷
- 2025山西阳泉静态交通建设运营有限公司万通停车场招聘工作人员1人笔试参考题库附带答案详解
- 2025内蒙乌审旗交通投资集团有限公司招聘24人笔试历年难易错考点试卷带答案解析2套试卷
- 2025“才聚齐鲁成就未来”山东铁投集团招聘1人笔试历年常考点试题专练附带答案详解
- 2026年春季学期全体教师大会校长讲话:点燃新学期教育奋进之力
- 手部关节损伤的人工关节置换
- 山东省平度市九中2026届化学高一第一学期期末联考试题含解析
- 2025课堂惩罚 主题班会:马达加斯加企鹅课堂惩罚 课件
- 2026届安徽省六安二中河西校区高二化学第一学期期末调研试题含答案
- JJF 1218-2025标准物质研制报告编写规则
- 一次函数-经典趣题探究
- 京东人事与组织效率铁律十四条
- 2025年吉林省吉林市中考二模数学试题(含部分答案)
- 高级机工见习记录薄填写
- AB 变频器 Power Flex 400 通讯板说明 22comm-um004--en-中文-
评论
0/150
提交评论