C,VC++程序设计1.ppt

上传人:rrsccc 文档编号:9226729 上传时间:2021-02-09 格式:PPT 页数:59 大小:439.50KB
返回 下载 相关 举报
C,VC++程序设计1.ppt_第1页
第1页 / 共59页
C,VC++程序设计1.ppt_第2页
第2页 / 共59页
C,VC++程序设计1.ppt_第3页
第3页 / 共59页
C,VC++程序设计1.ppt_第4页
第4页 / 共59页
C,VC++程序设计1.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《C,VC++程序设计1.ppt》由会员分享,可在线阅读,更多相关《C,VC++程序设计1.ppt(59页珍藏版)》请在三一文库上搜索。

1、第二部分 语法基础(第二、三章),C+语言程序设计,2,C+程序实例,例2-1.cpp include void main(void) cout“Hello! n”; cout“Welcome to C+!n”; ,3,C+字符集,是构成C的基本元素 大小写英文字母:AZ,az 数字字符:09 特殊字符: 空格! #%.,() / ,4,词法记号,关键字:C+预定义的单词 标识符:程序员声明的单词,它命名程序正文 中的一些实体 文字 :在程序中直接使用符号表示的数据 操作符:用于实现各种运算的符号 分隔符:(),:等用于分隔各个词法记号或程 序正文 空白符:空格、制表符(TAB键)、注释和换行

2、 符(Enter键)的总称,5,标识符的构成规则,可以由以大、小写字母、下划线(_)或数字09组成。 以大、小写字母或下划线(_)开始。 不能以关键字命名 不能含有空格 大写字母和小写字母代表不同的标识符。,6,课堂练习,以下命名正确(合法)的有? -page Programe _lock mail Void Examp_1 stu dent 3nil int,7,基本数据类型,数据是程序处理的对象。 C+数据类型分为基本类型和自定义类型。 基本数据类型:bool布尔型;char字符型;int整型;double双精度型; 修饰符:short;long;signed;unsigned 表2-1

3、C+的基本数据类型 Int和char型默认情况下是signed,8,常量,数据不仅分为不同类型,而且每种类型还有常量与变量之分 常量在程序运行的整个过程中其值始终保持不变,并不可改变的数据。 整型常量:123, -123, 0, 123L(长整型) 123U, 0123(8进制), 0 x5af(16进制) 实型常量:12.5, -12.5, 0.3E+2, (默认为double型)12.5f(float型),9,常量(续),字符常量:a, A, $ , ?, , 以ASCII码存储,占1字节,用7个二进制位 不可显示的字符用转义字符“”来加以表示 字符串常量: abcde, thank yo

4、u 【思考】please enter yes 怎么定义常量? 布尔常量:False(假)、True(真),10,符号常量,符号常量命了名的常量。 符号常量在使用之前一定要声明并赋值。 声明方式: const 数据类型说明符 常量名常量值; 数据类型说明符 const 常量名常量值; 例:const float pi3.1415926 使用符号常量的好处:利于提高程序的可读性,便于程序的书写。,11,变量,变量在程序执行过程中可以变化的量。 定义格式:数据类型 变量名1,变量名2; 例:int num1,num2; char x,y,z; 在定义变量时还可以给以初值 形式1:float f=78

5、.09; char c=u; 形式2:int a(3),12,运算符与表达式,表达式的定义 一个常量或标识符就是一个最简单的表达式; 一个表达式的值可参与其他操作,形成更复杂表达式; 括号中的表达式仍然是一个表达式。 运算符 按类型分:算术运算符、关系运算符、逻辑运算符等; 按操作数形式分:一元运算符、二元运算符等; 运算符具有优先级与结合性。,13,算术运算符与算术表达式,由算术运算符、操作数和括号构成的表达式称为算术表达式。 基本算术运算符:、*、/、%。 例 1+2, 3*5 , 5%2, i+2, i+j 自增运算符、自减运算符-。 2+, +2(), i-, -i,14,赋值运算符与

