一、初识C语言(1)

[复制链接]
发表于 2025-12-29 12:58:48 | 显示全部楼层 |阅读模式
一、C语言辨认的是二进制语言


C语言是一门盘算机语言,而盘算机是硬件,硬件分通电(1)和 未通电(0)两种环境,以是C语言辨认的都是0 / 1信号,也就是二进制语言。

二、C语言文件范例以及根本框架


1.文件范例


.c  源文件(步伐代码文件)                                            .h(head)  头文件(函数文件)

2.根本框架


int main ()   
//main,主函数,步伐的入口,有且仅有一个。
//int,表现返回一个整型值。
//()内里一样平常写函数的参数,空着表现该函数无参。
{

        return 0;        //步伐末了返回0,与int呼应。

}

#include <stdio.h>   
//include -> 包罗函数头文件
//std -> 标准             io -> 输入、输出            .h -> 头文件

声明函数头文件,才气利用相应的函数。
例:#include <stdio.h>        //声明,标准输入输出函数头文件
       printf("  ");                     //才气利用,相对应的打印函数

3.第1条C语言代码

  1. #define _CRT_SECURE_NO_WARNINGS 1
  2. #include <stdio.h>
  3. //你好,世界!!!
  4. int main ()
  5. {
  6.         printf("Hello,World!!!\n");
  7.         return 0;
  8. }
复制代码
三、C语言数据范例


1.数据范例


                                 (数据范例)                            (单元:字节)        
 字符型                           char                                                1                        
 短整型                           short                                               2                        
 整型                               int                                                   4
 长整型                           long                                                4/8(>=int范例的巨细)
 更长的长整型                long long                                         8
 单精度浮点型                float                                                 4
 双精度浮点型                double                                             8
为确保步伐移植通用性,只管利用固定巨细的数据范例,只管不实用long范例。

size_t 是一些C/C++标准在stddef.h中界说的,size_t 范例表现C中任何对象所能到达的最大长度,它是无符号整数

它是为了方便体系之间的移植而界说的,差别的体系上,界说size_t 大概不一样。
size_t在32位体系上界说为 unsigned int,也就是32位无符号整型。在64位体系上界说为 unsigned long ,也就是64位无符号整形。与指针巨细相称。
size_t 的目标是提供一种可移植的方法来声明与体系中可寻址的内存地区同等的长度。

size_t 在数组下标和内存管理函数之类的地方广泛利用。比方,size_t 用做sizeof 利用符的返回值范例,同时也是许多函数的参数范例,包罗malloc 和strlen。

2.各种格式符号


%c        字符型
%d        整型十进制(有符号)
%u        整型十进制(无符号) -> unsigned int
%f        单精度浮点型
%lf        双精度浮点型
%s        字符串型
%p        地点范例(十六进制打印,占满地点线。例:32位地点线时,会有8位十六进制数
             ,表现地点。)
%x        十六进制打印(以最高位不为0那一位开始打印)
%zu        size_t范例


3.每种数据范例所占内存巨细(字节)


利用符: sizeof(盘算变量或范例所占内存空间的巨细,以字节为单元。)
  1. #define _CRT_SECURE_NO_WARNINGS 1
  2. #include <stdio.h>
  3. //每种数据类型所占内存大小(字节)
  4. int main ()
  5. {
  6.         printf("%zu\n", sizeof(char));
  7.         printf("%zu\n", sizeof(short));
  8.         printf("%zu\n", sizeof(int));
  9.         printf("%zu\n", sizeof(long));
  10.         printf("%zu\n", sizeof(long long));
  11.         printf("%zu\n", sizeof(float));
  12.         printf("%zu\n", sizeof(double));
  13.         printf("%zu\n", sizeof(size_t));
  14.         return 0;
  15. }
复制代码
在VS-2022平台,x64(64位)下,要用%zu来汲取sizeof的盘算值,否则会提示“printf”: 格式字符串“%d”须要范例“int”的参数,但可变参数 1 拥有了范例“size_t”
x86(32位)用%d汲取,不会提示错误。
为进步步伐可移植性,接纳x64的写法。

4.盘算机内存单元之间的换算


bit(比特)(位)  —> Byte(字节) —> KB —> MB —> GB —> TB
                                8                        1024     1024    1024     1024

1K = 1024bit                                        1KB = 8K                   
1M = 1024K                                         1MB = 8M
1G = 1024M                                         1GB = 8G
...                                                          ...
留意:根本单元是bit还是Byte

bit(比特) (位):盘算机中最小的单元,表现一位二进制数 0/1。

                                                                               有符号:-128 ~ +127       
例:char:1(Byte)—> 8(bit) —> 
种状态 —>
                                                                               无符号:0 ~ 
 (0~255)

5.C语言的整数和小数


C语言中,整数默认是int,小数默认是double。

1>e:\c\projects\test\test\test.c(5): warning C4305: “初始化”: 从“double”到“float”截断
例:float a = 3.14;//告诫从double到float截断,精度丢失。
                改
        float a = 3.14f;//消撤消告诫

四、变量


 C语言语法规定,变量要界说在当前代码块的最前面。
       
                局部变量:界说在代码块内部的变量
变量
                全局变量:界说在代码块外部的变量

1.作用域


                局部变量的作用域是变量地点的局部范围
作用域
                全局变量的作用域是整个工程

extern int a;//extern 声明外部符号,声明另一个源文件中界说的变量。

2.生命周期


                   局部变量的生命周期,进作用域开始,出作用域竣事。
生命周期
                   全局变量的生命周期是整个步伐的生命周期

3.局部变量优先


当局部变量和全局变量同名时,局部变量优先。
  1. #define _CRT_SECURE_NO_WARNINGS 1
  2. #include <stdio.h>
  3. //局部变量优先
  4. int a = 0;
  5. int main ()
  6. {
  7.         int a = 1;
  8.         printf("a=%d\n", a);
  9.         return 0;
  10. }
复制代码



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表