版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1C语言算法语言算法(sun f)和基本程序设计和基本程序设计第一页,共43页。第1页/共43页第二页,共43页。第2页/共43页第三页,共43页。第3页/共43页第四页,共43页。用自然语言表示用自然语言表示(biosh)算算法法用流程图表示用流程图表示(biosh)算法算法用用N-S流程图表示算法流程图表示算法用伪代码表示算法用伪代码表示算法用计算机语言表示算法用计算机语言表示算法 歧义性,描述分支、循环算法不方便歧义性,描述分支、循环算法不方便第4页/共43页第五页,共43页。第5页/共43页第六页,共43页。起止起止(q zh)框框输入输出框输入输出框处理处理(chl)框框判断判
2、断(pndun)框框流程线流程线连接点连接点第6页/共43页第七页,共43页。开始x+y+z = sum输出sum的值结束输入(shr)x,y,z图3.2 求三个整数(zhngsh)和的算法第7页/共43页第八页,共43页。m,n为正整数开始结束输入m,n求m/n的余数rr = 0 ?n =m, r =n输出n是否第8页/共43页第九页,共43页。最大公因数的算法求最大公因数的最普遍的算法是欧几里得算法,它最初是公元前由欧几里得提出来的,有时也称它为辗转相除法表述如下(rxi):设给定m,n(mn),令r0=m,r1=n,有 则得rk=gcd(rk-1,rk)=gcd(rk-2,rk-1)=g
3、cd(r2,r3)=gcd(r1,r2)=gcd(r0,r1)=gcd(m,n)b|a 表示b整除(zhngch)a或者a整除(zhngch)以b 则 a是b的倍数,b是a的约数rk-2 = qk-1 qk rk + rk =(qk-1 qk +1) rk第9页/共43页第十页,共43页。骤骤(bzhu),太可怕了。太可怕了。案例案例(n l) 求求12341000 S1: 1 p (p:被乘被乘数数) S2: 2 i (i:乘数乘数) S3: pi p S4: i+1 i S5: 若若i1000,返回返回S3;否则,结束。;否则,结束。 只需只需5个步骤,简单个步骤,简单。第10页/共43页
4、第十一页,共43页。第11页/共43页第十二页,共43页。第12页/共43页第十三页,共43页。3.3 程序的基本程序的基本(jbn)结构结构第13页/共43页第十四页,共43页。pA 3 3 结构内的每一部分都有机会被执行结构内的每一部分都有机会被执行到到AB 4 4 结构内没有死循环结构内没有死循环第14页/共43页第十五页,共43页。ABabAB传统传统(chuntng)流程图流程图N-S流程图流程图第15页/共43页第十六页,共43页。Ap成立不成立BAp成立不成立传统传统(chuntng)流程图流程图第16页/共43页第十七页,共43页。成立不成立ApBN-S流程图流程图第17页/共
5、43页第十八页,共43页。Ap1成立不成立ab不成立(chngl)Ap2成立ab传统传统(chuntng)流程图流程图While型型Until型型第18页/共43页第十九页,共43页。直到直到p1成立成立A当当p1成立成立AWhile型型Until型型N-S流程图流程图第19页/共43页第二十页,共43页。第20页/共43页第二十一页,共43页。一个一个(y )非结构化算法可以用一个非结构化算法可以用一个(y )等价的结构化算法代替,其功能不变等价的结构化算法代替,其功能不变。 如果一个算法不能分解为若干个节本结如果一个算法不能分解为若干个节本结构,则它必然不是一个结构化算法。构,则它必然不是
6、一个结构化算法。第21页/共43页第二十二页,共43页。第22页/共43页第二十三页,共43页。第23页/共43页第二十四页,共43页。C第24页/共43页第二十五页,共43页。5 C语言无I/O语句(yj),I/O操作由函数实现5 #include 5 字符输出函数格式格式: putchar( c ): putchar( c )参数参数: c: c为字符常量、变量或表达式为字符常量、变量或表达式功能:把字符功能:把字符c c输出到显示输出到显示(xinsh)(xinsh)器上器上返值:正常,为显示返值:正常,为显示(xinsh)(xinsh)的代码值;出错,为的代码值;出错,为EOF(-1)
7、EOF(-1)第25页/共43页第二十六页,共43页。运行(ynxng)后,在屏幕上显示:red 第26页/共43页第二十七页,共43页。 数据数据(shj)(shj)输入输入字符输入函数字符输入函数 格式格式:getchar( ):getchar( )功能功能(gngnng)(gngnng):从键盘读一字符:从键盘读一字符返值:正常,返回读取的代码值;出错返值:正常,返回读取的代码值;出错, ,返回返回EOF(-1)EOF(-1)注意:getchar()函数的括号中没有参数,该函数的输入一直到“回车(hu ch)”才结束。回车(hu ch)前的所有输入字符都会逐个显示在屏幕上,但只有第一个字
8、符作为函数的返回值。 第27页/共43页第二十八页,共43页。第28页/共43页第二十九页,共43页。若输入b,在屏幕(pngm)上显示: bB 第29页/共43页第三十页,共43页。第30页/共43页第三十一页,共43页。当输入(shr)为“How are you?”,则输出为:How are you?第31页/共43页第三十二页,共43页。格式:格式:printf(“printf(“格式控制串格式控制串”,输出表,输出表) )功能:按指定格式向显示器输出数据功能:按指定格式向显示器输出数据返值:正常返值:正常(zhngchng)(zhngchng),返回输出字节数;出错,返回,返回输出字节
9、数;出错,返回EOF(-1)EOF(-1) 输出表:要输出的数据(可以没有,多个时以输出表:要输出的数据(可以没有,多个时以“,”分分隔)隔) 格式控制串:包含格式控制串:包含(bohn)两种信息两种信息 格式说明:格式说明: %修饰符修饰符格式字符格式字符 ,用于指定输出,用于指定输出格式格式 普通字符或转义序列:原样输出普通字符或转义序列:原样输出 格式字符格式字符第32页/共43页第三十三页,共43页。d,ix,Xoucse,Efg%格式字符:十六进制无符号整数不带符号十进制整数十进制整数指数形式浮点小数单一字符字符串八进制无符号整数小数形式浮点小数e和f中较短一种百分号本身int a=
10、567;printf ( “%d”,a);int a=255;printf(“%x”,a);int a=65;printf(“%o”,a);int a=567;printf(“%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a);float a=567.789;printf(“%f”,a);float a=567.789;printf(“%g”,a);printf(“%”);567ff101567AABC5.677890e+02567.789000567.789% 说明 格式(g sh
11、i)字符要用小写 格式(g shi)字符与输出项个数应相同,按先后顺序一一对应 输出转换:格式(g shi)字符与输出项类型不一致,自动按指定格式(g shi)输出例 main() unsigned int u=65535; printf(”u=%dn,u); 输出(shch)结果:u=-1例 int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b); 例 int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b);输出(shch)结果: 3 4 a=3, b=41
12、1 11 11 11 11 11 11 1165535第33页/共43页第三十四页,共43页。格式格式: scanf(“: scanf(“格式控制串格式控制串”,地址表),地址表)功能:按指定格式从键盘功能:按指定格式从键盘(jinpn)(jinpn)读入数据,存入地址表指定的读入数据,存入地址表指定的 存储单元中存储单元中, ,并按回车键结束并按回车键结束返值:正常,返回输入数据个数返值:正常,返回输入数据个数地址(dzh)表:变量的地址(dzh),常用取地址(dzh)运算符&格式字符:d,i,o,x,u,c,s,f,e例 scanf(“%d”,&a); 输入:10 则 a=10例 scan
13、f(“%x”,&a); 输入:11 则 a=17第34页/共43页第三十五页,共43页。例 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 输入(shr) 19991015 则1999yy, 10 mm, 15 dd例 scanf(“%3d%*4d%f”,&k,&f); 输入(shr) 12345678765.43 则123k, 8765.43f例 scanf(“%2d%*3d%2d”,&a,&b); 输入 1234567 则12a, 67b例 scanf(“%3c%2c”,&c1,&c2); 输入 abcde 则ac1, d c2l修饰符功 能hm*用于d,o,x前,指定输入
14、为short型整数用于d,o,x前,指定输入为long型整数用于e,f前,指定输入为double型实数指定输入数据宽度,遇空格或不可转换字符则结束抑制符,指定输入项读入后不赋给变量第35页/共43页第三十六页,共43页。例 scanf(“%d%o%x”,&a,&b,&c); printf(“a=%d,b=%d,c=%dn”,a,b,c); 输入(shr) 123 123 123 输出 a=123,b=83,c=291例 scanf(“%d:%d:%d”,&h,&m,&s); 输入(shr) 12:30:45 则12 h, 30 m, 45 s例 scanf(“%d,%d”,&a,&b) 输入
15、3,4 则3a, 4 b例 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 输入 a=12,b=24,c=36 第36页/共43页第三十七页,共43页。如 scanf(“%c%c%c”,&c1,&c2,&c3); 若输入(shr)a b c 则ac1, c2, b c3输入数据时,遇以下情况认为该数据结束(jish):遇空格、TAB、或回车遇宽度结束(jish)遇非法输入如 scanf(“%d%c%f”,&a,&b,&c); 若输入1234a123o.26 则 1234 a, a b, 123 c输入函数留下的“垃圾”:例 int x; char ch; scanf(“%d
16、”,&x); ch=getchar(); printf(“x=%d,ch=%dn”,x,ch);执行:123输出:x=123,ch=10例 int x; char ch; scanf(“%d”,&x); scanf(“%c”,&ch); printf(“x=%d,ch=%dn”,x,ch);执行:123输出:x=123,ch=10解决方法:(1)用getchar()清除(2)用函数fflush(stdin)清除全部剩余内容 (3) 用格式串中空格或“%*c”来“吃掉”例 int x; char ch; scanf(“%d”,&x); getchar(); scanf(“ %c”,&ch);或 scanf(“%*c%c”,&ch); 第37页/共43页第三十八页,共43页。正确语句: printf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024政府与民企合作开发特色小镇合同3篇
- 2025版驾校学员夜间安全驾驶培训协议书3篇
- 2024版战略合作联盟经营合同书版B版
- 2025年度集装箱式酒店式公寓租赁服务协议3篇
- 高中信息技术选修3说课稿-4.3.3 建立超链接5-教科版
- 2024卫生院医疗废弃物回收聘用合同模板3篇
- 小班特色活动设计策划方案五篇
- 二零二五年度二手房买卖按揭合同针对学区房买卖范本3篇
- 2025年版农作物回购协议示范文本3篇
- 2024版进出口业务协议:化工原料交易细则版B版
- 交通刮蹭私了协议书范本
- 《冷战史专题》笔记
- 2024-2030年中国轮毂电机行业市场发展趋势与前景展望战略分析报告
- 高中体育课程活动方案
- 小学中高年段语文学科基于课程标准评价指南
- (完整版)兽医临床诊断学
- GB/T 23586-2022酱卤肉制品质量通则
- 和解协议装修合同纠纷
- 抗震支架计算书
- 大学生如果提高自己安全意识
- 意识障碍的判断及护理
评论
0/150
提交评论