c语言怎么输入变量然后赋值给常量,c语言变量赋值语句规则
对于基本数据类型,根据其值是否可以改变,可以分为常量和变量。在程序执行过程中,值不变的量称为常数,值变化的量称为变量。它们可以结合数据类型进行分类。
常数
有字符常量、数字常量和枚举常量。枚举常数将在后面介绍。现在让我们看看如何使用字符常量和数字常量:
# include stdio . h # include stdlib . h int main(void){ printf( character:% c \ n integer:% d \ n浮点:%f\n , A ,34,3.14);系统(“暂停”);返回0;}
字符应该用单引号括起来,比如上面的 } 。注意单引号只能括一个字符,不能像双引号那样是一串字符。字符常量也可以是转义序列,如“\n”。此时,单引号虽然括住了两个字符,但实际上只代表一个字符。这与在字符串文字中使用转义序列略有不同。如果要在字符常量中表示双引号和问号?您可以使用转义序列 and \?或者您可以直接使用字符和?而要表示和\,必须使用转义序列。
计算机中的整数和小数有不同的内部表示,所以在C语言中是两种不同的类型,比如上面例子中的34和3.14。在计算机术语中,小数被称为浮点。这个语句的输出结果和Hello world不太一样。字符串“字符:% c \ n整数:% d \ n浮点:% f \ n”不按原样打印,而是输出如下:
符号常数
在C语言中,一个标识符可以用来表示一个常数,称为符号常数。符号常量必须先定义,然后才能使用。它们的一般形式是:
#定义标识符常数
其中#define是预处理命令(所有预处理命令都以 # 开头),称为宏定义命令,其作用是将标识符定义为其后的常数值。一旦定义,程序中该标识符的所有出现都将被该常数值替换。
习惯上使用大写字母作为符号常量的标识符,小写字母作为变量的标识符,以示区别。
符号的使用:
# include stdio . h # include stdlib . h # define PRICE 30 int main(){ int num,totalnum=10合计=数量*价格;printf(total=%d \n ,总计);系统(“暂停”);返回0;}
一些注意事项:
常数由标识符表示,称为符号常数。
符号与变量的不同之处在于,符号的值不能在其作用域内更改或赋值。
使用符号常量的好处是:意义明确;能做到“一变而全变”。
可变的
其值可以改变的量称为变量。变量是计算机内存中的一个命名空间,其中可以存储一个值,并且存储的值可以随时更改。例如,如果你这次保存一个字符 a ,下次保存一个字符 b ,它被称为变量,因为它的值可以随时改变。常量有不同的类型,所以变量也有不同的类型,变量的类型也决定了它所占用的存储空间的大小。
变量定义必须放在变量使用之前。一般放在函数体的开头。区分变量名和变量值是两个不同的概念。
变量的示例定义如下:
int num,total双倍价格=123.123;char a=a ,abc
变量应该被赋予有意义的名字。从这个例子中,我们还可以看到,同一类型的两个变量可以在同一行中定义。请注意,对变量的命名有一定的限制。规定变量必须以字母或下划线_开头,后面是几个字母、数字和下划线,不能有其他字符。例如,这些是合法的变量名:Abc、__abc__、_123。但这些都是非法变量名:3abc,ab$。实际上,这个规则不仅适用于变量名,还适用于所有可以被程序员命名的语法元素,比如函数名、宏定义、结构成员名等。在C语言中统称为标识符。
一般来说,应该避免使用以下划线开头的标识符。以下划线开头的标识符是合法的,只要它们不与C语言的关键字冲突,但它们经常被编译器用作一些函数扩展。C语言库的实现也定义了很多以下划线开头的名字,这很容易造成名字冲突,所以一般应该避免使用这样的标识符,除非你对编译器和C语言库特别清楚。
估价
定义完变量后,我们要将值存储在它们的存储空间中,这可以通过赋值语句来实现:
char首字母;int小时,分钟;firstletter= a/*将第一个字母分配给 a */hour=11;/*将值赋给小时*/分钟=59;/*为分钟赋值*/
请注意,变量必须在使用前定义。编译器在知道firstletter、hour和minute是代表存储空间的变量名之前,必须先看到你的定义语句。只有当你在下面使用它们的时候,你才会知道在哪里可以找到这个变量的存储空间。还要注意,这里的等号不是指数学上的等式关系,而是和1 ^ 1=2的等号不同,这里的等号是指赋值。数学上没有I=I ^ 1这样的等式,但是在C语言中,这个语句的意思是把变量I的值取出来,加上1,得到的结果存回I的存储空间。比如在数学中,a=7和7=a是一样的,而在C语言中,后者是非法的。总结一下:定义变量就是分配一个存储空间并命名;给变量赋值意味着在这个存储空间中存储一个值。变量的定义和赋值也可以一步完成,称为变量的初始化。例如,要实现上面代码的效果,也可以这样写:
char firstletter= aint小时=11,分钟=59;
初始化是一个特殊的变量定义语句,不是赋值语句。目前,在赋值之前定义一个变量和在定义这个变量的同时初始化它的效果是一样的。其实C语言的很多语法规则对赋值和初始化都适用,但是你也会在以后的学习中了解到它们之间的区别。学习过程中请注意总结赋值和初始化的异同。
您可以使用不同形状的框来表示不同类型的变量,这可以提醒您分配给变量的值必须符合其类型。如果赋值与变量类型不匹配,编译器会报警或报告错误(这是语义错误),例如:
int小时,分钟;hour=你好;/*错误!*/minute= 59 ;/*错误!*/
注意第三个语句。将“59”分配给分钟看起来是正确的,但类型是错误的。字符串不能赋给整数变量。既然可以给变量的存储空间赋值,就应该可以把值取出来使用。现在我们取出这些变量的值并用printf打印出来:
printf(当前时间是%d:%d ,小时,分钟);
也就是说变量名用在别处是为了取出它的值并替换它,只不过用在等号左边表示赋值。在计算机中,不同类型的变量所占用的存储空间是不同的,变量的最小存储单位是字节。在C语言中,char变量的存储空间是一个字节,其他类型的变量占用的字节数在不同的平台上有不同的规定,后面会详细讨论。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。