6、赋值表达式,赋值运算符: 带赋值运算符的表达式称为赋值表达式 10种符合的赋值运算符(自右向左) += ,-= ,*= ,/= ,%= ,= , double d; int i; unsigned long u; d= i*u; d= u+f;,强制转换例 float z=6.789,f; int i; i=int(z); f=z-(int)z,24,C+语句,声明语句 表达式语句 选择语句 循环语句,跳转语句 复合语句 标号语句,25,表达式语句,格式:表达式; 表达式语句与表达式的区别: 表达式可以包含在其他表达式中,而语句不可。 例如:if (a=b)0) t=a; 不可写为:if (a

7、=b;)0) t=a;,26,复合语句,将多个语句用一对大括号包围,便构成一个复合语句 例 sum=sum+i; i+; ,27,输入/输出语句,向标准输出设备(显示器)输出 例:int x; coutx;,28,算法的基本控制结构,基本控制结构:顺序、选择、循环。 If语句实现选择结构,语法形式: if(表达式) if(表达式) 语句1; 语句1; else 语句2;,29,【问题】求两个数中的最大数 【运行结果】 Enter the year: 5 7 max is 7,实例2-1.cpp 双分支选择,30,【问题】输入一个年份,判断是否闰年。 【运行结果】 Enter the year:

8、 2000 2000 is a leap year,实例2-2.cpp 双分支选择,31,#include void main(void) int year; bool isleapyear; cinyear; isleapyear=(year%4=0 ,32,【问题】输入两个整数,比较两个数的大小。 【运行结果】 Enter x and y:5 8 xy,实例2-3.cpp 多分支选择,33,#include using namespace std; int main() int x,y; coutxy; if (x!=y) if (xy) coutyendl; else coutxyend

9、l; else coutx=yendl; ,34,多重选择结构,如果if语句嵌套过多,容易出错;应用ifelse if语句形式实现多重选择结构,语法形式: if(表达式1)语句1; else if(表达式2)语句2; else if(表达式3)语句3; else if(表达式4)语句4; else if(表达式n)语句n; 就近匹配原则:将上例用if.elseif改写?,35,特殊的多分支选择,switch语句实现对同一问题进行多次判断的多重选择结构。语法形式: switch(表达式) case 常量表达式1: 语句1; case 常量表达式2: 语句2; case 常量表达式3: 语句3;

10、case 常量表达式n: 语句n; default :语句n+1; ,36,Switch语句注意事项,运算方式:1计算表达式的值;2顺序寻找值相等地常量表达式m;3执行该case语句项中的语句m;4若没有相等的常量表达式值,则执行default项中的语句; 每个case语句只表示是一个入口,并不代表执行的中止点,一次每个case分支最后需要以break语句结束,从而结束整个switch结构; 若干分支需要执行相同操作时,可以使用多个case分支共用一组语句;,37,【问题】输入一个06的整数,转换成星期输 【运行结果】 输入:3 输出:Wednesday,实例2-4.cpp Switch语句,

11、38,#include using namespace std; int main() int day; cin day; switch (day) case 0: coutSundayendl; break; case 1: coutMondayendl; break; case 2: coutTuesdayendl; break; case 3: coutWednesdayendl; break; case 4: coutThursdayendl; break; case 5: coutFridayendl; break; case 6: coutSaturdayendl; break;

12、default: coutDay out of range Sunday . Saturday endl; break; ,39,课堂练习,编程实现对输入成绩的评级 Score= 90分以上 A 8090 B 7080 C 6070 D 60分以下 E 要求分别用if. Else if. Else和Switch.case,40,循环结构:重复工作,三种循环控制语句:while;do-while;for。 while语句语法形式: while(表达式) 语句;/先判断,后执行 do-while语句语法形式: do 语句; while(表达式);/先执行,后判断 一般在while、do-whilt

13、e语句中,应该包含改变表达式值的语句。,41,实例2-5.cpp while语句,【问题】求自然数110之和 【分析】需要用累加算法,累加过程是一 个循环过程,可以用while语句实现。 【运行结果】 sum=55,42,#include void main(void) int i=1,sum=0; while(i=10) sum+=i; /相当于sum=sum+i i+; cout“sum=”sumendl; ,43,实例2-6.cpp do.while语句,【问题】输入一整数,将各位数字反转后输出 【分析】可用while语句,也可以用do.while 【运行结果】 Enter the nu

