版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2024/4/291顺序程序设计2024/4/292结构化程序设计目标:将学习三种结构的程序设计方法顺序结构程序设计选择结构程序设计循环结构程序设计。2024/4/293三种控制结构顺序结构选择结构循环结构AB⑴BAPyesno⑵noPAyes⑶2024/4/29
4C语句概述实现顺序结构的语句实现选择结构的语句实现循环结构的语句赋值语句函数调用语句复合语句if语句switch语句while语句do-while语句for语句2024/4/295实现顺序结构的语句顺序结构的程序中的语句是按照从上到下的顺序逐行排列的;程序的执行顺序是按语句的排列顺序进行的。完成顺序程序设计的语句包括:赋值语句函数调用语句复合语句2024/4/296赋值语句赋值语句由赋值表达式加上一个分号构成,作用是将一个确定的值赋给一个变量。
语句格式:例:;=ysin(x)+cos(x)变量名=表达式;2024/4/297赋值语句的作用:将“=”右侧表达式的值送到“=”左侧的变量所对应的单元中。赋值语句中的“=”是赋值号而不是数学意义上的等号;它代表的是一种操作→赋值操作;赋值号两侧的内容不能调换;A=B;和B=A;具有不同的含义;A=B;B=A;意味着将B的值送给A;意味着将A的值送给B;2024/4/29
8赋值的意义:在计算机内部,一个变量对应一块内存存储空间;具有一个名字。赋值的过程:就是将指定的值送入指定的存储空间的过程。赋值的结果:指定的变量所对应的存储空间具有了指定的值。xX=10102024/4/299例:顺序执行以下三个赋值语句,结果如何?a=0;b=10;a=b;ab1.a=0;2.b=10;3.a=b;010102024/4/2910复合语句由一组语句组成,并放在一对花括号“{}”中间。语句格式:
{说明部分; 执行部分;}复合语句复合语句是一个整体,在语法结构上与一个单一语句相同。2024/4/2911函数调用语句C程序中,需要使用很多复杂的功能,例如,输入数据、输出数据、数学公式的使用(sinx、cosx、ex等)。这些功能的使用是通过函数调用来实现的。系统把一些独立的功能编制成标准函数,提供给使用者调用的格式。下面我们先介绍两个最常用的标准函数:格式输出函数和格式输入函数2024/4/2912格式输出函数2024/4/2913格式输出函数语句格式:printf(格式控制,输出变量列表);函数名参数表#include<stdio.h>输出的变量名列表功能:printf函数可以将任意类型的多个数据,按指定格式输出到标准输出设备上(一般为显示器)。2024/4/2914由双引号括起来的字符串;形式:"控制字符"由“%”和格式字符组成,它的作用是将对应的变量按照指定的类型输出。需要原样输出的字符用于控制输出普通字符格式说明转义字符格式控制printf(
格式控制
,输出变量列表);2024/4/2915格式说明符:由%和格式字符组成,作用是将输出的数据按照指定的格式输出。2024/4/2916指数形式输出单、双精度实数%e输出十六进制无符号整数%x小数形式输出单、双精度实数%f输出一个字符%c输出十进制无符号整数%u输出一个字符串%s当指数小于-4或大于指定精度使用%e格式,否则用%f格式%g
输出八进制无符号整数%o输出十进制带符号整数%d含义格式字符2024/4/2917附加格式说明字符含义L输出长整型,可用在格式符d、o、x、u,f的前面
整数
输出数据的最小宽度.整数对实数表示输出的小数位数;对字符串表示截取的字符个数-输出数字或字符在域内向左靠齐例:%ld%lf对应长整型数据的输入输出格式描述对应double型数据的输入输出格式描述2024/4/2918附加格式说明字符含义L输出长整型,可用在格式符d、o、x、u,f的前面
整数
输出数据的最小宽度.整数对实数表示输出的小数位数;对字符串表示截取的字符个数-输出数字或字符在域内向左靠齐例:%5d%8.3f对应的整型数据的输入输出宽度为5对应float型数据的输出;输出的数据宽度为8个字符,小数点后保留3位。2024/4/2919main(
)
{inta,b;floatx;charc;a=123;b=-1;x=3.14;c='A';printf("%d,%6d\n",a,a);printf("%d,%x,%o,%u\n“,b,b,b,b);printf("%c,%d\n",c,c);printf("%f,%6.1f\n",x,x);}写出程序运行结果2024/4/2920printf("%d,%6d\n",a,a);1111111111111111-1在内存中的存放运行结果a=123;b=-1;x=3.14;c='A';printf("%d,%x,%o,%u\n",b,b,b,b);
printf("%c,%d\n",c,c);123,□□□123-1,ffff,177777,65535A,65printf("%f,%6.1f\n",x,x);}3.140000,□□□3.12024/4/2921转义字符转义字符是一组以“\”开头的特殊字符序列,用单引号括起来。用来表示任何可以输出的字母字符、专用字符、控制字符、图形字符。在printf的格式控制串中,控制输出格式。常用的有:\b、\f、\n、\r、\t、\ooo、\xhh、\0;2024/4/2922课上练习:写出以下程序段的运行结果#include<stdio.h>voidmain(){charc1=‘a’,c2=‘b’,c3=‘c’,c4=‘\101’,c5=‘\116’;printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t\bc%c%c\n”,c4,c5);}2024/4/29
23用实验来学习和验证2024/4/29
24#include<stdio.h>voidmain(){/*没有\n时*/ printf("thisisoneprograminc"); printf("thisisoneprograminc");/*在格式控制串尾有\n时*/ printf("thisisoneprograminc\n"); printf("thisisoneprograminc");/*在格式控制串首有\n时*/ printf("thisisoneprograminc"); printf("\nthisisoneprograminc");}思考题:转义字符’\n’在格式控制中的作用是什么?2024/4/29
25/*转义字符/b在控制串中的作用*/#include<stdio.h>voidmain(){ /*在控制串中不使用转义字符’/b’*/ printf("thisisoneprograminc"); printf("thisisoneprograminc\n"); /*在控制串中使用转义字符’/b’*/ printf("thisisoneprograminc"); printf("\b\bthisisoneprograminc\n");}思考题:转义字符’\b’在格式控制中的作用是什么?2024/4/29
26/*转义字符/r在控制串中的作用*/#include<stdio.h>voidmain(){ /*在控制串中不使用转义字符’/r’*/ printf("thisisoneprograminc"); printf("thisisoneprograminc\n"); /*在控制串中使用转义字符’/r’*/ printf("thisisoneprograminc"); printf("\rthisisoneprograminc\n"); }思考题:转义字符’\r’在格式控制中的作用是什么?2024/4/29
27/*转义字符/t在控制串中的作用*/#include<stdio.h>voidmain(){ /*在控制串中不使用转义字符’/t’*/ printf("thisisoneprograminc"); printf("thisisoneprograminc\n"); /*在控制串中使用转义字符’/t’*/ printf("thisisoneprograminc");printf("\tsecondprogram\n");}思考题:转义字符’\t’在格式控制中的作用是什么?2024/4/29
28/*转义字符/ooo和/xhh在控制串中的作用*/#include<stdio.h>voidmain(){ printf("thisisoneprograminc"); printf("\101thisisthesecondprogram\n"); printf("\x1athisissecondprogram\n");}思考题:转义字符’\ooo’和‘/xhh’在格式控制中的作用各是什么?2024/4/29
29普通字符在printf的格式控制串中,除了以上的特殊字符(%+格式符、转义字符)以外的字符,都是需要原样输出的字符,称为普通字符。例:
printf("\x1athisissecondprogram\n");在一个printf语句的格式控制串中,首先将处理特殊字符(转义字符控制输出的状态、格式控制符(%+d等)控制对应位置的变量的值的显示格式),控制串中的其它字符都将按原样输出。2024/4/29
30同理,学习和验证每一个格式控制符的作用2024/4/29
31标准格式输入函数2024/4/29
32格式输入函数格式:scanf(格式控制,地址表列);与
printf中的含义相同函数名将输入的数据放入此变量中2024/4/29
33标准格式输入函数的功能:scanf函数可以从标准输入设备输入任意类型的多个数据(一般为键盘),存入指定的变量单元中。例:scanf(“%d,%f”,&a,&b);意味着从键盘读入两个数据,分别存入变量a和b中。%d:按十进制整数格式读入;%f:按实数格式读入;2024/4/29
34格式输入函数scanf中格式控制串的格式应与地址表列中变量的顺序相一致;scanf中格式控制串的格式应与输入数据的格式相一致;当语句格式如下时:scanf(“%d,%f”,&a,&b);输入数据的格式应为:12,3.14如果语句写成:scanf(“%d%f”,&a,&b);输入数据的格式应为:123.142024/4/29
35怎样保证输入数据的正确性?在对数据进行输入时,需要解决两方面的问题:输入语句格式的正确;输入数据格式的正确;虽然说,在输入语句中的格式控制串与在输出中的意义一样,但在使用时,还是有很多不同点的。2024/4/29
36格式控制串的意义:%d等:控制对应于该控制符的变量的数据的类型转义字符:用于控制输入时的状态控制意义和输出时一致;普通字符:在输入语句中的普通字符在输入数据是必须原样写的;思考:当输入数据的类型与格式说明符不一致时会出现什么现象?如果在输入数据时,不写输入语句中的普通字符会如何?2024/4/29
37用隐含的分隔符。语句格式为:scanf(“%d%d”,&a,&b);输入数据时,在输入数据中用空格或换行符分隔数据。输入数据的格式应为:34
或:
34使用显示分隔符。语句格式为:scanf("%d,%d",&a,&b);如果在格式控制串中有其它字符,在输入数据时在相应位置应输入与这些字符相同的字符。例:输入语句的几种格式:输入结果:a=3,b=43,42024/4/29
38#include<stdio.h>voidmain(){ inta,b; scanf(“%d%d“,&a,&b); printf(“a=%d,b=%d\n”,a,b);}变量顺序与输入数据顺序对输入结果的影响;输入数据:读入的数据:输出结果:输入数据:读入的数据:输出结果:3553a=3b=5a=5b=3a=3,b=5a=5,b=32024/4/29
39#include<stdio.h>voidmain(){inta; floatx;scanf(“%d%f”,&a,&x); printf(“a=%d,x=%f\n”,a,x);}格式控制字符对输入结果的影响输入数据:读入的数据:输出结果:输入数据:读入的数据:输出结果:35.65.63a=3x=5.6a=5x=0.6a=3,x=5.6a=5,x=0.62024/4/29
40#include<stdio.h>voidmain(){inta,b; /*没有显示分格符时*/scanf(“%d%d“,&a,&b);printf(“a=%d,b=%d\n”,a,b);/*有显示分格符时*/scanf(“%d,%d“,&a,&b);printf(“a=%db=%d\n”,a,b);}格式控制字符之间有无显示分隔符对输入的影响输入数据:读入的数据:输出结果:输入数据:读入的数据:输出结果:353,5a=3b=5a=3b=5a=3,b=5a=3b=53,5a=3b=?a=3,b=?35a=3b=?a=3b=?2024/4/29
41#include<stdio.h>voidmain(){inta,b; scanf(“%d%d“,&a,&b);printf(“a=%d,b=%d\n”,a,b);scanf(“%2d%3d“,&a,&b);printf(“a=%d,b=%d\n”,a,b);}格式控制字符%后面添加域宽与否对输入的影响输入数据:读入的数据:输出结果:输入数据:读入的数据:输出结果:123512456a=123b=5a=12b=456a=123,b=5a=12,b=45612456a=12b=4a=12,b=42024/4/29
42提示:格式控制符对输入的结果的影响,还有很多,开动脑筋,可以试验出很多结论2024/4/29
43顺序结构
程序设计举例2024/4/29
44voidmain(){charc1,c2;charc;
printf("Pleaseenteracharacter:\n");
c=getchar();c1=c-1;c2=c+1;
printf("%c%c%c\n",c1,c,c2);
}例:给出一个大写字母,要求按字母顺序打印出3个字母,指定的字母是三个字母中间的一个字母。输入的字母不能为A或Z。求解过程#include"stdio.h"输入一个字母。求出它的前趋和后继。输出三个字母。2024/4/29
45输入三角形的三边长,求三角形的面积。分析:三角形面积计算公式:area=√s(s-a)(s-b)(s-c)s=(a+b+c)/2安排计算步骤:写出完整的程序2024/4/29
46解决问题的步骤:定义变量area=√s(s-a)(s-b)(s-c)输入:a,b,c;计算s;计算area;输出area;floata,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“theareais%f\n”,area);2024/4/29
47写出完整程序:#include<stdio.h>#include<math.h>voidmain(){floata,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“theareais%f\n”,area);}2024/4/29
48设1990年我国工业产值是100,如果每年以7.4%的速度增长,求20年后我国的工业产值是多少?分析:计算产值的公式是:安排计算步骤:写出完整的程序 p1=p0(1+r)n
其中:p1为n年后的产值,p0为初始值,r为增长率,n为年数。
2024/4/29
49解决问题的步骤:定义变量:输入:p0,n,r;计算p1;输出p0,n,r,p1;floatp1,p0,r;p1=p0(1+r)n其中:p1为n年后的产值,p0为初始值,r为增长率,n为年数。
intn;2024/4/29
50写出完整程序:/*功能:计算工业产值*/#include<stdio.h>#include<math.h>voidmain(){intn;floatp0,p1,r;scanf("%d,%f,%f",&n,&p0,&r);p1=p0*pow(1+r/100,n);printf("p1=%10.4f\n",p1);}2024/4/29
51例.求华氏温度100°F对应的摄氏温度。摄氏温度C=(5/9)(F-32)#include<stdio.h>intmain(void){intcelsius,fahr;fahr=100;celsius=5*(fahr-32)/9.0;printf("fahr=%d,celsius=%d\n",fahr,celsius);return0;}编写程序,输入一个F值,输出对应的C值。scanf(“%f”,&fahr);2024/4/29
52扩展阅读2024/4/29
53常用数学库函数库函数C语言处理系统提供事先编好的函数,供用户在编程时调用。scanf(),printf(),exp()在相应的系统文件(头文件)中定义一些必需的信息。#include命令用户调用库函数时,将相应的头文件包含到源程序中。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版昆明临时工劳动争议处理及仲裁协议2篇
- 2025年度化工生产线增压泵安装调试合同3篇
- 2024年防火门生产原料供应合同2篇
- 2025年多层电容器用陶瓷介质粉料项目合作计划书
- 2024年美妆技术保密合同
- 2025年家用水表项目合作计划书
- 2024年特定区域零星建设施工协议
- 2025版酒店环保节能设备购销合同3篇
- 2025版粮食出口退税与购销合同3篇
- 2024年短期个人借款协议
- 2023-2024学年人教版七年级下册地理知识清单
- 中国土地制度智慧树知到期末考试答案章节答案2024年浙江大学
- 手术物品准备完善率
- 2024年西藏自治区中考地理真题(原卷版)
- 成人高考JAVA程序设计(考试复习资料)
- MOOC 电路理论-华中科技大学 中国大学慕课答案
- 物流园区运营管理承包合同样本
- 国家职业技术技能标准 6-02-06-10 茶叶加工工 2024年版
- 2024年四川成都市金牛国投人力资源服务有限公司招聘笔试参考题库含答案解析
- 脑栓塞患者的护理
- 2024-2024新课标全国卷1-地理-(附答案)
评论
0/150
提交评论