




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4讲 最简单的程序设计顺序结构程序设计4.1 C语句概述4.2 赋值语句4.3 数据的输入和输出4.4 顺序结构程序设计举例14.1 C语句概述 和其他高级语言一样,C语言的语句用来向计算机系统发出操作指令。C程序结构如下图。2C语言的语句可以分为5类。(1)控制语句,完成一定的控制功能。C语言有9种控制语句。if()else(分支语句)switch (多分支语句)while()(当型循环语句)dowhile()(直到循环语句)for()(for循环语句)break(跳出语句,终止执行switch或循环)continue (结束本次循环语句)goto (转向语句)return (返回语句)
2、其中的()表示其中是条件,表示一个内嵌语句。例如,dowhile()具体语句可以写成:do i+;while( ib则交换a、b的值,用下面的语句实现 if (ab) t=a;a=b;b=t;。 注意复合语句内的每个语句都要有分号,在复合语句的右括号“”外不能加分号。C语言允许一行写几个语句,也允许一个语句拆开写在几行上,书写格式无固定要求。5 4.2 赋值语句赋值语句是由赋值表达式再加上分号构成的表达式语句。 其一般形式为: 变量=表达式; 例如: a=2 ; S+=a ;在赋值语句的使用中需要注意以下几点:(1)赋值语句的功能 有计算的功能和保存计算值的功能,赋值号的左边必须是变量,右边可
3、以是变量、常量、表达式。(2)注意区别赋值语句和赋值表达式的使用场合。(3)注意赋值语句和变量赋初值的区别 给变量赋初值是变量定义的一部分,赋初值后的变量与其他变量之间仍用逗号分隔,而赋值语句必须用分号结尾。 (4)赋值运算具有右结合性,程序执行时从右向左执行。 例如: a=b=c=5;程序执行是将5赋给c,再将c的值赋给b,然后将b的值赋给a。64.3 数据的输入和输出 C语言本身并不提供输入/输出操作的语句,C语言程序中的输入和输出是用一组库函数来实现的。 在使用C语言库函数时要用到文件,因此源文件开头应有以下预编译命令: #include 或#include”stdio.h” 考虑到pr
4、intf和scanf函数使用频繁,系统允许在使用这两个函数是不加此头文件。 最常用的4个标准输入输出函数:printf函数、scanf函数、putchar函数、getchar函数。 4.3.1 格式输出函数printf函数 1. printf函数 printf的一般格式为: printf(格式控制,输出表列); 例如:printf(“%d,%cn”,i,c)7 格式控制是用双引号括起来的字符串,它包括格式说明和普通字符。 (1)格式说明总是由“%”字符开始的,它的作用是将输出的数据转换为制定的格式输出。 (2)普通字符是需要原样输出的字符。例如上面例子中的双撇号内的逗号、空格和换行符。 输出表
5、列是需要输出的一些数据,也可以是表达式。 printf函数的功能就是将输出表列按照格式控制的格式输出。例如: int j; int i= j=2; char ch=a; printf(i=%2d, j=%2d, i, j); 输出结果: i= 2, j= 2 printf(%2d*%2d=%2d, i, j, i*j); 输出结果: 2* 2= 4 82. 格式字符 在输出时,对不同类型的数据要使用不同的格式字符。常用的有一下几种: (1)d: 以带符号的十进制整数形式输出整数(正数不输出符号)。%d。按十进制整型数据的实际长度输出。%md。m为指定的输出字段的宽度。如果数据的位数小于m,则左
6、端补以空格,若大于m,则按实际位数输出,例如: printf(“%4d,%4d”,a,b);若a=123,b=12345,则输出的结果为_123,12345%ld。输出长整型数据。(2)o: 以无符号八进制整数形式输出整数(不输出前导符0)。(3)x: 以无符号十六进制整数形式输出整数(不输出前导符0 x)。(4)u: 以无符号十进制整数形式输出整数。9(5)c: 以字符形式输出, 输出一个字符。 例如:char c=a; printf(“%c”,c); 输出字符a。注意:“%c”中的c是格式符,逗号右边的c是变量名。不要混淆 一个整数,只要它的值在0255范围内,也可以用“%c”使之按字符形
7、式输出,在输出前,系统会将该整数作为ASCII码转换成相应的字符;反之,一个字符数据也可以用整数形式输出。(6)s: 以字符串形式输出, 输出字符串的字符至结尾符为止。(7)f: 用来输出实数(包括单、双精度),以小数的形式输出。(8)e: 以标准指数形式输出实数, 数字部分隐含1位整数, 6位小数。(9)g: 根据给定的值和精度, 自动选择f与e中较紧凑的一种格式, 不输出无意义的0。104.3.2 格式输入函数scanf 在c语言中scanf函数的作用是把从终端上输入的数据传送给对应的变量。Scanf函数的一般调用形式是: scanf(“格式控制字符串”,地址表列); (1)格式控制用以描
8、述输入数据的格式, 由格式说明符组成, 格式说明符由“%”和格式字符组成。不同格式说明对应不同类型的数据输入。 格式控制中格式字串可以包含普通字符, 普通字符在数据输入时必须原样输入。 (2) 输入参数只能用地址表, 表示将输入的数据送相应地址代表的存储单元中。 这点要特别注意, 这是与其它高级语言不同的。 地址通过取地址运算&获取。11 (3) 输入数据默认用空格、 回车或TAB键分隔。 (4)输入时不能规定精度。例如,scanf(“%6.2f”,&x);是不合法的。但是对于整型数可以用%md的形式截取数据。在scanf函数中一般不使用%u格式,对unsigned型数据,以%d、%o或%x输
9、入。 (5) 输入函数的调用一般采用语句调用形式, 间接形成C语言的输入语句。 例如: int i, j, k; scanf(%d,%d,%d, &i, &j, &k); 格式控制 地址表列 从键盘输入i, j, k的值。 如输入: 1, 2, 3 i 将得到值1, j将得到值2, k将得到值3。 124.3.3 字符数据输出函数putchar putchar函数的作用是把一个字符输出到标准输出设备(显示器或是打印机)。一般调用形式是: putchar(ch);说明:putchar是函数名,ch是函数的参数,该参数必须是一个整型变量或一个字符型变量,ch也可以代表一个整型常量或是一个字符常量(
10、包括转义字符常量)例如: putchar(A) /*输出大写字母A*/ putchar(x) /*输出字符变量x的值*/ putchar(101)/*也是输出字符A*/ putchar(n)/*换行*/134.3.4 字符数据输入函数getchar getchar函数的作用是从标准输入设备(键盘)上读入一个字符,其一般调用形式为: getchar();说明:(1)getchar是函数名,函数本身没有参数,其函数值就是从输入设备得到的字符,getchar后的括号不能省略。(2)程序运行时需要输入一个字符,然后必须按【Enter】键确认,程序才能执行下一条语句。14例:#includemain()
11、char c; c=getchar();putchar(c+32); /*大写字母的ASCII码加上32后为其所对应的小写字母的ASCII码*/运行是输入A则输出a。注意:(1)getchar函数只能接受单个字符,输入数字也按字符处理。输入多个字符时,只接受第一个字符。函数得到的字符可以赋给一个字符变量或是整型变量,也可以作为表达式的一部分。(2)使用本函数前必须包含头文件stdio.h。154.4 顺序结构程序设计举例下面介绍几个顺序程序设计的例子。例1.求三角形的面积和周长。算法分析: 输入三边a、 b、 c。 计算周长l。 计算半周长hl。 计算面积s。 输出面积s和周长l。数据分析:
12、输入量: 三角形三边a、 b、 c, float中间量: 半周长hl, float输出量: 面积 s, 周长l, float 16include stdio.hinclude math.hmain( )float a, b, c; float hl,s,l; printf(请输入三角形的三边: ); scanf(%f, %f, %f”, &a, &b, &c); l=a+b+c; hl=0.5*(a+b+c); s=sqrt(hl*(hla)*(hlb)*(hlc); printf(面积=%5.2f, 周长=%5.2f n, s, l); 输入数据: 3, 4, 5运行结果: 面积= 6.00
13、, 周长=12.00 17例 2 求一元二次方程的两个实根。算法分析: 输入方程系数a、 b、 c。 计算判别式d。 计算两个实根 x1、 x2。 输出两个实根 x1、 x2。 数据分析: 输入量: 方程系数a、 b、 c, float中间量: 判别式d, float输出量: 两个实根 x1、 x2, float18include stdio.hinclude math.hmain( )float a, b, c; float d; float x1, x2; printf(请输入方程系数a、 b、 c : ); scanf(%f, %f, %f, &a, &b, &c); d=b*b-4*a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玫瑰花购销合同
- 工业设备维修保养服务合同
- 出售房屋委托代理合同书
- 固体废物处理处置服务合同
- 水电接入合同协议书
- 承包建造船舶合同
- 电子政务系统合同
- 内蒙古北方职业技术学院《美容外科学医学美容》2023-2024学年第二学期期末试卷
- 辽宁税务高等专科学校《电气传动自动控制系统综合课程设计》2023-2024学年第二学期期末试卷
- 大连装备制造职业技术学院《智慧教学与微课制作》2023-2024学年第二学期期末试卷
- 马工程教材《公共财政概论》PPT-绪论
- GB/T 26752-2020聚丙烯腈基碳纤维
- 民间曲艺戏曲课件
- 基于项目式学习的课程构建与实施
- 各级医疗机构医院医用高压氧治疗技术管理规范
- 监理人员安全生产职责目标考核与奖罚办法
- AUMA澳玛执行器内部培训课件
- 加强营房管理的对策
- M系列警报明细表复习课程
- 施工队结算单
- 关于对项目管理的奖惩制度
评论
0/150
提交评论