C语言课件谭浩强chap4.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第四章最简单的C程序设计4.1C语句概述和其它高级语言一样,C语言的语句用来向计算系统发出操作指令。一个语句经编译后产生若干条件机器指令。在C语言中只有“可执行语句”,没有“非执行语句”(BASIC有可执行语句和非执行语句之分)。一个为实现特定目的的程序应当包含若干语句。从第一章已知,一个函数包含数据定义部分,执行部分即由语句组成。C程序可以用图4.1表示。即一个C程序可以由若干个源程序文件(分别编译的文件模块)组成,一个源文件可以由若干个函数和预编译命令组成(关于“预编译命令”见第七章),一个函数由数据定义部分和执行语句组成。在第二章中已经说明:程序应该包括数据描述(由数据定义部分来实现)和数据操作(由语句来实现)。数据描述主要定义数据结构(用数据类型型表示)和数据初值。数据操作的任务是对已提供的数据进行加工。C程序结构C语句可以分为以下五类:1.控制语句,完成一定的控制功能,C只有9种控制语句,它们是:①if()~else~(条件语句)②for()~(循环语句)③while()~(循环语句)④do~while()(循环语句)⑤continue(结束本次循环语句)⑥break(中止执行switch或循环语句)⑦switch(多分支选择语句)⑧goto(转向语句)⑨return(从函数返回语句)上面9种语句中的括号()表示其中是一个条件,~表示内嵌的语句。例如:“if()~else~”的具体语句可以写成:“if(x>y)z=x;elsez=y;”2.函数调用语句。由一次函数调用加一个分号构成一个语句,例如:printf(”thisisaCstatement.”);c=max(a,b);3.表达式语句。由一个表达式构成一个语句。最典型的是:由赋值表达式构成一个赋值语句。a=3是一个赋值表达式,而a=3;是一个赋值语句。可以看到一个表达式的最后加一个分号就成了一个语句。一个语句必须在最后出现分号,分号是语句中不可缺少的一部分(而不像PASCAL语言那样:分号只是语句间的分隔符号)。例如:i=i+1(是表达式,不是语句)i=i+l;(是语句)任何表达式都可以加上分号而成为语句,例如i++;是一语句,作用是使i值加1。又如x+y;也是一个语句,作用是完成x+y的操作,它是合法的,但是并不把调x+y的和赋给另一变量,所以它并无实际意义。表达式能构成语句是C语言的一个特色。其实“函数调用语句”也是属于表达式语句,因为函数调用也属于表达式的一种,只是为了便于理解和使用,我们把“函数调用语句”和“表达式语句”分开来说明。由于C程序中大多数语句是表达式语句(包括函数调用语句),所以有人把C语言称作“表达式语言”。4.空语句。下面是一个空语句:;即只有一个分号的语句,它什么也不做。有时用来作被转向点,或循环语句中的循环体(循环体是空语句,表示循环体什么也不做)。例如:for(i=1;i=10;i++);if(i0);5.可以用{}把一些语句括起来成为复合语句,如下面是一个复合语句。{z=x+y;t=z/100;printf(”%f”,t);}注意:复合语句中最后一个语句中最后的分号不能忽略不写(这是和PASCAL不同的)。C语言允许一行写几个语句,也允许一个语句拆开写在几行上,书写格式无固定要求(FORTRAN、COBOL有严格要求)。4.2赋值语句赋值语句是由赋值表达式加上一个分号构成。C语言的赋值语句具有其它高级语言中赋值语句的一切特点和功能。但也应当注意到它们的不同:①C语言中的赋值号“=”作为赋值运算符;②关于赋值表达式与赋值语句的概念,其它多数高级语言没有“赋值表达式”这一概念。作为赋值表达式可以被包括在其它表达式之中,例如if((a=b)>0)t=a;按语法规定if后面的()内是一个条件,例如可以是:“if(x0)…”。现在在x的位置上换上一个赋值表达式“a=b”,其作用是:先进行赋值运算(将b的值赋给a),然后判断a

文档评论(0)

177****7891 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档