单分支if语句的执行过程如图3.3所示。使用if语句实现单分支选择结构程序时还需要注意下面两点:图3.3if语句的执行流程①作为条件的表达式一般来说应该是关系表达式或逻辑表达式,但C语言中允许表达式是任何可以求出0值或非0值的表达式。同时还需要提醒读者,此处分析的关于条件表达的方法在C程序设计的所有控制结构中都是相同的,今后涉及此问题时不再赘述。......
2023-11-20
双分支选择if语句的结构形式为:
语句的执行过程为:首先计算作为条件的表达式(exp)值;然后对计算出的表达式值进行逻辑判断,若表达式值不为0(逻辑真),则执行结构中的语句(sentence1)后执行if结构的后续语句;若表达式值为0(逻辑假),则执行结构中的语句(sentence2)后执行if结构的后续语句。双分支if语句的执行过程如图3.5所示。
与使用if语句类似,使用if…else语句实现双分支结构程序时也需要注意下面两点:
图3.5 if语句的执行流程
①作为条件的表达式可以是任何能够求出0值或非0值的表达式。
②if结构或else结构后语句部分都可以是C语言的任何合法语句。
【例3.4】 任意输入3个整数,求出它们中的最大值。
对应简单的双分支if语句,C语言中提供了一个特殊的条件运算符(?:)。条件运算符是C语言中唯一的一个三元运算符,使用条件运算符构成的条件表达式形式如下:
exp1?exp2:exp3
条件表达式的执行过程是:首先计算表达式exp1的值,若exp1的值为非0(真),则计算出表达式exp2的值作为整个条件表达式的值;若exp1的值为0(假),则计算出表达式exp3的值作为整个条件表达式的值。
例如,下面两种语句结构表示了相同的功能:(www.chuimin.cn)
条件运算符的优先级别高于赋值运算符但低于关系运算符和算术运算符,结合性为右结合。例如,条件表达式a>b?a:c>d?c:d相当于a>b?a:(c>d?c:d)。
【例3.5】 从键盘上输入一个英文字母,若输入的是大写字母则转换为小写字母输出;若输入的是小写字母则转换为大写字母输出。
上面程序中,表达式'a'-'A'计算的是小写英语字母'a'和对应大写英文字母'A'之间的差距(ASCII码值的差距),即97-65。在ASCII表中,任意一对大小写英文字母之间的差距都是相同的,可以表达为'a'-'A',或者直接用整数32表示。当大写字母转换为对应小写字母时,仅需将其值加32;当小写字母转换为对应大写字母时,仅需将其值减32。例如,上面程序中用于转换字母的语句也可以写为:
ch=ch>='A'&&ch<='Z'?ch+32:ch-32;
有关C语言程序设计基础(第3版)的文章
单分支if语句的执行过程如图3.3所示。使用if语句实现单分支选择结构程序时还需要注意下面两点:图3.3if语句的执行流程①作为条件的表达式一般来说应该是关系表达式或逻辑表达式,但C语言中允许表达式是任何可以求出0值或非0值的表达式。同时还需要提醒读者,此处分析的关于条件表达的方法在C程序设计的所有控制结构中都是相同的,今后涉及此问题时不再赘述。......
2023-11-20
图3.6程序的4分支结构示意图对于一般的多分支情况,程序设计语言中没有直接对应的控制语句,需要首先对其分解,然后用单分支或者双分支控制结构的嵌套进行处理。图3.7分支结构对称分解示意图图3.8分支结构不对称分解示意图1.使用if语句嵌套组成多分支结构程序如果if结构或者else结构的语句部分又是另外一个if结构,称为if语句的嵌套。......
2023-11-20
在C 语言中,对文件的基本操作包括文件的打开与关闭、文件的读和写等。表9.1文件操作方式例如:打开当前目录下的C.DAT 文件,这是一个二进制文件,只允许进行读操作,并使fp 指针指向该文件。应该养成在程序终止前关闭所有文件的习惯,如果不关闭文件将会丢失数据。......
2023-10-21
项目2:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。图3.15兔子问题输出结果根据以上的分析可以知道,循环次数可以为0,因此该程序是一个条件型循环,可以利用while语句编写程序。熟悉了循环结构在程序设计中的运用,循环结构语句包含了while语句、do…......
2023-11-18
图5.7两层函数嵌套调用示意图函数的嵌套调用即一个函数在被调用的过程中又调用了另外的一个函数。函数fac和powers的返回值类型均被设计为double型,其主要目的是为了避免n!x:0.5//0.5从键盘输入的数据0.50 powers of e=1.648721//程序执行结果......
2023-11-20
C语言把括号、赋值、强制类型转换等都作为运算符处理,灵活使用各种运算符可以实现在其他高级语言中难以实现的运算,功能强大。另外,C语言还把括号、下标、强制类型转换、取地址等都作为运算符处理,并通过与算数运算符的组合达到不同的目的,从而使程序更加简洁明了。C语言具有超强的可移植性。总之,C语言在运算符方面是比较容易让人混淆的。......
2023-11-18
用户自己定义的结构体类型,与系统定义的标准类型一样,是可以用来定义结构体类型的变量。这种方法定义的结构体类型在程序后面不可使用,因为缺少完整的结构体类型名。......
2023-10-21
最基本的分支语句是IF-THEN-ELSE语句。C语言表示IF-THEN-ELSE语句的格式为:ifS1;else S2;C语言规定一条语句结束时用分号“;”标识,这样C语言就把条件语句分成了两条语句。当语句组S1或S2为若干条语句时,需要明确地表示出语句组S1或语句组S2包含的语句。C语言用一对花括号“{}”括起来的部分表示对应的语句组。对于这种多分支的情况,大多数高级语言提供一种称为CASE的语句,可以方便地实现多分支情况下的程序设计。......
2023-11-18
相关推荐