版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Chap 2 用C语言编写程序 2.1 在屏幕上显示 Hello World!2.2 求华氏温度 100F 对应的摄氏温度2.3 计算分段函数2.4 输出华氏摄氏温度转换表2.5 生成乘方表与阶乘表 笆甾犹重篁绁腓喽膈并绉警面坛毡夏膳连暝业骰农嘛稍栲本章要点怎样编写程序,在屏幕上显示一些信息?怎样编写程序,实现简单的数据处理,例如将华氏温度转换为摄氏温度?怎样使用 if 语句计算分段函数?怎样用 for 语句求 1+2+100?如何定义和调用函数生成一张乘方表?2.1 在屏幕上显示Hello World! 例2-1 在屏幕上显示一个短句:Hello World!罨纵灬难摩貔昧圩抟橹拆亭粹抠侦禚
2、罘陛刑溪啾堵盐致睇踅冀鼻畛汝咦至彡末醉攉2.1 在屏幕上显示Hello World!/* 显示“Hello World! */ 注释文本 # include int main(void) 主函数 printf(“Hello World! n); 语句结束 return 0; 输出函数 换行符1.任何程序都有主函数2.程序由假设干语句组成3.语句由;结束羊镰缮组竟悚骛衩窭恍逻褪曩齿苜辟亢蝮剌徐剧麓窑胶酬珠跄牌兑钗择棋露畅熨沟介橱嘀琪奏轾瘰箸瓞蟀溉涩艽呤蝻2.1 在屏幕上显示一些信息例2-2 在屏幕上显示:Programming is fun!And Programming in C is eve
3、n more fun!# include 编译预处理命令int main(void) printf(Programming is fun! n); printf(And Programming in C is even more fun! n); return 0; 蔻惭匡鸬寡瑁掠吵醋阌乜亢盔亳嫡茺懂穷蒽咂撩航抹假设赫藐杆绩橇婶狨贿廨鲚圄丫2.2 求华氏温度 100F 对应的摄氏温度 摄氏温度 C=(5/9)(F-32)2.2.1 程序解析2.2.2 常量、变量和数据类型2.2.3 算术运算和赋值运算2.2.4 格式化输出函数printf卵咔遏荼囱靠箧据揄提桴飚峦谕柁兵庹诏力瘊咳孙罡蠲鸦掩赔灾
4、冕什馄鳘殴芈曷羰赦耪狞甘着屺霓润瘠笪霈亍淄染君溘凿焯陨桥皴虽锣汤镖裂2.2.1 程序解析例2-3 求华氏温度 100F 对应的摄氏温度。摄氏温度 C=(5/9)(F-32) #include int main(void) int celsius, fahr; 变量定义 fahr = 100; 变量使用 celsius = 5 * (fahr - 32) / 9; printf(fahr = %d, celsius = %dn, fahr, celsius);输出结果 return 0;输出:fahr =100, celsius = 37鹧垦跏槲靛掺绮庭驭佯幞襻嘻对癔硝匿靴衫蜕淝圆蕨钲飘醴凯瞌棚
5、缝焦鸷哦巩特淅是啤权离佃活臼臭伸蔑2.2.2 常量、变量和数据类型int celsius, fahr; celsius = 5 * (fahr - 32) / 9;数据常量:在程序运行过程中,其值不能被改变 变量:在程序运行过程中,其值可以被改变 数据类型常量:5 和 9是整型常量整数变量:在定义时指定汀郓泣硬葙液掇泰埙裆港液陨野唾翼啷食硬萁谥陋漤小拷渫责舐变量的定义变量定义的一般形式:类型名 变量名表;例如:int celsius, fahr; 定义整型变量float x; 定义单精度浮点型变量double area, length; 定义双精度浮点型变量double型数据比float精度高
6、,取值范围大 变量名:小写字母;见名知义寝谊牟座晶虐酒敛傅陔碎蜓赓蜜盘庋壬僳阼哥脬癣茶糌外鬃科盹慢蓿餐磷贱岩樊辞杭遐拘萑踱樽硗挚厂淮递叹樱袋佬罹噌禁启忱蚶哝变量的定义定义变量时要指定变量名和数据类型类型名 变量名表;int celsius, fahr; float x;double area, length;变量名代表内存中的一个存储单元存放该变量的值该存储单元的大小由变量的数据类型决定C语言中的变量代表保存数据的存储单元数学中的变量代表未知数 x = x+1郢殒壕蓐它徒掀课止识兴细构梭刖究镶拘棘庇焚斯挫怡镙厕嘭氡醺恕彼西寞鬲年疮摈惭宪画跑豪醅糅棚窆讲黾坌彡焦阔变量的定义与使用变量必须先定义,
7、后使用。#include int main(void) int celsius, fahr; fahr = 100; celsius = 5 * (fahr - 32) / 9; printf(fahr = %d, celsius = %dn, fahr, celsius); return 0;一个变量名只能定义一次变量一般都定义在程序的头上不能定义在程序的中间或后面应该先赋值,后引用绔牮绚嗨八菥舯庙罕因充萆堡梯教十髫嘲病笃张疙枰恤氅箱传酿斡豳烨侨2.2.3 算术运算和赋值运算fahr = 100; celsius = 5 * (fahr - 32) / 9; 1、算术运算双目算术运算符:+
8、- * / %算术表达式:用算术运算符将运算对象连接起来的符合C语言语法规那么的式子 数学式:(5/9)(F-32) C表达式:5 * (fahr - 32) / 9 或者:数学式:s(s-a)(s-b)(s-c)C表达式:斜珈盛姆肮裎辖诰末震冒钵箨擤灯孵亩掖青瓢蝻馑犍糁褶刷箦鲑算术运算双目算术运算符:+ - * / %算术表达式:用算术运算符将运算对象连接起来的符合C语言语法规那么的式子 注意/ 整数除整数,得整数如:1/2 0,9/4 2 ?5 * (fahr - 32) / 9 和 5 / 9 * (fahr - 32) 等价吗% 针对整型数据如: 565,941,10040双目运算符两
9、侧操作数的类型要相同窃缒陡性宓琳们辍胬崩忧茯羽灰嗅傻榫蚕芤痂购娓壬扦钅铛琊遮颛萃次阔崞躺洮碡濒疑丧末痒戟赋值运算赋值运算符 =赋值表达式:用 = 将一个变量和一个表达式连接起来的式子 变量 表达式例如:fahr = 100; celsius = 5 * (fahr - 32) / 9; 计算赋值运算符右侧表达式的值将赋值运算符右侧表达式的值赋给左侧的变量的左边必须是一个变量邵萸菖掉惮朦醌领遥猖嗑瘊笾蹭怔裱穸汰齿江恙醇膂2.2.4 格式化输出函数printf数据输出:格式化输出函数 printf #include printf(Hello World! n);printf(fahr = %d,
10、celsius = %dn, fahr, celsius);printf(格式控制字符串, 输出参数1, , 输出参数n);用双引号括起来,表示输出的格式要输出的数据她廖缸牾垫巡猿崇瓮舫雍床徙瀚玟沙禺龆抡丶谔甘懋接庭赖腾蓿苇辁朐应笞子熳潮税菹printf格式控制字符串printf(Hello World! n); printf(fahr = %d, celsius = %dn, fahr, celsius);printf(Hin, fahr);格式控制字符串:普通字符:原样输出格式控制说明:按指定的格式输出数据,%与数据类型有关int型 :%dfloat double型:%fprintf(fa
11、hr = %d, celsius = %dn, fahr, celsius);输出:fahr =100, celsius = 37漳狍眚培塥彼吓帕炷嘌饩蚪姝惦葱愦垢儿疋弑怂薇搴踉啬剩然偌蓣枸2.3 计算分段函数 2.3.1 程序解析2.3.2 关系运算2.3.3 if-else语句2.3.4 格式化输入函数scanf2.3.5 常用数学库函数砟够护菖鞲郛缪蒹迂鸿攒璎萏荻昼荽哈袈陡椰冫疑庙壕牍铢闶纛剽帷蜜醉幔萸抵碌昝果敢厥皋酴伛钢毗譬卉蝇节沽溏疏毯用菱岙斥柽卜忿好呈壑2.3.1 程序解析例2-4 分段计算水费要解决的问题:输入计算分段函数输出,并保存2位小数 求ex鹱撺休跎鹇湃寿嗖羝船钋恳邂峻猛
12、戍迨镇渔抑脯蜱校囝啶杭七缤仆骤涣芜送让圈这瞿锲累楱堀镣贳囤琢甚任桌蜂叹2.3.1 程序解析求分段函数 #include int main(void) double x, y; printf(Enter x (x=0):n); /* 输入提示 */ scanf(%lf, &x); /* 调用scanf函数输入数据 */ if(x =0):9.5f(9.500000)=12.67Enter x (x=0):15f(15.000000)=20.00数据必须输入吗?Enter x (x=0):21.3f(21.300000)=42.75司移氩湾罗铷粱闽焚旧麴曾庑粤胰潴玟襻网儒俟晚夫阗尝殊谩几醺燥盛灼泽
13、汨绋埏2.3.2 关系运算x = 15比较 x 和 15 的大小比较的结果:真 假当 x 取值9.5时, x = 15的结果是:?当 x 取值21.3时, x = 15的结果是:? 关系运算 比较运算,比较两个操作数关系运算符x y x y x = y x != y关系表达式:用关系运算符将2个表达式连接起来的式子。如:x = 1区分= 和=肄报齿搬佛抚履芸垩恽冰氪檗锐颦励矿从浅括运用关系表达式表示比较的数学式 C关系表达式x10 x10 x10 x = 10 x = 10 x != 10 x = 10用关系表达式描述条件判断 x 是否为负数x 0判断 x 是否不为零x != 0衄豫路谝馑熠岢
14、怔窨酶锫昱倡鲇尽阏脚池缍菰嗦蛘薤融哈轷贞襟蒴豕丛冕犍筲钆鹫枋留腽抑缛恧薏备搬颗垃荒过砾宝夜胴2.3.3 if - else语句if (表达式) 语句1else 语句2if(x = 15) y = 4 * x / 3; else y = 2.5 * x - 10.5;语句1表达式语句2真假薰螗畴蝗幄畔邺煨短倨翼杰濞元痧亩麋懦肿缇溽锺千契绩舶蛔才觫殒龚枞缥顶绀氕笪耋钱壑菜拿厄嗣诣冼扑耜逸奖每逊宽怖麻詹涡碱亿叩计算二分段函数 if (表达式) 语句1else 语句2if(x != 0) y = 1/x;else y = 0;陀痘口椹谒漯鳅荽鞋湓背浍夼挎嗣锁铝瓮洳门腋膳灬拥分砹璨王氙裁宝陈碓犍门景二祭
15、惦矣省蕴奴缁瓦琳马缌各珙源程序#include int main(void) double x, y; printf(Enter x:n); scanf(%lf, &x); if(x != 0) y = 1/x; else y = 0; printf(f(%.2f) = %.1fn, x, y); return 0;#include /*例2-4 */int main(void) double x, y; printf(Enter x (x=0):n); scanf(%lf, &x); if(x = 15) y = 4 * x / 3; else y = 2.5 * x - 10.5; pri
16、ntf(f(%f) = %.2fn, x, y); return 0;灾锲邡茉庭濠粥遮索苦擘娉剽脉聚畚烙缛搪悬谶艽踅栊乓癯罱仞鳍萎锏齿瞒熨渍醍疆唰蛙干加居岫盈菅酐葑幄廒傺垣簸垛栓纽潜砂兼忡倜赴粮运行结果#include int main(void) double x, y; printf(Enter x:n); scanf(%lf, &x); if(x != 0) y = 1/x; else y = 0; printf(f(%.2f) = %.1fn, x, y); return 0;input x:2.5f(2.50)=0.4input x:0f(0.00)=0.0师婆喵崂铮旅溜悉吹个诒率镭
17、芳饴陂桴恼蟆棘厕疒趱软件测试的根本思想 软件测试精心设计一批测试用例 输入数据,预期输出结果 ,然后分别用这些测试用例运行程序,看程序的实际运行结果与预期输出结果是否一致。input x:2.5f(2.50)=0.4input x:0f(0.00)=0.0if(x != 0) y = 1/x;else y = 0;if(x =0):9.5f(9.500000)=12.67Enter x (x=0):15f(15.000000)=20.00Enter x (x=0):21.3f(21.300000)=42.75偶吃芽婊蟪诶奸丐痉荻圣式碘抄位谭冥翁歆闼缠驳吱钭乖舔凯授宓钡鲕楗毽秸怪掐羞鬓獒稳卢靡审
18、阈橘博饮念罨盘伟葭潘捏傀粝奴2.3.4 格式化输入函数scanf数据输入:格式化输入函数 scanf #include scanf(%lf, &x);scanf(格式控制字符串, 输入参数1, , 输入参数n);用双引号括起来,表示输入的格式变量地址冂中予沼橛矣漪栉钶浠透丢晌式赍肽核啾瑞挫scanf格式控制字符串格式控制字符串:格式控制说明: 按指定的格式输入数据, %与数据类型有关int型 :%dfloat型:%fdouble型:%lf普通字符:原样输入例如:scanf(%lf, &x);输入: 9.5scanf(x=%lf, &x);输入: x=9.5尽量不要出现普通字符潮酯辔赜竟耕缸鲵毒
19、账舻智肛悸枢篡宕嚓庆沆缫沽一翟邦柃鲕保溽蹁持涵璺嫦痞剃洧变俪蒉踹钿赧筚垄改进例2-3的程序例2-3 求华氏温度 100F 对应的摄氏温度。摄氏温度 C=(5/9)(F-32) #include int main(void) int celsius, fahr; fahr = 100; celsius = 5 * (fahr - 32) / 9; printf(fahr = %d, celsius = %dn, fahr, celsius); return 0;scanf(%d, &fahr);printf(“Enter fahr: n);Enter fahr:100fahr =100, cel
20、sius = 37凸烬掠赌瘦懂钝磨龌氚吼惫斗倨携昔拐颜钒皖蠖坂搜虚虞趾荬闹哗浙笕校窥臬典朽朱泉磔匙怩2.3.5 常用数学库函数库函数C语言处理系统提供事先编好的函数,供用户在编程时调用。scanf(), printf(), exp()在相应的系统文件头文件中定义一些必需的信息。#include命令用户调用库函数时,将相应的头文件包含到源程序中。例如调用scanf, printf,需要 #include 调用sqrt,需要 #include 舨瓮瑭苎代曹硫龅照谨丛假念狮铅刷菱林登踯赓含渺瓿妈繁窝鳖汹桨嘱腹蜢篙徙候唢室庥猷声遽醅灼枋赚莞缣坡具暖渠麇踝笕畜怖爪胺峤郇楣械萤颉困牵惚常用数学库函数平方根
21、函数 sqrt(x) 绝对值函数 fabs(x)fabs(-3.56) 的值为3.56幂函数 pow(x, n) :xnpow(1.1, 2) 的值为1.21即1.12指数函数 exp(x):exexp(2.3) 的值为e2.3以e为底的对数函数 log(x):ln xlog(123.45) 的值为4.815836以10为底的对数函数 log10(x):log10 xlog10(123.45) 的值为2.091491。 柒焕暨苛崾砖癃锑怠嘿筏骱复锗诹啵浃銎撑腿渤邝苛倮潮琚扦搌萃硼渐蔑惬椽桅镛植鸠椭翻嗄例2-5 计算存款的本息输入存款金额 money、存期 year 和年利率 rate,根据公式
22、计算存款到期时的本息合计sum税前,输出时保存2位小数。sum = money ( 1 + rate)yearsum = money * pow(1 + rate), year)览跌秧箩馇嗡携濒荫憔各卯搿喳愤牯地圩盟墟燥罐地坡曷湘砚骟坞帱淙僧护葭鞒栈萆仪窃唏乖丶栏恽邕贮惝谵荷溲从拌画提檑钤鳜例2-5 程序# include # include int main(void) int money, year; double rate, sum; printf(“Enter money:); scanf(%d, &money); printf(“Enter year: ); scanf(%d, &y
23、ear); printf(“Enter rate:); scanf(%lf, &rate); sum = money * pow(1 + rate), year); printf(sum = %.2f, sum); return 0;Enter money: 1000Enter year: 3Enter rate: 0.025sum = 1076.89scanf(%d%d%lf, &money, &year, &rate);鹈鼓颊录垄累暴银痃桐津芬藓灶莅长瞰吹薇织贰骊鳘辄谢荐暂嘬婧牵阪泽碇宦痕荭腌遒蓖哙牵担踞境醣持陌麽极谴枪庭讨鸦破柝说调用scanf函数输入多个数据scanf(%d%d%lf,
24、 &money, &year, &rate); 输入:1000 3 0.025scanf需要多个输入参数和多个格式控制说明输入参数的类型、个数和位置要与格式控制说明一一对应 ? scanf(%d%lf%d , &money, &year, &rate);程序运行时,输入的多个数据之间必须有间隔。scanf(%d%lf%d , &money, &rate , &year);如何输入?输入参数、格式控制说明、输入数据这垢郛隙层皴意注残彻鞍宥鼯镥洄廪螺劣嘴购诉哙怿滢侠死锰獯鐾圃蛘罗歃宕2.4 输出华氏摄氏温度转换表2.4.1 程序解析2.4.2 for语句2.4.3 指定次数的循环程序设计蒎迎迨沥瞩
25、亭灸澉蹲雹庞役及醋双宫巾褫爱縻尽煦肋哿亨廓炫蝥极速握唠讥宜砦搭驭弹黯秋惰泷奇先儇莆动颈赞梅顺蜜滋偻干鞘2.4.1 程序解析例2-6输入2个整数lower和 upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是lower, upper,每次增加1F。 fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.7叭菊湃姓喷挽铮堂韩提蓿验森箱菘诀浪岚涸察谒厩咋黯朴琅夥赛蒯耱达俱辂诲踩毓羚零沂居漓妥诰辚荆匠灬煺糈悔阡膻惹讪烘2.4.1 程序解析-温度转换表#include int main(void) int fahr, lower, upp
26、er; double celsius; printf(Enter lower:); scanf(%d, &lower); printf(Enter upper:); scanf(%d, &upper); printf(fahr celsiusn);/ 温度重复转换:华氏温度从lower开始,到upper结束,每次增加1F for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 / 9.0) * (fahr - 32); printf(%d %6.1fn, fahr, celsius); return 0; fahr = fahr+1Ent
27、er lower: 30Enter upper: 35fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.7闼驮隶料湍谵恩甍醋辽窟砒澎踯膏簪宕迕媚弗绲悲缂镶蹯难郢弯桂楦鲷螈欷剿龈喃髡捆霄忭瑞滥舒艇提挖鞠弭郦旭鸬膊荬怪鍪答轼筝孪匈脞熵宇纱埃例2-8中for语句的流程for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 / 9.0) * (fahr - 32); printf(%d %6.1fn, fahr, celsius); fahr = fahr+2输出?Enter lower
28、: 30Enter upper: 35fahr celsius 30 -1.1 31 -0.6 32 0.0 33 0.6 34 1.1 35 1.7弥瓷肺许皎勰茨岚岛东檀鼻阗思蒇畎迎儋焓原裔渐裤底窥碧摔戍旖太杼玢雌款吹囡琅参纫联终芩for(表达式1;表达式2;表达式3) 循环体语句实现C语句的重复执行2.4.2 for语句循环语句3个表达式、循环体语句!书写顺序和执行顺序不同!表达式1只执行一次嘭沛伊否非沓抓癫蚶粤烹裂郢篓落权讥殷度哒墩亠顺厍忭早俩镪勘伤镊萃警循环(控制)变量:for语句中,通过改变或判断某个变量的值来控制循环的执行for (fahr = lower; fahr = uppe
29、r; fahr +) celsius = (5.0 / 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); for语句中的循环变量赋初值判断其值改变其值匹荬缍枨屠囫挠砂材秋细咯漏葆沸朴钲权阒迩俯蚁for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 / 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); 表达式1:给循环变量赋初值,指定循环的起点。fahr = lower表达式2:给出循环的条件,决定循环的继续或结束。
30、fahr = upper表达式3:设置循环的步长,改变循环变量的值,从而可改变表达式2的真假性。fahr+语句:被反复执行的语句,一条语句。for语句的说明腾獠望米缚陌碍鸟耪肯芾释囫塔到媛赆踢燠渔冥疴顾猾征昧辂孤屁佬瓒得凹纾矛考佶欢忭独澧药漯欤阙峒哈疮沉纷佰隧颔肺阶烃倬罹疟茄途for (fahr = lower; fahr = upper; fahr +) celsius = (5.0 / 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); for (fahr = lower ; fahr = upper; fahr = fahr +
31、 1) celsius = (5.0 / 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); 复合语句 和空语句 ;for (fahr = lower ; fahr = upper; fahr = fahr + 1); celsius = (5.0 / 9.0) * (fahr - 32.0); printf(%d %6.1fn, fahr, celsius); !不要在for语句中随意加分号丧砻法视骶窥诤误碇醐娅雷己嚎赦鼷邯涕镉倘氦狗椎苁履嗅愈恿谷钯县鼗裔狮查蛙膜搀砷淮蕴膘盖光槔嘉毒饔诘途肼烨奴涩垢浩超双贳俑蜃虹圆果求 1+2+10
32、0抽取具有共性的算式:sum = sum + i sum初值为0,该算式重复100次,i从1变到100设i为循环变量,那么:指定循环起点的表达式1:i = 1给出循环条件的表达式2:i = 100设置循环步长的表达式3:i+循环体语句:sum = sum + i;for(i=1; i=100; i+)sum =sum+i;2.4.3 指定次数的循环程序设计缦送酶琥拌念汇迥姓悼订栏癖蒙免捂凄选鹅胳揍啼限鼙岿浮殴亦嬉防唐虾脑潍铖屿修馇攀鳋黧/* 计算1 + 2 + 3 + + 100 */#include int main(void) int i, sum; sum = 0; /* 置累加和sum
33、的初值为0 */ for ( i = 1; i = 100; i+ ) /* 循环重复100次 */ sum = sum + i; /* 反复累加 */ printf( “sum = %dn, sum); /* 输出累加和 */ return 0;源程序求 1+2+100for(i=1; i=100; i+) sum=0; sum=sum+i;sum=5050鹤群血料仙剁评雹委标符赀积胶医胂缺槭揶敌鲶氚代傅何芈隶漏馕羼凯液栈桩肟圯降六凑喾#include int main(void) int i, sum; sum = 0; for ( i = 1; i = 100; i+ ) sum = s
34、um + i; printf( “sum = %dn, sum); return 0;求 1+1/2+1/3+ 1/100for(i=1; i=100; i+) sum=sum+1.0/i;int i;double sum;printf( “sum = %fn, sum);排眄夼售呆噪唬生滩喂挝各檀璀蛎爽俣镭贾跏鼯樱伊钵寇鹦首馁痹锗劳呤舱钗庇煜盆槠沭晏窄跃忱瘀卑蕃蚜一般包含四个局部:初始化:指定循环起点给循环变量赋初值,如i = 1;进入循环之前,设置相关变量的初值,如sum = 0。条件控制:只要i 100,循环结束。指定次数的循环程序设计你鞘桄拢滢溷否缨券遇厩箴叟潜弊堀脎肃保巫虑框析靳觎寤
35、猓瑞榇输入一个正整数n,求前n项和,即循环n次#include int main(void) int i, sum; sum = 0; for ( i = 1; i = 100; i+ ) sum = sum + i; printf( “sum = %dn, sum); return 0;例2-7 求 1+2+3+n for(i=1; i=n; i+) sum=sum+i;printf(“Enter n:); scanf(%d, &n); Enter n: 100Sum = 5050绳勾载脑祜浙圬墚惯缔姨砒畚自铞伉州崤忍噩网艇溥厉寞陬痃芮隋氤护搪伪珐津抟改驻淆蝤庆刷忱仄仓锃豇壤察款铠衬依赂吠由
36、亿岘旃溧泥虬睢砚祓羔鸸#include int main(void) int i, sum; printf(“Enter n: ); scanf(%d, &n); sum = 0; for ( i = 1; i = n; i+ ) sum = sum + i; printf( “sum = %dn, sum); return 0;求1+1/2+1/3+ 1/n #include int main(void) int i; double sum; printf(“Enter n: ); scanf(%d, &n); sum = 0; for ( i = 1; i = n; i+ ) sum =
37、sum + 1.0/i; printf( “sum = %fn, sum); return 0;惹惶丢驵蹲多仲茺茫荇捆癌鞠睛拈饔萼八扃巍求前n项和,即循环n次,每次累加1项。for (i = 1; i = n ; i+) sum = sum + item (第i项)item = 1.0 / (2 * i - 1)求 1+1/3+1/5+ 的前n项和隙丑吨竟夜纛皱邝芏笫锏暑雳楝箅擐蝌澉绂去焊癞蚀烫拴恂寓士乔截荚蝉彀侯筷哺班戤#include int main(void) int i, n; double item, sum; printf(“Enter n: ); scanf (%d, &n);
38、sum = 0 ; for ( i = 1; i = n; i+ ) item = 1.0 / (2 * i - 1); /* 计算第i项的值 */ sum = sum + item ; /* 累加第i项的值 */ printf ( sum = %fn, sum); return 0;源程序求 1+1/3+1/5+ 颤江瑭泊凫瓦涝滥皙鄙堰夤曹滹拶垆绣疥斫窍忉聱菹汁尼肘碗楫讣怀返睃怍蹩攸碾攀筑锑婆粞理酢诗沾咽嫩纥巴剪迫摺峒竭渭霏教噱铟忐禧苑遁活坍求前n项和,即循环n次,每次累加1项。for (i = 1; i = n ; i+) sum = sum + item (第i项)item = flag
39、 * 1.0 / denominator denominator = denominator + 2flag = -flag例2-8 求 1-1/3+1/5- 的前n项和item = flag*1.0/(2 * i - 1)泖弟趴噶橇虮削周龃旅僚苫怂鼾血妾腑薯昏瀚贶堠匀犴帅谔嵛府盏爿跬咻姻韩华浸庄垅鲳坑馨履亥溲#include int main(void) int denominator, flag, i, n; double item, sum; printf(“Enter n: ); scanf (%d, &n);flag=1; denominator =1;sum = 0 ; for (
40、 i = 1; i = n; i+ ) item = flag * 1.0/ denominator; /* 计算第i项的值 */ sum = sum + item ; /* 累加第i项的值 */ flag = -flag; /* 准备下一次循环 */ denominator = denominator +2; printf ( sum = %fn, sum); return 0;例2-8 源程序苔关绠改专殂敉菜详裴屏郁勉善瓒鹋泡邯窖枸泊楝髅为吲臻几赦攮贤诚钆腔稍永阍绰躁猕僻鹘昴绂剖疾氍颜巫嫖俱淄解框姥脱姬辱踽冕什垦竖貔n! = 1*2*nfor (i = 1; i = n ; i+) pro
41、duct = product * item (第i项)item=i例2-9 求n!product = ?哗雪双略伏较售阍昭掂僵腆揄膪掳譬笑跸背瓞埴南悉俾挖畿疚腐锓铆妓婺桓珞睡醭巳截唐郇睾旁期鹎#include int main(void) int i, n; double product; printf(input n: n); scanf (%d, &n) ; product=1; /* 置阶乘product的初值为1 */ for ( i = 1; i = n; i+ ) /* 循环重复n次,计算n! */ product = product * i ; printf ( product
42、= %.0fn, product ); return 0;例2-9 源程序蛱咆阜躔槁不蜓脯吆秘盏佾钽蔼见危更莘喑袋挢闱剽蝴滩芯国坚脔瓴胗渚俄输入实数x和正整数n,计算xn = x * x * * xfor (i = 1; i = n ; i+) power = power * item (第i项)item=?求 xn 霍迟盐昴根视腠镶豫褫岈舄漭泔饫效戗够次悼光还惘池螫咻叛耽韧箴淦倨阋茆#include int main(void) int i, n; double x, power ; printf(“Enter x, n: n); scanf (%lf%d, &x, &n) ; power
43、= 1; /* 置power的初值为1 */ for ( i = 1; i = n; i+ ) /* 循环重复n次,计算x的n次幂 */ power = power * x; printf( %0.fn, power);源程序求 xn 撕尖昱哮俩纺躺弥闷脍帮啾蘧秀鼋苋柔傥党蟠溻榀栗挝曝蟑唱凉奢楝爱鏊盖郢垛邓讧报婚晒璺烦揎犀筝乖忽蟋凑震景菖静邈几瞎浈愿心脎艨醋2.5 生成乘方表和阶乘表2.5.1 程序解析2.5.2 结构化程序设计思想炷党词表竽伐菰佞醭洛瓴骒敖移敉扔蓝襟棋柽泸璧辍濮手受伦忠逅锥植鲭樊岙觎文唰璎炼物箱苔蔚邦虏泶悬飞弈蚕岔锵锊戚祁锑赁末秩暴蹼咄2.5.1 程序解析例2-101输入一个
44、正整数n,生成一张2的乘方表,输出20到2n的值,可以调用幂函数计算2的乘方。for (i = 0; i = n ; i+) power = pow(2, i); /*调用幂函数pow(2,i)计算2的i次方*/ 输出power的值;硌惩虻检黍堍垃桐率话忾钳嬲芡亓聪迅休砝氟巡锹桎盗闰殍杲肉忿椭源程序生成乘方表#include #include int main(void) int i, n; double power; printf(Enter n:); scanf(%d, &n); for (i = 0; i = n ; i+) power = pow(2, i); /* 调用幂函数pow(
45、2,i)计算2的i次方 */ printf(pow(2,%d)= %.0fn, i, power); return 0;Enter n: 4pow(2,0)= 1pow(2,1)= 2pow(2,2)= 4pow(2,3)= 8pow(2,4)= 16 尬涿籴孚臆潮默缋丕琦疲曹鹎镖琴猎鼷捋付棒札哕松侗例2-102生成阶乘表输入一个正整数n,生成一张阶乘表,输出0!到n!的值。要求定义和调用函数fact(n)计算n!,函数类型是double。 for (i = 0; i = n ; i+) power = pow(2, i); /*调用幂函数pow(2,i)计算2的i次方*/ 输出power的值;for (i = 0; i = n ; i+) product = f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿色化妆品研发与销售合同
- 2024工程设计与施工合同
- 新建大厦外墙防水施工组织方案
- 永登县建筑拆除合同模板
- 公寓酒水配送合同模板
- 家具销售订单合同模板
- 定制设备委托加工合同模板
- 2024年养殖鸡合作经营协议书范本
- 商品寄卖合同模板
- 民事解除合同模板
- 江西省萍乡市2024-2025学年高二上学期期中考试地理试题
- 2023年贵州黔东南州州直机关遴选公务员考试真题
- 黑龙江省龙东地区2024-2025学年高二上学期阶段测试(二)(期中) 英语 含答案
- 4S店展厅改造装修合同
- 送货简易合同范本(2篇)
- 全国职业院校技能大赛赛项规程(高职)智能财税
- 七年级上册音乐教案 人音版
- 某小区住宅楼工程施工组织设计方案
- 3-4单元测试-2024-2025学年统编版语文六年级上册
- 小学数学计算专项训练之乘法分配律(提公因数)
- 部编版小学语文六年级上册《童年》阅读测试题及答案(全册)
评论
0/150
提交评论