C语言注意点汇总

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言注意点汇总相关的知识,希望对你有一定的参考价值。

  1. 计算机的一切源头都是0和1,其中0:断电,1:有电。
  2. 计算机语言发展史:机器语言--汇编语言--高级语言。机器语言0、1直接对硬件起作用。汇编语言,给机器语言添加了一些符号,使其更易于让人理解、记忆。高级语言,非常接近自然语言,简单易用,易于理解,但执行效率略低。
  3. C语言发展历史:BCPL语言---B语言---C语言---C++。1989年,C语言被美国国家标准局部ANSI制定出来C语言标准:ANSIC。1999年,ISO(国际标准总局)推出了C语言标准:C99。2011年,ISO推出了C语言新标准C11;
  4. C语言程序一启动就会执行一个叫做main的函数,main()前的返回值类型int可省略,因为默认返回int类型。()不可省略,因为()是函数的标志。
  5. 一个程序中有且只可有1个main()函数。
  6. 面试题:程序运行的步骤:编译---链接---运行。
  7. C语言中 ; 的作用是:告诉编译器,这一条语句我写完了。还要注意,除了""中及注释中的字符,其他地方的都必须是英文符号。
  8. 注释内容是不参与编译的。
  9. OC完全兼容C,Swift完全兼容OC。但swift不兼容C。
  10. 作用域:即起作用的范围。说白了就是管辖范围。
  11. 链接的是后才检查有无main()函数,编译时只检查有无语法错误。
  12. C语言中的关键字是被C语言赋予了特殊含义的单词。注意:关键字不能作为变量名、函数名,main不是关键字。程序员自己写代码用的叫做标识符,如自定义变量名、函数名。
  13. 标识符命名规则:(规则是必须遵守的,规范最好遵守)1>标识符只能由26个英文字母、10个数字、下划线_及美元$组成。2>标识符严格区分大小写。3>标识符不能以数字开头。4>标识符不能使用关键字作为标识符。
  14. 基本数据类型之间的赋值都是值传递。
  15. 默认情况下,编写的小数都是double类型;
  16. 同一范围没不能出现同名的变量。
  17. 注意:同一程序中尽量不要出现同名的变量。因为ios开发中,Xcode7之后,会全局搜索变量。
  18. Mac OS、iOS都是64位系统。
  19. 变量内存分析:1>一个变量占用的存储空间不仅和变量数据类型有关,还和编译器位数有关。2>内存分配地址、寻址,是从大到小进行。即先定义的变量内存地址一般大于后定义的变量的内存地址。
  20. 用scanf函数给某个变量赋值的时候,一定要注意取地址符&的运用。否则,会出错。
  21. 特别注意:scanf中,千万不要在scanf格式的结尾加\n。因为\n是scanf的结束符号。如果不小心这么干了,那么把\n原样输出即可。
  22. scanf使用时,最好用逗号,来分隔。
  23. scanf使用时,如果输入的数据与格式化字符串中的不匹配,那么scanf函数会自动停止。
  24. scanf(),空格、回车、table遇到非char类型时会自动被忽略。
  25. scanf使用时,如果格式中没有%c时,多个数据之间没有其他分隔字符,那么可以用空格、回车、table来作为分隔。有%c时,除外。
  26. 当连续使用scanf()函数时,要注意清空缓存区中的内容,这是由scanf()输入原理造成的。getchar()是专门用来获取字符,会从输入缓冲区中获取。
  27. iOS开发中,折叠代码快捷键:command + option + ←或→。
  28. 清理Xcode缓存的方法:Product→Clean,或shift + command + K;
  29. ÷ 属于中文符号,/ 属于英文符号。
  30. %号输出时,用%%
  31. 1>函数体内部不能定义和形参同名的变量。2>一个函数可以没有形参,也可以有无数个形参3>void表示函数没有返回值,4>如果没有明确说明返回值类型,则默认是返回int类型;5>由于C语言是弱语法,就算明确了返回值类型,也可以不返回任何值。6>C语言中,不管参数个数、类型是否相同,函数名一定不可以重复。7>函数不可重复定义,但可以重复声明。8>如果有函数的声明,没有此函数的定义,则编译可通过,但链接报错。因为编译器编译时只检查语法合不合理,并不检查函数有没有定义。而链接的时候,才检查函数是否有定义。
  32. 特别注意:sizeof()是运算符,而不是函数。
  33. 逗号运算符的运算结果,最后一个表达式的结果。
  34. 如果char a = ‘a‘;则sizeof(a)= 1...sizeof(‘a‘)=4
  35. 三目运算符:表达式?结果1:结果2;其优先级低于算术运算符和关系运算符;其结合方向是:从右到左。
  36. 所有的数字都具有真假性。0为假,非0为真。
  37. 所有的字母都具有数字性。
  38. 编程中,-1一般用来表示结果不正确。
  39. 产生随机数的函数是:arcrandom_uniform(N)会产生0~N-1之间的一个随机整数。
  40. 在swift中,switch功能远远强大于if。故必须好好学switch;1>在switch中,如果有一个case满足了条件,那么其他所有的case和default条件都不再进行判断,知道遇到break或执行到switch对应的大括号时结束。2>switch中的条件表达式必须返回整数的表达式,也就是说,()中只能放整数或返回转换为整数的类型,如char类型的也可以。3>case后的值不能重复。4>case后面的值也只能放返回整数的表达式或整数或者能够转换为整数的类型;5>case后面不能放变量。因为系统在编译时就会先对switch中所有的case进行优化。即先根据case后面的常量值,生成一张取值表。6>无论default写到switch中什么地方,它都先判断case值,只有所有case值都不满足时才会最后执行default。7>同1,执行default时,其它所有case都失效。
  41. 在swift中,条件表达是可以不是整型。这也是swift中switch功能远远强大的表现之一。
  42. 循环重点关注:1>循环体  2>循环条件。用循环优先选择for循环。
  43. 如果在循环体中定义局部变量,则其作用域是从定义地方开始,一直到循环体结束,且每次进入循环体都会重新定义一个该变量。
  44. 让C语言发出声音:#include<stdlib.h> system("say 要说的话");
  45. 循环嵌套:外层循环管行数,内层循环管列数。
  46. 循环嵌套:尖尖朝上,修改内层循环:条件表达式;尖尖朝下,修改内层循环:初始化表达式;

以上是关于C语言注意点汇总的主要内容,如果未能解决你的问题,请参考以下文章

c语言中strstr函数的一个注意点

C语言编程技巧(注意点)

C语言代码片段

C语言常用词汇汇总

为啥在访问二级指针时出现分段错误错误? C语言

C语言记录汇总