一 C语言程序的基本框架、gcc编译器简述、C的注释、变量、输入输出

时间:2021-10-15 12:19:37
  1. 计算机语言分类

    1> 机器语言(机器指令)

    2> 汇编语言

    3> 高级语言(Basic、C语言、Java、C++、C#/.net、OC、VB、PHP等)

  2. C语系和C语言关系、强类型语言

    C语系--由C语言演变而来的语言;比如C++、Java等。

    C语言--主要用于底层开发,因此C语言也被称为 中级语言

    强类型语言--就是变量在使用之前必须显式声明类型,声明类型只需要声明一次即可;使用时不能带类型。

  3. 编写C语言程序步骤(在GNU/Linux下):

    1> 用Vi/Vim编辑器编辑xx.c

    2> 保存退出后,使用gcc xx.c进行编译链接。

    3> 使用./a.out运行(如果在PATH环境变量中配置了.  就可直接使用a.out)

  4. C程序结构

    #include <stdio.h>
    //第一个C语言程序,并测试包含文件
    int main()
    {
    #include "s.c"
    printf("hello c\n");
    return 0;
    }

    在xx.c中,一般由三部分组成

    1> #开头的叫做指令,常见的有 #include  #define  #if 等。

      #include 作用是包含一个文件,一般会包含 /usr/include/下的头文件(.h)。

    2> int main(){}叫函数,main是主函数,程序的入口点;函数 由 返回类型、函数名、参数列表(多个参数用,隔开) 组成;{}叫函数体。

    3> 函数{}中的内容叫 语句,语句 以 ; 结束。

  5. C程序原理

    1> 编写源程序(xx.c)

    2> 预处理 所有指令。

    3> 编译程序,生成 .o/.obj文件。

    4> 链接程序,把库函数等外部资源和 .o文件进行链接,生成a.out文件。

    5> 加载a.out文件从硬盘到内存;运行a.out程序。

    其中2、3、4步骤都是依赖gcc编译器,gcc可以直接当命令使用:

  6. gcc常用选项

    -c 只编译(compile/compiling)不链接

    -o 目标文件名   修改目标(object)文件名为指定名字(默认为a.out)

    -std=c89/c99    设置c89/c99标准(默认是c89标准编译链接)

    -Wall  显示所有的警告(All Wall)信息(警告不影响程序的编译和运行)

    -E     仅做预处理(Pre-Processing)

    -S     生成汇编(Assembly)文件

    ……

  7. #include "xx" #include <xx> 的区别:

    ""是先在当前目录(.)找,再去系统目录, <>只去系统目录(/uer/include/)找。#include 前不能有非空白字符。

  8. C语言的注释

    注释是程序员之间沟通的方式,注释不参与程序的编译、链接和运行。

    1> 单行注释    //开始到本行结束

    2> 多行注释    /*开始 */结束  中间可以有任意多个字符和任意多行

    注意:多行注释不能嵌套。

  9. C语言编码规范:

    1> 语句可以分开放在多行

    2> 空格能更好的区分代码

    3> 缩进能更好的区分层次关系,一般缩进2-4个空格

    4> 空行能更好的区分代码模块

    5> 变量、函数的名字要有实际意义,采用驼峰命名法或下划线命名法区分多个单词。

  10. 变量

    1> 变量

    其实就是 内存的一个区域,变量名 对应 内存区域。变量在使用之前必须要 声明类型,类型 就是变量的种类,可以确定变量占用内存区域的大小。

    2> 类型

    主要包括:char字符/int整型/float单精度浮点/double双精度浮点/结构/联合/枚举/指针。

    3> 变量的声明

    就是定义一个变量和变量的类型,格式如下:

    类型 变量名 [=初始值];

    int a;    int a = 10;    int a, b = 5, c;

    变量的第一次赋值叫初始化;变量不进行初始化,其值 不确定。

    #include <stdio.h>//简单测试变量的使用int main(){    int a = 10,b;    float f1 = 1.0f;    a = 20;    printf("a=%d\n",a);//%d代表整型变量    printf("f1=%f\n",f1);//%f float变量    printf("b=%d\n",b);//b的值不确定    return 0;}


  11. 标识符

    给变量、函数、宏等实体 命名的叫标识符,准则:

    1> 标识符必须字母、数字、下划线组成,其中 数字不能是第一个

    2> 区分大小写

    3> 长度无限制,但编译器在编译时会 截断。

    4> 不能和 C语言的关键字发生冲突。

    关键字其实 就是 C语言自身已经 使用的特殊单词,有特殊含义,不能被程序员做 标识符。常见的:int char float double return if else switch case default for while do break continue goto……

  12. 标准输入函数和标准输出函数

    1.标准输入:printf()

    printf() 可以打印 0-n个变量(参数数量可变)

    printf(格式字符串,变量或者表达式1,2,3,4,...)

    格式字符串可以由 两部分组成:普通字符串转换格式(%d)

    转换格式:

    % - 0 m.n l/h  格式字符

    % 转换格式开始字符

      -     左对齐 省略就是右对齐(了解)

      0     空位补0 ,省略 空位不补(了解)

      m.n   m 域宽 (宽度) n 精度 浮点数 小数点后面的位数(了解)

      l/h   l 整数 long  lf 代表 double

            h 整数 short (少使用)

    格式字符:

       i/d 十进制的整数

       c   字符

       s   字符串

       f   浮点(float,如果double需要加l)

       g   浮点(去掉后面的0)

       p   地址

       x   十六进制整数

       o   八进制整数

       u   无符号整数

    2> scanf()

    scanf可以从键盘输入0-n个值,存到对应的变量中。

    scanf(格式字符串,变量的内存地址列表) 0-n个变量都可以

    int i; &i 取变量i的内存地址

    scanf("%d",&i); //把键盘输入的一个整数存在i

    scanf 中的格式字符串与printf 基本一致。

    scanf 从前向后 逐一 验证输入,到不符合格式就返回,并把前面符合格式的存入变量。

    #include <stdio.h>//输入输出测试int main(){    int i;    printf("请输入一个整数\n");    scanf("%d",&i);    printf("i=%d\n",i);    return 0;}

    3> 常用类型的表示:

     整型变量: %d

     字符型变量:%c

     浮点double变量:%lf

     字符串变量:%s

     指针变量: %p

    如果类型表示不正确的话,显示结果 可能 错误。

    如果在 格式字符串中有%的话,需要用 %%表示。



本文出自 “雪狼” 博客,请务必保留此出处http://wolfzhxp.blog.51cto.com/2409990/1284793