简单的C程序设计.ppt_第1页
简单的C程序设计.ppt_第2页
简单的C程序设计.ppt_第3页
简单的C程序设计.ppt_第4页
简单的C程序设计.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1,第3章 最简单的C程序设计 顺序程序设计,1-C语句概述 2-赋值语句 3-数据输入与输出的概念及在C语言中的实现 4-字符数据的输入输出 5-格式输入与输出 6-顺序结构程序设计举例,2,1-C语句概述,一个C程序可以由若干个源程序文件(分别进行编译的文件模块)组成,一个源文件可以由若干个函数和预处理命令以及全局变量声明部分组成,一个函数由数据定义部分和执行部分组成。 程序的三种基本结构:顺序、选择(分支)、循环 (N-S 结构化流程图),(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); ,4,2-赋值语句,赋值表达式加上一个分号构成 a=5; 例:if (a=b)0) t=a; if (a=b; )0) t=a ; 对吗?,5,3-数据输入与输出的概念及在C语言中的实现,向磁盘存入文件(输出)、从磁盘上读出文件(输入) 输入输出的概念是以计算机的主机为主体而言的。C语言没有自己的输入输出语句,必须调用标准库函数实现数据的输入输出。 数据输出时,调用最多的是printf函数。printf函数不但可以输出变量的值,也可以输出表达式的值,还可以同时输出多个表达式和变量的值。 putchar, getchar, scanf, puts, gets #include 或#include “ stdio.h “,6,4-字符数据的输入输出,(1)putchar函数(字符输出函数):向终端输出一个字符 putchar(A); /* 输出字符A */ (2)getchar函数(字符输入函数):从终端输入一个字符 函数原型:int getchar( ); getchar函数没有参数,有一个int型的返回值。 它的返回值是用户所按字符的ASCII码。 P48、49/ P73、74,7,5-格式输入与输出,printf 函数(格式输出函数) 格式:printf(“格式控制字符串”,表达式1,表达式2,表达式n); 功能:按照“格式控制字符串”的要求,将表达式1,表达式2, 表达式n的值显示在屏幕上。 格式控制字符串中包含有两类字符: 常规字符:包括可显示字符和用转义字符表示的字符。原样输出 格式控制符:以%开头的一个或多个字符,比如我们见过的%d,%f等等。其中,%后面的d和f被称为格式转换字符。 例如,格式控制字符串”Variable m= %d tn= %d n”中,Variable m=以及tn=和n都是常规字符,而两个%d是格式控制符。,要想显示%必须在格式控制字符串中使用%来代表单个%。,8,printf函数规定,常规字符要原样输出,而格式控制符的位置上输出相对应的表达式的值。 已知:int a=3; 函数调用:printf(“3+5=%d, a+6=%d” , 3+5, a+6); 实际输出: 3+5=8,a+6=9 由于printf函数按照一定的格式输出数据,因此,利用printf函数输出数据又称为格式化输出。,9,printf函数规定,不同类型的表达式要使用不同的格式转换符,比如输出int型表达式要使用%d,输出实型表达式要使用%f。 P55/ P81表列出了与各种数据类型对应的格式转换符。,10,1、整数的输出 (1)有符号整数的输出 输出有符号整数的格式控制符的一般形式是: %- +widthld 其中, 表示可选项,可缺省。 -:表示输出的数据左对齐,缺省时是右对齐。 +:输出正数时,在数前加上+号。 width:是无符号整数,表示输出整数的最小域宽(即占屏幕的多少格)。若实际宽度超过了width,则按照实际宽度输出。 字母l:如果在d前面有字母l,表示要输出长整型数据。 #:输出带进制(八进制有前导符0,十六进制有前导符0X/0x)。,11,1 main() 2 3 int a=123; 4 long L=34567; 5 6 printf(“a=%da=%dn“,a); 7 printf(“a=%6da=%6dn“,a); 8 printf(“a=%-6d-a=%-6dn“,a); 9 printf(“a=%+6da=%+6dn“,a); 10 printf(“L=%ldL=%ld“,L); 11 ,有符号整数输出的例子,运行结果: a=123a=%d a= 123a=%6d a=123 -a=%-6d a= +123a=%+6d L=34567L=%ld,12,2、实数的输出 输出实数的格式控制符的一般形式是: %-+ width.precision f|e|E|g|G 其中, 表示可选项,可缺省;|表示互斥关系。 precision:规定输出实数时,小数部分的位数。 其它字段的含义与前面介绍的相同。,13,实数输出的例子,1 main() 2 3 double f=2.5e5; 4 5 printf(“123456789123456789n“); 6 printf(“f=%15ff=%15fn“,f); 7 printf(“f=%-15.0ff=%-15.0fn“,f); 8 printf(“f=%+15.4ff=%+15.4fn“,f); 9 printf(“f=%15.4ef=%15.4en“,f); 10 ,运行结果: 123456789123456789 f= 250000.000000f=%15f f=250000 f=%-15.0f f= +250000.0000f=%+15.4f f= 2.5000e+005f=%15.4e,14,格式化输出小结 格式化输出时,通过格式控制字符控制的格式要素主要有: 数据类型及其长度,比如用%d输出int型数据,用%ld 输出long型数据,用%f输出double型数据,用%lf输出 long double型数据。 输出数据所占的宽度(域宽),比如,%4d表示输出至少占4格。 输出数据的精度,比如,%4.2f表示输出2位小数, %3s表示要输出字符串的前3个字符,%6.4u表示至少要输出4位数。 对齐特性,比如%-16d表示输出的数据左对齐。缺省情况下,输出将右对齐。 数制形式,比如,%x要求以16进制形式输出整数。 P52 / P77 例3.3、3.4、3.5、3.8,15,二、数据的输入,1、数据的格式化输入 scanf(“格式控制字符串”,变量1的地址,变量2的地址,变量n的地址):按输入格式从终端输入若干数据。 scanf(“%d” , /用户输入123,则a的值将是123 其中,&符号的功能是取地址,&被称为取地址运算符,注意:&不能作用于表达式,因为表达式没有地址,只有值。 scanf函数要求将变量的地址通过参数告诉它。,16,scanf函数的第一个参数格式控制字符串的含义与printf函数的第一个参数完全相同 P57/P83表 常规字符和格式控制符。 但它们对常规字符的处理却不一样,printf函数要将常规字符原样输出,而scanf函数却要求用户将常规字符原样输入。 如果用户输入123456(表示空格,表示回车),则a的值是123,b的值是456: scanf(“%d%d”,17,遇到以下情况scanf认为该数据输入结束: 遇到空格、回车或Tab键; 指定的宽度结束,比如,scanf(“%3d”,要求输入一个整数。如果用户输入12a3,a的值将是12,字符a是输入整数时的非法字符。,18,当用%c输入字符型数据时,可显示的字符、空格、回车以及其他转义字符都是有效输入。比如,scanf(“%c%c%c”,当用户输入:kh j 变量a的值将是k,b的值将是空格,c的值将是h。也就是说,第一个空格送给了b,字符h送给了c。 scanf(“%d%d%d”) ,输入数据时,在两个数据之间以一个或多个空格间隔,也可以用Enter键、Tab键分隔,但不能用逗号作为分隔符,如3,4,5为不合法输入。,19,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,c“n“); 7 scanf(“%d,%c“, 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: 89898989 a=55*b=23*ch=j *L=89898989,20,在使用scanf函数应注意下面几个问题: 参数列表中变量的个数要与格式控制字符串中的格式控制符的个数相等。 参数列表中变量的实际类型要与格式转换符相符。 不要忘了在调用scanf函数时,变量前面要有取地址符&。,21,6-顺序结构程序设计举例,目前我们遇到的程序都是逐条语句书写的,程序的执行也是按顺序逐条语句执行的。这种程序被称为顺序式程序。 顺序程序的设计是最简单的程序设计。 目前我们只要求能书写一个main函数以及在main函数中能书写顺序式程序。,22,顺序程序设计的例子:输入三角形的边长,求三角形面积 求三角形面积的公式是: s=(a+b+c)/2。其中,a,b,c,是三角形的三个边长 因此,程序中应该有三个float型变量用来存放a,b,c的值,为了方便起见,还应有个变量存放s,最后有必要设置一个变量存放三角形的面积值。 公式中存在着求平方根的操作,但C语言没有这样的运算符,这需要求助于数学库函数sqrt。 sqrt函数带一个参数,它的功能是返回参数的平方根。,23,根据以上分析,这个求三角形面积的程序应这样设计: 定义5个变量,分别用来存放a,b,c,s和面积的值。 首先要调用scanf函数由用户输入边长a、b、c的值。 根据公式先计算s的值,再计算三角形面积。 最后调用printf函数输出面积的值。 sqrt是标准库函数,它的原型位于math.h文件中,因此, 要在程序源文件的顶部包含math.h文件。,24,#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“, ,运行结果: 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 are

温馨提示

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

评论

0/150

提交评论