前言:
眼前我们对“c语言程序设计经典例子”大概比较注意,我们都需要剖析一些“c语言程序设计经典例子”的相关资讯。那么小编在网络上汇集了一些关于“c语言程序设计经典例子””的相关资讯,希望看官们能喜欢,大家快快来了解一下吧!一、表达式
表达式(expression) 由运算符和运算对象组成(前面介绍过, 运算对象是运算符操作的对象) 。 最简单的表达式是一个单独的运算对象, 以此为基础可以建立复杂的表达式。 下面是一些表达式:
4 -6 4+
21
a*(b + c/d)/20
q = 5*2
x = ++q % 3
q > 3
如你所见, 运算对象可以是常量、 变量或二者的组合。 一些表达式由子表达式(subexpression) 组成(子表达式即较小的表达式) 。 例如, c/d是上面例子中a*(b + c/d)/20的子表达式。每个表达式都有一个值。
C 表达式的一个最重要的特性是, 每个表达式都有一个值。 要获得这个值, 必须根据运算符优先级规定的顺序来执行操作。 在上面我们列出的表达式中, 前几个都很清晰明了。 但是, 有赋值运算符(=) 的表达式的值是什么? 这些表达式的值与赋值运算符左侧变量的值相同。 因此, 表达式q = 5*2作为一个整体的值是10。 那么, 表达式q > 3的值是多少? 这种关系表达式的值不是0就是1, 如果条件为真, 表达式的值为1; 如果条件为假, 表达式
的值为0。
二、语句
语句(statement) 是C程序的基本构建块。 一条语句相当于一条完整的计算机指令。 在C中, 大部分语句都以分号结尾。 因此,
legs = 4
只是一个表达式(它可能是一个较大表达式的一部分) , 而下面的代码则是一条语句:
legs = 4;
最简单的语句是空语句:
; //空语句
C把末尾加上一个分号的表达式都看作是一条语句(即, 表达式语句) 。 因此, 像下面这样写也没问题:
8;
3 + 4;
但是, 这些语句在程序中什么也不做, 不算是真正有用的语句。 更确切地说, 语句可以改变值或调用函数:
x = 25;
++x;
y = sqrt(x);
虽然一条语句(或者至少是一条有用的语句) 相当于一条完整的指令,但并不是所有的指令都是语句。 考虑下面的语句:
x = 6 + (y = 5);
该语句中的子表达式y = 5是一条完整的指令, 但是它只是语句的一部分。 因为一条完整的指令不一定是一条语句, 所以分号用于识别在这种情况下的语句(即, 简单语句) 。
#include <stdio.h>
int main(void) /* 计算前20个整数的和 */
{
int count, sum; /* 声明 */
count = 0; /* 表达式语句 */
sum = 0; /* 表达式语句 */
while (count++ < 20) /* 迭代语句 */
sum = sum + count;
printf("sum = %d\n", sum); /* 表达式语句 */
return 0; /* 跳转语句 */
}
三、复合语句
复合语句(compound statement) 是用花括号括起来的一条或多条语句,复合语句也称为块(block) 。 shoes2.c程序使用块让while语句包含多条语句。 比较下面两个程序段:
/* 程序段 1 */
index = 0;
while (index++ < 10)
sam = 10 * index + 2;
printf("sam = %d\n", sam);
/* 程序段 2 */
index = 0;
while (index++ < 10)
{
sam = 10 * index + 2;
printf("sam = %d\n", sam);
}
程序段1, while循环中只有一条赋值表达式语句。 没有花括号, while语句从while这行运行至下一个分号。 循环结束后, printf()函数只会被调用一次。
程序段2, 花括号确保两条语句都是while循环的一部分, 每执行一次循环就调用一次printf()函数。 根据while语句的结构, 整个复合语句被视为一条语句。
标签: #c语言程序设计经典例子 #c语言可执行语句 #c语言如何输入语句 #c语言后面加 #c语言的结束语句有哪些