c语言中赋值的正确语法是什么
发布时间:2025-05-12 05:24:18 发布人:远客网络
一、c语言中赋值的正确语法是什么
1、对于如下说明,语法和语义都正确的赋值是:C、s=&a[1];
2、A、语法上正确(可能引起编译警告)。若非静态变量或全局变量,否则s没有被初始化,是随机值,*s的值无法确定,即没有确定的语义;若是静态变量或全局变量,s被初始化为0,对地址0的解引用操作没有确定的语义。
3、B、错误。理由同上,对随机地址的操作不具有确定的语义(s[0]等价于*s)。另外对随机地址单元的写操作(赋值)引起的后果不可预料。
4、C、正确,将a[1]的地址赋值给指针s。
5、D、语法错误,c(int)和a(const int*)的类型不匹配,会引起编译错误。
6、将确定的数值赋给变量的语句叫做赋值语句。各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。
7、例如,给变量a赋值一个数为12,则格式为:a= 12 [注意:变量(即a)只能是一字母,而赋予的值可以是一个式子,当它是式子时,a的值就是这个式子的结果。
二、C语言中的变量可以赋值吗
C语言中定义变量的格式非常简单,如下所示:
首先要强调的一点是:最后的分号千万不要丢了。变量的定义是一个语句,我们说过,语句都是以分号结尾的。
变量名”就是你想给这个变量起个什么名字,通常都是用字母。比如:
就表示定义了一个整型变量 i。变量名的命名规则稍后会详细地讲。
那么变量定义好之后怎么将数放到这个变量里面呢?首先要理解的是,将一个数字放到一个变量中,这个动作叫“赋值”。
赋即“给予”的意思,所以“给变量赋值”意思就是将一个值传给一个变量。那怎么赋值呢?是通过赋值运算符=,赋值的格式是:
它的意思是将=右边的数字赋给左边的变量。比如:
这就表示将 3赋给了变量 i,此时 i就等于 3了。
这里需要注意的是,这里的=跟数学中的“等于号”是不一样的。在刚开始学习C语言的时候,在这一点上大家很难从数学的思维中转变过来。在C语言中=表示赋值,即将右边的值赋给左边的变量,而不是左边的变量等于右边的值。
那C语言中有没有表示相等的运算符呢?这就是双等号==。这个运算符就与数学中的“等于”是同一个意思了。
以上就是变量的定义和赋值,它们是分成两步写的。也可以将它们合成一步,而且事实上,在实际编程中用得最多的也是合二为一的写法。那么怎么合在一起呢?很简单,形式如下:
在定义变量时也可以一次性定义多个变量,比如:
中间还是用逗号隔开,最后别忘记输入分号
最后需要注意的是,在较老的 C89/C90标准(也称 ANSI C标准)中,变量只能在程序的开头定义,或者说变量定义的前面不能有其他非声明或非定义的语句。比如在C语言中像下面这种写法就是错误的
在 VC++6.0或者 VS2010下编译的时候会提示下面的错误:
但是这种写法在.cpp文件(C++源文件)中是允许的,.cpp文件中可以在程序的任意位置定义变量。
其实这与语言本身并没有什么关系,并不是说C语言中变量就不能定义在程序中间。
这实际上是与标准有关系的,有些编译器使用的是 C89标准,C89标准要求所有声明(比如函数声明、变量定义)必须要写在程序、函数或复合语句的开头,而 C99的新特性允许语句和声明按任意顺序排列,只要遵循“先声明后使用”的原则就行。
三、c语言正确定义赋值
//正确,x=y==5等价于x=(y==5),==号是判断两端是否相等,若右边等于左边,则y==5表达式的值为1,若不等,则为0,假如相等,就等于说把1赋值给了x,若不等就是说把0赋值给x.=号是赋值,右边的值给左边,==是判断,右边是否等于左边.==的优先级高于=,故先算==再=.故x=y==5同等于 x=(y==5);
//错误,%是模除符号,就是求余数用的,用这个符号,两边必须是整型,说白了两边都得是整数,不能是小数.
//很明显,缺少分号,一个语句的最基本要求就是,以分号结束.如果做为一个表达式是合法的,x=n=1同等于 x=1,n=1;
//错误,赋值的最基本要求,被赋值的一定是变量,不能是常量,也就是说左边是变量,右边可以是常量,或者已经被赋值的变量,因为5 4都不是变量,故错误.