zoukankan      html  css  js  c++  java
  • 【C语言】一些重要的知识点

    1.#include <stdio.h>                                   

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

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

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

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

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

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

     说明:这里用txt文件纯属演示,平时做项目不会这样做,除非吃饱了撑着,才会把代码都写到txt中去

    stdio.h

    • stdio.h 是C语言函数库中的一个头文件,里面定义了一些标准输入输出函数。在main.c的第1行代码中,用#include指令包含了stdio.h文件。
    • #include指令包含了stdio.h文件,stdio.h 内部有printf输出函数,这个函数可以向标准输出设备(比如显示器屏幕)输出数据。
    • C语言提供库函数:stdio.h中的输出函数printf()和输入函数scanf()

    总结一下第一个C程序的运行步骤:                                                 

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

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

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

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

    2.变量                                                                                        

    跟其他语言一样,C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用。为什么一定要先定义呢?因为变量的类型决定了变量占用的存储空间,所以定义变量类型,就是为了给该变量分配适当的存储空间,以便存放数据。比如你是char类型,我就只给你分配1个字节就够了,没必要分配2个字节、3个字节乃至更多的存储空间。

    下面的表格描述了在16位编译器环境下,基本数据类型所占用的存储空间,了解这些细节,对以后学习指针和数组时是很有帮助的

    需要注意的是:

    1.局部变量的使用跟Java稍微有点不一样

    1> 在Java中,你声明了一个局部变量后,如果没有经过初始化赋值就使用该变量,编译器直接报错

    第9行报错了,因为变量a没有初始化

    2> 在C语言中,你声明看一个局部变量后,没有经过初始化赋值是可以使用的

     
    1 #include <stdio.h>
    2 
    3 int main()
    4 {
    5     int b;           
    6     printf("%d", b);
    7     return 0;
    8 }
     

    但这是很危险的,不建议这样做。大多数人应该觉得变量b打印出来应该是0,其实不是。因为系统会随意给变量b赋值,得到的是垃圾数据。

    上述代码的打印结果是:因此,局部变量还是必须先进行初始化赋值,然后再使用,这样才是最安全的做法。

    * 如果是全局的int类型变量,系统会默认赋值为0

    •  全局变量和局部变量:<区别>

    2.char的取值范围是:ASCII码字符 或者 -128~127的整数

    于是,使用char存储大写字母A有2种赋值方式:

    // 方式1
    char c = 'A';
    
    // 方式2
    char c = 65;

    上面两种方式是等效的,因为大写字母A的ASCII码值刚好为65。点击查看ASCII码表的所有值

    3.char只能存储一个字符

    汉字或者字符串需要用字符数组来存储,因为一个汉字占了2个字符,一个字符串是由一个或者多个字符组成的。

    因此,下面的写法都是错误的:

    char c1 = '';
    char c2 = '123';
    char c3 = "123";

     

    • 类型修饰符

    我们还可以在基本数据类型的前面加一些修饰符,也有人称之为限定符,一样的意思。

    有以下4种类型修饰符:

    • short  短型
    • long  长型
    • signed  有符号型
    • unsigned  无符号型
    • 不同编译器环境下基本数据类型的存储长度

    红色的代表常用的数据类型

     
     
  • 相关阅读:
    Vim配置及使用技巧
    终端提示符的配置
    Archlinux下i3wm与urxvt的配置
    Linux压缩命令
    Archlinux无线联网教程
    Archlinux安装和使用技巧
    Linux下硬盘分区
    Linux挂载
    Android中pullToRefresh使用
    SVN服务器搭建和使用教程
  • 原文地址:https://www.cnblogs.com/bossren/p/4700252.html
Copyright © 2011-2022 走看看