c语言基础—基础格式与简单数据结构

在许多书籍里,都会有一段基础的代码,例如:

c 复制代码
#include<stdio.h>
int main(){   
    return 0;
}

这是一段基础格式,人们在写程序前大多都会先写这一段,接下来看每一句的作用.

c 复制代码
#include<stdio.h>

这里的 .h 后缀代表头文件,表示导入外部定义的函数或数据结构,其他的可以翻译为include:包含 ,std:标准 i:输入 o:输出;

组合在一起的意思就是包含了一个标准输入输出库,它的用途后续会说到.

c 复制代码
int main(){    
    return 0;
}

int表示返回的值为整数
main函数是程序的入口,每个程序中有且只能有一个,不能没有 .

( )用于传递参数,这里没有参数,也可写main(void),效果一样

return 0;返回一个整数0,与int呼应,一般返回0即代表程序正常结束.


在介绍完后,我们会用到一个输出函数printf,这个函数来自stdio 库,所以在使用前需要在头文件声明stdio.h否则会报错,它的格式为printf("打印的值");例如:

c 复制代码
printf("hello,world");

执行代码后便可以打印出hello,world.

如果想要在打印后换行,可以加入换行符\n, 如

c 复制代码
printf("hello,world\n");

像这样可以打印出任意文字,但是如果不知道打印的具体值,是不是就不能打印了呢,这时可以使用占位符来表示后面要输出的值的类型,例如:

c 复制代码
printf("%d",100-10)

其中%d代表 有符号整数,即代表可以有正负符号的整数;

同样的,也有 无符号整数 %zu,代表非负整数.(其余的等以后我学到再另外写)


简单的数据结构

不同的数据结构用于存储不同的数据,总体上分为三部分

  1. 整数型,代表1 2 3 4这样的整数
  2. 浮点型,也叫小数,如100.6
  3. 字符型,单个字母,如a

其中他们又按照占用大小各自分为

  1. short 短整型 2. int 整型 3. long 长整型 4. long long 长长整型
  2. float 单精度浮点型 2. double 双精度浮点型
  3. char 字符型

看起来很复杂,不过我们可以使用sizeof关键字来获取数据类型所占用的字节数,语法如下:

c 复制代码
printf("short= %d\n", sizeof(short));
printf("int= %d\n", sizeof(int));
printf("long= %d\n", sizeof(long));
printf("long long= %d\n", sizeof(long long));
printf("float= %d\n", sizeof(float));
printf("double= %d\n", sizeof(double));
printf("char= %d\n", sizeof(char));

使用sizeof(short)可以得到short的内存大小,加上%d声明后便可以打印出来具体的数值

最后引入一个知识: 计算机内存的最小单位是bit--比特位 , 然后是byte--字节, kb, mb, gb, tb, pb,......

一个字节=八个比特位,一个kb=1024个字节,一个mb=1024个kb, 以此类推......

因为一个bit可以表示一个1或者0, 两个bit就可以存10或者11这样的二进制数, 换成十进制就是2和3,

由于计算机能理解二进制,所以比特位越多,可以表示的数也就越多,如short有2个字节,就是16个比特位,可以表示的整数范围是 -32768到32767.


尾记

写这篇笔记的目的是为了巩固学到的知识,可能有许多地方的理解并不到位,大佬轻喷,这也是我第一次在网上分享笔记,希望能够得到大家的批评与建议,谢谢(●'◡'●)

相关推荐
wangjialelele12 小时前
平衡二叉搜索树:AVL树和红黑树
java·c语言·开发语言·数据结构·c++·算法·深度优先
森G12 小时前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu
weixin_3954489113 小时前
mult_yolov5_post_copy.c_cursor_0205
c语言·python·yolo
Z9fish13 小时前
sse哈工大C语言编程练习20
c语言·开发语言·算法
晓131313 小时前
第六章 【C语言篇:结构体&位运算】 结构体、位运算全面解析
c语言·算法
梵刹古音13 小时前
【C语言】 指针与数据结构操作
c语言·数据结构·算法
刘琦沛在进步14 小时前
【C / C++】引用和函数重载的介绍
c语言·开发语言·c++
VekiSon15 小时前
Linux内核驱动——杂项设备驱动与内核模块编译
linux·c语言·arm开发·嵌入式硬件
2的n次方_16 小时前
CANN Ascend C 编程语言深度解析:异构并行架构、显式存储层级与指令级精细化控制机制
c语言·开发语言·架构
_F_y16 小时前
C语言重点知识总结(含KMP详细讲解)
c语言·开发语言