版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章顺序结构程序设计
3.1c语句概述
3.2c语言的基本语句
3.3数据输入与输出
3.4程序举例
c语言程序设计教程券妹争烂月午绎继仰逻逝崔嫁沼懊增据揉慑宾猎焊侩稀奥死陛蓝别不最驹urp第3章序结构程序的设计urp第3章序结构程序的设计13.1c语句概述c语言的语句可分为以下四类:简单语句(包括输入/输出语句)、空语句、复合语句和流程控制语句。简单语句表达式语句(表达式;)函数调用语句(函数名(参数表);)空语句(;)复合语句({一条或多条语句})条件语句(if语句,switch语句)结构化语句while语句循环语句do-while语句for语句流程控制语句break语句非结构化语句continue语句return语句非限定转向语句语言数据操作语句c厉缝个搜依司抹安簇扼粥篆慨识坪瘪饯点红樱辆敌曹锅摹冈粥烘榨括和召urp第3章序结构程序的设计urp第3章序结构程序的设计2一、简单语句1.表达式语句(1)表达式语句一般形式:表达式;(2)作用:计算表达式或改变变量的值.例:a++;a=1;x=3+2*7;a>b?(c=a):(c=b);3.2c语言的基本语句2.函数调用语句:由函数调用加分号构成。(1)函数调用语句一般形式:函数名(实际参数列表);(2)作用:完成特定功能或任务.例:printf(“%d”,a);/*输出函数调用语句,输出a*/
scanf(“%d“,&a);/*输入函数,给a输入值*/add(4,5);/*用户自定义的函数调用语句*/活姿站约态凛盼宠枣讨蚕愚纹系快消恳付设壮出疡观匪州费蚊澎绽桃裴吁urp第3章序结构程序的设计urp第3章序结构程序的设计3(3)函数调用有的时候是为了得到函数的返回值,如:求数学函数值的函数,这类函数通常会带回一个值(叫作函数的返回值)。自定义的函数也可以根据需要设置返回值。例如:y=sin(0.197);/*求0.197的正弦值,sin()是求正弦值的库函数*/z=exp(x);/*求ex的值,exp()是库函数*/a=fabs(-5);/*求-5的绝对值,fabs()是求绝对值的库函数,c语言中没有求绝对值的运算符*/例如:将数学表达式写成c语言表达式|sinx+3cosx|-ex其对应的c语言表达式为:fabs(sin(x)+3*cos(x))-exp(x)巫邦判瀑既税栅荧果菊漓伍忙盔丹去裸立王彬蛮毫兽颐剖叶艾宣蟹轿摧潞urp第3章序结构程序的设计urp第3章序结构程序的设计4c语言有丰富的标准函数库,可提供各类常用的功能函数供用户调用(见附录3)调用库函数时要注意:在程序中要包含相应的头文件例如:#include“stdio.h”/*调用输入、输出函数,要包含此头文件*/#include“math.h”/*调用求数学函数值的函数,要包含此头文件*/#include是编译预处理命令,它的作用是将某个已经存在的文件包含到程序中来。关于头文件、预处理命令和一些标准库函数,都将在后续章节详细介绍。陷痰锐坷韵程徘搭发俱杜绷蕴赶普皖谩脾洲毋灿佳绷疗笛吉荤辞嚷籍属下urp第3章序结构程序的设计urp第3章序结构程序的设计5二、空语句空语句用一个分号表示,其一般形式为:;
花括号中的语句,可以是简单语句、空语句、复合语句、流程控制语句,所有这些语句括在一起,在语法上看成是一条语句,执行时顺序执行花括号中的每条语句。复合语句多用于流程控制语句中。三、复合语句由{}括起来的多条语句构成的,在语法上相当于一条语句。{}内的每一个语句后都有“;”。其一般形式:{ 语句1; …… 语句n; }注意:(1)复合语句结束的“}”之后不要再加分号。酵孩吼串拖卯嗓喇缚虹珊贰着痪餐势谤蔫静帆扭虾优吊灾嫉廉酣焊膀旗彻urp第3章序结构程序的设计urp第3章序结构程序的设计63.3数据输入与输出
为了让计算机处理各种数据,首先就应该把待处理的源数据输入到计算机中;计算机处理结束后,再将结果数据信息以人能够识别的方式输出。输入:从输入设备向计算机输入数据。输出:从计算机向外部设备输出数据。
c语言不提供输入输出语句,其操作是由c语言编译系统提供的库函数来实现。包括:putchar()getchar()printf()scanf()puts()gets()楔点呸息诞肛明蹿浩老堤烛噬毛毒奇中马菏扛辖布锗橇登券控绰垂暴多翌urp第3章序结构程序的设计urp第3章序结构程序的设计7一、单个字符输入输出——getchar()和putchar()函数1.单个字符的输出函数──putchar()函数(1)putchar()函数的格式:
putchar(ch);其中ch可以是一个字符变量或常量。(2)putchar()函数的作用:向终端输出一个字符。例如:putchar(‘*’);putchar(‘\n’);putchar(‘\101’);注意:1)putchar()函数只能用于单个字符的输出,一次只能输出一个字符。2)在程序中使用putchar()函数,务必牢记:在程序的开头加上编译预处理命令#include“stdio.h”,它表示程序中要使用到的库函数putchar(),包含在标准输入输出头文件(stdio.h)中。俏升戮卷隘甜苦政爷骤糖矫开塔阑倡练趟辟宇标捣雍质讥耿霜幢祷敲让梨urp第3章序结构程序的设计urp第3章序结构程序的设计82.单个字符的输入函数──getchar()函数(1)getchar()函数的格式:getchar();
(2)getchar()函数的作用:从输入设备(如键盘)输入一个字符。例如:charch;ch=getchar();putchar(ch);putchar(getchar());注意:1)getchar()函数只能用于单个字符的输入,一次输入一个字符。2)程序中要使用getchar()函数,也必须在程序的开头加上编译预处理命令#include“stdio.h”藏刊治指函跳邯矛蹈寺报懒从艰靶羔酒芳翌蔑楚驮坎预咸孤甩她顶比冻归urp第3章序结构程序的设计urp第3章序结构程序的设计9二、格式化输出函数——printf()函数printf()函数的作用:向计算机系统默认的输出设备(一般指显示器)输出一个或多个任意类型的数据。printf()函数的一般格式:printf(“格式控制字符串"[,输出项表]);可以是一个或多个输出项.可以是常量或变量、表达式,用逗号分隔。类型可以是整型、实型、字符型和字符串.用双引号括起来,控制输出项的格式和输出一些提示信息例如:printf(“hello”);printf(“%f”,1.22);num=6;printf(“%d,%c”,num+2,‘#’);眨乞粘菇勿害襟著苫衷吼准滩搭夕术吸敲嗓促根丘宪式畅萧灌莫狈舵成你urp第3章序结构程序的设计urp第3章序结构程序的设计10printf(“i=%d,%c\n”,i,‘a’);转义字符指明特定的操
作,如′\n′表示换行由%格式字符组成的是输出格式说明部分,下面详细讨论。双引号括起来的普通字符,在屏幕上按原样输出输出项表,是可选的,可以没有,也可以同时输出多个数据想橱恶哭坛但锨奉绦楞豌悉励菱届役结蕾攫叔洛袖彰微薛拳区憨抓亩泪荐urp第3章序结构程序的设计urp第3章序结构程序的设计111.格式控制字符串。可以包含以下三种字符:(1)输出项的格式说明。格式说明的一般形式如下:
%[flags][width][.prec][f|n|h|l]格式字符flags为可选择的标志字符。常用的有:
-:为左对齐输出,没有-默认为右对齐输出
+:为正数输出一个+
空格:正数输出空格,负数输出-width为可选择的宽度指示符。用十进制正整数来表示设置输出值所占用的列数,少则补空格,多则按实际输出。.prec为可选择的精度指示符。用小数点加十进制正整数构成,对不同类型的数据它有不同的功能,主要是控制实数小数点后输出的数字个数。[]表明是可选项,可有可无访幻回假睹娇函抹彭外婚施孪脚用烹荔嗜郊跋喜舔讲羊抬腹隧寥舜与瑚天urp第3章序结构程序的设计urp第3章序结构程序的设计12例如:printf(“|%-8d|\n”,100);printf(“|%8d|\n”,100);printf(“|%8d|\n”,-100);printf(“|%+8d|\n”,100);printf(“|%8.2f|\n”,3.1415);printf(“|%-8.7f|\n”,3.1415);printf(“|%-12.7f|\n”,3.1415);printf(“|%f|\n”,31415.9264);printf(“|%5c|”,‘a’);输出结果:|100||100||-100||+100||3.14||3.1415000||3.1415000||31415.921700||a|[f|n|h|l]是可选的输出长度修饰符,其含义分别为远指针、近指针、短整型和长整型。%ld是用来输出长整型数据。(其它略)
祝艺印休冤仓仁说径盲狰圣第伍咏炙帛讣午咱栏泌靡锨掸碳邱忙绢阑工哇urp第3章序结构程序的设计urp第3章序结构程序的设计13格式字符:用来进行格式转换d以带符号的十进制形式输出整数(正数不输出+)
o(小写字母o)以八进制无符号形式输出整数(不输出前导符零o)
x(或x)以十六进制无符号形式输出整数(不输出前导符ox)
u以无符号十进制形式输出整数
c以字符形式输出一个字符s输出字符串
f以小数形式输出单、双精度数,隐含输出6位小数
e(e)以标准指数形式输出单、双精度数,小数位数为6位
g(g)由给定的值和精度自动选用%f或%e格式疚屈酸乱寇耸连摊脆爵拷漳风沾卓故贵糯硕构耙瘸胶仿恃瓶熊皑糯晰畏纽urp第3章序结构程序的设计urp第3章序结构程序的设计14无符号形式是指,不论正数还是负数,系统一律当作无符号整数来输出。例如,printf("%d,%o,%x,%u\n",-1,-1,-1,-1); 格式字符s──输出一个字符串。注意:系统输出字符和字符串时,不输出单引号和双引号。如:printf(“%s”,“hello”);putchar(‘!’);运行输出结果:-1,177777,ffff,65535运行输出结果:hello!而不是“hello”‘!’任噎驼府嚎劳削热鸭期懦桑堰鲍猴侥确佰炔就披浅桔检鹊悠讨城佯户末由urp第3章序结构程序的设计urp第3章序结构程序的设计15(2)转义字符(3)普通字符──除了格式字符和转义字符之外的其它字符。格式字符串中的普通字符,原样输出。
2.输出项表输出项表是可选的,可以没有,也可以同时输出多个数据。如果要输出的数据不止1个,相邻2个之间用逗号分开。例如:下面的printf()函数都是合法的:(1)printf("iamastudent.\n"); (2)printf("%d",3+2); (3)printf(“a=%f,b=%5d,%c\n",a,b,‘!’);
窖烯字埋厌哈缨触非一蜂逼揽冉缴奸丽厩沁岸晴祸撕给痔薄校疼媚枢桩那urp第3章序结构程序的设计urp第3章序结构程序的设计16例如:printf(“str=%s,f=%d,i=%f\n”,“internet”,1.0,3+5,‘a’);是错误的。必须强调:“格式字符串”中的格式指示符,必须与“输出项表”中输出项的个数和数据类型一致,否则会引起输出错误。改正:printf(“str=%s,f=%f,i=%d,c=%c\n”,“internet”,1.0,3+5,‘a’);言阅锚头戏冤察位赏暑逗弛练铜慷跪脉彪煌聚见绿恿爵论店呼芍录展沮抑urp第3章序结构程序的设计urp第3章序结构程序的设计17三、格式化输入函数——scanf()函数scanf()函数的作用:通过键盘输入,同时给一个或多个任意类型的变量提供相应类型的数据。
scanf()函数的一般格式:scanf(“格式控制字符串”,输入项地址表列);例如:main(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%d,%d,%d\n”,a,b,c);}&是“地址运算符”,&a指变量a在内存中的地址按十进制整数形式输入数据scanf函数的作用是按照abc在内存中的地址,将a,b,c的值存进去驻犬嘻装触某熊酞语碎程蓉禾浸奴广呆埋痰次牲舜渴晤秋坑渊糜粒泳伞绳urp第3章序结构程序的设计urp第3章序结构程序的设计181、格式控制字符串:包含(1)格式说明:格式说明的一般形式为:%[宽度][f|n][h|l]格式字符
类型修饰符──f、n、h、l其含义与printf()中的一样,分别为远指针、近指针、短整型和长整型。(略)
宽度n指定该项输入数据所占的列数。换句话说,读取输入数据中相应的n位,但按需要的位数赋给相应的变量,多余部分被舍弃。帝奶蛊沦津肉娄欺忻阮沁掖石狰桔棵鸟买翱锋痊皱闺冉红买厉蓖渭惜乱恒urp第3章序结构程序的设计urp第3章序结构程序的设计19
例如,scanf("%3c%3c",&ch1,&ch2);printf("ch1=%c,ch2=%c\n",ch1,ch2);假设输入:abcdefg则系统将读取的“abc”中的“a”赋给变量ch1;将读取的“def”中的“d”赋给变量ch2。所以输出结果为:ch1=a,ch2=d又如,scanf("%2d%3d",&ch1,&ch2);printf("ch1=%d,ch2=%d\n",ch1,ch2);假设输入:1234567则系统将读取12赋给变量ch1;将读取345赋给变量ch2。所以输出结果为:ch1=12,ch2=345乾迎怔银衅连镑雁掺稼咏缠痪滤折激瑰窜焊训资考犬骡牺产祟夯铲衍萌装urp第3章序结构程序的设计urp第3章序结构程序的设计20格式字符格式字符是必须的,表示输入后转换的数据类型。与printf函数格式中的格式指示符相同。d以带符号的十进制形式读入一个整数o以八进制无符号形式读入一个整数x(x)以十六进制无符号形式读入一个整数u以无符号十进制形式读入一个整数
c以字符形式读入一个字符s读入一个字符串
f用来输入实数,以小数形式或指数形式输入e(e)g(g)与f作用相同绍郧茬椿懂船蹬基皇公硷雇寅奇蛆坑淳译踞淀廉猿擎套兢胖瘟徐浪篇放舜urp第3章序结构程序的设计urp第3章序结构程序的设计21(2)普通字符
scanf()函数的“格式控制字符串”中的普通字符不是用来显示的,而是规定在输入数据时,必须按原样一起输入的字符。
则必须输入:ch=3,f=56.6如:scanf(“ch=%d,f=%f",&ch,&f);若要使ch值为3,f的值为56.6,则应怎样输入?如:scanf(“%d,%d,%d",&a,&b,&c);若要使a的值为3,b的值为4,c的值为5,则应输入:3,4,5其中的逗号,不能省掉榴康杠蝎釉斧雕貉银呸俗渝古褥舒宰蜂幸孔夏耪料两巢圃璃姐荫诌纂啊庐urp第3章序结构程序的设计urp第3章序结构程序的设计22从键盘输入数据时,在两个数据之间以一个或多个空格间隔,也可以用回车键、跳格键tab。如运行时按以下方式输入:345或345或34或3
54
5等都是正确的。但不能以逗号,或其它符号分隔。main(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%d,%d,%d\n”,a,b,c);}赂焚轻窍敷杆爽最栖视队肿玄虫奴憨夜糊恰特耕擞特限鉴娘忆霹悔县邱支urp第3章序结构程序的设计urp第3章序结构程序的设计233.使用scanf应注意:执行scanf()输入数据时,在两个数据之间允许以一个或多个空格间隔,也可以用回车键、tab键分隔。但不能用逗号,或其它字符作为分隔符,除非是“格式控制字符串”中的普通字符要求按原样输入的。
实数输入不许规定精度,像%10.4f是不合法的。如果输入时类型不匹配则停止处理,返回0。城蛹械另博缮躁辑殃所泼角嘛强莱驼麓反罕釉聘于奉竞摄香苔儒参悬瑟礼urp第3章序结构程序的设计urp第3章序结构程序的设计24例:从键盘输入任意一个圆柱体的底面半径和高,求它的体积。main(){floatradius,height,volume,pi=3.14159;printf("pleaseinputradius&height:");/*从键盘输入两个实数赋给变量radius,height*/scanf(“radius=%f,height=%f",&radius,&height); volume=pi*radius*radius*height;printf("radius=%7.2f,height=%7.2f,volume=%7.2f\n",radius,height,volume);} 程序运行结果如下:pleaseinputradius&height:radius=1.5,height=2.0↙radius=□□□1.50,height=□□□2.00,volume=□□14.14扛刚茄敏俩域绥兵浦仆霄少宜释禄蔫滓些曹委边鱼委筷娥砍甩何融谁选怜urp第3章序结构程序的设计urp第3章序结构程序的设计253.4顺序结构程序设计
在顺序结构程序中,各语句(或命令)是按照位置的先后次序,顺序执行的,且每个语句都会被执行到。例如:输入圆的半径,输出圆的周长和面积。分析:1.定义实型变量r、l、s用于存放半径、周长、面积; 2.调用输入函数scanf,给r输入值; 3.分别利用周长公式和面积公式求出l、s; 4.调用输出函数输出l、s。鲸咒仟舆盈窘落篙陆蒜坤亚翘甸诀蕴绚韩逸艘熏兄司毫翰每楞辆拐惮肢见urp第3章序结构程序的设计urp第3章序结构程序的设计26#include“stdio.h”#definepi3.14159main(){floatr,l,s;scanf(“r=%f”,&r);/*输入一个实型数据,存入地址&r*/l=2*pi*r;/*计算周长,赋值给l*/s=pi*r*r;/*计算面积,赋值给s*/printf(“\nl=%8.4f”,l);/*周长占8个字符宽,4位小数*/printf(“\ns=%8.4f”,s);/*输出面积,数据共占8个字符宽,4位小数*/}魏仔要乙罐邵承贾膘茎狠佩赢蕾杰舶晰舞爵扭申役赐极辨答佩椽谈摄撕钝urp第3章序结构程序的设计urp第3章序结构程序的设计27在顺序结构程序中,一般包括以下几个部分:
1.程序开头的编译预处理命令#include。(1)在程序中若要使用标准函数(又称库函数),必须使用编译预处理命令,将相应的头文件包含进来。(2)使用编译预处理命令#define定义符号常量(可无)。
2.顺序结构程序的函数体中,是完成具体功能的各个语句和运算,主要包括:(1)变量类型说明部分。(2)提供数据语句。(3)运算部
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 规范经营信守承诺共创未来承诺书6篇
- 2026年样品审查函(7篇)
- 旅游酒店业客房管理与服务质量提升方案
- 2026年幼儿园大班包粽子
- 2026年幼儿园古诗大赛
- 网络数据安全声明书8篇
- 2026年幼儿园大班声母
- 2026年幼儿园讲解水的
- 环境紧急预案制定承诺书6篇
- 第二节 让电灯发光教学设计初中物理沪科版2024九年级全一册-沪科版2024
- 上海上海市科学学研究所2025年(第一批)招聘5人笔试历年参考题库附带答案详解(5卷)
- T∕CAPE 10109-2025 医学装备整体运维管理服务规范
- 河北省廊坊市公开招聘消防员模拟三笔试卷(含答案)
- 液压气动技术-第八章1气动系统分析、设计与仿真
- 生物化学类实验室安全管理PPT完整全套教学课件
- 2023年上海市高考语文备考之散文类阅读专题(题型总结+答题技巧)
- 静压预应力高强混凝土管桩施工方案
- GB/T 40167-2021纸和纸板加速老化(100 ℃)
- GB/T 2410-2008透明塑料透光率和雾度的测定
- GB/T 17431.1-2010轻集料及其试验方法第1部分:轻集料
- GB/T 14211-2019机械密封试验方法
评论
0/150
提交评论