第三章顺序程序设计上节重点字符型数据算术运算符和算术表达式算法是程序的灵活算法的概念计算机程序组成对数据的描述,即数据结构对操作的描述,即算法沃斯提出:数据结构+算法=程序程序组成算法、数据结构、程序设计方法、语言工具算法是程序的灵活算法的概念算法概念:为解决一个问题而采取的方法和步骤举例:1~100的累加和1+2+……+100100+(1+99)+……+(49+51)+50(1+100)*100/2算法是程序的灵活算法的表示方法用自然语言表示用流程图表示算法算法是程序的灵活算法的表示方法用流程图表示算法三种结构顺序结构选择结构循环结构算法是程序的灵活算法的表示方法用流程图表示算法举例计算两个整数的和判断一个数是否为奇数计算100以内的奇数和算法是程序的灵活算法的表示方法用N-S图表示算法三种结构顺序结构选择结构循环结构算法是程序的灵活算法的表示方法用N-S图表示算法举例计算两个整数的和判断一个数是否为奇数计算100以内的奇数和算法是程序的灵活算法的表示方法用伪代码表示算法介于自然语言和计算机语言之间的文字和符号来描述算法举例程序的三种基本结构三种结构顺序结构选择结构循环结构用三种基本结构构成的程序称为结构化程序程序的三种基本结构结构化程序基本思想自顶向下逐步细化模块化设计C语句概述控制语句函数调用语句表达式语句空语句复合语句赋值表达式赋值运算符简单赋值运算符作用:将一个数据赋给一个变量符号:=举例赋值表达式赋值运算符复合赋值运算符在赋值运算符前添加其他运算符作用:简化程序,提高编译效率举例赋值表达式赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子语法变量赋值运算符表达式运算规则先求赋值运算符右侧表达式的值,然后赋给赋值运算符左侧的变量赋值表达式赋值表达式左值、右值赋值过程中的类型转换实型→整型整型→实型双精度→单精度字符型→整型整型→字符型赋值表达式赋值语句赋值表达式加上一个分号变量赋初值定义变量的同时为变量赋值变量的赋初值在程序执行阶段完成数据输入输出的概念概述输入输出是以计算机主机为主体而言默认输入设备为键盘默认输出设备为显示器C语言本身不提供输入输出语句使用系统库函数时,要在程序中使用预编译命令#includestdio.h与”stdio.h”的区别字符数据的输入输出putchar()函数格式putchar(c)参数c为字符常量、变量或表达式功能输出字符参数c的值举例:输出BOY英文单词字符数据的输入输出getchar()函数格式getchar()功能从计算机获得一个字符说明只能接收一个字符利用getchar函数输入多个字符时,需要注意最后一个字符输入后才能用回车键举例简单的格式输入输出printf函数格式printf(格式控制串,输出表项)功能按指定格式向显示器输出数据简单的格式输入输出printf函数参数格式控制串格式声明普通字符和转义字符输出表项可以是变量、常量或表达式多个输出表项间用逗号分隔简单的格式输入输出printf函数格式声明%[修饰符]格式字符常用格式字符常用格式修饰符简单的格式输入输出scanf函数格式scanf(格式控制串,地址表项)功能按指定格式从键盘输入数据,将数据存入地址表指定的内存单元中简单的格式输入输出scanf函数参数格式控制串格式声明普通字符地址表列语法:&变量名多个输出表项间用逗号分隔简单的格式输入输出scanf函数格式声明%[修饰符]格式字符常用格式字符同printf函数常用格式修饰符简单的格式输入输出scanf函数注意事项scanf函数中的“格式控制”后面应当是变量地址,而不应是变量名如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时在对应位置应输入与这些字符相同的字符输入数值数据时,空格、回车、Tab等作为分隔符,以回车结束输入简单的格式输入输出scanf函数注意事项输入字符数据时,需要连续输入,不能以空格、回车作为分隔符习题练习例题1:输入三角形的三边长,求三角形的面积例题2:求ax2+bx+c=0方程的根。a、b、c由键盘输入,设b2-4ac0练习题目1.对于一个大于或等于3的正整数,判断它是否为素数?分别用流程图和N-S图进行算法设计(素数是指出1和该数本身之外,不能被其他任何整数整除的数,例如:3,5,7,13,……)2.某单位有50名员工,统计年龄大于55岁的员工人数?分别用流程图和N-S图进行算法设计本节重点流程图表示算法N-S图表示算法赋值表达式顺序结构语句组1语句组2选择结构条件语句组1语句组2YN循环结构条件(a)当结构YN语句组条件语句组NY(b)直到型结构顺序结构语句1语句2选择结构条件是否语句1语句2循环结构(a)当结构(b)直到型结构当条件成立循环语句直到条件成立循环语句伪代码begins=1;n=2;do{s=s*n;n=n+1;}while(n=10);prints;end控制语句1.if()……else……2.swith3.for()……4.while()……5.do……while()6.continue7.break8.return函数调用语句1.printf(……);2.scanf(……);3.max(x,y);4.……表达式语句1.x=3;2.i++;3.x+y;4.……复合语句if(xy){x=2;y=3;}常用格式字符%d:按十进制整型数据%c:输出一个字符%s:输出一个字符串%f:用小数形式输出实数%e:用指数形式输出实数常用格式修饰符常用格式修饰符