编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。
编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)

1. 编译预处理

读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理
伪[……]

更多

指针
指针简介
  指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。所以说学好指针基本上就学好了大半C语言但是,指针也是C语言中最为困难的一部分,一般初学者都会在此止步不前,不仅仅是难的问题,还有就是很复杂。说句实话,我觉得我的指针学的也不是很扎实,所以我也就只能多多借鉴别人资料了。力求方便大家理解。
  指针的基本概念
在计算机中,所[……]

更多

变量的作用域

  在讨论函数的形参变量时曾经提到, 形参变量只在被调用期间才分配内存单元,调用结束立即释放。 这一点表明形参变量只有在函数内才是有效的, 离开该函数就不能再使用了。这种变量有效性的范围称变量的作用域。不仅对于形参变量, C语言中所有的量都有自己的作用域。变量说明的方式不同,其作用域也不同。C语言中的变量,按作用域范围可分为两种, 即局部变量和全局变量。

一、局部变量

  局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内, 离开该函数后[……]

更多

函数
C源程序是由函数组成的。 虽然在前面各章的程序中都只有一个主函数main(), 但实用程序往往由多个函数组成。函数是C源程序的基本模块, 通过对函数模块的调用实现特定的功能。C语言中的函数相当于其它高级语言的子程序。C语言不仅提供了极为丰富的库函数(如Turbo C,MS C 都提供了三百多个库函数),还允许用户建立自己定义的函数。用户可把自己的算法编成一个个相对独立的函数模块,然后用调用的方法来使用函数。可以说C程序的全部工作都是由各式各样的函数完成的, 所以也把C语言[……]

更多

数组
引言:至今我们已经学过了单项数据的变量。现在, 我们将会看到包含多项数据的变量。在C 语言中, 这种变量被称作数组。数组很方便地把一系列相同类型的数据保存在一起。数组还被用来构造许多其它的数据结构: 树、表等等。数据结构一般大家如果想学,推荐清华大学的蔚严敏《数据结构》,我现在看的就是我大二师姐的数,感觉还不错。
数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。[……]

更多

循环控制语句:
本章是最麻烦也是最重要而且学C语言必须要学好的一章,大家打起精神let\’s go!
循环结构是程序中一种很重要的结构。其特点是, 在给定条件成立时,反复执行某程序段,直到条件不成立为止。 给定的条件称为循环条件,反复执行的程序段称为循环体。 C语言提供了多种循环语句,可以组成各种不同形式的循环结构。总体来说分为四种:
<1>if和goto组成的循环
<2>while循环
<3>do……while循环
<4>for循环[……]

更多

语句和复合语句
    语句。语句是一个程序的主要构成部分 。一个程序是一系列由标点分隔的语句组成的。一个语句是给计算机的一条完整的指令。在 C 语言里, 一个语句是在结尾处用分号结束的。我们到现在已经学习了五种语句。
    复合语句。是由包含在大括号里的一个或多个语句组成的程序块。语法上, 复合语句被当作单个语句对待。

<1>if语句:
if语句可以构成分支结构。它根据给定的条件进行判断, 以决定执行某个分支程序段。C语言的if语句有三种基本形式:
第一种形式为基本[……]

更多

简单的C语言设计
从程序流程的角度来看,程序可以分为三种基本结构, 即顺序结构、分支结构、循环结构。 这三种基本结构可以组成所有的各种复杂程序。C语言提供了多种语句来实现这些程序结构。介绍这些基本语句及其应用,使大家对C程序有一个初步的认识, 为后面各章的学习打下基础。一般朋友问我怎么学C我都会告诉他们把语句理解透了,就可以过学校的考试了数组,函数,指针搞明白了2级就能轻松过了。废话少说~!~
首先我们来说C的语句的一个大概
C语言语句共有5种:控制语句,函数调用语句,表达式语句,空语句,[……]

更多

算术运算符和算术表达式
C语言在计算上也是很丰富,现在给大家C语言的运算符
<算术运算符>   +  –  *  /  %
<关系运算符>    <  >  ==  >=  <=  !=(不等于)
<逻辑运算符>   !(非)   &&(与)   ‖(或)
<位运算符>    << (左移) >>(右移) ~ (按位取反)    |(按位或)    ∧(按位异或)   &am[……]

更多

先说明下这个教程是我06年的是写的 当时发在cfan的bbs上~觉得可能还有点用 就转过来~新手可以看看 高手飘过吧 当年水平比较低 大家就多多包涵吧欢迎关注Xushine研究院


现在只是现在给大家做点C语言的教程,主要是针对非计算机专业的朋友,以及想学习C语言的朋友,看了有些朋友在学习C语言的时候感觉不适应,所以就有个想做个入门教程给大家,这个由于是本人第一次做C语言的教程,难免有疏漏的地方,还请大家批评指正。本教程的代码80%均属原创,并且都在gcc下编译通过 ~有部分代码和定义来至参[……]

更多