zoukankan      html  css  js  c++  java
  • 第一个C程序

     

    iOS开发前奏1-C语言

     

     

     

    摘要: C语言有丰富的数据类型,因此它很适合用来编写数据库,如DB2、Oracle都是C语言写的。C语言的数据类型大致可以分为下图中的几类:一、基本数据类型跟其他语言一样,C语言中用变量来存储计算过程使用的值,任何变量都必须先声明类型再使用。为什么一定要先声明呢?因为变量的类型决定了变量占用的存储空间,所以定义变量类型,就是为了给该变量分配适当的存储空间,以便存放数据。下面的表格描述了在16位编译器环境下,基本数据类型所占用的存储空间,了解这些细节,对以后学习指针和数组时是很有帮助的需要注意的是:1.char的取值范围是:ASCII码字符 或者 -128~127的整数于是,使用char存储大写字母A有阅读全文
    posted @ 2013-03-13 17:38 M了个J 阅读(4) | 评论 (0) 编辑

     

     

     

    摘要: 一、函数的分类前面已经说过,C语言中的函数就是面向对象语言中所说的"方法",C语言的函数可以大概分为3类:1.主函数,也就是main函数。每个程序中只能有一个、也必须有一个主函数。无论主函数写在什么位置,C程序总是从主函数开始执行2.开发人员自定义的函数,可有可无,数目不限3.C语言提供的库函数,例如stdio.h中的输出函数printf()和输入函数scanf()二、函数的声明和定义虽说C中的函数类似于Java中的方法,但在使用上还是有区别的。1.在Java中,每个方法的定义顺序没有限制,在前面定义的方法内部可以调用后面定义的方法,比如:1 public void tes阅读全文
    posted @ 2013-03-13 14:40 M了个J 阅读(166) | 评论 (0) 编辑

     

     

     

    摘要: 在上一篇中我们已经创建了一个C程序,接下来分析一下里面的代码。项目结构如下:一.代码分析打开项目中的main.c文件(C程序的源文件拓展名为.c),可以发现它是第一个C程序中的唯一一个源文件,代码如下:1 #include <stdio.h>2 3 int main(int argc, const char * argv[])4 {5 6 // insert code here...7 printf("Hello, World!\n");8 return 0;9 }1.#include <stdio.h>#include 是C语言的预处理指令之一,所阅读全文
    posted @ 2013-03-13 13:14 M了个J 阅读(383) | 评论 (0) 编辑

     

     

     

    摘要: 由于我们最终要学习的是iOS开发,因此就使用Mac平台下的Xcode搭建C语言开发环境,而不使用Windows系统1.打开Xcode,新建Xcode项目2.选择最简单的命令行项目3.输入项目信息Organization Name和Company Identifier可以随便写,对C项目没有影响Use Automatic Reference Counting这个选项只对OC项目有影响,对C项目没有影响4.选择一个用来存放C程序代码的文件夹5.运行项目运行结果为:(查看控制台的输出)跟其他语言的HelloWorld程序一样,在控制台上输出了一句"Hello, World!"阅读全文
    posted @ 2013-03-13 11:03 M了个J 阅读(45) | 评论 (0) 编辑

     

     

     

    摘要: 说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略一.C语言简史C语言于1972年发明,首次使用是用于重写UINX操作系统(UNIX以前是用汇编写的)随着UNIX操作系统的成功,C语言也得到了大幅度地推广,至今还是世界上最流行、使用最广泛的高级程序设计语言之一C语言是一门面向过程的语言,非面向对象的语言下面是2013年3月份的编程语言热门排行榜从C语言诞生至今,它的热度一点也没减过,前两名基本上都是Java和C二.C语言的特点1.丰富的运算符计算机的基本功能就是计算,因此一门程阅读全文
    posted @ 2013-03-12 21:30 M了个J 阅读(606) | 评论 (2) 编辑

    三、第一个C程序代码分析

     

    上一篇中我们已经创建了一个C程序,接下来分析一下里面的代码。

    项目结构如下:

    一.代码分析

    打开项目中的main.c文件(C程序的源文件拓展名为.c),可以发现它是第一个C程序中的唯一一个源文件,代码如下:

    复制代码
    1 #include <stdio.h>
    2 
    3 int main(int argc, const char * argv[])
    4 {
    5 
    6     // insert code here...
    7     printf("Hello, World!\n");
    8     return 0;
    9 }
    复制代码

    1.#include <stdio.h>

    • #include 是C语言的预处理指令之一,所谓预处理,就是在编译之前做的处理,预处理指令一般以 # 开头
    • #include 指令后面会跟着一个文件名,预处理器发现 #include 指令后,就会根据文件名去查找文件,并把这个文件的内容包含到当前文件中。被包含文件中的文本将替换源代码文件中的 #include 指令,就像你把被包含文件中的全部内容拷贝到源文件中的这个位置一样
    • 如果被包含的文件拓展名为.h,我们称之为“头文件”(Header File),头文件可以用来声明函数(“函数”就是面向对象语言中所说的“方法”),要想使用这些函数,就必须先用 #include 指令包含函数所在的头文件
    • #include 指令不仅仅限于.h头文件,可以包含任何编译器能识别的C/C++代码文件,包括.c,.hpp,.cpp等,甚至.txt,.abc等等都可以

    也就是说你完全可以将第3行到第9行的代码放到其他文件中,然后用 #include 指令包含进来,比如:

    1> 将第3行到第9行的代码放到my.txt

    2> 在main.c源文件中包含my.txt文件

    程序还是可以照常运行的,因为 #include 的功能就是将文件内容完全拷贝到 #include 指令所在的位置

    • 不过你可能会疑惑,为什么stdio.h用尖括号<>,而my.txt用双引号"",这个很好区别,如果是系统自带的文件,用<>,如果是开发人员自己创建的文件,用""

    2.main函数

    • 前面也已经提到,C中的函数就是面向对象语言中所说的"方法"。C语言是一门面向过程的语言,是以过程为中心的编程思想,就是先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用函数就可以了
    • 一个C程序中一定会有一个main函数,main函数是整个C程序的入口
    • main函数的返回值为int类型,接收2个参数,其实可以不写参数

    main函数可以简化成这样:

    main()
    {
        // insert code here...
        printf("Hello, World!\n");
    return 0; }

    这里要注意的是:这里的main函数没有写返回值类型,并不代表函数没有返回值,而是表示返回值类型为int类型,void才代表函数没有返回值

    由于C语言的语法限制不严格,我们还可以进一步简化main函数:

    main()
    {
        // insert code here...
        printf("Hello, World!\n");
    }

    虽然它要求main函数返回int类型的值,但我们可以不返回

    3.stdio.h

    • stdio.h 是C语言函数库中的一个头文件,里面定义了一些标准输入输出函数
    • 这里之所以包含 stdio.h 文件,是因为在第7行中用到了在 stdio.h 内部声明的printf函数,这个函数可以向标准输出设备(比如显示器屏幕)输出数据,屏幕上输出的文字就是第7行代码printf("Hello, World!\n");造成的,双引号""内的文本为C语言的字符串

    二、开发和运行C程序的步骤

    步骤图如下:

    1.编写程序

    C语言源文件的扩展名为".c",源程序文件以ASCII码形式存储,不含任何格式和样式,计算机不能直接执行,因为计算机只能识别二进制指令,也就是0和1

    2.编译(VC环境下)

    • 把C的源程序翻译成计算机可以识别的二进制形式的目标代码文件,这个过程称为编译,由C的编译器完成
    • 在编译的同时,还对源程序的语法和程序的逻辑结构等进行检查。当发现错误时,将会列出错误的位置和种类,此时需要重新编辑修改源程序。如果编译成功则生成目标文件,文件名跟源程序文件名一样,扩展名为“.obj”。比如,mj.c编译后生成mj.obj目标文件
    • 假如一个项目中有多个.c源文件,编译成功会生成多个对应的.obj目标,一般情况下,它们之间有关联的,比如a.obj中可能会调用在b.obj中定义的一个函数,因此它们不能够单独被计算机执行,而且目标文件中并不包含程序运行所需要的库函数等

    3.链接(VC环境下)

    • 将所有有关联的obj目标文件,以及系统提供的C库函数等组合在一起生成可执行文件的过程,称为“链接”
    • 链接生成的可执行文件的文件名跟源程序文件同名,扩展名为".exe",计算机可以直接执行

    4.运行

    在DOS环境直接输入C程序的可执行文件名,或者在C的集成环境下选择“RUN”命令,以及在Windows的资源管理器内双击该可执行文件,都可以获得运行结果。如果运行结果有误,需要重新修改源程序,再进行编译、链接、运行,直到得到满意的运行结果

    由于我们的第一个C程序,是在Mac OS X系统环境下用Xcode创建的命令行项目,Mac OS X系统是基于UNIX系统的,因此生成的可执行文件的这样的:

    双击可以用终端(命令行)打开:

    三.总结

    说了这么多,总结一下第一个C程序的运行步骤:

    1.在编译前先执行#include指令,拷贝stdio.h的内容到源程序中

    2.编译源程序,生成目标文件

    3.链接C语言函数库,生成可执行文件

    4.运行可执行文件,在屏幕上输出"Hello, World!"

    看起来好像挺多步骤的、挺麻烦的,但是当我们点击Xcode的运行按钮时,Xcode会自动按顺序执行上面4个步骤

     
     
  • 相关阅读:
    2.pt-table-checksum工具
    Mysql8.0新特性01
    12.redis 之阅读大佬文章随笔
    4.Mysql之Mysqldump命令
    5. 关于高负载服务器Kernel的TCP参数优化
    Mysql Oracle 备份表数据、批量删除表数据
    Mysql limit用法
    Java 字符串数组转字符串
    Layui 自定义年份下拉框并且可输入
    Mysql 生成UUID
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2958429.html
Copyright © 2011-2022 走看看