编程基础知识_第1页
编程基础知识_第2页
编程基础知识_第3页
编程基础知识_第4页
编程基础知识_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C C+简单程序设计简单程序设计复习内容复习内容C+语言程序设计C+语言程序设计2本章主要内容本章主要内容l算法的基本控制结构算法的基本控制结构l结构体结构体C+语言程序设计l基本算术运算符基本算术运算符 + - * /(若整数相除,结果取整) %(取余,操作数为整数)l优先级与结合性优先级与结合性先乘除,后加减,同级自左至右l+, -+, -(自增、自减)(自增、自减)例:i+; -j;Page 3基本数据类型和表达式C+语言程序设计l举例举例n = n + 5n = n + 5l表达式的类型表达式的类型等号左边对象的类型等号左边对象的类型l表达式的值表达式的值等号左边对象被赋值后的值等号左

2、边对象被赋值后的值Page 4基本数据类型和表达式C+语言程序设计5l复合运算符:复合运算符:+=, -=, +=, -=, * *=, /=, %=,=, /=, %=,l例例a a + += = 3 3 等价于等价于 a = a = a a + 3+ 3x x * *= = y + 8y + 8 等价于等价于 x = x = x x * * (y + 8) (y + 8)基本数据类型和表达式C+语言程序设计6l格式格式表达式1,表达式2l求解顺序及结果求解顺序及结果先求解1,再求解2,最终结果为表达式2的值l例例a = 3 * 5 , a * 4 最终结果为60Page 6基本数据类型和表

3、达式C+语言程序设计7关系运算与关系表达式关系运算与关系表达式l关系运算是比较简单的一种逻辑运算,优先关系运算是比较简单的一种逻辑运算,优先次序为:次序为: = = != = = != 优先级相同(高)优先级相同(高) 优先级相同(低)优先级相同(低)l 关系表达式是一种最简单的逻辑表达式关系表达式是一种最简单的逻辑表达式其结果类型为 bool,值只能为 true 或 false。l例如:例如:a a b b,c c = b) b) & & (x (x y)y) 其结果类型为其结果类型为 boolbool,值只能为,值只能为 truetrue 或或 falsefalse基本数据

4、类型和表达式C+语言程序设计9l注意:注意:条件运算符优先级高于赋值运算符,低于逻辑运算符l例:例: x x = = a a b b ? ? a a : : b;b;基本数据类型和表达式C+语言程序设计10sizeof 运算符运算符l语法形式语法形式sizeof (sizeof (类型名类型名) )或或 sizeof sizeof 表达式表达式l结果值:结果值:“类型名类型名”所指定的类型或所指定的类型或“表达式表达式”的结果的结果类型所占的字节数。类型所占的字节数。l例:例:sizeof(short)sizeof x基本数据类型和表达式C+语言程序设计基本输入输出基本输入输出l输入输入/输出

5、格式定义如下输出格式定义如下 :l向标准输出设备(显示器)输出向标准输出设备(显示器)输出例:int x; cout x= x;cin变量名变量名;cout变量名或常量变量名或常量;C+语言程序设计开发环境开发环境 l例例1-2 创建一个控制台应用程序,创建一个控制台应用程序,当其运行时在屏幕上显示当其运行时在屏幕上显示“Hello, World!”。 C+语言程序设计#include void main()coutHello World!endl; /在屏幕上输出“Hello World!C+语言程序设计14顺序结构顺序结构分支结构分支结构循环结构循环结构算法的基本控制结构算法的基本控制结构

6、C+语言程序设计15如何解决多分如何解决多分支问题支问题?例例输入两个整数,比较两个数的大小。输入两个整数,比较两个数的大小。算法的基本控制结构C+语言程序设计#include#includeusing namespace std;using namespace std;int main()int main() int x,y; int x,y; coutEnter x and y:; coutxy; cinxy; if (x!=y)if (x!=y) if (xy)if (xy) coutyendl; coutyendl; else else coutxyendl; coutxyendl;

7、elseelse coutx=yendl; coutx=yendl; 16C+语言程序设计运行结果运行结果1 1:Enter x and y:5 8Enter x and y:5 8xyxyxy17C+语言程序设计18l一般形式一般形式switch (表达式) case 常量表达式 1:语句1 case 常量表达式 2:语句2 case 常量表达式 n:语句n default : 语句n+1 l执行顺序执行顺序以case中的常量表达式值为入口标号,由此开始顺序执行。因此,每个case分支最后应该加break语句。每个常量表达式的值不能相同,次序不影响执行结果。可以是多个语句,但不必用 。可以是

8、整型、字符型、枚举型C+语言程序设计19特殊的多分支结构特殊的多分支结构例例输入一个输入一个06的整数,转换成星期输出。的整数,转换成星期输出。C+语言程序设计# #include include using namespace std;using namespace std;int main()int main() int day;int day;cin day;cin day;switch (day)switch (day) case 0:case 0: coutcout SundaySunday endl;endl; break;break; case 1:case 1: coutcou

