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.


尾记

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

相关推荐
多弗朗皮卡丘1 小时前
C语言梦开始的地方16:结构体
c语言·开发语言·windows
2401_862880822 小时前
Linux应用层开发 --- 多任务
linux·服务器·c语言
心仪久了会沦陷2 小时前
数据结构入门系列——顺序表详解:概念、分类与动态实现
c语言·数据结构·经验分享·笔记·开源
witton2 小时前
xmake中将proto文件生成C/C++文件然后再编译链接进项目
c语言·c++·mingw·protobuf·xmake·protobuf-c·protoc-gen-c
dear_bi_MyOnly2 小时前
C语言控制语句与循环逻辑精讲
c语言·开发语言·学习·分类
M78佐菲13 小时前
c语言学习笔记:排序与查找方法整理
linux·c语言·笔记·学习·算法
wWYy.14 小时前
C++与C的区别
c语言·c++
LuminousCPP15 小时前
数据结构‑二叉树(二):二叉堆从零实现|Heap结构设计 + 建堆优化 + 堆排序深度解析
c语言·数据结构·笔记·二叉树
程序员与背包客_CoderZ18 小时前
高性能分布式KV存储引擎RocksDB入门与C/C++编码实战
c语言·开发语言·数据库·c++·分布式·分布式数据库·rocksdb
william_yangshun19 小时前
【大模型部署实战】kimi-k3-in-c 中文版:用 176KB 纯 C99 引擎在 CPU 上跑 Kimi K3 上手指南
c语言·开发语言