c语言的应用及注意事项

刘莉莉老师

C语言的应用

1.数据库管理和应用程序方面

C语言的非数值处理功能很强,因此它被广泛地应用于数据库管理系统和应用软件。大多数的关系数据库管理系统,如dBASE,Fox$ASE, ORACLE等,都是由C语言编写的。各种不同部门的应用软件也大都是用G语言开发的,C语言在开发数据库应用软件方面应用很广,深受开发者的欢迎。

2.图形图像来统的应用程序方面

C语言在图形图像的开发中也有着广泛的市场。很多图形图像系统,如AutoCAD通用图形系统等,就是使用C语言开发的,并且在这些图形系统中可以直接使用C语言编程,实现某些功能。C语言编译系统带有许多绘图功能的函数,利用这些函数开发图形应用软件十分方便。所开发的应用程序常用C语言编写接口界面,这样既方便又灵活,效果很好。这是因为该语言提供有图形处理功能,便于实现图形图像的各种操作。因此,C语言在图形图像的应用方面很好地发挥了它的作用。

3.编写与设备的接。程序方面

C语言不仅在建立友好界面方面有着广泛应用,如下拉式菜单、弹出菜单、多窗口技术等;而且在编写与设备的接口程序方面也有着广泛应用。这是因为C语言不仅具有高级语言的特性还具有低级语言的功能,因此,在编写接口程序方面十分方便,有时它与汇编语言一起使用,会显示出更高的效率。

4.数据结构方面

由于C语言提供了十分丰富的数据类型,不仅有基本数据类型还有构造的.数据类型,如数组、结构和联合等,把它们用于较复杂的数据结构〔例如,链表、队列、伐、树等)中显得十分方便,这方面已有许多成熟的例程供选择使用。

5.排序和检索方面

排序和检索是数据处理中最常遇到并较为复杂的间题。使用C语言来编写排序和检索各种算法的程序既方便又简洁。特别是有些排序算法采用了递归方法进行编程,更显得清晰明了。因此、人们喜欢使用G语言来编写这方面的程序。

上述列举了五个方面的应用,但绝不是说C语言的应用仅限如此,而是说在这几个方面目前使用得更多些。C,语言可以说在各个领域中都可以倪用,并且都会有较好的效果。所以,C语言是当前被用于编程的最广泛的语言之一。

另外,C语言是一种结构化程序设计语言,在编写大型程序中也很方便,特别是该语言又提供了预处理功能,其中文件包含在多人同时开发一个大程序时将带来减少重复和提高效率等好处,因此,越来越多的人喜欢用C语言来开发大型程序。

C语言编写注意事项

1. 每个程序中一定包含main()函数, 尽管C语言中对函数命名没有限制

2. printf函数永远不会自动换行,只能用\n来实现, 回车键进行的换行在编译中会出现错误信息

3. 在vs2008中编译.测试需要加 system("pause"); 来暂停dos自动退出导致的printf无法显示

4. 所有自定义变量 必须声明才能使用

5. 每行只书写一条语句, 在运算符两边加上一个空格, 便于阅读

6. 整数除法将自动舍位, 不会进行四舍五入的操作

7. for(初始化部分;条件部分;增长部分) - 比while 更适用于初始化和增长步长都是单条语句 情况下

8. 使用 #define 名字 替换文本 对部分"幻数" 赋予意义便于阅读 #define结尾不需要;号结束

9. EOF(end of file) - 表示没有字符输入时 - 定义在stdio.h 头中 EOF不等于\n 换行等

10. != 的优先级大于 = 如果对判断中存在变量赋值时 对赋值加以() e.g while((c = getchar()) != EOF)

11. getchar() 用于用户输入 直至键入回车

12. 变量名以字母和数字组成, (下划线"_"被默认为字符,以下划线为首写字母的为库类变量名),变量常以小写字母开头.内部变量命前31位有效,外部名至少前6位保持唯一性. 大小写在C语言中是区分的.

13. 一个字符常量为一个整数, 以''单引号括起.e.g '0' 为48, 与0没有任何关系

14. ANSI C语言的转义符: \a 响铃符; \b 回退符; \f 换页符; \n 换行符; \r 回车符; \t 横向制表符 \v 纵向制表符; \\ 反斜杠; \? 问号; \' 单引号;\" 双引号; \ooo 八进制数; \xhh 十六进制数;'\0' 表示0, 即(null).通常以'\0'形式表示0 以强调某些表达是的字符属性

15. 'x'与"x"的区别: 'x'表示一个整数, 字母x在极其字符集中对应的数值. "x"表示一个包含一个字符x 以及一个结束符'\0'

16. const在声明变量中起限制作用, 该限定变量的值不能被修改

17. %运算符不能应用与float或double类型

18. char类型转换为int型时, 无法判断它是signed还是unsigned.这样其结果有可能为负数, 因此转换时尽量指定signed和unsigned限制符

19. ++i与i++不同之处: ++i是先+1在使用, i++是先使用i在递加1

20. 三元运算符"?:" 第一个表达式的括号不是必须的,但是由于三元表达式的优先级非常低,我们还是将第一个表达式用()括起便于阅读和理解

21. C语言中可以使用递归 (即函数调用自身函数), 其不节省储存器开销也不加快执行速度, 只是使程序紧凑便于理解.

C语言编译器gcc命令如何操作步骤

C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

Linux 系统中最重要的软件开发工具是 gcc,在 Linux 系统中,c89、cc 和 gcc 这些命令基本上都指向系统的C语言编译器,通常是GNU C编译器,或都简称 gcc。在 UNIX 系统中,C 语言编译器称为 cc。实际上,gcc 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序,一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。在 Linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 .cpp。对于 C++ 程序,gcc 命令只能编译 C++ 源文件,而不能自动和 C++ 程序使用的库连接。因此,通常可以使用 g++ 命令来完成 C++ 程序的编译和连接,该程序会自动调用 gcc 实现编译。本人一直都是在 Linux系统编译 C程序的`,就 gcc 命令行的作用记录下来。

首先通过编写、编译和运行一个 HelloWorld 程序实例开始

一、源代码

/* hello.c */

#include

#include

int main(void)

{

printf("Hello World!");

return 0;

}

二、 编译、链接和运行程序

#gcc -o hello hello.c

#./hello

Hello World!

#

命令选项的作用:

1. -o Place the output into

如:#gcc -o file file.c

-o 告诉编译器将可执行程序放在何处,如果没有指定文件名称,编译器则会把程序放在一个名为a.out的文件里(a.out的含义是 assembler output,即汇编输出)。

2. -c Compile and assemble, but do not link

如:#gcc -c file.c

-c 告诉编译器仅把源代码编译为目标模块(file.o)而跳过汇编和连接的步骤。在使用-c生成目标模块后,就可以通过-o选项来生成可执行文件。如:#gcc -o file file1.o file2.o 可以是多个目标模块。

3. -l和-L

指示编译器程序要链接的库。其中-L要增加库的搜索路径。如:hello.so动态库放在/usr/cprimer目录下,那就是 -L/user/cprimer

4. -O

如:#gcc file.c -O2,

用来优化程序用的。优化程序,执行速度可能也有所提高,从未真正测试过。

5. -include

-include 告诉编译器需要包含头文件,但一般情况下包含头文件都在源码里用#include _实现,一般很少用这个选项。