C语言--理论基础题 易错点 整理

前言

  • 最近为了加深对C语言概念的理解,其实是为了应付理论考试 ,开始刷C语言的MQC1000题,在这里记录一些易错点,留给日后复习,说不定也能帮后学者一点点小忙。

整理

  • 诸如short、int等基本数据类型的字节大小是由编译器决定的,我们可以随意定义一个数,然后用sizeof()来看。比如大部分编译器int是4个字节,但是有些编译器int占8个字节。
  • 枚举类型的初始值是按照就近递增的原则,寻找左端最近赋值变量依次+1,没有赋值的话,则第一个默认为0(感谢舍友指正)
  • #define 和 const 不能重复使用同一个常量名
  • 字符型指针的读入不会因为遇到“\0”而结束
  • C90标准不允许空循环,但C99标准允许空循环
  • 取余计算时不能使用小数,而且必须为int类型
  • x<<2是指将x向左移动两位,即乘以2的2次方
  • unsigned int型与signed char型比大小时,编译器会把小于int型的类型强制转化为int型,这时候符号位的数字会变成数值位,如果是负数就变为1
  • getchar()函数的返回值是用户输入的第一个字符的ASCII码
  • 对于i++与++i的各种用法和区别,我找到了一个不错的解释:https://blog.csdn.net/fighting_kangle/article/details/51945414
  • 关于位运算符:https://blog.csdn.net/qq_35535992/article/details/53863009
  • 关于运算符优先级表:https://blog.csdn.net/huangblog/article/details/8271791
  • 如果用一个数处以 0 的话,会报错:‘floating point exception’

后记

最后理论考试在及格线上低空飞过,理论知识还是得慢慢积累,临时突击的效果还是差了点的。

猜你喜欢

转载自blog.csdn.net/weixin_43551812/article/details/83859776