




已阅读5页,还剩119页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c+c+简单程序设计简单程序设计 c+语言程序设计 2 本章主要内容 lc+语言概述(熟悉) l基本数据类型和表达式(重点) l数据的输入与输出(熟悉) l算法的基本控制结构(重点) l自定义数据类型(了解) 3 c+语言的产生 lc+出于c而胜于c l引入类机制,最初被称为“带类的c” l1983年正式取名为c+ l从1989年开始c+语言的标准化工作 l1994年制定了ansi c+标准草案 l1998年11月被(iso)批准为国际标准 c+语言概述 4 c+的诞生 c+的创始人: bjarne stroustrup (at int main() cout/“;. ,:?( ) c+语言概述 9 词法记号 l关键字c+预定义的单词 l标识符程序员声明的单词,它命名程序正文中 的一些实体 l文字在程序中直接使用符号表示的数据 l操作符用于实现各种运算的符号 l分隔符 () , : ; 用于分隔各个词法记号或程序正文 l空白符空格、制表符(tab键产生的字符)、 换行符(enter键所产生的字符)和注释的总称 c+语言概述 10 标识符的构成规则 l以大写字母、小写字母或下划线_开始 l可以由以大写字母、小写字母、下划线 _或数字09组成。 l大写字母和小写字母代表不同的标识符 。 大小写敏感 c+语言概述 11 用户自定义标识符 l合法的: apple、_student、_123、no1、max_num l不合法的: 51job、max-num、abc$、 float、true l良好的标识符命名习惯 1、unix常用的命名法 my_age、num_of_student 2、驼峰式命名法 myage、numofstudent 3、匈牙利标记法 imycar、bisright 12 2.2 基本数据类型 l什么是数据类型? 数据是程序处理的对象,根据其本身的特 点进行分类,形成不同的数据类型。 例:数学中有自然数、整数、实数 基本数据类型 整型:int 字符型:char 实型:单精度float、双精度double 逻辑型:bool 13 基本类型 有序型 字符型(char) 整型(int、 short、long) 布尔型(bool) 浮点型单精度型(float) 双精度型(double) 构造类型枚举型(enum) 数组 结构体(struct) 共用体(union) 类(class) 指针类型 14 l修饰符 在c+中描述为了更加准确的描述数据 类型,提供了4个关键字用来修饰基本的数 据类型: 1、长型 long 2、短型 short 3、有符号 signed 4、无符号 unsigned 15 1、short: 仅用来修饰int,称为短整型,占2字节 内存,也可直接简写为short; 2、long: 仅修饰int和double,在不同的编译环境 中使用long修饰的数据所占内存不同。 3、unsigned: 用来修饰char、short和int,表示该数 据类型为无符号数。 4、signed: 用来修饰char、short和int,表示该数 据类型为有符号数,为缺省设置。 16 数据类型数据类型 整型数据及取值范围整型数据及取值范围 类型类型说明符说明符 位数位数数值范围数值范围 短整短整shortshort1616-32768-327683276732767 基本基本 intint32 32 -2-231 31 (2(231 31-1) -1) 长整长整longlong3232-2-231 31 (2(231 31-1) -1) 无符号无符号 unsigned shortunsigned short16160 065535 65535 unsigned intunsigned int32320 0(2(232 32-1) -1) unsigned longunsigned long32320 0(2(232 32-1) -1) 基本数据类型和表达式 17 数据类型和内存空间 l不同的数据类型,加上不同的修饰符,在内存中占用 的空间不同,其所能表示的数值范围也不同。 l内存单元的单位是字节,因此用来表示数据类型的长 度的单位也是字节。 l整型int的长度等于机器的字长: 16位机:int=2字节; 32位机:int=4字节。 llong int在32位系统中一般为4字节,但在64位系统一 般位 8字节。 lfloat和double型数据的有效位数分别为6位、15位 18 unsigned int与signed int的比较 l指定为signed的数据以补码形式存放,存储 单元中的最高位(bit)用来表示数值的符号。 指定为unsigned的数据,全部二进制位都用 来表示数值本身。例:短整型数据占两个 字节 19 lfloat 4字节 精度:3.41038 6位有效数字 ldouble 8字节 精度:1.710308 15位有效数字 llong double 8字节 精度:1.710308 15位有效数字 数据类型数据类型实型数据实型数据 实型常量: 1.23默认为double型 1.23f或1.23f为 float型 1.23l为long double型 20 常量 1. 在程序运行过程中,值不能被改变的量 称为常量。 2. 文字常量是指可直接使用的常量。 3. 文字常量分为整形、实型、字符型和字 符串型常量。 21 常量 l1整型常量 l(1)十进制整数,如:789, -456 l(2)八进制整数,如:0102,-026 l(3)十六进制整数,如:0x789, -0xab l(4)长整型与无符号型整数 l 长整型整数,如:12l, 0234l,-0xabl l 无符号型整数,如:12u, 0234u,0xabu 22 常量 2实型常量 在内存中以浮点形式存放,均为十进 制数,无数制区分。 (1)小数形式: 1.65,1.,.123 (2)指数形式:1.23e5、1.23e-5、1e3 23 数据类型数据类型 字符型数据字符型数据 l字符常量 单引号括起来的一个字符, 如:a, d, ?, $ l字符变量 用来存放字符 例:char c1,c2; c1=a; c2=a; l字符数据在内存中的存储形式 以ascii码存储,占1字节,用7个二进制位 基本数据类型和表达式 24 l字符串常量 例:“china“ “a“ a 所以:char c; c=“a“; c h i n a 0 a 0 a 数据类型数据类型 字符型数据字符型数据 基本数据类型和表达式 25 转义字符 la 响铃(喇叭声) ln 回车 lt向右跳过一个水平制表符 lnnn八进制数表示 注意:每一位数字n=、=、=b)ba)3 void main() int i =1; cout using namespace std; int main() int i,j,x,y; i=j=1; x=(+i)+(+i); y=(j+)+(j+); cout=, 依次计算表达式1,表达式2,表达式n的 值,并将表达式n的结果作为逗号表达式的结果 例1:逗号表达式a=3*5, a*4的值? 60 例2: int a, b, c, x, y; a=3, b=4, c=a+b; x=b+c, a; x值为11,表达式值为3 y=(b+c, a) y和整个表达式值都为3 47 x=(a=3,6*3) a值为3, x值为18 x=a=3,6*a a值为3, x值为3 逗号表达式其实是把若干个表达式“串联“起来。 使用逗号表达式是想分别得到各个表达式的值 ,而并非一定需要得到和使用整个逗号表达式 的值,逗号表达式最常用于for循环语句中。 在用cout输出一个逗号表达式的值时,要将该逗 号表达式用括号括起来,如 coutb?a:b; 基本数据类型和表达式 49 sizeof 运算符 作用:获取不同数据类型或表达式所占据的字节长度 格式:sizeof (类型名) 或sizeof (表达式) 结果值: “类型名”所指定的类型或“表达式”的结果类型所占的字节 数。 例:sizeof (char) sizeof(bool) sizeof(float) sizeof(int) 、 sizeof(short)、 sizeof(long)比较 sizeof(10+3.14) 50 位运算位运算按位与(按位与( void main( ) unsigned short a; short int b= -1; a=b; cout using namespace std; int main( ) cout 0)t=a; if(a=b;)0)t=a; 返回语句 return 表达式 空语句 只有语句结束符 “;“的语句 控制语句的种类: 分支、循环、转向 67 复合语句 将多个语句用一对大括号包围,便构成一 个复合语句 例如 sum=sum+i; i+; 68 2.3 数据的输入输出 向标准输出设备(显示器)输出 例:int x; coutx; 1)从键盘输入时默认的分隔符为空格,也可以 用回车、tab键。 2)不许在cin中加变量名以外的符号,例:逗号 69 顺序结构 分支结构 循环结构 算法的基本控制结构 70 选择结构 ifelse语句 1、没有else分支 2、双分支 3、多分支 4、if 语句的嵌套 71 if-else 语句 1、没有else分支 例:比较x和y的大小,如果x大,则输出x的值 if ( xy ) couty ) cout void main() int year; cinyear; if (year % 4=0 void main() char ch; coutch; if (ch= 0 cinx; if(x=90) cout=80) cout=60) cout0) if(x=0) if(x!=0) y=1; else y=0; else y=-1; 或者: y= (x=0)?(x!=0)?1:0:-1; 81 例:输出a,b,c中较大的数 #include void main() int a,b,c; cinabc; if (ab) if (ac) coutc) coutb?(ac?a:c):(bc?b:c ) ); 82 ifelse 语句 注意:二义性 int a= -2, b=1, c=2; if (ax; switch(x/10) case 10: case 9:cout void main() int day; cin day; switch (day) case 0: cout void main() int y,m,d; cinym; switch(m) case 1:case 3:case 5:case 7:case 8: case 10:case 12: d=31;break; case 4:case 6:case 9:case 11: d=30;break; case 2: d=(y%4=0 break; default:cout using namespace std; void main() int i=1; while (i using namespace std; void main() int sum=0, i=1; while(i using namespace std; void main() unsigned char ch=32; while(ch void main() int k=1, sum=0, n; cout0):“; cinn; while(k0) cout void main() int k=1,sum=0,n; cout0):“; cinn; while(k0) cout using namespace std; int main() int i,sum(0); cini; while(i using namespace std; int main() int i, sum(0); cini; do sum+=i; i+; while(i using namespace std; void main() for (int i=1;i using namespce std; void main() int sum=0; for (int i=1;i可以省略 for(int i=1 ; i可以省略 for(int i=1; i可以省略 for(int i=1; i 同时省略 for(int i=1; i using namespace std; int main() int n, k; cout n; cout using namespace std; int main() int n; for(n=100; n using namespace std; int main() int i=0,j=0,n; coutn; while( n!=0 ) if(n0) i+; if(nn ; cout 100 ) break; sum +
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年漯河市市属事业单位考试真题
- 企业转让协议合同范本
- 兽医寄生虫复习题(含答案)
- 2025年04月黑龙江绥化市“市委书记进校园”事业单位引才287人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年04月洛阳市慈善联合总会公开招聘专职工作人员6人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年04月河南郑州市黄河办公开招聘编外人员5人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年04月内蒙古孪井滩生态移民示范区公开招聘化工专职技术检查员7人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年03月齐齐哈尔“市委书记进校园”事业单位公开招聘笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 企业负责人借贷合同样本
- 个人向个人贷款合同样本
- 输油管道安全培训
- 2025年海南重点项目-300万只蛋鸡全产业链项目可行性研究报告
- 小说环境描写的深度剖析:解锁文学世界的另一把钥匙(高中教材全册)
- 人教部编版六年级下册语文【选择题】专项复习训练真题100题(附答案解析)
- 2025年河南省高校毕业生“三支一扶”招募1100人高频重点模拟试卷提升(共500题附带答案详解)
- 关于“地舒单抗”治疗骨质疏松的认识
- 浙江省温州市2024-2025学年高一上学期期末教学质量统一检测地理试题(B卷) 含解析
- 2025年国家林业局西北林业调查规划设计院招聘4人历年高频重点模拟试卷提升(共500题附带答案详解)
- 现代护理管理新理念
- 新生儿高胆红素血症诊断和治疗专家共识
- 2024年全国行业职业技能竞赛(电力交易员)备考试题库(浓缩500题)
评论
0/150
提交评论