C语言语句
1.空语句:当一个if或者while判断部分能完成工作,空语句可以用来表示if或者while内的空循环体

if(a == b );

2.gcc编译器

 //程序的编译过程:
 //        预处理:pre-processing
 //        编译:compiling
 //        汇编:assembling
 //        链接:linking

 //预处理阶段:*.c或者*.C文件会预处理成*.i文件 ,这个阶段主要处理#ifdef  #include  #define
 命令:gcc -E test.c -o test.i

 //编译阶段 :输入*.i文件,编译生成汇编文件*.s
 命令:gcc -S test.i -o test.s

 //汇编阶段 ,将*.s 变成*.o二进制文件
 命令:gcc -c test.s -o test.o

 //链接阶段:将*.o二进制文件汇聚成一个可执行的文件
 命令:gcc test.o -o test

 //上述过程可以简述为:
 命令:gcc -c test.c -o test.o
       gcc test.o -o test
 或者:
             gcc test.c -o test 

3.gcc常用选项;

 //同时编译多个*.c文件
 命令:gcc -o test  file1.c file2.c file3.c
 //三个文件编译后生成test可执行文件,注意三个文件只能有一个允许有main函数,如果是仅仅编译目标文件,那可以没有main函数。

4.gcc最基本的用法:

 //-c 只编译,不连接成可执行文件
 //-o output_filename 确定输出的文件名
 //-g 产生调试器gdb必须的符号,要对源码进行调试,必须在编译的时候加这个参数
 //-O 对程序进行优化编译连接,但是编译会相对慢一些
 //-O2 比-O更好的优化编译,但是编译连接会更慢
 //-Wall 输出所有警告信息
 //-w 关闭所有警告,建议不要使用此选项
 //IDirname ,将名为IDirname的目录加入到程序头文件目录列表中,预处理阶段使用的选项

 //C语言头文件会被大量使用,通常是 Header files 和定义文件 definition files 组成。
 //头文件包含函数原型声明,常量定义的文件,用于保存程序的声明
 //定义文件用于保存程序的实现implementation。
 //头文件以.h为后缀
 #include<stdio.h>   //去系统预设的包含文件目录去找                 一般是系统提供的头文件    系统预设的包含目录为 /usr/include
 #include "stdio.h"  //先到当前目录去找,再到指定的IDirname去找     自己写的一般放在当前目录,大型程序会统一放在一个目录

 //-L dirname 将名为dirname的目录加到程序库文件的搜索目录中,在连接过程中使用的参数。

5.系统提供的库分为两种:静态库和动态库
gcc默认的库文件存放目录 /usr/lib

6 问题:
1.写出float与0比较的语句

 //由于float精度的问题不可写成:
 if(x == 0.0);
 if(x != 0.0);
 //应该写成:
 if(x >= -0.00001 && x <= 0.00001);

 //不可将浮点型变量用 == 或者 !=比较,设法转换成 <= 和 >=

2.switch 条件必须是整型和char

3.for(;1;)是一个死循环

最新文章

  1. SQL Server 2012 开发新功能 序列对象(Sequence)(转)
  2. HTML DOM 属性 对象
  3. sqlserver权限体系(下)
  4. lr各种问题以及解决办法
  5. Git 使用及原理 总结
  6. [iOS]MVVM-框架介绍
  7. 『重构--改善既有代码的设计』读书笔记----Replace Method with Method Object
  8. VS2015 开发人员命令提示,如何实现记事本编程
  9. Impala:新一代开源大数据分析引擎
  10. [Helvetic Coding Contest 2017 online mirror]
  11. obj-c中SEL签名和Invocation示例
  12. JS实现一个v-if
  13. usb_camera
  14. 《Java程序设计》win10系统学前准备
  15. C++11 boost TR1 TR2曾经参考过的网址整理
  16. springmvc 事务回滚说明
  17. DLL中不能调用CoInitialize和CoInitializeEx
  18. Kali渗透测试1-Netcat
  19. 从Python到Web开发
  20. oracle之 Oracle LOB 详解

热门文章

  1. LVS NAT模型
  2. [React Fundamentals] Component Lifecycle - Mounting Usage
  3. [RxJS] Subject basic
  4. mysqldump原理5
  5. [Effective C++ --024]若所有参数皆需类型转换,请为此采用non-member函数
  6. PAT 1015
  7. Memcached source code analysis (threading model)--reference
  8. 三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别
  9. uiatuomator如何调试
  10. hadoop的mapreduce过程