C/C++教程

C语言编程之:“我的第一个C程序”Hello world!“详解 && 数据类型分类

本文主要是介绍C语言编程之:“我的第一个C程序”Hello world!“详解 && 数据类型分类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、代码及注释

#include <stdio.h>
    /*  程序员所编写的代码并不是标准的C代码,需要一段程序把他编程为标准的C代码,
    负责翻译的程序叫做预处理器,翻译的过程叫做预处理,
    被翻译的代码叫做预处理指令,以#开头的代码都是预处理指令。
        #include        功能是把一个头文件导入到当前文件中
        #include <>     从系统指定的路径下加载头文件
        #include ""     先从当前路径下加载头文件,如果找不到再从系统指定的路径下加载头文件
        操作系统是通过设置环境变量来指定加载头文件的路径
    stdio.h
        头文件:以.h结尾,里面存储的是一些辅助性的代码,绝大部分是函数的声明
        源文件:以.c结尾,里面存储的是功能性的代码
        C语言标准委员会为C语言以函数的形式提供了一些基础功能,这些函数就被封装到了libc.so库文件中
        用很多头文件负责对库中的函数进行分类说明,
        stdio.h就是其中一个,常用的还有stdlib.h  string.h 
        stdio.h  负责对输入输出功能的函数进行说明 */
int main(int argc,const char* argv[])
/*main函数:
    C语言以函数为单位来管理代码,是管理代码的最小单位,一个函数就是一段具有某项功能的代码段
    main函数是程序的执行入口,有且只有一个
    int是一种数据类型,表示main函数的执行结果是一个整数
    */
    {
    	printf("Hello world!\n");
        /*printf/scanf 是标准库找那个的函数,负责输入输出数据,用来调试代码
            printf("---------------\n");
        转义字符:
            键盘上一些按键是没有符号的,用一些特殊的字符组合来表示,
            这些特殊字符组合就是转义字符,\n就是一个
            \n      换行
            \b      退一个字符 "\b \b"
            \r      回到行首
            \t      制表符,用于对齐数据
            \a      响铃
            \\      表示一个\
            %%      表示一个%
        C语言以分号作为一行代码的结束,使用大括号划分代码区域
        */
		return 0;
    }
        /*return  功能有两个:1、结束函数的执行。2、返回一个数据给函数的调用者
        main函数是由操作系统调用,他的返回值给操作系统的,反映了程序是怎么样结束的,
        通常有三种情况:
            正数    出现异常 (别人的错误)
            0       一切正常
            负数    出现错误 (自己的错误)
            (可以通过 echo $? 命令查看上一个程序的返回值)
        */

二、C代码变成可执行程序过程

1、预处理 : 把源文件翻译成预处理文件

        gcc -E code.c       		显示预处理结果
        gcc -E code.c -o code.i     生成以.i为结尾的预处理文件

2、编译:把预处理编译成汇编文件

		gcc -S code.s       生成.s结尾的汇编文件

3、汇编:把汇编文件翻译成二进制的目标文件

		gcc -c code.s		生成以.o结尾的目标文件

4、链接:把若干目标文件合并成一个可执行文件

        gcc A.o B.o C.o...  默认生成一个a.out的可执行文件

C语言的文件类型:
.h 头文件
.h.gch 头文件的编译结果,它会被优先使用
.c 源文件
.i 预处理文件
.s 汇编文件
.o 目标文件
.a 静态库文件
.so 共享库文件

三、数据类型

1、整型

数据类型类型占位符字节数位数
(signed) char / int8_t%hhd1-127~128
(signed) short / int16_t%hd2-32768~32767
(signed) int / int32_t%d4正负20亿
(signed) long%ld4/8
(signed) long long / int64_t%lld8正负9开头的19位整数
unsigned char / uint8_t%hhu10~255
unsigned short / uint16_t%hu20~65535
unsigned int / uint32_t%u40~40亿
unsigned long%lu4/8
unsigned long long / uint64_t%llu80~以1开头的20位整数

2、浮点型

数据类型类型占位符字节数
float%f4
double%lf8
long double%LF12/16

3、模拟型

字符型 char :
字符其实就是符号或图案,内存中存储的是整数,
当需要显示成字符时会根据ASCII码表中对应的关系显示出相应的符号或者图案

布尔型 bool :
先有了C语言才有了bool类型,所以C语言中是不可能有真正的布尔类型

stdbool.h 头文件对布尔类型进行了模拟
bool true false

4、对数据进行分类的原因

1、现实社会中的数据就是自带类别属性
2、对数据进行分类可以节约存储空间、提高运行速率

学无止境,无限进步!

这篇关于C语言编程之:“我的第一个C程序”Hello world!“详解 && 数据类型分类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!