第四章 顺序程序设计_第1页
第四章 顺序程序设计_第2页
第四章 顺序程序设计_第3页
第四章 顺序程序设计_第4页
第四章 顺序程序设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

第四章顺序程序设计,本章内容:,1.C语句概述,包括C语句的组成、C的语句2.赋值语句3.数据的输入/输出概念4.字符型数据的输入/输出5.格式输入/输出6.程序举例,4.1C语句概述,C程序,源程序文件1,源程序文件2,源程序文件n,.,预处理命令,全局变量声明,函数1,函数2,函数n,函数首部,函数体,变量声明,执行部分(语句),一、C程序的组成,程序的执行部分是由语句组成的。程序的功能也是由执行语句实现的。C语句可分为以下五类:表达式语句函数调用语句控制语句复合语句空语句,程序的语句,1.表达式语句表达式语句由表达式加上分号“;”组成。其一般形式为:表达式;执行表达式语句就是计算表达式的值。,二、程序的语句,例如:x=y+z;赋值语句y+z;加法运算语句,但计算结果不能保留,无实际意义i+;自增1语句,i值增1,2.函数调用语句由函数名、实际参数加上分号“;”组成。其一般形式为:函数名(实际参数表);执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值。或完成函数的功能。例如:printf(CProgram);调用库函数,输出字符串。,3.控制语句控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。语言有九种控制语句。可分成以下三类:(1)条件判断语句if语句,switch语句(2)循环执行语句dowhile语句,while语句,for语句(3)转向语句break语句,goto语句,continue语句,return语句,4.复合语句把多个语句用括号括起来组成的一个语句称复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句,例如x=y+z;a=b+c;printf(“%d%d”,x,a);是一条复合语句。复合语句内的各条语句都必须以分号“;”结尾,在括号“”外不能加分号。,5.空语句只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。例如while(getchar()!=n);,2.注意在变量说明中给变量赋初值和赋值语句的区别。给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。3.在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的:inta=b=c=5必须写为:inta=5,b=5,c=5;而赋值语句允许连续赋值。4.注意赋值表达式和赋值语句的区别。赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。下述语句是合法的:if(x=y+5)0)z=x;语句的功能是,若表达式x=y+5大于0则z=x。下述语句是非法的:if(x=y+5;)0)z=x;因为x=y+5;是语句,不能出现在表达式中。,4.3数据输入/输出的概念一、数据输入/输出的概念,内存,RAM,从键盘将数据输入,从数据文件读入,将数据输出到屏幕,将数据输出到文件,数据输入/输出是相对计算机内存,二、数据输入/输出语句在语言中所有的数据输入输出都是由库函数完成的。因此都是函数语句。在C语言中使用库函数时,要使用预编译命令#include将相关的头文件(*.h)包含到用户源文件中。使用形式:#include头文件或#include,说明:1.标准输入/输出头文件是:stdio.h2.printf()和scanf()函数不需要头包含文件,4.4数据的输入和输出,1、字符输出函数格式:putchar(c)其中c为字符型或整型的常量、变量及其表达式功能:每次向屏幕输出一个字符供显示。注意:使用本函数前必须要用文件包含命令:#includestdio.h,【例】求以下程序运行结果#includemain()charx=a;clrscr();putchar(x);putchar(b);putchar(x+2);putchar(b+2);,结果:abcd,2字符输入函数格式:getchar()getche()getch()功能:从键盘上读入一个字符,但后两个函数输入后无需回车。getch()还有一个功能,即不把读入的字符回显到屏幕上,常用于密码输入或菜单选择。getchar()包含在stdio.h中,getche()和getch()包含在conio.h中。,【例一】#includemain()chara,b;a=getchar(),b=getchar();printf(“a=%c,b=%cn”,a,b);运行时,如果输入:Student输出结果为a=S,b=t,【例二】#includemain()chari=y;while(i=y|i=Y)printf(“您好!是否继续?(y/n)n”);i=getche();/*见注*/printf(“再见!”);注:不能用getchar(),否则会把回车符作为第二次读入值,【例三】/*一个设置密码输入程序*/#includemain()charpassword10,c=*;inti=0;printf(npassword:);while(i=9)passwordi=getch();putchar(c);if(passwordi=r)break;i+;/*此处加入密码验证语句*/printf(“n欢迎使用本程序!”);,注意:1.getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符,多余的字符存入到键盘的缓冲区,若有下一个getchar函数语句,则直接从键盘的缓冲区读一个字符。2.使用本函数前必须包含文件“stdio.h”。3.在TC屏幕下运行含本函数程序时,将退出TC屏幕进入用户屏幕等待用户输入。输入完毕再返回TC屏幕,#includemain()charc1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2)当程序运行后:输入ABCDEF输出为:,AB,格式:printf(“”,输出项1,输出项2,输出项n);例:printf(“x=%d,y=%fn”,x,x+3);,格式控制(转换控制字符串),输出表列(用逗号分隔的数据组,可选项),格式控制分为两个部分:格式说明%+格式字符(替换输出)普通字符原样输出(转义字符按表3.3输出),3格式输出函数printf(),格式说明的一般形式:%-0m.nl(或h)格式字符-左对齐输出0数字前的空位填0m输出域宽(长度,包括小数点)如数据的位数小于m,则左端补以空格如数据的位数大于m,则按实际位数输出n输出精度(小数位数)l或h长度修正符l长整型及双精度注:long型的数据宜用%ld,double型宜用%lfh表示短整型如%hd%hx,格式字符(规定了输出的数据形式):%d输出十进制整数%x以十六进制无符号形式输出整数%o以八进制无符号形式输出整数%u以无符号十进制数形式输出整数%f输出小数形式浮点数(double型用%lf)%s输出字符串%c输出单字符,【例一】求运行结果。main()inta=30;printf(%d,%o,%x,%u,%c,a,a,a,a,a);,结果:30,36,1e,30,,【例二】求运行结果。main()inta=-30;printf(%d,%o,%x,%u,%c,a,a,a,a,a);,结果:-30,177742,ffe2,65506,,结论:格式字符与对应输出项类型要一致,否则正确的运算结果不能得到正确的显示结果。,【例】若floaty=1234.9999;printf(“%d”,y);则输出结果为何?,0,实际上本例中实数y为任意值(如1234或1)结果都是0!,【例】求以下程序段运行结果。printf(“|%-15s|%2.2f|n”,”ZHANGWEI”,165.1256);printf(“|%s|%012f|n”,”LICHANG”,234.45);,运行结果:|ZHANGWEI|165.13|(注意:WEI后面补了六个空格)|LICHANG|00234.450000|(注意:数字部分连小数点共12位),如果将程序段作些修改:printf(“|%-15s|%2.2f|n”,”ZHANGWEI”,165.1256);printf(“|%15s|%012f|n”,”LICHANG”,234.45);,运行结果:|ZHANGWEI|165.13|LICHANG|00234.450000|,格式:scanf(“”,,4格式输入函数scanf(),格式控制(转换控制字符串),地址表列(简单变量要用scanf(“%d,%d,%d”,4.6顺序结构程序设计举例,例4.10输入三角形的三边长,求三角形面积,#includemath.hmain()floata,b,c,s,area;scanf(%f,%f,%f,例4.11从键盘输入一个字母,要求改用小写字母输出。,#includestdio.hmain()charc1,c2;c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%cn,c1,c2);,课堂练习:

温馨提示

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

评论

0/150

提交评论