书签 分享 收藏 举报 版权申诉 / 70
上传文档赚钱

类型第10章C语言程序设计初步课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:3860548
  • 上传时间:2022-10-19
  • 格式:PPT
  • 页数:70
  • 大小:324.18KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第10章C语言程序设计初步课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    10 语言程序设计 初步 课件
    资源描述:

    1、10.1引论 u程序设计语言的发展经历了三个阶段:程序设计语言的发展经历了三个阶段:机器语言是用二进制表示的,计算机能直接识别和执行的语言 如:10000000(加)10010000(减),机器语言执行速度最快。由于用二进制表示,因而程序可读性差,非专业人员难于掌握 二进制指令通过符号化 如 ADD A,B汇编程序 高级语言表达方式接近被描述的问题,接近于高级语言表达方式接近被描述的问题,接近于自然语言和数学表达式,易于人们接受和掌自然语言和数学表达式,易于人们接受和掌握握 函数体函数体语句结束标志语句结束标志 main是主函数的函数名,表示这是一是主函数的函数名,表示这是一个主函数。每一个个

    2、主函数。每一个C源程序都必须有,源程序都必须有,并且只能有一个主函数并且只能有一个主函数(main函数函数),这,这是整个是整个C程序运行的入口点程序运行的入口点 printf是是C语言中的输出函数,它的功能是语言中的输出函数,它的功能是把要输出的内容送到显示器去显示。双引把要输出的内容送到显示器去显示。双引号内字符串原样输出,号内字符串原样输出,“n”是回车换行是回车换行符。符。C C语言规定:语句以分号结束语言规定:语句以分号结束 。数据类型名数据类型名定义的变量名,以定义的变量名,以“,”分分隔隔两个赋值语句,使两个赋值语句,使a a和和b b的值分别为的值分别为1212和和3434 调

    3、用内部函数,输出计算的和数调用内部函数,输出计算的和数求和的值给求和的值给sum 46。自定义函数声明自定义函数声明自定义函数调用自定义函数调用自定义函数自定义函数max带两个形参带两个形参返回返回a、b中最大值中最大值返回值为整型数返回值为整型数0调用内部函数,接受键盘输入数据调用内部函数,接受键盘输入数据 开 始编 辑编 译有错?链 接执 行结果正确?结 束源程序file.c目标程序file.obj库函数和其它目标程序可执行程序file.exe不正确正确有无v人们使用计算机,就是要利用人们使用计算机,就是要利用计算机处理各种不同的问题,计算机处理各种不同的问题,而要做到这一点,人们就必须而

    4、要做到这一点,人们就必须事先对各类问题进行分析,确事先对各类问题进行分析,确定解决问题的具体方法和步骤,定解决问题的具体方法和步骤,再编制好一组让计算机执行的再编制好一组让计算机执行的指令即程序,让计算机按人们指令即程序,让计算机按人们指定的步骤有效地工作。这些指定的步骤有效地工作。这些具体的方法和步骤,其实就是具体的方法和步骤,其实就是解决一个问题的算法。根据算解决一个问题的算法。根据算法,依据某种规则编写计算机法,依据某种规则编写计算机执行的命令序列,就是编制程执行的命令序列,就是编制程序,而书写时所应遵守的规则,序,而书写时所应遵守的规则,即为某种语言的语法即为某种语言的语法.10.2

    5、算法基础算法基础 10.2.1 算法(算法(Algorithm)的概念)的概念【例【例10.2.1】输入输入3个数,求其最大值。个数,求其最大值。v问题分析:设问题分析:设num1,num2,num3存放存放3个数,个数,max存放其最大值。为求最大存放其最大值。为求最大值,就必须对值,就必须对3个数进行比较,可按如个数进行比较,可按如下步骤去做:下步骤去做:输入输入3个数个数num1,num2,num3。先把第先把第1个数个数num1的值赋给的值赋给max。将第将第2个数个数num2与与max比较,如果比较,如果num2max,则把第,则把第2个数个数num2的值的值赋给赋给max(否则不做

    6、任何工作)。(否则不做任何工作)。将第将第3个数个数num3与与max比较,如果比较,如果num3max,则把第,则把第3个数个数num3的值的值赋给赋给max(否则不做任何工作)。(否则不做任何工作)。输出输出max的值,即最大值。的值,即最大值。10.2.2 算法的基本特征算法的基本特征 一个算法应具有以下一个算法应具有以下5个基本特征:个基本特征:v有穷性有穷性v确定性确定性v有效性有效性 v有零个或多个输入有零个或多个输入 v有一个或多个输出有一个或多个输出 算法必须总是在执行有限个操作步骤和可以算法必须总是在执行有限个操作步骤和可以接受的时间内完成其执行过程。也就是说,对于接受的时间

    7、内完成其执行过程。也就是说,对于一个算法,要求其在时间和空间上均是有穷的。一个算法,要求其在时间和空间上均是有穷的。例如:一个采集气象数据并加以计算进行天气预例如:一个采集气象数据并加以计算进行天气预报的应用程序,如果不能及时得到结果,超出了报的应用程序,如果不能及时得到结果,超出了可以接受的时间,就起不到天气预报的作用。可以接受的时间,就起不到天气预报的作用。算法中的每一步都必须有明确的含义,不允许算法中的每一步都必须有明确的含义,不允许存在二义性。例如:存在二义性。例如:“将成绩优秀的同学名单打将成绩优秀的同学名单打印输出印输出”,在这一描述中,在这一描述中“成绩优秀成绩优秀”就很不明就很

    8、不明确,是每门功课均为确,是每门功课均为95分以上?还是指总成绩在分以上?还是指总成绩在多少分以上?多少分以上?算法中描述的每一步操作都应能有效地执行,算法中描述的每一步操作都应能有效地执行,并最终得到确定的结果。例如:当并最终得到确定的结果。例如:当Y=0时,时,X/Y是是不能有效执行的。不能有效执行的。10.2.3 算法的表示算法的表示v 用自然语言表示用自然语言表示v 用流程图表示用流程图表示 v 用伪代码表示用伪代码表示 v 计算机语言表示算法计算机语言表示算法 自然语言可以是中文、英文、数学表达式等。用自然语言表示自然语言可以是中文、英文、数学表达式等。用自然语言表示通俗易懂,缺点是

    9、可能文字过长,不太严格,表达分支和循环通俗易懂,缺点是可能文字过长,不太严格,表达分支和循环的结构不很方便。的结构不很方便。【例【例10.2.2】求】求1+2+m的值的值N,当当N10000时结束。时结束。算法可表示如下:算法可表示如下:n=0m=0m加加1N加加m判判N是否大于是否大于10000,如果满足关系结束;不满足关系,如果满足关系结束;不满足关系继续执行。继续执行。伪代码是用介于自然语言和计算机语言之间的文字和符号伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法的,它不用图形符号,因此,书写方便,格式紧凑,来描述算法的,它不用图形符号,因此,书写方便,格式紧凑,也容易懂,

    10、同时也便于向计算机语言算法的转换。也容易懂,同时也便于向计算机语言算法的转换。【例【例10.2.4】用伪代码表示求】用伪代码表示求10!的算法。!的算法。begin(开始开始)置置t的初值为的初值为1(1t)置置i的初值为的初值为2(2i)当(当(while)i=10,执行(,执行(do)begin 使使t=t i 使使i=i+1 end 打印打印t的值(的值(print t)end(结束)。(结束)。计算机是无法识别流程图和伪代码形式,只有用计算机语言计算机是无法识别流程图和伪代码形式,只有用计算机语言编写的程序才能被计算机执行。因此在用流程图和伪代码形式编写的程序才能被计算机执行。因此在用

    11、流程图和伪代码形式描述出算法后,还要将它转换成计算机语言程序。描述出算法后,还要将它转换成计算机语言程序。【例【例10.2.5】用】用C语言程序来描述求语言程序来描述求10!。!。#include void main(void)long i,t;t=1L;i=2L;while(i=10L)t=t*i;i=i+1;printf(%ldn,t);。处理框处理框判断框判断框终点框终点框过程框过程框I/O框框流程线流程线连接点连接点准备框准备框下图列出了标准的流程图符号下图列出了标准的流程图符号:10.3 基本数据类型基本数据类型10.3.1 数据概述数据概述u常量与符号常量常量与符号常量 .常量常量

    12、v定义:定义:程序运行时其值不能改变的量(即常数)程序运行时其值不能改变的量(即常数)v常量的分类常量的分类:直接常量直接常量(值常量值常量)整型常量整型常量 如,如,15、0、7浮点型常量浮点型常量 如,如,5.0、12.36字符型常量字符型常量 如,如,A、a 指针常量指针常量 如,如,NULL字符串常量字符串常量 如,如,”ABC”符号常量符号常量 用标识符来代表常量。用标识符来代表常量。其定义格式为:其定义格式为:#define NUM 20#define PI 3.1415926 运行结果:运行结果:area=314.000000 u 变量变量v定义:定义:程序运行时其值可以被改变的

    13、量程序运行时其值可以被改变的量 v变量的两要素变量的两要素 :变量名变量名 、变量值、变量值v变量的使用:变量的使用:先说明,后使用先说明,后使用 例:例:int x,y,z;float radius,length,char ch;例:int a=2,b,c=4;float data=3.67;char ch=A;int x=1,y=1,z=1;int x=y=z=1;10.3.2 整型数据整型数据 类别类别类型说明符类型说明符 内存中所占字节内存中所占字节 基本型基本型int 2个字节个字节短整型短整型short int或或short 2个字节个字节长整型长整型 long int或或long

    14、 4个字节个字节无无符符号号型型无符号基本型无符号基本型 unsigned int或或unsigned 无符号短整型无符号短整型 unsigned short 无符号长整型无符号长整型 unsigned long 整型变量的分类整型变量的分类v变量的说明,也即变量的定义,一般形式为:变量的说明,也即变量的定义,一般形式为:类型说明符类型说明符 变量名标识符变量名标识符1,变量名标识符,变量名标识符2,.;例如:例如:int a,b,c;/*a,b,c为整型变量为整型变量*/long m,n;/*m,n为长整型变量为长整型变量*/unsigned p,q;/*p,q为无符号整型变量为无符号整型变

    15、量*/v在书写变量说明时,应注意以下几点:在书写变量说明时,应注意以下几点:v允许在一个类型说明符后,说明多个相同类型的变量。各变量名之允许在一个类型说明符后,说明多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。v最后一个变量名之后必须以最后一个变量名之后必须以“;”号结尾。号结尾。v变量说明必须放在变量使用之前。变量说明必须放在变量使用之前。v也可在说明变量为整型的同时,给出变量的初值。其格式为:也可在说明变量为整型的同时,给出变量的初值。其格式为:v类型说明符类型说明符 变量名标识符变量名标识符1

    16、=初值初值1,变量名标识符,变量名标识符2=初值初值2,.;整型变量的说明整型变量的说明【例【例10.3.2】main()int a=3,b=5;printf(“a+b=%dn”,a+b);程序的运行结果为:程序的运行结果为:a+b=8 运行结果为:运行结果为:a=0.123457 如 a A?n 101如 A65,a97,048,n10-*/%/%-+-+-(2)(3)(4)(2)(3)(4)说明:说明:“-”“-”可为可为单目单目运算符时运算符时,右结合性右结合性 两整数相除,结果为整数两整数相除,结果为整数%要求两侧均为整型数据要求两侧均为整型数据 10.3.5算术运算符和算术表达式算术

    17、运算符和算术表达式 自增、自减运算符自增、自减运算符+-+-作用:使变量值加作用:使变量值加1 1或减或减1 1 种类:种类:前置前置 +i,-i +i,-i (先执行先执行i=ii=i+1+1或或i=i-1i=i-1,再使用再使用i i值)值)后置后置 i+,i-i+,i-(先使用先使用i i值值,再执行再执行i=ii=i+1+1或或i=i-1i=i-1)/k=4,j=4/k=4,j=4/k=3,j=4/k=3,j=4/4/4/3/3/c=20,a=4/c=20,a=4/c=15,a=4/c=15,a=4 表达式和算术表达式表达式和算术表达式 10.4 顺序结构程序设计顺序结构程序设计10.

    18、4.1 C语言语句语言语句1.控制语句控制语句:完成一定功能的语句称为控制语句。完成一定功能的语句称为控制语句。C语言有语言有9种种控制语句,参见表控制语句,参见表10.4-1。2.表达式语句表达式语句 由一个表达式构成一个语句,称为表达式语句。一般形由一个表达式构成一个语句,称为表达式语句。一般形式为:式为:表达式;表达式;表达式语句可分为表达式语句可分为:(1)赋值语句赋值语句 赋值语句由赋值表达式后跟一个分号组成。例如:赋值语句由赋值表达式后跟一个分号组成。例如:a=3;(2)函数调用语句函数调用语句 函数调用语句由函数调用表达式后跟一个分号组成。函数调用语句由函数调用表达式后跟一个分号

    19、组成。例如:例如:printf(“This is a C statement.”);(3)空语句空语句 空语句是只有一个分号而没有表达式的语句空语句是只有一个分号而没有表达式的语句。3.特殊语句特殊语句C语言中还包括一些其他语句,如语言中还包括一些其他语句,如复合语句复合语句等。等。把多个语句用花括号把多个语句用花括号括起来组成的语句称复合语句。在程序括起来组成的语句称复合语句。在程序中可以把复合语句看成是一条语句,而不是多条语句。中可以把复合语句看成是一条语句,而不是多条语句。例如:例如:x=y+z;a=b+c;printf(“%d%d”,x,a);注注:复合语句内的各条语句都必须以分号:复

    20、合语句内的各条语句都必须以分号“;”结尾,在括号结尾,在括号“”外不能加分号。外不能加分号。10.4.2 printf函数函数 2.转义字符转义字符 就以一个就以一个“”开头的字符序列,称为转义字符开头的字符序列,称为转义字符 字符形式字符形式含含 义义ASCIIASCII代码代码nn换行,将当前位置移到下一行开头换行,将当前位置移到下一行开头1010tt横向跳格(即跳到下一个输出区,一个横向跳格(即跳到下一个输出区,一个输出区占输出区占8 8列)列)9 9bb退格,将当前位置移到前一列退格,将当前位置移到前一列8 8rrEnterEnter,将当前位置移到本行开头,将当前位置移到本行开头13

    21、13ff换页,将当前位置多到下页开头换页,将当前位置多到下页开头1212反斜杠字符反斜杠字符“、”9292 单引号字符单引号字符3939”双引号字符双引号字符3434dddddd1 1到到3 3位位8 8进制数所代表的字符进制数所代表的字符xhhxhh1 1到到2 2位位1616进制数所代表的字符进制数所代表的字符【例【例10.4.1】转义字符的使用转义字符的使用main()char a,b,c;a=n;b=e;c=167;/*8进制数进制数167代表的字符代表的字符w*/printf(“%c%c%cn”,a,b,c);/*以字符格式输出以字符格式输出*/printf(“%ct%ct%cn”,

    22、a,b,c);/*每输出一个字符跳到下每输出一个字符跳到下一输出区一输出区*/printf(“%cn%cn%cn”,a,b,c);/*每输出一个字符后换行每输出一个字符后换行*/运行结果如下:运行结果如下:new new “”代表空格代表空格,下下同同 n e w“%d”是格式说是格式说明明“a=”、“”、“b=”为普通字为普通字符符3.printf函数的调用函数的调用 格式控制用于指定输出参数的输出格式,格式控制由两格式控制用于指定输出参数的输出格式,格式控制由两部分组成:部分组成:格式说明和普通字符格式说明和普通字符。普通字符(包括转义字符)。普通字符(包括转义字符)将被简单地复制显示(或

    23、执行)。一个格式说明项将引起输将被简单地复制显示(或执行)。一个格式说明项将引起输出参数项的转换与显示。出参数项的转换与显示。例如例如:main()int a=3,b=4;printf(“a=%db=%dn”,a,b);输出结果为:输出结果为:a=3b=4“n”为转义字符为转义字符【例【例10.4.2】main()char ch1=a,ch2=b;printf(“ch1=%c,ch2=%cn”,ch1,ch2);printf(“ch1=%d,ch2=%dn”,ch1,ch2);程序运行结果为:?程序运行结果为:?4.格式字符串格式字符串在在Turbo C中中printf函数格式字符串一般形式为

    24、:函数格式字符串一般形式为:%m m.nh/l格式字符格式字符 开始符开始符 标志字符标志字符 宽度指示符宽度指示符 精度指示符精度指示符 长度修正符长度修正符 格式转换字符格式转换字符 说明:说明:格式字符格式字符:格式字符用来表示输出数据的类型,在格式控制字符串不:格式字符用来表示输出数据的类型,在格式控制字符串不能略,其常用符号和含义参见表能略,其常用符号和含义参见表10.4-3。(2)标志字符标志字符:标志字符包括:标志字符包括-、+、#三种,具体含义参见表三种,具体含义参见表10.4-4。宽度指标符宽度指标符:用来设置输出数据项的最小宽度,通常用十进制整数来:用来设置输出数据项的最小

    25、宽度,通常用十进制整数来表示输出的位数。如果输出数据项所需实际位数多于指定宽度,则按实际表示输出的位数。如果输出数据项所需实际位数多于指定宽度,则按实际位数输出,如果实际位数少于指定的宽度则用空格填补。位数输出,如果实际位数少于指定的宽度则用空格填补。精度指示符精度指示符:以:以“.”开头,用十进制整数指精度。对于开头,用十进制整数指精度。对于float或或double类型的浮点数可以用类型的浮点数可以用“m.n”的形式在指定宽度的同时来指定其精的形式在指定宽度的同时来指定其精度。其中,度。其中,“m”用以指定输出数据所占总的宽度,用以指定输出数据所占总的宽度,“n”称为精度。称为精度。长度修

    26、正符长度修正符:常用的长度修改符为:常用的长度修改符为h和和l两种,两种,h表示输出项按短整型表示输出项按短整型输出,输出,l表示输出项按长整型输出。表示输出项按长整型输出。例如,以下语句输出六位十进制整数:例如,以下语句输出六位十进制整数:printf(“%6dn”,111);printf(“%-6dn”,111);输出结果为:输出结果为:111 (输出右对齐,左边填空格)(输出右对齐,左边填空格)111 (输出左对齐,右边填空格)(输出左对齐,右边填空格)例如,语句例如,语句printf(“%+d,%+dn”,111,-111);输出结果为:输出结果为:+111,-111输出八进制或十六进

    27、制时,可以使用以下输出八进制或十六进制时,可以使用以下形式:形式:printf(“%#o,%#xn”,10,16);输出结果为:输出结果为:012,0 x10输出语句输出语句输出结果输出结果printf(printf(“%dn%dn”,888);,888);888888(按实际需要宽度输出)(按实际需要宽度输出)printf(printf(“%6dn%6dn”,888);,888);888888(输出右对齐,左边填(输出右对齐,左边填空格)空格)printf(printf(“%fn%fn”,888.88);,888.88);888.880000888.880000(按实际需要宽度(按实际需要宽

    28、度输出)输出)printf(printf(“%12fn%12fn”,888.88);,888.88);888.880000888.880000(输出右对齐,(输出右对齐,左边填空格)左边填空格)printf(printf(“%gn%gn”,888.88);,888.88);888.88888.88(%f%f格式比采用格式比采用%e%e格式格式输出宽度小)输出宽度小)printf(printf(“%8gn%8gn”,888.88);,888.88);888.88888.88(输出右对齐,左边(输出右对齐,左边填空格)填空格)输出语句输出语句输出结果输出结果printf(printf(“%.5dn

    29、%.5dn”,888);,888);0088800888(数字前补(数字前补0 0)printf(printf(“%.0dn%.0dn”,888);,888);888888printf(printf(“%8.3fn%8.3fn”,888.88);,888.88);888.880888.880printf(printf(“%8.1fn%8.1fn”,888.88);,888.88);888.9888.9printf(printf(“%8.0fn%8.0fn”,888.88);,888.88);889889printf(printf(“%.5sn%.5sn”,”abcdefgabcdefg”);)

    30、;abcdeabcde(截去超过的部分)(截去超过的部分)printf(printf(“%5sn%5sn”,”abcdefgabcdefg”););abcdefabcdef(宽度不够,按实(宽度不够,按实际宽度输出)际宽度输出)【例【例10.4.3】输出形式举例输出形式举例main()int num1=123;long num2=1234567;float real=123.4567;printf(“%d,%6d,%-6d,%2dn”,num1,num1,num1,num1);printf(“%ld,%8ld,%4ldn”,num2,num2,num2);printf(“%f,%10f,%10

    31、.2f,%-10.2fn”,real,real,real,real);printf(“%s,%10.5s,%-10.5sn”,”student”,”student”,”student”)输出结果如下:输出结果如下:123,123,123,1231234567,1234567,1234567123.456700,123.456700,123.46,123.46 student,stude,stude294.2 4.2 格式化输入格式化输入scanfscanf 取地址运算符取地址运算符(与按与按位位“与与”同符号同符号),只,只能作用于变量!能作用于变量!10.4.4其他输入输出函数其他输入输出函

    32、数 10.5.1 10.5.1 关系运算和逻辑运算关系运算和逻辑运算 关系运算符关系运算符含含 义义优优 先先 级级结结 合合 性性大于大于这些关系运算符等优先这些关系运算符等优先级,但比下面的优先级级,但比下面的优先级高高左结合性左结合性=(和和=之间没有空格)之间没有空格)大于或等于大于或等于小于小于=(和和=之间没有空格)之间没有空格)小于或等于小于或等于=(两个(两个=之间没有空格)之间没有空格)等于等于这些关系运算符等优先这些关系运算符等优先级,但比上面的优先级级,但比上面的优先级低低!=!=(!和和=之间没有空格)之间没有空格)不等于不等于 10.5 选择结构程序设计选择结构程序设

    33、计 逻辑运算符逻辑运算符含含 义义结结 合合 性性优先级关系优先级关系!单目运算符,逻辑单目运算符,逻辑非,表示相反非,表示相反右结合性右结合性 高高 低低&(两个(两个&之间之间没有空格)没有空格)双目运算符,逻辑双目运算符,逻辑与,表示并且与,表示并且左结合性左结合性|(两个(两个|之间没有之间没有空格)空格)双目运算符,逻辑双目运算符,逻辑或,表示或者或,表示或者AB!A!BA&BA|B假假假假1100假假真真1001真真假假0101真真真真0011 a b&b 10|x 3&2|8=60)printf(“Passn”);else printf(“Failn”);分数大于分数大于 等于等

    34、于60打印打印Failed打印打印Passed 例例10.5.4流程图流程图【例【例10.5.6】根据输入的百分制成绩(】根据输入的百分制成绩(score),要求输出成绩等级(),要求输出成绩等级(grade)A、B、C、D、E。90分以上为分以上为A,8089分为分为B,7079分为分为C,6069分分为为D,60分以下为分以下为E。用。用if语句实现,程序如下:语句实现,程序如下:if 和和else子句中,可以是任意合法的子句中,可以是任意合法的C语句或语句块,如语句或语句块,如果这子句是个果这子句是个if语句,则构成了语句,则构成了if语句的嵌套。语句的嵌套。程序的运行情况如下:程序的运

    35、行情况如下:Please input a score(0100):):86The grade is B.main()()int score;char grade;printf(“n Please input a score(0100):):”););scanf(“%d”,&score););if(score=90)grade=A;else if(score=80)grade=B;else if(score=70)grade=C;else if(score=60)grade=D;else grade=E;printf(“The grade is%c.n”,grade););v一般形式:一般形式:

    36、expr1?expr2 :expr3v执行过程执行过程v功能:相当于条件语句,但不能取代一般功能:相当于条件语句,但不能取代一般ifif语句语句.【例【例10.5.7】根据天气情况,安排活动】根据天气情况,安排活动。#include main()int w_con;/*天气情况变量定义天气情况变量定义*/printf(天气如何天气如何?1:晴天晴天,2:多云多云,3:下雨下雨);scanf(%d,&w_con);switch(w_con)case 1:printf(上街购物上街购物!n);break;case 2:printf(去游泳去游泳!n);break;case 3:printf(在家看

    37、电视在家看电视!n);break;default:printf(错误选择错误选择!n);break作用:控制转向作用:控制转向switch语句的后继语句。语句的后继语句。10.5.4 程序设计举例程序设计举例v【例【例10.5.7】输入三个整数,输出其中的最大数输入三个整数,输出其中的最大数v【例【例10.5.8】输入三个整数,按值从大到小的顺序输出。输入三个整数,按值从大到小的顺序输出。v【例【例10.5.9】对分段函数:对分段函数:x (x1)y=2x-1 (1x10)3x-11 (x10)用用scanf()函数输入()函数输入x的值,求的值,求y值。值。v【例【例10.5.10】若运行时

    38、从键盘上输入若运行时从键盘上输入2.0,求以下程,求以下程序的输出结果序的输出结果v【例【例10.5.12】执行以下程序时,为了使输出结果为:执行以下程序时,为了使输出结果为:t=4,则给则给a和和b输入的值应满足的条件是:输入的值应满足的条件是:A)ab B)a0&ab D)a0&ab10.6 循环结构程序设计循环结构程序设计C语言中用如下语句实现循环语言中用如下语句实现循环v while语句。语句。v do-while语句。语句。v for语句。语句。v 用用goto语句和语句和if语句构成循环。语句构成循环。10.6.1 10.6.1 循环结构的程序设计循环结构的程序设计 【例【例10.

    39、6.5】while和和do-while循环的比较循环的比较 main()main()int sum=0,i;int sum=0,i;scanf(%d,&i);scanf(%d,&i);while(i=10)do sum=sum+i;sum=sum+i;i+;i+;while(i=10);printf(sum=%dn,sum);printf(sum=%dn,sum);FT【例【例10.6.6】请编写一个程序,计算半径为请编写一个程序,计算半径为0.5、1.5、2.5、3.5、4.5、5.5mm时的圆面积。时的圆面积。【例【例10.6.7】求正整数求正整数n的阶乘的阶乘n!其中其中n由用户输入。由

    40、用户输入。表达式表达式3也可以省略,但此时程序设计者应另外设法保证循环能也可以省略,但此时程序设计者应另外设法保证循环能正常结束正常结束 。10.6.4 语句标号和语句标号和goto 语句语句 10.6.5 10.6.5 三种语句的选用三种语句的选用例如:把例如:把50100之间的不能被之间的不能被3整除的数输出整除的数输出。sum=910.6.7 应用举例应用举例输出的结果为:输出的结果为:*3#4*5输出结果为输出结果为16 输出的结果为输出的结果为23 问题分析问题分析:只能被:只能被1和它本身整除的数是素数。为了判断和它本身整除的数是素数。为了判断n是不是素数,是不是素数,可以让可以让n除以除以2到到n的平方根(的平方根(sqrt(n))之间的每一个整数,如果)之间的每一个整数,如果n能被某能被某个数整除,则说明个数整除,则说明n不是素数,否则,不是素数,否则,n一定是素数。程序如下:一定是素数。程序如下:ij12345678912436991827364554637281.程序分析程序分析可以引入三个变量可以引入三个变量f1、f2和和f,分别存放数列的前,分别存放数列的前两项和当前项,其中两项和当前项,其中f=f1+f2。用一个循环来求解数列的前。用一个循环来求解数列的前50项,每次求下一项时,令项,每次求下一项时,令f1=f2,f2=f,f=f1+f2。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第10章C语言程序设计初步课件.ppt
    链接地址:https://www.163wenku.com/p-3860548.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库