这书别看了……讲得忒乱。C语言入门推荐看《C和指针》或者《Linux C编程一站式学习》。实在不行看谭浩强的《C程序设计》也凑合,经典的K&R版《C语言程序设计》是进阶读本。《C陷阱和缺陷》侧重C语言的使用误区,《C专家编程》部分内容跟UNIX操作系统相关。
(1)你在源代码中写a和’a’有什么区别?
你的程序实际上是写在txt文件中(.c、.cpp啥的都是无格式文本)
如果你直接在源程序中写a,则编译器把它当成是你程序中的一个变量;
例如你在程序代码中写一句int abc = 100;,abc中的a被编译器理解成一个标识符/名称的组成部分。
如果你在源程序中写’a’,则编译器遇到单引号把它理解成一个字符常量,这完全是编译器词法分析过程中的区别。
不管是a还是’a’,你写在源程序文件中的内容都可以叫做代码的组成成分(如果不是资源数据)。
(2)’a’并非char类型,事实上它是int类型
这话说得不仅让人难以理解,而且根本就是错的。’A’是char类型常量无疑,注意区分术语integral type(整数类型,包括有符号或无符号的int, short, char)和integer(整型int),看英文书这个区别很明显,比如case子句都要求integral type,不一定是int类型。
(3)啥是ASCII码
0x34、’a’等都是二进制机器码的一种记录方式。程序编译之后,’A’和数值65的二进制码是相同的,所以有时用int类型的数值常量代替char常量能得到同样的结果(很多时候还牵涉到隐式类型转换,初学者先不管),这其实是不太规范的。计算机喜欢用机器码,源码是写给人看的,所以有些程序虽然机器码是正确的,但源码语义不明,也是不好的。
(4)
楼主还是换本书看吧,真心的。入门的话很多问题不必深究,先写程序跑起来,选教材最重要是作者讲述方式与你的理解方式一致。
本文来自网络转载,仅供学习参考!不代表趣典故立场,本站不拥有所有权,不承担相关法律责任。如发现本站有抄袭侵权/违规的内容,请发送邮件至@qq.com进行反馈,一经查实,本站将立刻删除。