有问题就有答案
Q1:int i= "100"这个变量赋值正确吗?如果不正确为什么?
对不起我不是很懂你想干啥……这货不是赋值,这货是初始化,很显然这是一个文法错误,任何有静态类型检查的语言都会报错。int i声明了一个整型变量,然后使用等号后的值对其进行初始化,C/C++会首先检查“100”的类型是否是int,这句话看来,肯定是否了。所以直接作为编译错误输出:不能进行const char * 到 int的类型转换。
Q2:Java中 int i = 'c' 以上赋值语句是否正确,懂的最好再说说原理。
真,int是一个整数,“c”是一个ascii码99,将分配给I.有一个数据转换的顺序,比如字符可以自动转换成整数,整数可以自动转换成浮点数等。相反,它需要被强制转换,例如从float转换为int,因为在转换过程中可能会带来数据不准确。例如:inti=" c正确charj=I;错误charj=(char)I;正确的inti=1.0Error doublei1=1正确的
Q3:JAVA中这个对i的定义为什么不对 static final int i=100
这样定义是对的 但是只能在类里这样定义在main函数的类里不能加static因为main函数的类已经是静态的了
Q4:java, short s=100; 可以。但是 int i=100; short s=i;就不行为什么?
int i=100; short s=i,i是int类型的变量,而s是short类型的变量,这是两种不同的数据类型,所以不能直接将int类型的i赋值给short类型的s(当然还有其它几种情况是可以直接像你这样不需要强制转换的,直接赋值也是可以的)。所以此时,你需要对i进行强制类型转换,改为:short s=(short)i
Q5:下列变量的定义及赋值正确的是 A. int i=0;j; B. char c=”A”; C. double x,y,z; x=y=z=100;
第一个是多个分号,第二个的话,是哪个" ",不是“”。第四个系统是这样理解,就是a等于后面的,但是b是什么了?没有定义。所以答案选C
Q6:在c语言中int i=u=0这样定义变量正确吗?
这样定义 i 是正确的。例如:#includeint main(){int u; //先声明了 uint i=u=0; //声明 i 并初始化 i u. 正确printf("%d %d\n",i,u);return 0; } 输出 0 0---下面那样是错误的,因为 变量u 没有定义。#includeint main(){int i=u=0; //u 没有定义,错误。printf("%d %d\n",i,u);return 0; }