C语言简介: ? ? C语言诞生于1970年-1973年之间,在肯.汤姆逊,丹尼斯.里奇的主导编写下完成,归属于美国贝尔实验室。肯.汤姆逊开始项目,丹尼斯.里奇负责了主要的编写。 ? ? ? ? C语言专门为了编写操作系统而诞生的语言,所以天生适合硬件编程,以运行速度快而著称,也非常适合实现数据结构与算法。 ? ? 由于出现的时间过早,C语言是存在非常多的缺陷,也没想到普通人也能使用C语言编程,因此就存在陷阱,但是前辈们都总结了一些避免的经验,如:《C语言的陷阱与缺陷》。 ? ? C语言的语法特点很自由,也意味着危险,自由源于自律;从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序设计更熟练一些。 ? ? C语言的语法标准: ? ? ? ? 在1982年,很多有识之士和美国国家标准协会(ANSI)为了使C语言健康地发展下去,决定成立C标准委员会,建立C语言的标准。 ? ? ? ? C89语法标准:gcc默认的语法标准; ? ? ? ? C99语法标准,对C89标准的扩展和增强gcc -std=gnu99; ? ? ? ? C11语法标准,全新的升级。
? ? main函数:function: ? ? ? ? ? ? C语言以函数为单位来管理代码,是管理代码的最小单位,一个函数就是一段具有某项功能的代码段。 ? ? ? ? ? ? main函数是程序的执行入口,有且只有一个。 ? ? ? ? ? ? return 功能有两个:1.结束函数的执行,2.返回一个数据给函数的调用者。 ? ? ? ? ? ? main函数是由操作系统调用的,它的返回值给操作系统的,反应了程序是怎么样结束的,通常有三种情况: ? ? ? ? ? ? ? ? 正数 ? ? ? ?出现异常 (别人的错误) ? ? ? ? ? ? ? ? 0 ? ? ? ? ? 一切正常? ? ? ? ? ? ? ? ? 负数 ? ? ? ?出现错误 (自己的错误) ? ? ? ? ? ? 可以通过 echo $? 命令查看上一个程序的返回值。
? ? ? ? ? ? printf/scanf 是标准库中的函数,负责输入,输出数据,可以用来调试代码。
? ? 错题/罕见题集: ? ? ? ? 1、3<x<5 可以存在 顺序为 (3<x)<5。 ? ? ? ? 2、int arr[3] = {1,2,3,4,5} -> 长度为3,只能存3个数 在初始化后arr[4]不是被初始化的值。 ? ? ? ? 3、变量名取名规则:由字母、数字、下划线组成;不能以数字开头;不能与关键字重名。 ? ? ? ? 4、%计算符前后不能为浮点数。 ? ? ? ? 5、运算符先后:自变运算符,算数运算符,关系运算符,逻辑运算符,三目运算符,赋值运算符,位运算符。 ? ? ? ? 6、无符号的数越界后会跳到最大/最小值(数据类型的本质是个圈) ? ? ? ? 7、''内只包含一个字符 ? ? ? ? 8、main函数可以存在于任意位置,main函数是程序的入口 ? ? ? ? 9、a=a+b=b++;不正确,无法对常量赋值 ? ? ? ? 10、由多个源文件组成的C程序,经过编辑、预处理、编译、链接等阶段会生成最终的可执行文件
? ? 一些tips: ? ? ? ? %的运算规则: ? ? ? ? { ? ? ? ? ? ? (-m)/n和m/(-n) ?等于-(m/n) ? ? ? ? ? ? m%(-n) ? ? ? ? ?等于m%n ? ? ? ? ? ? (-m)%n ? ? ? ? ?等于-(m%n) ? ? ? ? }
? ? ? ? ','也是运算符,作用是取最右边的数 ? ? ? ? 例如:printf("%d",(1,2)); ? 输出结果为2
? ? ? ? 在实际开始写代码最前一定要先把逻辑管理给理好
? ? ? ? 以#开头的代码都是预处理指令,可以存在于代码的任意地方
? ? ? ? C语言程序必须由一个或一个以上的函数组成。 ?
|