① 假设b是逻辑型变量,下面赋值语句中不出错的是
B不对,这个不是bool变量,b是个字符串。
② 下面哪个赋值语句是不对的 a.float f=11.1; b.double d= 5.3e12; c.double d= 3.
A,11.1默认是double型,应该为float f=11.1f
在编译器里的结果如图。
C是正确答案。byte 的赋值范围为-128~127
A.项,float f=1.3f;后面的1.3后的f要加,否则会发生自动类型转换 换成double类型
B项,char类型在赋值时要用单引号,且只能赋值一个字符。双引号的无论是几个字符,都默认为字符串。
D项,boolean类型只能赋值为true 或者 false, 如果把这个选项的类型改成boolean的封装类Boolean,即:Boolean d=null; 这个选项就会是正确的。
④ 以下赋值语句中哪些是错误的
456都应该有错吧
4::既然是指针变量应该保存变量地址,而不能直接付给她数值。。
5::类型有误。。每种指针只能包含她同类型的变量的值,。。除非强制转换。。。
引用LS的话6::6是错的,因为*q=&b这句只能用在声明指针p的时候,当不是声明的时候,就表示解引用,只时候他代表的是一个他指向的变量
⑤ 下列赋值语句错误的是()
float是关键字,不能作为变量名
double也是关键字
char也是关键字
byte b=433 需要满足: byte有过定义,语句后面有分号,否则也错误
⑥ 设已有定义:float x;,则下列对指针变量 p 进行定义且赋初值的语句中正确的是 ( )。
正确答案选择D,“float *p=&x;”,因为x是一个float型的变量,所以说要定义一个float型的指针变量来存储x变量的地址,所以说选项D直接排除。然后C选项也可以排除,因为C选项定义的是变量,不是指针变量。
A和D选项都是指针变量,但是A选项不能作为正确的语句,不能把一个常数赋值给指针变量,所以说A是不正确,根据排除法得出D是对的,因为它定义了一个指针变量p来存放x的地址,所以说选择答案D。
(6)下面赋值语句不会出现编译警告或错误的是扩展阅读:
指针使用注意事项:
1、不允许把一个数赋予指针变量。
2、改变形参不代表改变实参。
3、分析函数指针变量不能进行算术运算,这是与数组指针变量不同的。数组指针变量加减一个整数可使指针移动指向后面或前面的数组元素,而函数指针的移动是毫无意义的。
函数调用中“(*指针变量名)”的两边的括号不可少,其中的“*”不应该理解为求值运算,在此处只是一种表示符号。要把“z=*pomax(x,y);”改成“z=(*pomax)(x,y);”。
C语言中指 针初始化是指 给所定义的指 针变量赋初值。 指针变量在被创建后, 如果不被赋值, 他的缺省值是随机的 ,它的指向是不明确的, 这样的指针形象地称为“野指针”。
野指针是很危险的, 容易造成程序出错, 且程序本身无法判断指针指向是否合法。
指针变量初始化时避免野指针的方法: 可以在指针定义后, 赋值NULL空值。
参考资料来源:网络-指针
⑦ 对于如下说明,语法和语义都正确的赋值是____。
对于如下说明,语法和语义都正确的赋值是:C、s=&a[1];
A、语法上正确(可能引起编译警告)。若非静态变量或全局变量,否则s没有被初始化,是随机值,*s的值无法确定,即没有确定的语义;若是静态变量或全局变量,s被初始化为0,对地址0的解引用操作没有确定的语义。
B、错误。理由同上,对随机地址的操作不具有确定的语义(s[0]等价于*s)。另外对随机地址单元的写操作(赋值)引起的后果不可预料。
C、正确,将a[1]的地址赋值给指针s。
D、语法错误,c(int)和a(const int*)的类型不匹配,会引起编译错误。
(7)下面赋值语句不会出现编译警告或错误的是扩展阅读:
将确定的数值赋给变量的语句叫做赋值语句。各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。
例如,给变量a赋值一个数为12,则格式为:a = 12 [注意:变量(即a)只能是一字母,而赋予的值可以是一个式子,当它是式子时,a的值就是这个式子的结果。
⑧ 1.下列关于赋值语句的说法错误的是( ) a.赋值语句先计算出赋值号右边的表达式
答案:B 分 析: 此题是关于赋值语句的,赋值语句的一般格式是:变量名=表达式,赋值作用是把右边表达式的值赋给赋值号左边的量,故B错误.
⑨ C语言题目 以下非法的赋值语句是
选C,因为先进行i+1,这时候表达式已经是常量了,不能进行++运算。
C语言在赋值语句的使用中需要注意以下几点:
1、由于在赋值符“=”右边的表达式也可以又是一个赋值表达式, 因此,下述形式 变量=(变量=表达式); 是成立的,从而形成嵌套的情形。 其展开之后的一般形式为:变量=变量=…=表达式; 例如:a=b=c=d=e=5;按照赋值运算符的右接合性,因此实际上等效于:e=5; d=e; c=d; b=c; a=b;
2、注意在变量==说明==中给变量赋初值和赋值语句的区别。 给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。 例如:int a=5,b,c;
3、在变量说明中,不允许连续给多个变量赋初值。 如下述说明是错误的:int a=b=c=5必须写为int a=5,b=5,c=5;而赋值语句允许连续赋值。
4、注意赋值表达式和赋值语句的区别。 赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。
(9)下面赋值语句不会出现编译警告或错误的是扩展阅读:
C语言的特点
1、语言简洁,紧凑,使用方便,灵活
2、运算符丰富
3、数据类型丰富,具有现代语言的各种数据结构
4、具有结构化的控制语句。
5、语法限制不太严格,程序设计自由度大。
6、C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
7、生成目标代码质里高,程序执行效率高。
8、用C语言编写的程序可移植性好(与汇编语言比)。
⑩ (22)有以下定义语句,编译时会出现编译错误的是char a='aa'; 这个哪里错了还有第23题,如下:
22. char a='aa'; a是字符变量,只能存储一个字符!
23. %c 打印字符 %d 打印整数,至于是什么值,请对照ASCII表查看!
33. 答案:A。 但楼上解释均有误!
void (*pf)(); 定义函数指针pf,指向返回值为void的函数,参数任意
pf = fun; 正确!
pf = &fun; 正确!C照样认可这种写法,只是不同的观点而已!请参看《C和指针》
void *pf(); 声明pf函数,没有参数,但返回void *类型!只是声明,还没有定义!
另外,pf 本身是地址,不是变量,不可以更改!故pf = fun;错误!
再看这一句
D)void (*pf)(int,char);pf=&fun;
首先声明pf为函数指针,它指向的函数返回void类型,
参数为int和char(不是char *,否则就对了)
而fun的参数2为char *类型,故两者类型不匹配,pf=&fun; 错误!