第3章程序设计初步.ppt_第1页
第3章程序设计初步.ppt_第2页
第3章程序设计初步.ppt_第3页
第3章程序设计初步.ppt_第4页
第3章程序设计初步.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章C程序设计初步,第3章C程序设计初步,3.1算法:解决问题的步骤3.2结构化程序设计方法简介顺序结构选择结构循环结构,3.1算法描述,自然语言表示,计算n!(1)定义变量i,n,fact,分别保存循环变量,n,阶乘结果(2)i=2;fact=1;赋初值(3)使factfact*i(4)i自增1:ii+1(5)判断i是否大于n,若是执行第6步,否则执行第3步(6)停止,输出fact。,优点:使用日常用语,通俗易懂缺点:文字冗长,容易出现歧义,3.1算法描述,传统流程图表示,起止框,处理框,输入输出框,判断框,连接点,注释框,常用流程图符号,开始,1=fact,2=i,fact*i=fact,i+1=i,in,结束,N,流程线,Y,3.1算法描述,用N-S流程图表示,顺序结构,选择结构,循环结构,3.3C语言语句分类,表达式语句函数调用语句控制语句复合语句空语句,3.4数据的输入输出,C语言函数库提供的输入输出函数printf(格式输出)scanf(格式输入)putchar(输出字符)getchar(输入字符),3.4数据的输入输出,需要的头文件:#include或写成#include“stdio.h”,include和库函数之间可以加空格,也可不加,3.4.1printf函数(格式输出),printf调用一般形式:printf(“格式控制字符串”,输出列表),输出字符串:printf(“字符串”),以整型格式输出数据x:printf(“%d”,x)以实型格式输出数据x:printf(“%f”,x)以字符格式输出数据x:printf(“%c”,x),3.4.1printf函数(格式输出),输出多个数据格式:,printf(“%d%d%d”,x,y,z)printf(“%f,%f,%d”,x,y,z)printf(“x=%f,y=%f,z=%d”,x,y,z),3.4.1printf函数(格式输出),printf(“格式控制字符串”,输出列表)输出表列输出的数据,多个数据输出时,数据之间用逗号隔开格式控制字符串:格式说明:%修饰符格式字符,用于指定输出格式(表3.1)普通字符或转义序列,原样输出,3.4.1printf函数(格式输出),d格式:用来输出十进制整数。有以下几种用法:%d:按整型数据的实际长度输出。%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。%-md:同上,区别是:右端补以空格,3.4.1printf函数(格式输出),例:输出数字矩阵,3.4.1printf函数(格式输出),%0md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以0,若大于m,则按实际位数输出。%-0md:同上,区别是:数字左对齐,右端补以空格注:使用%0md输出负数,负号在前,例:使用%05d输出-12,结果为:-0012,3.4.1printf函数(格式输出),分别使用以下格式输出123,-123:%d,%8d,%-8d,%08d,%-08d,3.4.1printf函数(格式输出),%ld:输出长整型long数据:注意事项:%ld在vc环境下和%d没有区别,在TurboC下用%d输出long类型数据会发生溢出错误。使用%d输出浮点型数据,会输出一个无效数字。使用%f输出整型数据,也是如此。,3.4.1printf函数(格式输出),o格式:以无符号八进制形式输出整数。对长整型可以用“%lo”格式输出。同样也可以指定字段宽度用“%mo”和“%-mo”格式输出。例:main()inta=-1;printf(%d,%o,a,a);运行结果:-1,177777程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为(177777)8。,3.4.1printf函数(格式输出),x格式:以无符号十六进制形式输出整数。对长整型可以用“%lx”格式输出。同样也可以指定字段宽度用“%mx”和“%-mx”格式输出。u格式:以无符号十进制形式输出整数。对长整型可以用“%lu”格式输出。同样也可以指定字段宽度用“%mu”和“%-mu”格式输出。,3.4.1printf函数(格式输出),#:用于输出八进制和十六进制,在输出的数字之前加入字符0 x或0,例:分别使用不同的格式输出数字124:%o,%x,%6o,%6x,%#6o,%#x,%07x,%#08x,3.4.1printf函数(格式输出),f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:%f:不指定宽度,整数部分全部输出并输出6位小数。%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。,3.4.1printf函数(格式输出),e格式:以指数形式输出实数。可用以下形式:%e:数字部分(又称尾数)输出6位小数%m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。,3.4.1printf函数(格式输出),例:用下面的输出格式输出小数123.45678%f,%g,%e,%5.4f,%14.3e,3.4.1printf函数(格式输出),c格式:输出一个字符。s格式:用来输出一个串。有几中用法:%s:例如:printf(“%s”,“CHINA”)输出“CHINA”字符串(不包括双引号)。%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。,3.4.1printf函数(格式输出),%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果nm,则自动取n值,即保证n个字符正常输出。,3.4.1printf函数(格式输出),关于printf函数的进一步说明:如果想输出字符“%”,则应该在“格式控制”字符串中用连续两个%表示,如:printf(%f%,1.0/3);输出0.333333%。,3.4.1printf函数(格式输出),printf小结m:输出字符最小宽度,超出该宽度按原来宽度输出n:用于小数或字符串输出,小数输出时n为小数位数,字符输出时为截取的字符个数-:输出的字符靠左对齐l:用在d,o,x,u之前为输出长整型long,用在e,f,g之前为输出double型0:输出数值,左侧不足补以0#:输出八进制或十六进制,输出符号0或0 x+:输出数值,正数带+号,负数带-号,3.4.1printf函数(格式输出),printf小结除了X,E,G外,其他字符不能大写。例如%d不能写成%D,%f不能写成%F,3.4.1printf函数(格式输出),3.4.1printf函数(格式输出),练习:若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=56753,n=1232445,c1=a,c2=b.想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出),要求输出结果如下:a=3b=4c=5x=1.200000,y=2.400000,z=-3.600000 x+y=3.60y+z=-1.20z+x=-2.40u=56753n=1232445c1=aor97(ASCII)c2=bor98(ASCII),3.4.2scanf函数(格式输入),函数调用一般格式:scanf(“格式控制字符串”,地址列表)格式控制字符串:同printf()地址列表:例:将输入的值赋给int变量a,地址列表中需要写成:scanf(“%d”,3.4.2scanf函数(格式输入),格式控制字符:%d:输入十进制整数%f:输入十进制小数:可以输入小数、指数%e,%g:同%f%x,%X:输入十六进制数,x和X没有区别%o,%O:输入八进制整数,o和O没区别%u:输入一个无符号十进制整数,3.4.2scanf函数(格式输入),格式控制字符:l:加在d,o,x之前,输入精度为long加在e,f之前,输入精度为doublem:指定输入宽度h:用于d,o,x之前,指定输入short类型,3.4.2scanf函数(格式输入),例1.#includestdio.hmain()inta,b,c;scanf(%d%d%d,3.4.2scanf函数(格式输入),例1.运行时按如下方式输入三个值:345(输入a,b,c的值)3,4,5(printf输出的a,b,c的值)(1)putchar(45);charc=b;putchar(c);,3.4.3字符输入输出函数,getchar():输入单个字符例:charc;c=getchar();putchar(c);,输入输出小结,printf():int-%dchar-%cfloat-%flong-%lddouble-%lf指数-%escanf():格式同上地址符&putchar():输出单个字符getchar():输入单个字符,3.5顺序程序设计,执行程序时,按程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论