第三章 程序控制语句.doc_第1页
第三章 程序控制语句.doc_第2页
第三章 程序控制语句.doc_第3页
第三章 程序控制语句.doc_第4页
第三章 程序控制语句.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

第三章 C的程序设计和控制语句第三章 C的程序设计和控制语句一般地, 一个C程序可由多个源文件组成;每一个源文件由预编译命令和若干函数组成;每一个函数由说明部分和语句部分组成。3.1 C程序语句概述1、表达式语句l 赋值语句: 如: i=i+1; i+; x+y;l 函数调用语句: 如: printf ();l 空语句: 如: ; 任何事情都不做。2、控制语句改变语句的执行顺序l if ( ) else (条件)l switch (多分支选择)l for ( ) (循环)l while ( ) (循环)l do while (循环)3、限定转向(无条件转向)语句l continue (结束本次循环)l break (中止整个循环)l return ( 函数返回)4、无条件转移语句l goto 5、终止程序运行语句l exit6、复合语句(语句体)用 括起来的一系列语句。 如: z=x+y; t=z/100; printf (%f, t); if( ) 3.2 程序结构程序的三种结构:顺序结构、选择结构,循环结构1、顺序结构AB112、选择结构P T FABP k=k1 k=k2 k=ki k=knAnAiA2A1 选择结构:if ,switch,break,continue,goto。3、循环结构有两种结构:当型和直到型l 当型结构:当P条件成立时(T),反复执行A,直到P为“ 假”时才停止循环P F TAl 直到型结构:先执行A, 再判断P,若为T,再执行A,如此反复,直到P为F.AP T F循环结构:while,for,do/while。3.3、标准输入输出函数(本来这部分内容应在函数部分讲,但本章举的程序例子用到这些函数,所以先介绍一下)C语言函数库中有一批“标准输入输出函数”,使用时用#include “stdio.h”命令把“头文件”包括到用户源文件中。下面介绍一下最基本的输入输出函数:putchar(输出字符)、getchar(输入字符)、printf(格式输出)、scanf(格式输入)。1、putchar(输出字符)作用:向终端输出一个字符例: #include “stdio.h”main( )char a; a=B; putchar(a); 运行结果:B2、getchar(输入字符)作用:从终端输入一个字符例: #include main( )char c; c=getchar( ); putchar(c); 运行结果:B B3、printf(格式输出)l printf的一般形式printf(格式控制序列,输出表列);输出表列 用“ ,”号隔开的变量或表达式序列,其变量的值按对应的格式控制符所指定的格式输出。格式控制序列用双引号“ .”括起来的格式符序列。 格式控制序列由格式说明符和普通字符组成。 1. 格式说明符:由%加格式字符组成,如: %f, %d等 2. 普通字符: 原样输出。l 例: 若:a=123, b=45 则:printf(a=%d, b=%d, a, b); 输出结果:a=123, b=45而:printf(%d%d, a, b); 则输出结果为:12345 printf(%4d , a); 则输出结果为: 123 4为指定输出字段的长度4、scanf(格式输入)l scanf( )的一般形式 scanf(格式控制序列, 地址表列);格式控制序列同printf(.)地址表列变量的地址或字符串首地址。 用&(变量名)表示取的地址 如:&a, &b等等。l 功能:在标准输入装置(键盘)上按指定格式输入各种类型的数据l 例: main( ) int a, b, c; scanf( %d%d%d , &a, &b, &c); prinft( %d,%d,%dn, a, b, c); 运行,机器等待你输入: 3 4 5 结果 3, 4, 5注:数据之间的间隔为,Tab. 空格, 不能为“ ,”.格式字符d用来输入十进制整数。oxcsfe用来输入八进制整数。用来输入十六进制整数。用来输入单个字符。说明用来输入字符串,将字符串送到一个字符数组中,在输入时以非空白字符开始,以第一个空白字符结束。字符串以串结束标志 0作为其最后一个字符。用来输入实数,可以用小数形式或指数形式输入。以f作用相同,e与f可以互相替换。3.4 if语句一般形式: if (表达式) 语句;else 语句;说明:1、语句可为单个语句或复合语句(一对大括号括起),子句else是可选的。2、条件式中运算符等于(= =)和不等于(!=)不要写作 和=。例: #include main ( )int magic=123; int guess; scanf(“%d”,&guess); if (guess= =magic) printf(“*right*”); else printf (“*wrong*”);3.4.1 if语句的嵌套形式在C语言中,else连接到在同一层中最接近它又没有其他else语句与它相匹配的if语句。例: if(x) if(x)if(y) printf(“1”); 等价 if(y) printf(“1”);else printf(“2”); else printf(“2”);3.4.2 阶梯式ifelseif语句一般形式: if (表达式) 语句;else if(表达式) 语句; else if(表达式) 语句; else 语句; 3.4.3 “?”运算符一般形式: 表达式1?表达式2:表达式; 替代 if(条件) 表达式2; else 表达式3;例: include main ( ) int t; printf(“:”); scanf (“%d”,&t); t? f1(t)+f2( ):printf(“zero entered”); f1(n) int n; printf(“%d”,n); f2( ) printf(“entered”); 3.5 switch语句switch语句是多分支选择语句。一般形式: switch(表达式)case 常量表达式1:语句段1;break; case 常量表达式2:语句段2;break; case 常量表达式n:语句段n;break; default:语句n+1;说明:1、表达式逐个与常量表达式比较,用以找到分支入口。2、break用以中止与每一常量表达式有关的语句段。3、每个case后至少有一个标号“;”4、语句段不可定义变量,要定义变量用大括号括起,变为复合语句。 5、case常量表达式只是起语句标号作用,一旦找到匹配入口标号,就从此标号开始执行下去,不再进行判断。所以break用来保证只执行一个case 后语句段。 例: case a:caseb:casec: printf(“60n”);break;结果:判断条件无论是a、b、c都执行同一语句switch (grade) case A : case B: case C: printf(60n); break; case D: printf(60n); break; 3.6 for语句一般形式: for(循环变量赋初值;循环条件;循环变量增值) 语句;说明:1、条件为假退出。2、循环的条件检测总是在循环的头部进行。例: #include main( ) int x; for (x=1;x=100;x+) printf(“%d”,x); 3.6.1 for语句的变体1、使用逗号运算符使得两个或两个以上的变量共同实现对循环的控制。例:for(x=0,y=0;x+y10;+x) ;2、for语句的三个部分可以是C语言中任何有效的表达式(含函数)。3、循环中的三个部分的任一表达式都可省略。如: for(x=0;x!=123;) 语句; for( ;x10;) 语句; 这时为保证程序循环能正常结束,在循环体中应采取措施。例: for (;j=100;) sum=sum+j; j+; 3.6.2 无限循环格式: for( ; ;) 语句;注:可以实现无限循环,但编程不能产生是循环,在循环体内应有break语句中止循环。例: char c; for(;) ch=getchar( ); /*键入字符给ch 如 A */ if(ch= =A) break; printf(“you typed an A”);3.6.3 无循环体for循环例:for(;*str= = ;str+); for(t=0;tsome_volue;t+); /*时间延时*/3.7 while语句一般形式: while(条件) 语句;说明:1、条件假中止循环;2、头部检测;3、可为空语句。如:while(ch=getchar( )!=A);例: while (i=100) sum+= i; i+; 3.8 dowhile语句一般形式: do 语句;while (条件);说明:在循环的尾部检验它的条件,条件假退出。例: #include main ( ) int i, sum=0; i=1; do sum=sum+i; i+; while (i=100); printf(%d,sum); 3.9 break语句1、用途:1、退出switch语句;2、强制中止一个循环。2、适用范围: while 循环 for 循环 do/while 循环 switch 分支注:只是退出最内层的循环或当前一层的switch语句。例: for(t=0;t100;+t) count=1; for(;) printf(“%d”,count); count+; if (count= =10) break; 3.10 continue语句1、适用范围:while 循环 for循环 do/while循环2、作用:结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判定。3、说明:continue语句和break语句的区别是:continue语句只结束本次循环,而不是中止整个循环的 执行。而break语句则是结束整个循环过程,不再执行循环的条件是否成立。例: do scanf(“%d”,&x); if (x0) continue; printf(“%d”,x); while (x!=100);3.11 exit语句exit函数用来立即中止整个程序,无条件返回到操作系统。例: for(;) exit;3.12 标号和goto语句一般格式: goto 语句标号;说明:1、标号与goto语句必须同处于一个函数中;2、尽量不要使用goto语句。(结构化程序设计方法主张限制使用goto语句。)例: x=1;loop1: x+; if (x100) goto loop1;go

温馨提示

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

评论

0/150

提交评论