C语言中的赋值语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中的赋值语句相关的知识,希望对你有一定的参考价值。

变量
赋值号
表达式
例如:
int
i;
i=10;
完整代码:
#include

void
main()
int
i;
i=10;
printf("i=%d",i);

在c语言中提供了10种复合的赋值运算符,他们是:+=、-=、*=、/=、%=、>>=、<<=、&=、^=、|=其中前五种是算术运算的,后五种是位运算的
例如:
#include

void
main()
int
i;
i=10;
i+=5;
printf("i=%d",i);
参考技术A 变量
赋值号
表达式
例如:
int
i;
i=10;
完整代码:
#include
void
main()
int
i;
i=10;
printf("i=%d",i);

在c语言中提供了10种复合的赋值运算符,他们是:+=、-=、*=、/=、%=、>>=、<<=、&=、^=、|=其中前五种是算术运算的,后五种是位运算的
例如:
#include
void
main()
int
i;
i=10;
i+=5;
printf("i=%d",i);

关于VB赋值语句强制转换等

1.VB赋值语句不是可以强制转换右边表达式为左边变量类型吗,
那么对于像Dim x as integer
x=val(inputbox(prompt,66,title))可以不用Val()转换?
2.有时候有些变量并没定义就使用了,什么时候变量必须定义,什么时候不用啊,不是说变量要先定义再使用吗?

我来告诉你吧,
1,。 如果去掉var() 你的代码会在inputbox(prompt,66,title) 获得非数值型数据,比如一个字母的时候报错。因为x是integer型的变量,你赋值一个string给它肯定会报错。用了var()函数,当碰到这种情况会自动把字母默认转换为0,当然你不用val 函数的话,自己写错误处理也可以,就是麻烦点,要多写几行代码;
2. 在VB中变量可以不定义变量,甚至可以不声明变量就使用。但是不提倡这样做。会导致程序出现bug的时候你很难找得到出错的地方。追问

赋值语句不是可以强制转换右边表达式为左边变量类型吗

追答

可以强制呀,但是是只可以转换的情况下,比如浮点型的转换成整数型的可以,毕竟大家都是数字嘛。而且浮点型包含了整形。数字转换成字符串型也可以,毕竟字符也包含了数字嘛,但是你要吧一个字符 A 强制转换成数值,你让VB情何以堪呢。再强制转换不合理的情况下,程序就只能报错了。

参考技术A 1、这个叫做隐式转换,在大部分语言中都有,隐式转换是有很多限制,并不是想怎么转就怎么转,就你发的例子来看,既然你前面已经声明了x是一个整型,那么后面最好是要用val将inputbox的字符串明确转成数值,去掉val有什么异常偶不清楚,你可以试试看。
2、vb是弱类型的语言,变量可以无需定义直接使用,这并不是一个什么好习惯,所以建议在每个窗体最上面一行加上option explicit 它会强制所有变量必须声明。
参考技术B 1.并不是所有都可以直接用函数转换的,你那个很有可能转换成0
2.VB在 “通用 声明”中没加“Option Explicit”一句时,所有变量都可以未经定义直接使用,如果直接使用一个变量,是隐式声明,相当于加了一句 Dim 变量名 As Variant
Variant 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据
但是,正如LS几位所说,不定义变量不是个好习惯,单单从内存占用来说,就相当大
不过,数组是必须经过定义的,
参考技术C 不好意思哈,我只会第二题:vb是弱类型的语言,变量可以无需定义直接使用,这并不是一个什么好习惯,所以建议在每个窗体最上面一行加上option explicit 它会强制所有变量必须声明。

以上是关于C语言中的赋值语句的主要内容,如果未能解决你的问题,请参考以下文章

c语言中if语句条件为赋值语句

C语言,下列可作为C语言赋值语句的是

a=b=6可以作为C语言的赋值语句

在C语言中的各种赋值是如何转换的?

Verilog语言中的赋值问题

在C语言中赋值语句有啥作用?