14、mber: 365 The number in reverse order is 563,44,#include Void main() int m,yushu; cinm; while(m!=0) yushu=m%10; coutyushu; m=m/10; ,45,#include using namespace std; int main() int n, right_digit, newnum = 0; cout n; cout The number in reverse order is ; do right_digit = n % 10; cout right_digit; n /

15、= 10; /相当于n=n/10 while (n != 0); coutendl; ,对比下列程序,程序1: #include using namespace std; int main() int i,sum(0); cini; while(i=10) sum+=i; i+; coutsum=sum endl; ,程序2: #include using namespace std; int main() int i, sum(0); cini; do sum+=i; i+; while(i=10); coutsum=sum endl; ,46,47,for循环语句,for语句语法形式: f

16、or(表达式1;表达式2;表达式3) 语句1; 注意:1、表达式1,2,3都可以省略,分号不能省略。 2、表达式2是循环控制条件,若省略则成为死循环。 3、表达式1一般用于给循环控制条件赋初值,也可以是与循环变量无关的 其他表达式。 4、表达式1和表达式3可以是单个表达式,也可以是由多个表达式组成的逗号表达式。 5、表达式3一般用于改变循环控制条件的值。 6、省略表达式1和表达式3,则等同于while语句。,48,实例2-8.cpp for语句,【问题】输入一个整数,求出它的所有因子 【分析】可用while语句,也可以用for 【运行结果】 Enter a positive integer:

17、36 Number 36 Factors 1 2 3 4 6 9 12 18 36 Enter a positive integer: 7 Number 7 Factors 1 7,49,#include using namespace std; int main() int n, k; cout n; cout Number n Factors ; for (k=1; k = n; k+) if (n % k = 0) cout k ; cout endl; ,49,50,循环结构与选择结构的嵌套,【问题】读入一系列整数,统计出正整数个数 i和负整数个数j,读入0则结束。 【分析】需要读入一

18、系列整数,但是整数个数 不定,要在每次读入之后进行判断,因此使 用while循环最为合适。循环控制条件应该是 n!=0。由于要判断数的正负并分别进行统 计,所以需要在循环内部嵌入选择结构。,51,#include using namespace std; int main() int i=0,j=0,n; coutn; while( n!=0 ) if(n0) i+; if(nn ; cout正整数个数:i 负整数个数:jendl; ,51,52,课堂练习,编程实现找出1100以内的素(质)数。 定义:只能被1和它本身整除的就叫素数。 方法:用m除以2sqrt(m) ,若不能整除,则m为素数;

19、反之,不是素数。 任选一种while和for,53,其他控制语句,break语句:在switch语句也可以使用,表示结束出口; continue语句:出现在循环体中,结束此次循环,判定下一次循环条件; goto语句语法格式: goto 语句标号; 语句标号是在程序中置于语句最前,用冒号与语句隔开。 例: abc: z=i+j; . goto abc; Goto语句容易造成程序结构上的二义性,所以能不用则不用。,54,# include void main() int r; float area; for(r=4;r24) break; Cout“面积=”area; Cout“现在r=”r) ,

20、55,# include void main() int r; float area; for(r=4;r24) continue; Cout“面积=”area; Cout“现在r=”r),56,56,例4.14:打印乘法九九表,57,57,#include main() int m, n; for (m=1; m10; m+) cout m; /*打印表头*/ coutendl; for (m=1; m10; m+) cout -; coutendl; for (m=1; m10; m+) for (n=1; n10; n+) cout m * n; coutendl; ,58,58,例4.15:打印下三角乘法九九表,59,59,#include main() int m, n; for (m=1; m10; m+) cout m; /*打印表头*/ coutendl; for (m=1; m10; m+) cout -; coutendl; for (m=1; m10; m+) for (n=1; n=m; n+) cout m * n; coutendl; ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1