《简单C程序设计方案.ppt》由会员分享,可在线阅读,更多相关《简单C程序设计方案.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、简单C程序设计方案 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望算法与程序流程控制u程序就是数据和算法u算法(Algorithm),数据处理过程u算法的表示自然语言,流程图,伪代码u基本流程控制顺序,选择,循环算法示例u从一组数中找出最大的数u自然语言:1.假设第一个最大2.第一个与别的数每一个比一次,如果后面的数更大,记住它的位置,从这个位置继续往后比3.继续以上过程,最后记住位置的数就是最大的数算法示例(cont.)u伪代码:找大数算法输入:一组数N输出:N
2、中的最大数MM=N0For each n in N(i0),do If n M,then M=nReturn M算法示例(cont.)u流程图(flow chart)u不同操作用特定符号表示u程序执行流向M=N0;i=0输入数组N开始i=i+1i n?MNi输出M真假M=Ni结束程序流程控制u顺序,按照语句前后次序执行u选择,按照条件执行不同语句分枝u循环,重复执行一段代码,按照一定条件退出选择结构uif(expression)statements;uif(expr)stat1;else stat2;uif(expr1)stat1;else if(expr2)stat2;else statn;
3、u分支可以是复合语句,复合语句中还可以有各种结构选择结构(cont.)uswitch(expr)case const1:stat1;case const2:stat2;case constn:statn;default:stat_default;ucase分支可以包含多条语句,不必用复合语句u表达式、常数值只能是整数型(int,char等),不是范围或者bool值。u多分支可执行同一组语句。ubreak语句循环uwhile(expr)stats;udo stats;while(expr);ufor(start;cond;incr)stats;都可以省略或者多条(逗号表达式)选择和循环的嵌套u注
4、意层次,“”和“”正确配对辅助控制语句ubreak,结束循环ucontinue,结束本次循环,继续下一次循环ugoto 无条件转移到标号处loop:stats;goto loop;Derived types(vs.basic types)utypedef,enum,union,structutypedef,定义某种数据类型的名称为另一个名称typedef long id;typedef double height;typedef int age;height h1,gaodu;id student1,s2(4050607);age puppy=1,zhang3;h1=2.08;enumu相当于
5、定义一系列特定类型的整数常数,不能再赋值uenum week Sun,Mon,Tue,Wed,Thu,Fri,Sat;week day,d;u 枚举元素缺省值为从第一个开始:0,1,2,.。u 可以指定枚举元素的值:enum week Sun=7,Mon=1,Tue,Wed,Thu,Fri,Sat;这时Tue=2,Wed=3,uenum量可以比较大小。u 整数值不能直接赋给枚举变量,需要强制类型转换。structustruct student long id;char name20;Sex sex;stu1=040201,“zhang 3”,male,stu2;u结构变量占用内存大小可用 si
6、zeof 运算求出:coutsizeof(stu1);ustu2.id=040506;stu2.sex=female;Unionu不同名称,占用同一内存空间uunion union_name type1 data1;type2 data2;u无名Union#include using namespace std;void main(void)union int i;float f;i=1;cout i=i f=fendl;f=2.34f;cout i=i f=fendl;上机练习u输出除0以外的所有ASCII码,以及有符号和无符号的短整数序列1000,2000,3000,一百项u输出如下乘法九
7、九表1X1=12X1=2 2X2=43X1=3 3X2=6 3X3=94X1=4 4X2=8 4X3=12 4X4=165X1=5 5X2=10 5X3=15 5X4=20 5X5=256X1=6 6X2=12 6X3=18 6X4=24 6X5=30 6X6=367X1=7 7X2=14 7X3=21 7X4=28 7X5=35 7X6=42 7X7=498X1=8 8X2=16 8X3=24 8X4=32 8X5=40 8X6=48 8X7=56 8X8=649X1=9 9X2=18 9X3=27 9X4=36 9X5=45 9X6=54 9X7=63 9X8=72 9X9=81u输入一个正整数,输出它的所有素数因子u编译运行书上的例题程序,尝试修改源程序,看有没有别的方法做同样的事情u论坛上的自由练习题。练习u编程序:u百鸡百钱问题:公鸡1只值钱5,母鸡1只值钱3,小鸡3只值钱1。今有钱100,买鸡100只。问公鸡、母鸡、小鸡各买几只?
限制150内