版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计语言程序设计1第四章第四章-循环结构循环结构C语言程序设计语言程序设计2程序基本框架l输入数据输入数据键盘输入:键盘输入:getchar 、scanf文件输入文件输入l处理数据处理数据l输出结果输出结果屏幕显示:屏幕显示:putchar、printf文件保存文件保存C语言程序设计语言程序设计3三种基本结构l顺序结构顺序结构l选择结构选择结构l循环结构循环结构C语言程序设计语言程序设计4顺序结构顺序结构格式输入格式输入/输出输出例如:例如:printf(”x=%3dn,x)%格式说明起始符3输出数据的宽度d输出数据的类型x输出项普通字符一、格式输出函数一、格式输出函数printf(
2、)()printf(“格式控制字符串格式控制字符串”,输出表列,输出表列)C语言程序设计语言程序设计5说明:格式字符串的一般形式为:说明:格式字符串的一般形式为: % 标志标志输出最小宽度输出最小宽度.精度精度长度长度类型类型 1.类型类型 d, i 以十进制形式输出以十进制形式输出带符号带符号整数整数(正数不输出符号正数不输出符号) o 以八进制形式输出以八进制形式输出无符号无符号整数整数(不输出前缀不输出前缀O) x, X 以十六进制形式输出以十六进制形式输出无符号无符号整数整数(不输出前缀不输出前缀OX) u 以十进制形式输出无符号整数以十进制形式输出无符号整数 f 以以小数形式小数形式
3、输出单、双精度实数输出单、双精度实数 e ,E 以以指数形式指数形式输出单、双精度实数输出单、双精度实数 c 输出单个字符输出单个字符 s 输出字符串输出字符串C语言程序设计语言程序设计6 2.标志标志 标志字符为标志字符为-、+、#、空格四种,其意义如下所示:、空格四种,其意义如下所示: - 结果左对齐,右边填空格结果左对齐,右边填空格 + 输出符号输出符号(正号或负号正号或负号)空格输出值为正时冠以空空格输出值为正时冠以空 格,为负时冠以负号格,为负时冠以负号 # 对对c,s,d,u类无影响;对类无影响;对o类,类, 在输出时加前缀在输出时加前缀o;对对x类,在输出时类,在输出时 加前缀加
4、前缀0 x;对对e,g,f 类当结果有小数时才给出小数点类当结果有小数时才给出小数点 3.输出最小宽度输出最小宽度 用十进制整数来表示输出的最少位数。用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,若实际位数多于定义的宽度,则则 按实际位数输出按实际位数输出, 若实际位数少于定义的宽度则补以空格或若实际位数少于定义的宽度则补以空格或0。C语言程序设计语言程序设计74.精度精度 精度格式符以精度格式符以“.”开头,后跟十进制整数。开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,数;如果输出的是字符, 则
5、表示输出字符的个数;则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的若实际位数大于所定义的精度数,则截去超过的部分。部分。C语言程序设计语言程序设计86.各种格式字符的说明各种格式字符的说明一:一:d格式符格式符1. %d 按数据实际长度输出按数据实际长度输出2. %mdm为指定的输出字段的宽度,如果数据的位数为指定的输出字段的宽度,如果数据的位数小于小于m,则左端补以空格,若大于则左端补以空格,若大于m,则按实则按实际位数输出。际位数输出。3. %ld 输出长整型数据输出长整型数据C语言程序设计语言程序设计9二:二:o格式符和格式符和x格式符格式符输出数据不带符号,即符号位作
6、为数据的一部分输出输出数据不带符号,即符号位作为数据的一部分输出三:三:u格式符格式符以无符号十进制输出以无符号十进制输出例:例:int a=-1;printf(“%d,%o,%x,%u”,a,a,a,a);结果为:结果为:-1,177777,ffff,65535C语言程序设计语言程序设计10四:四:c格式符(输出一个字符)格式符(输出一个字符)五:五:s格式符(输出字符串)格式符(输出字符串)1. %s 按数据实际长度输出按数据实际长度输出2. %ms m为指定的输出字段的宽度,如果数据的位数为指定的输出字段的宽度,如果数据的位数小于小于m,则左端补以空格,若大于则左端补以空格,若大于m,则
7、按实际位数输出。则按实际位数输出。3. %-ms 4. %m.nd 输出输出m列,但是只取字符串左端列,但是只取字符串左端 n个字符。个字符。 输出在输出在m列的右侧,左补空格。列的右侧,左补空格。 5. %-m.ndC语言程序设计语言程序设计11六:六:f格式符格式符1. %f 整数部分全部输出,输出六位小数整数部分全部输出,输出六位小数 (注意有效位)(注意有效位)2. %m.nf 输出数据共输出数据共m列,其中列,其中n位小数。如果数据位小数。如果数据 长度小于长度小于m,左端补空左端补空3. %-m.nf C语言程序设计语言程序设计12七:七:e格式符格式符1. %e小数部分输出小数部
8、分输出6位,指数部分位,指数部分5位,其中位,其中“e”占占1位,位,指数符号占一位,指数占指数符号占一位,指数占3位。位。2. %m.ne 输出数据共输出数据共m列,其中列,其中n为尾数的小数位为尾数的小数位数。如果数据数。如果数据 长度小于长度小于m,左端补空左端补空3. %-m.ne C语言程序设计语言程序设计13例例 :#include stdio.h main() int a=5,b=7; char c=A; float x=67.8564,y= -789.124; printf(%d%dn,a,b); printf(%3d%3dn,a,b); printf(%f,%fn,x,y);
9、 printf(%-10fn,x); printf(%8.2f,%-8.2f,”,x,y); printf(%e,%10.2en,x,y); printf(%c,%d,%o,%xn,c,c,c,c); printf(%s,%5.3sn,computer,computer);C语言程序设计语言程序设计14二、格式输入函数二、格式输入函数scanf 1. scanf()函数的一般形式函数的一般形式 scanf(“格式控制字符串格式控制字符串”,地址表列,地址表列); 格式控制字符串的作用与格式控制字符串的作用与printf函数相同,但不能显示非函数相同,但不能显示非格式字符串,格式字符串, 也就是
10、不能显示提示字符串。也就是不能显示提示字符串。(1) scanf函数中没有精度控制函数中没有精度控制 。(2) 如果格式控制串中有非格式字符则输入时也要输如果格式控制串中有非格式字符则输入时也要输入该非格式字符入该非格式字符(3) getchar(),gets()补充补充C语言程序设计语言程序设计15例、为例、为float类型变量类型变量a、b输入数据输入数据1.2和和2.3,下列,下列哪一组是正确的(哪一组是正确的( )。)。 A、scanf(%f%f,&a,&b); 输入输入1.2,2.3 B、scanf(%2.1f%2.1f,a,b); 输入输入1.2,2.3 C、scanf(%f,%f
11、,&a,&b); 输入输入1.2,2.3 D、scanf(%f%f“,&a,&b); 输入输入1.22.3C语言程序设计语言程序设计16选择结构选择结构n单分支:单分支:If(条件表达式条件表达式) n双分支:双分支:If(条件表达式)条件表达式)elsen多分支多分支n嵌套嵌套Ifnswitch(表达式表达式)n其它形式:条件运算符其它形式:条件运算符C语言程序设计语言程序设计171.第一种形式为基本形式第一种形式为基本形式: if(表达式表达式) 语句;语句;IF的三种形式的三种形式2.第二种形式为第二种形式为if-else形式形式 if(表达式表达式) 语句语句1; else 语句语句2
12、;C语言程序设计语言程序设计183.第三种形式为第三种形式为if-else-if形式形式if(表达式表达式1) 语句语句1; else if(表达式表达式2) 语句语句2; else if(表达式表达式m) 语句语句m; else 语句语句n;C语言程序设计语言程序设计19例:例:#includestdio.hvoid main() char c; printf(input a character: ); c=getchar(); if(c=0&c=A&c=a&cb) printf(ABn); else printf(ABn); else printf(A=Bn);C语言程序设计语言程序设计2
13、3switch(表达式表达式) case 常量表达式常量表达式1: 语句语句1; break; case 常量表达式常量表达式2: 语句语句2; break; case 常量表达式常量表达式n: 语句语句n; break; default : 语句语句n+1; switch语句的通常形式为:语句的通常形式为:C语言程序设计语言程序设计24void main() int a; printf(input integer number: ); scanf(%d,&a); switch (a) case 1:printf(Mondayn);break; case 2:printf(Tuesdayn);
14、 break; case 3:printf(Wednesdayn);break; case 4:printf(Thursdayn);break; case 5:printf(Fridayn);break; case 6:printf(Saturdayn);break; case 7:printf(Sundayn);break; default:printf(errorn); C语言程序设计语言程序设计25注意:注意:在在switch语句中,语句中,“case 常量表达式常量表达式”只相当只相当于一个语句标号,并不是在该处进行条件判断,表达于一个语句标号,并不是在该处进行条件判断,表达式的值和某
15、标号相等则转向该标号执行,但不会在执式的值和某标号相等则转向该标号执行,但不会在执行完该标号的语句后自动跳出整个行完该标号的语句后自动跳出整个switch 语句,将继语句,将继续执行所有后面续执行所有后面case语句的情况。语句的情况。C语言程序设计语言程序设计26 以下程序的输出结果是以下程序的输出结果是main() int a=0, i; for(i=1;i5;i+) switch(i) case 0: case 3:a+=2; case 1: case 2:a+=3; default : a+=5; printf(%dn,a); A) 31 B) 13 C) 10 D) 20 C语言程序
16、设计语言程序设计27循环结构循环结构n分类分类n当型循环:当型循环:whilen直到型循环:直到型循环:do whilen最灵活的最灵活的for循环循环n适用场合适用场合n循环次数已知:循环次数已知:for 、while 、do whilen循环次数未知:循环次数未知:while 、do whilen如何转换?如何转换?C语言程序设计语言程序设计28whilewhile语句的一般形式为:语句的一般形式为: while(表达式表达式) 语句;语句; 其中表达式是循环条件,语句为循环体,其中表达式是循环条件,语句为循环体,若是多个语句则必须用若是多个语句则必须用和和组成复合语句。组成复合语句。C语
17、言程序设计语言程序设计29do-while语句语句 do 语句;语句; while (表达式表达式); 其中:语句是循环体,其中:语句是循环体, 表达式是循环条件。表达式是循环条件。执行过程:执行过程:先执行循环体语句一次,先执行循环体语句一次, 再判别表达式再判别表达式的值,若为真的值,若为真(非非0)则继续循环,否则终止循环。则继续循环,否则终止循环。C语言程序设计语言程序设计30使用使用while和和do-while语句应注意以下几点:语句应注意以下几点: 1.在在if语句,语句,while语句中,语句中, 表达式后面都不能加分号,表达式后面都不能加分号, 而在而在 do-while语句
18、的表达式后面则必须加分号。语句的表达式后面则必须加分号。 2.当循环体由多个语句组成时,也必须用当循环体由多个语句组成时,也必须用括起来组括起来组成一个复合语句。成一个复合语句。 3.如果循环至少要执行一次,如果循环至少要执行一次, while和和do-while语句语句可以相互替换。可以相互替换。C语言程序设计语言程序设计31for循环循环一、使用一般形式为:一、使用一般形式为: for(表达式表达式1;表达式;表达式2;表达;表达3) 语句;语句; 其中:其中:表达式表达式1通常用来给循环变量赋初值,一般通常用来给循环变量赋初值,一般是赋值表达式。也允许在是赋值表达式。也允许在for语句外
19、给循环变量赋初语句外给循环变量赋初值,此时可以省略该表达式。值,此时可以省略该表达式。 表达式表达式2通常是循环条件,一般为关系表达式或逻通常是循环条件,一般为关系表达式或逻辑表达式。辑表达式。 表达式表达式3通常可用来修改循环变量的值,一般是赋通常可用来修改循环变量的值,一般是赋值语句。值语句。C语言程序设计语言程序设计32循环三要素循环三要素n循环条件循环条件n循环变量初始化循环变量初始化nfor循环:语句中赋初值循环:语句中赋初值nwhile、do循环:循环体外赋初值循环:循环体外赋初值n改变循环变量的值改变循环变量的值nfor循环:语句中改变循环:语句中改变nwhile、do循环:循环
20、体内循环:循环体内 C语言程序设计语言程序设计33 有以下程序段有以下程序段int n=0,p; d o s c a n f ( % d , & p ) ; n + + ; while(p!=12345&n3); 此处此处do-while 循环的结束条件是循环的结束条件是A) p 值不等于值不等于12345 并且并且n 的值小于的值小于3 B) p 值等于值等于12345 并且并且n 的值大于等于的值大于等于3 C) p 值不等于值不等于12345 或者或者n 的值小于的值小于3 D) p 值等于值等于12345 或者或者n 的值大于等于的值大于等于3 C语言程序设计语言程序设计34关键问题关键问题n防止死循环和不循环防止死循环和不循环n控制循环条件表达式的值的变化控制循环条件表达式的值的变化n正常出口正常出口n循环条件不满足时正常退出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 连云港职业技术学院《体育-台球》2023-2024学年第一学期期末试卷
- 江西现代职业技术学院《音乐选配与编辑》2023-2024学年第一学期期末试卷
- 江苏大学《水资源系统分析》2023-2024学年第一学期期末试卷
- 华东理工大学《国学经典选读》2023-2024学年第一学期期末试卷
- 隔膜压缩机开机停机操作规程
- 湖北工业职业技术学院《医药学基础实验》2023-2024学年第一学期期末试卷
- 遵义医科大学《材料与结构选型》2023-2024学年第一学期期末试卷
- 珠海城市职业技术学院《Python程序开发》2023-2024学年第一学期期末试卷
- 重庆旅游职业学院《地下水资源勘查与评价》2023-2024学年第一学期期末试卷
- 浙江特殊教育职业学院《审计理论与方法》2023-2024学年第一学期期末试卷
- 2023七年级英语下册 Unit 3 How do you get to school Section A 第1课时(1a-2e)教案 (新版)人教新目标版
- 泌尿科主任述职报告
- 新零售门店运营管理流程手册
- 心理学专业知识考试参考题库500题(含答案)(一)
- 2024年浙江高考技术试题(含答案)
- 资管行业投研一体化建设
- 提高保险公司客户投诉处理能力的整改措施
- 物业费收取协议书模板
- 电工(中级工)理论知识练习题(附参考答案)
- 起重机的维护保养要求与月度、年度检查记录表
- 消防设施维护保养记录表
评论
0/150
提交评论