A. c语言基础 求解,感谢
再c中, 数字前面带0 表示8进制。
带0x表示 16进制。
043 == 35 == 0x23
B. C语言,Ox17+OxC和043等值么怎么算啊和3.5E+1等值么
0x开头的是十六进制,这儿0x17+0xC = 0x23 = 2*16^1 + 3*16^0 = 32 + 3 = 35,
0开头的是八进制,这儿043 = 4*8^1 + 3*8^0 = 32+3 = 35
3.5E+1 表示3.5 * 10^+1 = 3.5 * 10 = 35
所以3个都是相等的
C. 呵呵,问一个C语言里字符串长度的问题。
字符串长度单位是字节个数。
字符串长度 从 字符串开始计算,遇到 字符串结束符 结束,结束符 不算在 字符串 长度里。
一对 单引号 括起的 是 一个 “字符常量”, 占 1个字节长度。
用反斜杠开始的字符叫 转意/转义 字符。
\" 表示1个双引号字符。
1 表示字符 1
\43 表示 是 8 进制数 043 对应 的 ASCII 字符
\n 是 新行符 (new-line 或 line-feed)
\x11 表示 是 16 进制数 0x11 对应 的 ASCII 字符
\' 表示1个单引号字符
字符串结束符是 '\0'
什么叫 转意/转义 字符,为何要用到 转义 字符,等等,你需要看书学习才懂。
D. c语言中的一选择题: 在C语言中不可表示的字符是() A.换行符 B.响铃符 C.求和符 D.垂直制表符
我个人认为这里的求和符值得是加法这种运算,而ASSII中的+是为了让计算机识别输入进去的符号,因为计算机只是别01代码,为了人们方便看将+的二进制转为十进制就是043了
E. c语言中\043和\43一样吗都合法吗
字符'\043'和字符'\43'是一样的,都是代表8进制的字符,都是合法的。
F. C语言 2个小问题 关于标示符 进制转换问题
它们不是C的保留字,又符合C标识符的要求。
C中,不作特殊声明3.5E+1是double型,而043是int型,所以不相等。
不知是什么问题?
整数部分:用8除,返向取余数;小数部分:用8乘,正向取整数。
整数部分:用16除,返向取余数;小数部分:用16乘,正向取整数。
整数部分:用10除,返向取余数;小数部分:用10乘,正向取整数。但要记住被除数是16进制。
整数部分:用10除,返向取余数;小数部分:用10乘,正向取整数。但要记住被除数是8进制。
G. c语言编程输出结果的疑问
楼上各位有说的正确的,也有欠妥的,我总结一下:
首先,对于第一个结果可以肯定:你的程序和输出结果不符!
(1)如果你程序是对的:
第一个结果就是43,正常的10进制常量43赋值给c,又把c赋值给i,再以10进制形式输出i,也就是输出43了。
(2)如果想得到教材的输出结果,程序应为
c=043;i=c
printf("i=%d\n",i);
这里043表示8进制常量
其次,对于第二个结果,'\376'表示ASCII的8进制表示为376的字符,10进制为254,这时由于超过了127,因此用了2个Byte来表示,而系统对2Byte将会当成扩展ASCII字符集进行处理,所以如果用%c输出的话,会看到这么个汉字“”……,至于输出的-2是这样来的:
尽管(8进制)376=(2进制)011 111 110=(10进制)254
但从char型的c向int型的i赋值时,默认char只占一个Byte,所以只有后面8位赋值给了i,因此i的值只是11111110,又最高位是符号位,因而该值转换成10进制(除符号位外取反:10000001,再加1:10000010)得-2。
H. c语言。为何043和17+18等值。是把35转化为八进制么求解释
嗯,八进制的043表示十进制的35
I. 在C语言中,十进制的35可等价地写为______ . A,023 B,043 C,43 D,23
0XX为八进制表示,应该是B:043=4*8+3=35