C语言里有三种进制表示,
二进制数,有0,1两个元素。
八进制以0开头,数的每一位不能大于7,如0,1,2,3,4,5,6,7;
十进制普通的我们常用的整数,都是十进制,数的每一位不能大于9,有0,1,2,3,4,5,6,7,8,9;
十六进制开头以0x,或0X开头,数的每一位不能大于F,有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。
每一种进制表示的数都一样,只有方便与否。
C语言里有三种进制表示 八进制 以0开头, 数的每一位不能大于7 十进制 普通的整数,都是十进制, 数的每一位不能大于9 十六进制 开头以0x,或0X 开头,数的每一位不能大于F A C语言中没有二进制表示数,所以错误 B 以0开头,八进制,但是有位数大于7 C 十六进制数,以0X开头,没错 D 以X开头,X是字符不是数字,所以错误
下面的关系表达式都是合法的:
关系表达式的值–逻辑值(非"真"即"假")。
由于C语言没有逻辑型数据,所以用整数"1"表示"逻辑真",用整数"0"表示"逻辑假"。
思考题:任意改变num1或num2的值,会影响整个表达式的值吗?为什么?
再次强调:C语言用整数"1"表示"逻辑真",用整数"0"表示"逻辑假"。所以,关系表达式的值,还可以参与其它种类的运算,例如算术运算、逻辑运算等。
1、C/C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等.其中的x不用区分大小写(注意:0x中的0是数字0,而不是字母O)。此外,C/C++中,10进制数有正负之分。比如12表示正12,而-12表示负12。但8进制和16进制只能表达无符号的正整数,如果在代码中写-0xF2,C/C++并不把它当成一个负数。
2、以下是一些用法示例: int a = 0x100F; //用一个十六进制数给变量a赋值 int b = 0x70 + a; //用一个十六进制数+变量a的值给变量b赋值
可以,整型变量得到的值是字符型变量在ASCII表中的十进制值。
char不属于标准整形,但是char兼容整形,可以看成是一个字节的整形。case中可以用char型的常量,不能是char变量。因为char型的常量对应确定的ascii码值。是一个确定的值。
但如果程序用到的 char 值包括小于 0 或大于 127 的情况,则应该使用 signed char 或者 unsigned char,而不是 char。