收藏 分享(赏)

第3章程序设计初步.ppt

上传人:fmgc7290 文档编号:8697330 上传时间:2019-07-08 格式:PPT 页数:42 大小:179KB
下载 相关 举报
第3章程序设计初步.ppt_第1页
第1页 / 共42页
第3章程序设计初步.ppt_第2页
第2页 / 共42页
第3章程序设计初步.ppt_第3页
第3页 / 共42页
第3章程序设计初步.ppt_第4页
第4页 / 共42页
第3章程序设计初步.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、第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 算法描述,传统流程图表示,起止框,处理框,输入输出框,判断框,连接点,注释框,常

2、用流程图符号,开始,1=fact,2=i,fact*i=fact,i+1=i,in,结束,N,流程线,Y,3.1 算法描述,用N-S流程图表示,顺序结构,选择结构,循环结构,3.3 C语言语句分类,表达式语句 函数调用语句 控制语句 复合语句 空语句,3.4 数据的输入输出,C语言函数库提供的输入输出函数 printf(格式输出) scanf(格式输入) putchar(输出字符) getchar(输入字符),3.4 数据的输入输出,需要的头文件: #include或写成 #include “stdio.h”,include和库函数之间可以加空格,也可不加,3.4.1 printf函数(格式输

3、出),printf调用一般形式: printf(“格式控制字符串”,输出列表),输出字符串:printf(“字符串”),以整型格式输出数据x:printf(“%d”,x) 以实型格式输出数据x: printf(“%f”,x) 以字符格式输出数据x: printf(“%c”,x),3.4.1 printf函数(格式输出),输出多个数据格式:,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.1 printf函数(格式输出),printf(“格式控制字符串”,输出列表) 输出表列 输出的

4、数据,多个数据输出时,数据之间用逗号隔开 格式控制字符串: 格式说明:%修饰符格式字符,用于指定输出格式(表3.1) 普通字符或转义序列,原样输出,3.4.1 printf函数(格式输出),d格式:用来输出十进制整数。有以下几种用法: %d:按整型数据的实际长度输出。 %md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 %-md:同上,区别是:右端补以空格,3.4.1 printf函数(格式输出),例:输出数字矩阵,3.4.1 printf函数(格式输出),%0md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以0,若大于m,则按实

5、际位数输出。 %-0md:同上,区别是:数字左对齐,右端补以空格 注:使用%0md输出负数,负号在前, 例:使用%05d输出-12,结果为:-0012,3.4.1 printf函数(格式输出),分别使用以下格式输出123,-123: %d,%8d,%-8d,%08d,%-08d,3.4.1 printf函数(格式输出),%ld:输出长整型long数据: 注意事项: %ld在vc环境下和%d没有区别,在Turbo C下用%d输出long类型数据会发生溢出错误。 使用%d输出浮点型数据,会输出一个无效数字。使用%f输出整型数据,也是如此。,3.4.1 printf函数(格式输出),o格式:以无符号

6、八进制形式输出整数。 对长整型可以用“%lo”格式输出。 同样也可以指定字段宽度用“%mo”和“%-mo”格式输出。 例: main() int a = -1; printf(“%d, %o“, a, a); 运行结果:-1,177777 程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为(177777)8。,3.4.1 printf函数(格式输出),x格式:以无符号十六进制形式输出整数。对长整型可以用“%lx”格式输出。同样也可以指定字段宽度用“%mx”和“%-mx”格式输出。 u格式:以无符号十进制形式输出整数。对长整型可以用“%lu”格

7、式输出。同样也可以指定字段宽度用“%mu”和“%-mu”格式输出。,3.4.1 printf函数(格式输出),#:用于输出八进制和十六进制,在输出的数字之前加入字符0x或0,例:分别使用不同的格式输出数字124: %o,%x,%6o,%6x,%#6o,%#x,%07x,%#08x,3.4.1 printf函数(格式输出),f格式:用来输出实数(包括单、双精度),以小数形式输出。 有以下几种用法: %f:不指定宽度,整数部分全部输出并输出6位小数。 %m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。 %-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。,3

8、.4.1 printf函数(格式输出),e格式:以指数形式输出实数。 可用以下形式: %e:数字部分(又称尾数)输出6位小数 %m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。 g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。,3.4.1 printf函数(格式输出),例:用下面的输出格式输出小数123.45678 %f,%g,%e,%5.4f,%14.3e,3.4.1 printf函数(格式输出),c格式:输出一个字符。 s格式:用来输出一个串。 有几中用法: %s:例如:printf(“%s”, “C

9、HINA”)输出“CHINA”字符串(不包括双引号)。 %ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。 %-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。,3.4.1 printf函数(格式输出),%m.ns: 输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。 %-m.ns: 其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果nm,则自动取n值,即保证n个字符正常输出。,3.4.1 printf函数(格式输出),关于printf函数的进一步说明: 如果想输出字符“%”

