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

下载本文档

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

文档简介

1、第4章 最简单的C程序设计,4.1 C语句概述,C语句全部为可执行语句,对应若干机器操作指命令。,C程序由许多源文件组成。(分别编译,然后连接),每一个源文件由预编译命令和若干函数组成。,每一个函数由说明部分和语句部分组成。,其结构如图,除说明部分外,重要部分为语句部分。,C程序,源程序文件1,源程序文件i,源程序文件n,预编译命令,函数1,函数n,说明部分,执行部分(语句),C 语句分为五类,1. 控制语句改变语句的执行顺序,共有9种控制语句:, if ( ) else (条件), for ( ) (循环), while ( ) (循环), do while (循环), continue (

2、结束本次循环), break (中止执行语句块), switch (多分支选择), goto (转向), return (从函数返回),2. 函数调用语句,3. 表达式语句,printf ( Hello);,表达式加; 如: i=i+1; i+; x+y; 有些函数调用也可理解为表达式语句.,5. 复合语句,4. 空语句,; 任何事情都不做.,用 括起来的一系列语句。 如: z=x+y; t=z/100; printf (%f, t); ,4.2 赋值语句,赋值语句的构成:,赋值表达式;,例:a+=b; j=i+; a=(x+y, a+b); i+;,4.3数据输入输出的概念以计算机为主体,输

3、入:外设 计算内部 输出:计算内部 外设 C语言的输入和输出是通过函数来实现。,标准的输入输出函数,putchar: 输出字符 getchar: 输入字符 printf: 格式输出 scanf: 格式输入 puts: 输出字符串 gets: 输入字符串,预编译命令:#include ,4.4 数据输出,前面已论述: C语言本身无输入/ 出语句, 由函数实现,如printf.等。,一般:C语言提供了一些标准的输入/出函数系统函数。,形式: putchar (c );,功能: 向终端(一般为显示器)输出一个字符,其中c为 字符型或整型变量,注意: 用该函数时,须用预编译命令: #include s

4、tdio.h ,4.4.1 putchar 函数 字符输出函数,举例: #include stdio.h,结果: BOY,main( ), char a, b, c;,a=B ; b=O ; c=Y;,putchar(a); putchar(b); putchar ( C);,putchar(a); putchar( n ); putchar(b); putchar( n ); putchar(c); putchar( n );,*利用putchar还可输出其它转义字符,结果: B O Y,putchar( 101 ); 输出A,putchar( ); 输出,putchar( 015 ); 输

5、出,*若将最后一行改为:,4.4.2 printf 函数格式输出函数,一、printf的一般形式,是C语言中使用得最多的一种输出函数,它可一次按格式输出多个不同类型的数据。,printf(格式控制序列,输出表列);,输出表列 用“ ,”号隔开的变量或表达式序列,其变量的值按对应的格式控制符所指定的格式输出。,格式控制序列用双引号 . 括起来的格式符序列。,格式控制序列由格式说明符和普通字符组成。,2. 普通字符 原样输出,1. 格式说明符: 由%接格式字符组成 如: %f, %d等,例: a=3; b=4; printf(a=%d, b=%d, a, b); ,结果: a=3,b=4,无论 a

6、, b中位数多少, 均为上述形式:,a=123 ;b=45;,二、格式字符,不同类型的数据输出,用不同格式字符:,1. d格式符十进制整数输出。,(1) %d: 按数据的实际长度输出。,(2) %md: m表示输出字段宽度。若实际位数m,左边补空格。,如:printf( %4d, %4d ,a,b); 若a=123,b=12345,则,结果:_123,12345,(3) %ld: 输出长整形数据,如:long a=135790; printf(“%ld, %8ld”,a,a);,结果:135790,_ _135790,2. o格式符 按八进制形式输出.,以1的补码形式,int a= 1; pr

7、intf( %d, %o, a, a);,则输出结果: 1, 177777,注: 连符号位一起组成八进制数输出,特例: 1存于int单元,如以长整型输出,%lo,也可指定宽度m, %mo,3. x格式符以十六进制形式输出整数.,例: short int a= 1; printf(%x, %o, %d , a, a, a);,输出结果: ffff, 177777, 1,4. u格式符输出unsigned型数据.,例: main() unsigned short int a=65535; short int b=-2; printf(“a=%d,%o,%x,%un”,a,a,a,a); print

8、f(“b=%d,%o,%x,%un”, b,b,b,b); ,a= 1, 177777, ffff, 65535,a=65535,b= 2,b=2, 177776, fffe, 65534,运行结果为:,5. c格式符输出一个字符.,注: 若有一整型变量,其值在0255之间,则可以字符形式输出., 一个字符型变量亦可以一个整型数据输出.,char c= a; printf(%c, c);,例: main ( ), char c=a;,int i=97;,printf (%c,%dn,c,c);,printf (%c, %dn,i,i);,运行结果为: a, 97 a, 97,也可以指定输出字符

