[学习总结】C语言

1.运算符的优先级和结合性

2.数据类型转换:①整型提升②float一律转换成double(有效数字float 6、7,double15、16)③

3.应避免对实数做相等或不等的判断,如1.0/3.0*3.0==1.0结果为0,可以用fabs(1.0/3.0*3.0-1.0)<1e-6,

4.stdio.h 标准输入输出函数

scanf遇空格、回车、跳格键时 结束输入数据(常量),输入字符型时则把空格、回车当做字符输入

gets(s),s为字符串变量(字符串数组名或字符串指针),遇到  回车键  认 为输入结束

非标准格式化输入输出函数 编译后代码少,相对占用内存也小

5.闰年  if ((year % 4==0 && year %100!=0) || (year % 400==0))

6.break 跳出本层循环 或 switch 语句

   continue 结束 本次循环

   goto 语句标号

7.高次方程一个实根的近似值的牛顿法 Xn+1=Xn-f(Xn)/f ' (Xn)

8.数组:①只能逐个引用数组元素而不能一次引用整个数组,,字符数组可以用数组名进行输入输出

              ②二维数组是行排列的

9.字符串处理函数:①puts②gets③连接函数strcat④复制函数strcpy⑤比较函数 strcmp⑥测试长度函数 strlen(实际长度,不包括'\0')

10.函数:①以源文件为单位进行编译

                ②所有函数都是平行的,不能嵌套定义但可以嵌套调用、递归调用

                ③程序运行从主函数main开始,分配栈内存,被调用函数运行到 return时,函数返回值存入 临时内存单元,退出被调用函数,被调用函数 栈内存自动撤销

                ④形参变量只有 在被调用时才分配内存

                ⑤ 递归算法简洁,但占用内存较大

                ⑥数组作为函数的参数:数组元素vs数组名,用数组名做参数时  ①形参数组和实参数组为同一数组,共同拥有一段内存空间②形参数组变化时,实参数组也变化

                                                              ③类型必须一致,长度可以不相同

                 (7)局部变量和全局变量  :按作用域范围划分①局部变量也称内部变量,函数或 复合语句②全局变量也称外部变量,extern,作用域从定义开始到源程序文件结束为止; 在函数之前定义不用加extern ③C语言规定函数的返回值只有一个,当需要增加函数的返回数据时,用外部变量是很好的方式 ④外部变量的定义 必须在所有函数之外,外部变量的说明 .....

                    (8)存储类型:变量的生存期auto register extern static,注意:静态局部变量 系统自动赋0, 自动变量不赋初值,生存期为整个源程序;;静态全局变量限制了其作用域,即只在定义该变量的源文件内有效

                   (9)内部函数和外部函数

11.编译预处理:宏定义、文件包含、条件编译,不是C语句

                                    带参数的宏定义 #define 宏名(参数表) 替换串                              undef

                                    条件编译  #ifdef 标识符

12.return语句不可返回指向“栈内存”的“指针”,因为该内存在函数体结束时被自动销毁。  

     exit()函数函数声明:void exit(int state);   exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流、关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件。

13.这是因为C语言里函数的参数默认是从右往左处理的,输出时是从左往右。eg) printf 中的参数含有赋值表达式时 ,放在后面的会影响前面的输出

14.main()的返回类型因为“int”返回类型会让程序返回状态值。这点非常重要,特别当程序是作为依赖于程序成功运行的脚本的一部分运行时。

15.内存泄露:

16.free()函数,小心程序中 指针的变化

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值