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.


尾记

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

相关推荐
DARLING Zero two♡3 小时前
关于我、重生到500年前凭借C语言改变世界科技vlog.16——万字详解指针概念及技巧
c语言·开发语言·科技
QAQ小菜鸟4 小时前
一、初识C语言(1)
c语言
何曾参静谧4 小时前
「C/C++」C/C++ 之 变量作用域详解
c语言·开发语言·c++
互联网打工人no14 小时前
每日一题——第一百二十一题
c语言
朱一头zcy5 小时前
C语言复习第9章 字符串/字符/内存函数
c语言
此生只爱蛋5 小时前
【手撕排序2】快速排序
c语言·c++·算法·排序算法
何曾参静谧6 小时前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++
lulu_gh_yu6 小时前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
~yY…s<#>8 小时前
【刷题17】最小栈、栈的压入弹出、逆波兰表达式
c语言·数据结构·c++·算法·leetcode
EricWang135810 小时前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端