9、t MondayMonday endl;endl; break;break; case 2:case 2: coutcout TuesdayTuesday endl;endl; break;break; case 3: coutcase 3: cout WednesdayWednesday endl;endl; break;break; case 4:case 4: coutcout ThursdayThursday endl;endl; break;break; case 5:case 5: coutcout FridayFriday endl;endl; break;break; case

10、 6:case 6: coutcout SaturdaySaturday endl;endl; break;break; default:default: coutcout Day out of range Sunday . SaturdayDay out of range Sunday . Saturday endl;endl; break;break; return 0;return 0; C+语言程序设计21l形式形式while (表达式) 语句可以是复合语句,其中必须含有改变条件表达式值的语句。l执行顺序执行顺序先判断表达式的值,若为 true 时,执行语句。算法的基本控制结构C+语言

11、程序设计22l一般形式一般形式do 语句while (表达式)可以是复合语句,其中必须含有改变条件表达式值的语句。l执行顺序执行顺序先执行循环体语句,后判断条件。表达式为 true 时,继续执行循环体l与与whilewhile语句的比较:语句的比较:while 语句执行顺序 先判断表达式的值,为true时,再执行语句算法的基本控制结构C+语言程序设计对比下列程序:对比下列程序: 程序程序1 1:#include #include using namespace std;using namespace std;int main() int main() int i, sum = 0; int i

12、, sum = 0; cin i; cin i; while (i = 10) while (i = 10) sum += i; sum += i; i+; i+; cout sum= sum cout sum= sum endl; endl; return 0; return 0; 算法的基本控制结构程序程序2 2:#include #include using namespace std;using namespace std;int main() int main() int i, sum = 0; int i, sum = 0; cin i; cin i; do do sum += i

13、; sum += i; i+; i+; while (i = 10) while (i = 10); cout sum= sumcout sum= sum endl; endl; return 0; return 0; 23C+语言程序设计24for (初始语句;表达式1;表达式2) 语句 循环前先求解为true时执行循环体每次执行完循环体后求解算法的基本控制结构例:for(i=1;i=10;i+) cout*;for(i=1;i=10;i+) cout*; cout$;C+语言程序设计25lbreakbreak语句语句使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句。不宜用

14、在别处。lcontinue continue 语句语句结束本次循环,接着判断是否执行下一次循环。算法的基本控制结构C+语言程序设计26#include using namespace std;void main() int x=1; for(int i=0;i6;i+) if(i%2) continue; if(i%3) break; x+;couti=i;x=xendl;C+语言程序设计27函数的声明函数的声明l函数是面向对象程序设计中,对功能的函数是面向对象程序设计中,对功能的抽象抽象l函数声明的语法形式函数声明的语法形式类型标识符 函数名(形式参数表) 语句序列函数的声明与使用是被初始化

15、的内部变量,寿命和可见性仅限于函数内部若无返回值,写voidC+语言程序设计28例例 编写一个求编写一个求x的的n次方的函数次方的函数# #include include doubledouble power(double x, int n);power(double x, int n);int main()int main() cout5 to the power 2 is cout5 to the power 2 is powerpower(5,2)endl;(5,2)endl; doubledouble power(double x, int n)power(double x, int

16、n) double val=1.0;double val=1.0;while (while (n-n-) ) val=valval=val* *x;x;return(val);return(val); 函数的声明与使用C+语言程序设计29运行结果:运行结果:5 5 to the power 2 is 25to the power 2 is 25例例 编写一个求编写一个求x的的n次方的函数次方的函数函数的声明与使用C+语言程序设计30结构体结构体结构的声明结构的声明l结构的概念结构的概念结构是由不同数据类型的数据组成的集合体。l声明结构类型声明结构类型 struct 结构名 数据类型 成员名 1

17、; 数据类型 成员名 2; : 数据类型 成员名 n; ;自定义数据类型C+语言程序设计31结构体结构体结构的声明结构的声明l举例:举例:struct student /学生信息结构体 int num; /学号 char name20; /姓名 char gender; /性别 int age; /年龄 float score; /成绩 char addr30; /住址;自定义数据类型C+语言程序设计32结构体结构体结构变量说明结构变量说明l变量说明形式变量说明形式结构名 结构变量名;l注意:注意:结构变量的存储类型概念、它的寿命、可见性及使用范围与普通变量完全一致。结构变量说明在结构类型声明

18、之后,二者也可同时进行。结构变量占内存大小可用 sizeof 运算求出: sizeof(运算量)自定义数据类型C+语言程序设计33结构体结构体结构变量的初始化和使用结构变量的初始化和使用l初始化初始化说明结构变量的同时可以直接设置初值。l使用使用结构体成员的引用形式:结构变量名.成员名自定义数据类型C+语言程序设计34例例结构体变量的初始化和使用结构体变量的初始化和使用#include #include #include #include using namespace std;using namespace std;struct student /struct student /学生信息结构体学生信息结构体 int num;/ int num;/学号学号 char name20;/char name20;/姓名姓名 char gender;/char gender;/性别性别 int age;/int age;/年龄年龄stu=97001,Lin Lin,F,19;st

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论