一、代码的编写

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. JS的全局变量&局部变量

    <script> var i=10; //全局变量 j = 20; //全局变量 function(){ var i=30; //局部变量 h = 40; //全局变量 } </sc ...

  2. webService设置超时时间

    在客户端配置文件中设置: <bindings>      <basicHttpBinding>        <binding name="UrlCrawler ...

  3. org.springframework.dao.EmptyResultDataAccessException

    public Wcrash getWcrashInfo(int id) { String sql = "select plateform_id,android_version,app_ver ...

  4. 基于stm32f103zet6的FAT16文件系统学习0(读SD卡扇区)

    SD卡已经看了两天了,主要是因为测试出来的卡容量不对,所以一直找原因,最终还是发现了,总比不过是单位上面出现了问题,或许是之前没有接触到SD的缘故吧,所以对其中的一些寄存器很不了解,一切都是重新开始, ...

  5. C# 操作IE浏览器

    最近的一个B/S系统中,用到了指模录入,当用户按了手指摸之后,要在IE浏览器的一个文本框上显示用户的姓名.由于要监控指模机的输入,因此客户端需要装一个.net控制台程序,通过此控制台程序监控指模机.这 ...

  6. WPF控件中可以用来记录数据用的属性总结

    今天遇到一个问题需要为每个控件tooltip根据不同情况显示多组数据,于是需要用到控件的某个属性暂存这个数据.好吧,现在我找到了3个属性可用,给自己做个备忘. 1.Tag 这个属性是object类型 ...

  7. android 签名被篡改(Keystore was tampered with, or password was incorrect)

    在配置自定义签名时出现了"Keystore was tampered with, or password was incorrect"错误! 参考文档发现: If necessar ...

  8. 《how to design programs》12章函数复合

    我们写代码时要学会适应辅助函数.作者提出了一个问题,如何对一个表排序.排序函数读取一个表,产生另一个表.排序函数的合约和用途如下: (sort empty) ;; expected value: em ...

  9. 2013Q1全球网速排名 韩国第1美国第9 中国呐?(图)

    德国著名统计公司Statista,最近公布了2013 Q1季度全球互联网网速排名数据.其中,韩国以平均14.2Mbps的网速继续排名世界第一. 此外,第二至第十名的国家和地区分别为:日本(11.7 M ...

  10. SHELL中的特殊变量和结构

    SHELL中的特殊变量和结构 表格 B-1. 特殊的shell变量 变量 含义 $0 脚本名字 $1 位置参数 #1 $2 - $9 位置参数 #2 - #9 ${10} 位置参数 #10 $# 位置 ...