9、宽度,如果有,则输出:“_ _a, 即c变量输出占3列,前2列补空格.,print (%3c, c);,6. s格式符用来输出一个字符串.,允许一定的编辑即允许%ms, %ms, %m.ns, %m.ns四种形式, 每一形式的意义如下:,例: printf(%s, CHINA);,结果: CHINA,(1)%ms, 输出的字符串占m列,如字符串本身长度大于m,则突破m的限制,将字符串全部输出。若串长小于m,则左补空格。,(2)%ms, 如果串长小于m,则在m列范围内,字符串向左靠,右补空格。,(3) %m.ns,输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。,(

10、4) %m.ns,其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果nm,则m自动取n值,即保证n个字符正常输出。,7. f格式符以小数形式输出单、双精度实数,有以下几种形式:,%f, 不指定字段宽度,由系统自动指定,使整数部分全部如数输出,并输出6位小数。,%f %m.nf %m.nf,%m.nf, 指定输出的数据共占m列,其中有n位小数。如果值长度小于m,则左端补空格。,%m.nf, 与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。,8. e格式符以指数形式输出单,双精度实数基本形式: %e,结果: 1.234560,共13列,6列,5列,可有%m.ne和%m.n

11、e的形式,9. g格式符根据实数大小自动选择f格式,或e格式输出单双精度实数。,e+002,例: printf ( %e , 123.456);,表4.1 printf格式字符总结,许多情况与具体机器或系统有关,最好机器上一试。,表4.2 附加格式说明字符,4.5 数据输入,系统提供了若干函数,以提供从标准输入设备(键盘)上输入数据.,4.5.1 getchar 函数,本节先介绍两个输入函数.,形式: getchar( ),功能: 从标准输入装置(键盘)上输入一个字符,要求: 有#include stdio.h预编译命令,例: #include stdio.h main ( ) char c;

12、 c=getchar ( ); putchar (c ); ,4.5.2 scanf函数,功能: 在标准输入装置(键盘)上按指定格式 输入各种类型的数据,地址表列变量的地址或字符串首地址。,形式: scanf(格式控制序列, 地址表列),格式控制序列同printf(.),例: main( ) int a, b, c; scanf(%d%d%d, ,运行,机器等待你输入: 3 4 5,结果 3, 4, 5,注意: 1.scanf函数使用地址量接受数据。,2.输入数值数据的间隔为,Tab,空格, 不能为“ ,” 输入字符数据不可加间隔符。,3. 允许在格式符中插入附加字符。格式字符及附加字符的定义

13、如下表4.3和表4.4,表4.3 scanf格式字符,表4.4 scanf附加的格式说明字符,TC,4. 对于输入unsigned型数据,使用%u。,5. 指定数据长度时,系统自动截取。,则当输入123456时,scanf( %3d%3d , ,a123, b456,7. 输入数据不能规定精度.,6. 在%后加“ * ”表示跳过相应的数据,则当输入为12 345 67,则a12 b67,scanf(%2d %*3d %2d, ,scanf ( %7.2f , 是错误的,8. 在格式控制中除格式说明符外若还有其它字符,则应按顺序原样输入。,例: scanf( %d, %d, ,则必须输入 21,

14、 28,又如: scanf(a=%d, b=%d, c=%d, ,则输入: a=34, b=58, c=100,TC,4.6 程序举例,例1: 输入三角形三边, 求三角形面积。,例2: 输入一个大写字母,要求系统改为小写字母输出。,例3: 当b24ac0时,求ax2+bx+c=0的两个根。,TC,例1: 输入三角形三边, 求三角形面积。,算法依据:s= p(p-a)(p-b)(p-c),1.输入边长a,b,c 2.计算半周长p=(a+b+c)/2 3.计算面积s 4.输出a,b,c,p,s,画N-S流程图:,输入a,b,c,p=0.5*(a+b+c),s=sqrt(p*(p-a)*(p-b)*

15、(p-c),输出a,b,c,p,s,TC,#include main( ) float a,b,c,p,s; scanf(%f,%f,%f, ,TC,例2: 输入一个大写字母,要求系统改为小写字母输出。,1.输入一个大写字母c1 2.将c1的ASCII码值+32,即c2=c1+32 3.输出c2,#include main( ) char c1,c2; c1=getchar( ); printf(%c,%dn,c1,c1); c2=c1+32; printf(%c,%dn,c2,c2); ,画N-S流程图:,输入c1,输出c1,c2=c1+32,输出c2,TC,例3: 当b24ac0时,求ax2+bx+c=0的两个根。,1.输入系数a,b,c 2.计算判别式delta=b*b-4*a*c 3.计算p=-b/(2*a), q=sqrt(delta)/(2*a) 4.计算x1=p+q, x2=p-q 5.输出x1,x2,画N-S流程图:,输入a,b,c,delt

温馨提示

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

评论

0/150

提交评论