4最简单的c程序设计

上传人:dja****22 文档编号:243022792 上传时间:2024-09-14 格式:PPT 页数:26 大小:64.50KB
返回 下载 相关 举报
4最简单的c程序设计_第1页
第1页 / 共26页
4最简单的c程序设计_第2页
第2页 / 共26页
4最简单的c程序设计_第3页
第3页 / 共26页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第3章 最简单的C程序设计,顺序程序设计,1-C语句概述,2-赋值语句,3-数据输入与输出的概念及在C语言中的实现,4-字符数据的输入输出,5-格式输入与输出,6-顺序结构程序设计举例,1,1-C语句概述,一个,C程序,可以由若干个,源程序文件,(分别进行编译的文件模块)组成,一个,源文件,可以由若干个,函数,和,预处理命令,以及全局变量声明部分组成,一个,函数,由数据,定义部分,和,执行部分,组成。,程序的三种基本结构:,顺序,、,选择,(,分支,)、,循环,(N-S 结构化流程图),2,(1)控制语句,if()else for() while(),dowhile() continue break,switch,goto,return,(2)函数调用语句,printf(I am your teacher! );,(3)表达式语句,a=3;,(4)空语句,;,(5)复合语句,用 括起来的一些语句,z=x+y;,t=z/100;,printf(,%f,t);,3,2-赋值语句,赋值表达式加上一个分号构成 a=5;,例:if (a=b)0) t=a;,if (,a=b;,)0) t=a ; 对吗?,4,3-数据输入与输出的概念及在C语言中的实现,向磁盘存入文件(输出)、从磁盘上读出文件,(输入),输入输出的概念是以计算机的,主机,为主体而言的,。,C语言没有自己的输入输出语句,必须调用标准库函数实现数据的输入输出。,数据输出时,调用最多的是printf函数。printf函数不但可以输出变量的值,也可以输出表达式的值,还可以同时输出多个表达式和变量的值。,putchar, getchar, scanf, puts, gets,#include,或#include,stdio.h,5,4-字符数据的输入输出,(1)putchar函数(,字符输出函数):向终端输出,一个,字符,putchar(A); /* 输出字符A */,(2),getchar,函数,(,字符输入函数):从终端输入,一个,字符,函数原型,:int getchar( );,getchar函数,没有参数,,有一个,int型的返回值,。,它的,返回值是用户所按字符的ASCII码,。,P48、49/,P73、74,6,5-格式输入与输出,printf 函数(格式输出函数),格式:printf(,“,格式控制字符串,”,表达式1,,,表达式2,,,表达式n,);,功能:按照,“,格式控制字符串,”,的要求,将,表达式1,,,表达式2,,,表达式n,的值显示在屏幕上。,格式控制字符串,中包含有两类字符:,常规字符,:包括可显示字符和用转义字符表示的字符。原样输出,格式控制符,:,以%开头,的一个或多个字符,比如我们见过的%d,%f等等。其中,%后面的d和f被称为,格式转换字符,。,例如,格式控制字符串”,Variable m=,%d,tn=,%d,n,”中,Variable,m=以及,tn=和,n都是常规字符,而两个%d是格式控制符。,要想显示%必须在格式控制字符串中使用%来代表单个%。,7,printf函数规定,常规字符要原样输出,而格式控制符的位置上输出相对应的表达式的值。,已知:int a=3;,函数调用:printf(“3+5=,%d, a+6=,%d,” , 3+5, a+6);,实际输出: 3+5=8,a+6=9,由于printf函数按照一定的格式输出数据,因此,利用printf函数输出数据又称为,格式化输出,。,8,printf函数规定,不同类型的表达式要使用不同的格式转换符,比如输出int型表达式要使用%d,输出实型表达式要使用%f。,P55/,P81,表列出了与各种数据类型对应的格式转换符。,9,1、,整数,的输出,(1)有符号整数的输出,输出有符号整数的格式控制符的一般形式是:,%,- +width,l,d,其中,, ,表示可选项,可缺省。,-,:表示输出的数据左对齐,,缺省时是右对齐,。,+,:输出正数时,在数前加上,+,号。,width,:,是无符号整数,表示输出整数的最小域宽(即占屏幕的多少格)。若实际宽度超过了,width,,,则按照实际宽度输出。,字母,l,:,如果在,d,前面有字母,l,表示要输出长整型数据。,#,:输出带进制,(,八进制有前导符,0,,十六进制有前导符,0X/0x),。,10,1 main(),2 ,3 int a=123;,4 long L=34567;,5,6 printf(a=%d-a=,%,dn,a);,7 printf(a=%6d-a=,%,6dn,a);,8 printf(a=%-6d-a=,%,-6dn,a);,9 printf(a=%+6d-a=,%,+6dn,a);,10 printf(L=%,l,d-L=,%,l,d,L);,11 ,有符号整数输出的例子,运行结果:,a=123-a=%d,a= 123-a=%6d,a=123 -a=%-6d,a= +123-a=%+6d,L=34567-L=%ld,11,2、,实数,的输出,输出实数的格式控制符的一般形式是:,%,-+ width.precision,f|e|E|g|G,其中,, ,表示可选项,可缺省;,|,表示互斥关系。,precision,:,规定输出实数时,小数部分的位数。,其它字段的含义与前面介绍的相同。,12,实数输出的例子,1 main(),2 ,3 double f=2.5e5;,4,5 printf(123456789123456789n);,6 printf(f=%15f-f=%15fn,f);,7 printf(f=%-15.0f-f=%-15.0fn,f);,8 printf(f=%+15.4f-f=%+15.4fn,f);,9 printf(f=%15.4e-f=%15.4en,f);,10 ,运行结果:,123456789123456789,f= 250000.000000-f=%15f,f=250000 -f=%-15.0f,f= +250000.0000-f=%+15.4f,f= 2.5000e+005-f=%15.4e,13,格式化输出小结,格式化输出时,通过格式控制字符控制的格式要素主要有:,数据类型及其长度,比如用,%d,输出,int,型数据,用,%,l,d,输出,l,ong,型数据,用,%f,输出,doub,l,e,型数据,用,%,l,f,输出,l,ong double,型数据。,输出数据所占的宽度(域宽),比如,,%4d,表示输出至少占,4,格。,输出数据的精度,比如,,%4.2f,表示输出,2,位小数,,%3s,表示要输出字符串的前,3,个字符,,%6.4u,表示至少要输出,4,位数。,对齐特性,比如,%-16d,表示输出的数据左对齐。缺省情况下,输出将右对齐。,数制形式,比如,,%x,要求以,16,进制形式输出整数。,P52 /,P77,例,3.3,、,3.4,、,3.5,、,3.8,14,二、数据的输入,1、数据的格式化输入,scanf,(“,格式控制字符串,”,,变量1的,地址,,,变量2的,地址,,,变量n的,地址,):按输入格式从终端输入若干数据。,scanf(“%d” , /用户输入123,则a的值将是123,其中,,&符号的功能是取地址,,&被称为取地址运算符,注意:&不能作用于表达式,因为表达式没有地址,只有值。,scanf函数要求将变量的地址通过参数告诉它。,15,scanf函数的第一个参数格式控制字符串的含义与printf函数的第一个参数完全相同 P57/,P83,表,常规字符和格式控制符,。,但它们对常规字符的处理却不一样,printf函数要将常规字符原样,输出,,而scanf函数却要求用户将常规字符原样,输入,。,如果用户输入123456(表示空格,表示回车),则a的值是123,b的值是456:,scanf(“%d%d”,16,遇到以下情况scanf认为该数据输入结束:,遇到空格、回车或,Tab,键;,指定的宽度结束,,比如,,scanf(“%3d”,要求输入一个整数。如果用户输入,1234,,,a,的值将是,123,。,遇非法输入,比如,,scanf(“%d”,&a,);,要求输入一个整数。如果用户输入,12a3,,,a,的值将是,12,,字符,a,是输入整数时的非法字符。,17,当用,%c,输入字符型数据时,可显示,的,字符、空格、回车以及其他转义字符都是有效输入,。比如,,scanf(“%c%c%c”,&a,&b,&c,);,当用户输入:,kh j,变量,a,的值将是,k,,,b,的值将是空格,,c,的值将是,h,。也就是说,第一个空格送给了,b,,字符,h,送给了,c,。,scanf(“%d%d%d,”) ,输入数据时,在两个数据之间以一个或多个空格间隔,也可以用,Enter,键、,Tab,键分隔,但不能用逗号作为分隔符,如,3,4,5,为不合法输入。,18,1 main(),2 ,3 int a,b;,4 char ch;,5 long L;,6,printf(please input a number and a character like this 12,cn);,7 scanf(%d,%c,8 printf(please input a number small than 1000n);,9 scanf(%3d,10 printf(input a long int data:);,11 scanf(%ld,12 printf(a=%d*b=%d*ch=%c*L=%ldn,a,b,ch,L);,13 ,please input a number and a character like this 12,c,55,j,please input a number small than 1000,23,input a long int data:,a=,55,*b=,23,*ch=,j,*L=,19,在使用scanf函数应注意下面几个问题:,参数列表中变量的个数要与格式控制字符串中的格式控制符的个数相等。,参数列表中变量的实际类型要与格式转换符相符。,不要忘了在调用,scanf,函数时,变量前面要有取地址符,&,。,20,6-顺序结构程序设计举例,目前我们遇到的程序都是,逐条语句,书写的,程序的,执行,也是,按顺序,逐条语句执行的。这种程序被称为顺序式程序。,顺序程序的设计是最简单的程序设计。,目前我们只要求能书写一个main函数以及在main函数中能书写顺序式程序。,21,顺序程序设计的例子:输入三角形的边长,求三角形面积,求三角形面积的公式是:,s=(a+b+c)/2。其中,a,b,c,是三角形的三个边长,因此,程序中应该有三个,float型,变量用来存放a,b,c的值,为了方便起见,还应有个变量存放s,最后有必要设置一个变量存放三角形的面积值。,公式中存在着,求平方根,的操作,但C语言没有这样的运算符,这需要求助于数学库函数,sqrt,。,sqrt函数带一个参数,它的功能是返回参数的平方根。,22,根据以上分析,这个求三角形面积的程序应这样设计:,定义,5个变量,分别用来存放a,b,c,s和面积的值。,首先要调用scanf函数由用户,输入,边长a、b、c的值。,根据公式,先计算,s的值,,再计算,三角形面积。,最后调用printf函数,输出,面积的值。,sqrt是标准库函数,它的原型位于math.h文件中,因此, 要在程序源文件的顶部包含math.h文件。,23,#include ,#include ,main(),float a,b,c;,float s,area;,printf(please input the length of edges of triangle like this:n22.5,3,44.6n);,scanf(%f,%f,%f,s=(a+b+c)/2;,area=sqrt(s*(s-a)*(s-b)*(s-c);,printf(a=%-7.2f,b=%-7.2f,c=%-7.2fn,a,b,c);,printf(area=%-7.2fn,area);,运行结果:,please input the length of edges of triangle like this:,22.5,3,44.6,3,4,6,a=3.00 ,b=4.00 ,c=6.00,area=5.33,P60/,P86,24,例11 、,P61,/P87,例4.12 本例要求掌握输入、输出的应用,#include math.h”,#include stdio.h”,main (),float a,b,c,disc,x1,x2,p,q;,/* compare with - scanf(a=%f,b=%f,c=%f,&a,&b,&c) - */,/* -,scanf(“%f%f%f”,a,b,c),(,错,) - */,scanf(%f%f%f,printf(a=%fnb=%fnc=%fn,a,b,c);,disc=b*b-4*a*c;,p= -b/(2*a);,q=sqrt(disc)/(2*a);,x1=p+q;,x2=p-q;,printf(nnx1=%5.2fnx2=%5.2fn,x1,x2);,a=1,b=3,c=2 回车,X1=-1.00,X2=-2.00,25,作业(P63/,P88,),3.7(只求周长、面积)/,4.8,3.8/,4.9,26,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!