一、代码的编写

1.程序结构

1> C语言程序的结构:由函数构成

 *任何一个c语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”。所以,我们可以说C语言程序是由函数构成的。

2> 函数相关概念

 *函数名:一个程序中由无数个函数组成,每个函数都有自己的名称

 *函数体:返回值类型 函数名(形参列表){ 函数体 }

 *函数调用:根据函数名就可以调用相应的函数,执行相应的功能

3> C语言程序入口

 *C语言程序的入口是main函数

 *不管整个程序有多少个函数,总是先执行main函数,因为main函数是程序的入口

2.程序编写

1> 编写main函数

 int main()
{
return ;
}

main函数

2> 编写其他函数

 int test()
{
return ;
} int test2()
{
return ;
} int test3()
{
return ;
} .....

其他函数

3> 编写printf函数

 #include <stdio.h>
int main()
{
printf("hello world") ; return o;
}

printf 函数

二、编译

1.什么是编译

 *编译:将C语言源程序翻译成计算机可以识别的0和1的过程。

2.如何使用编译器(以Xcode为例)

 *在终端中输入: cc -c 文件名.c

 *编译成功后会生成.o目标文件

3.编译器的错误和警告功能

 *如果代码有语法问题,编译器就会直接报错,并将错误的相关信息显示出来

 *只要有1个错误,编译器就不会编译成功,也不会生成目标.o文件

 *警告信息是编译器的一些建议,并不会影响编译器的编译通过

三、链接

1.什么是链接

 *将.o文件和C语言函数库组合在一起,生成可执行文件

2.如何链接

 *在终端输入:cc 文件名.o

 *链接成功后悔生成a.out可执行文件

 *也可以一起编译、链接:cc  xxx.c

四、运行

1.运行方式

 *直接双击a.out文件

 *在终端中使用 ./a.out指令

 *源程序文件修改后一定要重新编译、链接,然后运行

五、相关总结

1.常见文件扩展名

 * .c是C语言源文件,在编写代码的时候创建

 * .o是目标文件,在编译成功的时候产生

 * .out是可执行文件,在链接成功的时候产生

2.常见指令

 *编译:cc  –c  xxx.c

 *链接:cc  xxx.o

 *编译、链接:cc  xxx.c

3.常见错误及解决措施

 *语法错误,可以通过编译器的报错信息解决

 *逻辑错误,需要耐心调试程序

六、自我总结

  每一种语言都有自己的语法和规范,想要学好一门语言,必须掌握好语法问题,语法即规则,正所谓,无规矩不成方圆。一个程序就是一个功能的实现,就可以解决相同类型的一系列问题,要想编写出好的程序,规范问题必不可少,所以我要好好的学习,因为我想写出优秀的程序,让自己为此而自豪(哈哈,跑题了)。

C语言--C语言程序的更多相关文章

  1. 6个变态的C语言Hello World程序

    6个变态的C语言Hello World程序   下面的六个程序片段主要完成这些事情: 输出Hello, World 混乱C语言的源代码 下面的所有程序都可以在GCC下编译通过,只有最后一个需要动用C+ ...

  2. PIC12F629帮我用C语言写个程序,控制三个LED亮灭

    http://power.baidu.com/question/240873584599025684.html?entry=browse_difficult PIC12F629帮我用C语言写个程序,控 ...

  3. 用C语言写个程序推算出是星期几?(用泰勒公式实现)

    在日常生活中,我们常常遇到要知道某一天是星期几的问题.有时候,我们还想知道历史上某一天是星期几.比如: “你出生的那一天是星期几啊?” “明年五一是不是星期天?我去找你玩?” 通常,解决这个问题的最简 ...

  4. 用C++语言开发Android程序 配置开发环境

    转自:http://www.cnblogs.com/yaotong/p/3622430.html 用C++语言开发Android程序 配置开发环境   如果你是一个C++语言的死忠,你喜欢C++语言到 ...

  5. C语言函数与程序结构

    title : C语言函数与程序结构 tags : C语言作用域规则 , 外部变量 ,静态变量 ,寄存器变量,宏定义 grammar_cjkRuby: true --- 外部变量 变量声明用于说明变量 ...

  6. C/C++语言简介之程序结构

    C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数.因此, ...

  7. 用Python语言开发VTK程序的步骤

    在Windows环境下用Python语言开发VTK程序 1.安装Python集成开发环境IDLE:下载地址:https://www.python.org/downloads/ 2.然后到VTK官网下载 ...

  8. 【WinRT】多语言化应用程序名称

    在Windows Phone 8的时候,要对应用程序在列表中显示的名称和锁定到开始屏幕的磁贴的名称进行多语言化是十分困难的,需要使用C++建立一个多语言资源库.但是,在WinRT中,这变得简单多了,无 ...

  9. 利用C语言编辑画图程序的实现方法

    不知道大家在进行开发县级电网调度自动化系统的时候,是否都会遇到一个问题就是:要绘制一个电力系统一次接线图.大家都应该知道其实电力系统的一次接线图是较为复杂的,如果想要使用一般的编程方法来进行绘制的话, ...

  10. 6个变态的C语言Hello World程序 之 雷人的程序语言

    以下的六个程序片段主要完毕这些事情: 输出Hello, World 混乱C语言的源码 以下的全部程序都能够在GCC下编译通过,仅仅有最后一个须要动用C++的编译器g++才干编程通过. hello1.c ...

随机推荐

  1. [C++程序设计]基于对象的程序设计 基于对象的程序设计

    1. 面向对象分析(object oriented analysis,OOA)2. 面向对象设计(object oriented design,OOD)3. 面向对象编程(object oriente ...

  2. 使用jekyll和prose在github上创建博客

    利用github的pages服务可以很方便地显示和管理我们的静态页面,这样用来做博客是非常适合的. 1.首先你要有一个github的帐号 2.创建一个repo,名字叫username.github.i ...

  3. instancetype和id的区别

    一.什么是instancetype instancetype是clang 3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的Objective-C对象.我们都知道未知类型的的对象可以 ...

  4. Eclipse使用git最简易流程

    git有诸多好处,网上都说的很清楚了,在这里我不再赘述.对于我来说,私下里想做一些项目,而又不能很好的保存自己的代码和进行版本控制,这时候,就用到了git.下面,就以我个人为例讲讲git从0开始如何安 ...

  5. MySQL调试

    http://dev.mysql.com/doc/refman/5.5/en/signal.html#signal-condition-information-items http://www.dev ...

  6. 安装GeoIP数据库

    1.安装GeoIP数据库 cd /usr/local/logstash/etc curl -O "http://geolite.maxmind.com/download/geoip/data ...

  7. 【转】ARM交叉编译工具链

    原文网址:http://www.veryarm.com/cross-tools 为什么要用交叉编译器? 交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在PC平台( ...

  8. UESTC_邱老师选妹子(二) 2015 UESTC Training for Dynamic Programming<Problem I>

    I - 邱老师选妹子(二) Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Su ...

  9. Java 获取Linux 的IP地址

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  10. 【转】android电池(四):电池 电量计(MAX17040)驱动分析篇

    关键词:android 电池  电量计  MAX17040 任务初始化宏 power_supply 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台: ...