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.


尾记

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

相关推荐
森焱森26 分钟前
AArch64架构及其编译器
linux·c语言·单片机·架构
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧1 小时前
C语言_数据结构总结6:链式栈
c语言·开发语言·数据结构·算法·链表·visualstudio·visual studio
commonbelive2 小时前
考研机试常见基本题型
c语言·c++·算法
Czzzzlq3 小时前
STM32基础教程——对射式红外传感器计数实验
c语言·stm32·单片机·嵌入式硬件·mcu
达帮主3 小时前
13.C语言指针的易错点
c语言·开发语言
马剑威(威哥爱编程)6 小时前
C语言操作MySQL从入门到精通
c语言·mysql·adb
Kurbaneli12 小时前
深入理解 C 语言函数的定义
linux·c语言·ubuntu
Archer19412 小时前
C语言——链表
c语言·开发语言·链表
夜晚中的人海12 小时前
【C语言】------ 实现扫雷游戏
android·c语言·游戏
面会菜.13 小时前
C语言(队列)
c语言·开发语言