设计一个程序,计算穿9码男鞋的鞋长(单位:英寸):
编译运行:
由此我们可以知道9码的男鞋的长度是10.31英寸。但是如果我们程序设计出来要每次都输入鞋子的码数才能知道对应的脚长的话,这实在是浪费时间和精力。因此一下我们介绍新的——while循环。
重新设定一个新的程序:
编译运行:
因此我们可以知道小于19的所有男鞋尺码的长度了。
所以while循环的原理就是当程序第一次到达while循环时,会检查圆括号中的条件是否为真。比如在这个程序中shoe<18.5,而shoe被初始化定义为3.0,显然小于18.5。因此,该条件为真,程序会进入块中继续执行,把尺码转换成英寸。然后打印计算的结果。然后下一语句把shoe增加1.0,使shoe的值变成4.0。此时块中的内容已经全部完成,然后程序会继续回到while的循环语句上继续检查圆括号中的条件是否为真。直到检查到圆括号里的条件为假,然后执行花括号之后的语句。
基本运算符:在C语言中的基本运算符有:=、+、-、*和/。
1.赋值运算符:=
在C语言中,=并不意味着“相等”,而是一个赋值运算符。
如a=2021;
把值2021赋给变量a。也就是说,=号左侧是一个变量名,右侧是赋给该变量的值。符号=被称为赋值运算符。另外,上面的语句不读作“a等于2021”,而读作“把值2021赋给变量a”。赋值行为从右往左进行。
2.加法运算符:+
加法运算符用于加法运算,使其两侧的值相加。例如,语句:
printf ("%d",4 +20) ;
打印的是24,而不是表达式4 +20
相加的值(运算对象)可以是变量,也可以是常量。因此,执行下面的语句;income = salary + bribes;
计算机会查看加法运算符右侧的两个变量,把它们相加,然后把和赋给变量income。
3.减法运算符:-
减法运算符用于减法运算,使其左侧的数减去右侧的数。例如,下面的语句把200.0赋给takehome:
takehome = 224.00 - 24.00;
+和-运算符都被称为二元运算符,即这些运算符需要两个运算对象才能完成操作。
当然还有一元运算符,一元运算符只需要一个运算对象,例如:
rochy=-12;
smokey=-rochy;
4.乘法运算符:*
符号*表示乘法。下面的语句用2.54乘以inch,并将结果赋给cm:
cm = 2.54 * inch;
5.除法运算符:/
C使用符号/来表示除法。/左侧的值是被除数,右侧的值是除数。例如,下面four的值是4.0:
four = 12.0 / 3.0 ;
整数除法和浮点数除法不同。浮点数除法的结果是浮点数,而整数除法的结果是整数。整数是没有小数部分的数。这使得5除以3很让人头痛,因为实际结果有小数部分。在C语言中,整数除法结果的小数部分被丢弃,这一过程被称为截断。
其他运算符:
1.sizeof运算符:sizeof运算符以字节为单位返回运算对象的大小。运算对象可以时具体的数据对象(如,变量名)或类型。如果运算对象是类型(如,float),则必须用圆括号将其括起来。
2.求模运算符:给出其左侧整数除以右侧整数的余数。例如,13%5(读作“13求模5”)得。求模运算符只能用于整数,不能用于浮点数。
3.递增运算符:++
递增运算符执行简单得任务,将其运算对象递增1。该运算符以两种方式出现。第一种,++出现在其作用得变量前面,这是前缀模式;第二种,++出现在其作用的变量的后面,这是后缀模式。怎么理解呢?例如,a++=11,那么a=10;++a=11,那么a=11。前缀主要表达的是在a加上1后输出的结果是11,而后缀则表达在a加上1后输出是11,那么原来a的值是10。
4.递减运算符:--
递减运算符的用法与递增运算符一致。
表达式:C的基本程序步骤由语句组成,而大多数语句都由表达式构成。表达式由运算符和运算对象组成(运算对象是运算符操作的对象)。最简单的表达式是一个单独的运算对象,以此为基础可以建立复杂的表达式。运算对象可以是常量、变量或二者的组合。一些表达式由子表达式组成(子表达式即较小的表达式)。例如,在a* (b + c/d)/20这个表达式中,c/d是它的子表达式。
语句:语句是C程序的基本构建块。一条语句相当于一条完整的计算机指令。在C中,大部分语句都以分号结尾。因此,如a=1只是一个表达式,而a=1;则是一条语句。
复合语句(块):复合语句是用花括号括起来的一条或多条语句,复合语句也称为块。比如,while函数后面或括号里面的内容。