博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[学习总结】C语言
阅读量:4137 次
发布时间:2019-05-25

本文共 1562 字,大约阅读时间需要 5 分钟。

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()函数,小心程序中 指针的变化

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载地址:http://gqovi.baihongyu.com/

你可能感兴趣的文章
Observer模式
查看>>
高性能服务器设计
查看>>
性能扩展问题要趁早
查看>>
MySQL-数据库、数据表结构操作(SQL)
查看>>
OpenLDAP for Windows 安装手册(2.4.26版)
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>
JSP的内置对象及方法
查看>>
android中SharedPreferences的简单例子
查看>>
android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框
查看>>
andorid里关于wifi的分析
查看>>
Spring MVC和Struts2的比较
查看>>
Hibernate和IBatis对比
查看>>
Spring MVC 教程,快速入门,深入分析
查看>>
Android 的source (需安装 git repo)
查看>>
Commit our mod to our own repo server
查看>>
LOCAL_PRELINK_MODULE和prelink-linux-arm.map
查看>>
Simple Guide to use the gdb tool in Android environment
查看>>
Netconsole to capture the log
查看>>