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.


尾记

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

相关推荐
日拱一卒——功不唐捐4 小时前
红黑树删除(C语言)
c语言·数据结构
ziguo11228 小时前
C/C++ 错误处理全解:从 errno 到 C++ 异常
linux·c语言·c++·windows·visual studio
小+不通文墨11 小时前
--no-multibyte-chars 解决OLED_data.c移植后中文乱码问题
c语言·经验分享·笔记·学习
dtq042411 小时前
C语言-文件操作1
c语言·开发语言·学习
Suxing912 小时前
C语言基础分享:“群租房”和“点名册”——联合体与枚举
c语言·算法·c#
q275513004212 小时前
AS717 Type-C转DP 8K方案外维少 AS717电路图
c语言·开发语言
自然常数e13 小时前
顺序表专题
c语言·数据结构·visual studio
j7~14 小时前
【数据结构初阶】队列的实现(链式队列 + 循环队列)--详解
c语言·开发语言·数据结构·学习·队列·queue·c\c++
草莓熊Lotso14 小时前
【Linux网络】深入理解Linux IO多路复用:select服务器完善、内核原理与poll实战
linux·运维·服务器·c语言·网络·c++
king_linlin14 小时前
算法基础——算法复杂度
c语言·开发语言·数据结构·算法