‘壹’ 开发一个c语言程序要经过哪四个步骤
开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。
C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。
1、预处理:输入源程序并保存(.C文件)。
2、编译:将源程序翻译为目标文件(.OBJ文件)。
3、链接:将目标文件生成可执行文件( .EXE文件)。
4、运行:执行.EXE文件,得到运行结果。
(1)c语言的语言处理程序是哪个扩展阅读:
C语言代码变为程序的几个阶段:
1、首先是源代码文件test.c和相关的头文件,如stdio.h等被预处理器cpp预处理成一个.i文件。经过预编译后的.i文件不包含任何宏定义,因为所有的宏已经被展开,并且包含的文件也已经被插入到.i文件中。
2、编译过程就是把预处理完的文件进行一系列的词法分析、语法分析、语义分析以及优化后产生相应的汇编代码文件,这个过程往往是我们所说的整个程序的构建的核心部分,也是最复杂的部分之一。
3、汇编器不直接输出可执行文件而是输出一个目标文件,汇编器可以调用ld产生一个能够运行的可执行程序。即需要将一大堆文件链接起来才可以得到“a.out”,即最终的可执行文件。
4、在链接过程中,对其他定义在目标文件中的函数调用的指令需要被重新调整,对实用其他定义在其他目标文件的变量来说,也存在同样问题。
参考资料来源:网络-c语言
‘贰’ 将c语言编写的源程序转换成可执行程序要用什么程序处理
不同版本的c语言可能有所不同,以下以TC20为例:
一、IDE环境中生成
1)双击TC文件夹下的TC.EXE启动TC20。
2)按F3,选择打开源程序。(1.c)
3)按F9即可生成打开文件名的可执行文件。(如开始的是1.c,则生成1.exe)
二、DOS或控制台下生成:
1)用cmd打开控制台窗口,并进制TC目录。
2)在控制台命令行输入:tcc
1(回车),则生成1.obj
3)再在控制台命令行输入:tlink
1(回车),则生成1.exe
‘叁’ 最简单的C语言程序是什么
在屏幕上输出 “This is a C program。”
#include//这是编译预处理指令
int main() //定义主函数
{ //函数开始的标志
printf ("This is a C program。 ");//输出所指定的一行信息
return 0; //函数执行完毕之后返回函数值0
} //函数结束的标志。
‘肆’ C语言是什么都包括哪些
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
C语言包括:数据类型、运算符与表达式、程序结构、顺序、选择、循环、数组、函数、预处理命令、指针、结构体与共用体、文件、位运算;。
‘伍’ c语言预处理
其实网络文库也讲得挺明白的,你可以打开一个.h的头文件看看里面,对应这三点,就很清楚了。一.宏定义1.不带参数的宏定义: 宏定义又称为宏代换、宏替换,简称“宏”。 格式: #define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”。 预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。 掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。 即在对相关命令或语句的含义和功能作具体分析之前就要换: 例: #define PI 3.1415926 把程序中出现的3.1415926全部换成PI 说明: (1)宏名一般用大写 (2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义 (3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。 (4)宏定义末尾不加分号; (5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。 (6)可以用#undef命令终止宏定义的作用域 (7)宏定义可以嵌套 (8)字符串" "中永远不包含宏 (9)宏定义不分配内存,变量定义分配内存。 2.带参数的宏: 除了一般的字符串替换,还要做参数代换 格式: #define 宏名(参数表) 字符串 例如:#define S(a,b) a*b area=S(3,2);第一步被换为area=a*b; ,第二步被换为area=3*2; 类似于函数调用,有一个哑实结合的过程: (1)实参如果是表达式容易出问题 #define S(r) r*r area=S(a+b);第一步换为area=r*r;,第二步被换为area=a+b*a+b; 正确的宏定义是#define S(r) (r)*(r) (2)宏名和参数的括号间不能有空格 (3)宏替换只作替换,不做计算,不做表达式求解 (4)函数调用在编译后程序运行时进行,并且分配内存。宏替换在编译前进行,不分配内存 (5)宏的哑实结合不存在类型,也没有类型转换。 (6)函数只有一个返回值,利用宏则可以设法得到多个值 (7)宏展开使源程序变长,函数调用不会 (8)宏展开不占运行时间,只占编译时间,函数调用占运行时间(分配内存、保留现场、值传递、返回值) 编辑本段二. 文件包含一个文件包含另一个文件的内容 格式: #include "文件名" 或 #include <文件名> 编译时以包含处理以后的文件为编译单位,被包含的文件是源文件的一部分。 编译以后只得到一个目标文件.obj 被包含的文件又被称为“标题文件”或“头部文件”、“头文件”,并且常用.h作扩展名。 修改头文件后所有包含该文件的文件都要重新编译 头文件的内容除了函数原型和宏定义外,还可以有结构体定义,全局变量定义: (1)一个#include命令指定一个头文件; (2)文件1包含文件2,文件2用到文件3,则文件3的包含命令#include应放在文件1的头部第一行; (3)包含可以嵌套; (4)<文件名>称为标准方式,系统到头文件目录查找文件, "文件名"则先在当前目录查找,而后到头文件目录查找; (5)被包含文件中的静态全局变量不用在包含文件中声明。 编辑本段三. 条件编译有些语句行希望在条件满足时才编译。 格式:(1) #ifdef 标识符 程序段1 #else 程序段2 #endif 或 #ifdef 程序段1 #endif 当标识符已经定义时,程序段1才参加编译。 格式:(2) #ifndef 标识符 格式:(3) #if 表达式1 程序段1 #else 程序段2 #endif 当表达式1成立时,编译程序段1,当不成立时,编译程序段2。 使用条件编译可以使目标程序变小,运行时间变短。 预编译使问题或算法的解决方案增多,有助于我们选择合适的解决方案。 此外,还有布局控制:#pragma,这也是我们应用预处理的一个重要方面,主要功能是为编译程序提供非常规的控制流信息。
‘陆’ 在计算机上运行一个C语言编写的程序,要经过怎样的处理过程
开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。
C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。
1、编辑:输入源程序并保存(。C文件)。
2、编译:将源程序翻译成目标文件(。OBJ文件)。
3、连接:将目标文件转换成可执行文件。EXE文件)。
4、运行:执行。EXE文件,得到运行结果。
(6)c语言的语言处理程序是哪个扩展阅读:
C代码变成程序的阶段:
1、首先,源代码文件test。c和相关的头文件,如stdio。h,由预处理程序CPP预处理为一个。我的文件。这是预编译。I文件不包含任何宏定义,因为所有宏都已展开,所包含的文件都已插入其中。我的文件。
2、编译过程就是对预处理后的文件进行一系列的词法分析、语法分析、语义分析和优化,从而产生相应的汇编代码文件。这个过程通常是整个程序构造的核心部分,也是最复杂的部分之一。
3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成一个可以运行的可执行程序。为了得到最终的可执行文件“A.out”,需要将一大堆文件链接在一起。
4、在链接过程中,调用其他目标文件中定义的函数的指令需要重新校准,使用其他目标文件中定义的变量的指令也需要重新校准。
‘柒’ C语言的程序是由什么组成
C语言源程序是由:数据类型、常量与变量、数组、指针、字符串、文件输入/输出构成。
具体介绍:
1、数据类型
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
2、常量与变量
常量其值不可改变,符号常量名通常用大写。变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
3、数组
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。
4、指针
指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针又会给程序带来大量潜在的错误。
5、字符串
C语言的字符串其实就是以'