10、,则应该在“格式控制”字符串中用连续两个%表示, 如: printf(“%f%“, 1.0/3); 输出0.333333%。,3.4.1 printf函数(格式输出),printf小结 m:输出字符最小宽度,超出该宽度按原来宽度输出 n:用于小数或字符串输出,小数输出时n为小数位数,字符输出时为截取的字符个数 -:输出的字符靠左对齐 l:用在d,o,x,u之前为输出长整型long,用在e,f,g之前为输出double型 0:输出数值,左侧不足补以0 #:输出八进制或十六进制,输出符号0或0x +:输出数值,正数带+号,负数带-号,3.4.1 printf函数(格式输出),printf小结 除了

11、X,E,G外,其他字符不能大写。例如%d不能写成%D,%f不能写成%F,3.4.1 printf函数(格式输出),3.4.1 printf函数(格式输出),练习: 若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=5 x=1.200000,y=2.400000,z=-3.600000 x+y=3.60y+z=-1.20z+x=-2.40 u=56753n=1232445 c1=aor97(ASCII) c2=bo

12、r98(ASCII),3.4.2 scanf函数(格式输入),函数调用一般格式: scanf(“格式控制字符串”,地址列表) 格式控制字符串:同printf() 地址列表: 例: 将输入的值赋给int变量a,地址列表中需要写成:scanf(“%d”,3.4.2 scanf函数(格式输入),格式控制字符: %d:输入十进制整数 %f:输入十进制小数:可以输入小数、指数 %e,%g:同%f %x,%X:输入十六进制数,x和X没有区别 %o,%O:输入八进制整数,o和O没区别 %u:输入一个无符号十进制整数,3.4.2 scanf函数(格式输入),格式控制字符: l:加在d,o,x之前,输入精度为l

13、ong加在e,f之前,输入精度为double m:指定输入宽度 h:用于d,o,x之前,指定输入short类型,3.4.2 scanf函数(格式输入),例1. #include “stdio.h“ main() int a,b,c; scanf(“%d%d%d“, ,3.4.2 scanf函数(格式输入),例1. 运行时按如下方式输入三个值: 345 (输入a,b,c的值) 3,4,5 (printf输出的a,b,c的值)(1) &a、&b、&c中的&是地址运算符,分别获得这三个变量的内存地址。(2) “%d%d%d“是按十进值格式输入三个数值。输入时,在两个数据之间可以用一个或多个空格、ta

14、b键、回车键分隔。以下是合法输入方式: 345 345 3(tab键)45,3.4.2 scanf函数(格式输入),scanf(“%d,%d,%d“, 运行时按如下方式输入三个值: 3,4,5 (输入a,b,c的值) 或者 3,4,5 (输入a,b,c的值) 3,4,5 (输入a,b,c的值) 都是合法的,但是“,”一定要跟在数字后面,如: 3,4,5 就非法了,程序出错。 非法输入:34的,程序输出无效字符。,3.4.2 scanf函数(格式输入),在用“%c“输入时,空格和“转义字符”均作为有效字符。 例: scanf(“%c%c%c“, 输入:abc 结果:ac1,c2,bc3 (其余被

15、丢弃),3.4.3 字符输入输出函数,putchar(字符数据):只能输出单个字符字符数据包括: 字符常量 字符变量 整型变量 例: putchar(A); putchar(45); char c=b;putchar(c);,3.4.3 字符输入输出函数,getchar():输入单个字符例: char c; c=getchar(); putchar(c);,输入输出小结,printf(): int-%d char-%c float-%f long-%ld double-%lf 指数-%e scanf(): 格式同上 地址符& putchar():输出单个字符 getchar():输入单个字符,3.5 顺序程序设计,执行程序时,按程序语句从上之下执行每一条语句。,第一条语句,第二条语句,第n条语句,顺序结构程序实例,例3.8:输入两个实数,分别保存在x,y中,输出,然后交换x,y的值,再输出。,例3.7:输入两个整数,求它们的和并输出。,3.5 顺序程序设计,例3.9:从键盘上输入一个3位整数,要求正确分离出它的个位、十位、百位,分别在屏幕上输出。 例3.10:从键盘输入一元二次方程的三个系数a,b,c,求ax2+bx+c=0的解。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报