C语言的变量与算术表达式
C语言的变量与算术表达式
变量和表达式在C语言中随处可见
现在就利用C语言来写一个华氏温度和摄氏温度的对照表
华氏温度和摄氏温度的对应公式为:设施温度=(5/9)(华氏温度-32)
效果如下
[root@www.bkjia.com]# ./sheshidu
华氏温度 摄氏温度
0 = -17
20 = -6
40 = 4
60 = 15
80 = 26
100 = 37
120 = 48
140 = 60
160 = 71
180 = 82
200 = 93
220 = 104
240 = 115
260 = 126
280 = 137
300 = 148
下边是源代码:
[root@www.bkjia.com]# cat sheshidu.c
#include <stdio.h> //宏定义头文件
main() //主main函数
{ //函数体
int i, S; //变量声明第一处
int F_max, F_min, buchang; //变量声明第二处
F_min = 0; //变量赋值
F_max = 300;
buchang = 20;
i = F_min; //变量赋值
printf("华氏温度 摄氏温度\n"); //打印函数
while ( i <= F_max) { //while循环的开始和循环条件
S = 5 * ( i - 32 ) / 9; //计算出摄氏温度和华式温度的对应关系
printf("%d\t=\t%d\n", i, S); //printf函数打印出i华氏温度和S摄氏温度
i = i + buchang; //步长,隔几度算一次
} //循环体结束
} //main函数结束
第一个知识点 声明
在C语言中,使用一个变量的时候,必须先声明之
如:
int i, S;
此处是变量的声明部分,将i,S两个变量声明成int类型
int为什么要声明?
因为C在调用变量之前,必须要有这个变量的存储空间,声明就是问系统申请这个变量的存储空间
一个int类型的值需要多少内存空间?
按编译器而定gcc一般是32位,那么最大值是32个1,十进制是4294967295取值范围应该是-2147483647~2147483647一共是4294967294再加一个0
win下的TC编译器则是16位,那么最大值是16个1,十进制为65535取值范围是(65535-1)/2 一共是+/-的32767之间
64位的编译器则int按以上规则推算
当然C语言的变量类型不止int一种以后有接触到的现解决或者查看有关C语言变量声明的资料,此处笔者只是按int类型来说明这个问题。
此处变量的声明还有一个特点
int i,S;
一次声明两个变量i和S,在C语言中“,“英文的逗号,也是一种运算符,它的优先级最低,只是起到一个分隔的作用,以上声明方式可写成如下形式:
int i;
int S;
这个声明效果和上述的声明效果是一样的,只是上述的易读性高,简单明了,所有在以后的代码书写中,没有特殊意义的,都将如此声明。
第二个知识点 赋值
变量赋值,变量,能够变动的常量,叫做变量,如何变动?那就是赋值,如下:
F_min = 0; //变量赋值
F_max = 300;(1处)
buchang = 20;
i = F_min; (2处)
以上均为赋值行为,予变量赋值可以赋予常量(1处),也可有赋予变量(2处)
还有一种赋值行为:S = 5 * ( i - 32 ) / 9;
这个表达式计算过程是这样的
首先()的运算级别最高,先算得扩弧内的内容,然后然后*和/是从右到左计算,然后等号的运算级别最低,所以先将等号右边的计算完成后,赋值给等号左边的值
变量的声明和赋值还可以直接声明后进行赋值如下
如i和F_max变量,可以写成:
int F_max = 300;
int i = F_MAX;
从上述可以看到,C语言中变量的声明和赋值是可以放到一起的,不管是赋予常量还是变量!
第三个只是点C语言中的加减乘除
S = 5 * ( i - 32 ) / 9;
从表达式这个可以看出运算符“*”是乘法,“-”是减法,“/”是除以则“+”便是加法
第四点while循环
while ( i <= F_max) { //while循环的开始和循环条件,i的值不满足小于等于F_max的值则循环体结束,循环体内的内容有花扩弧扩起来
S = 5 * ( i - 32 ) / 9; //计算出摄氏温度和华式温度的对应关系,循环体动作
printf("%d\t=\t%d\n", i, S); //printf函数打印出i华氏温度和S摄氏温度,循环体动作
i = i + buchang; //步长,隔几度算一次,每循环一次,循环条件的判断值i加20,知道i的值大于F_max的时候循环体结束
} //循环体结束
C语言变长数组之剖析
C语言需要注意的问题
C语言位域的使用及其注意点
评论暂时关闭