【C语言攻略】-从零开始的C语言生活----初阶篇

各位大佬大家好啊!从今天开始正式的学习C语言,就废话不多说

我所使用编译器:【Visual Studio 2019】

目录

了解什么是C语言

     C语言的发展史

第一个C程序——梦开始的地方

数据类型

数据类型所占内存大小(sizeof关键字)

scanf输入函数

结语


了解什么是C语言

        首先什么是语言?能够用来交流的就是语言,用嘴巴说话交流是一种语言,用肢体动作表示行为的是肢体语言,还有手语。人与人之间用嘴巴交流就有很多种语言,例如:汉语,英语,日语,韩语等等五花八门的语言。而C语言,顾名思义也是一种语言,只不过不是人与人之间交流的语言,是用来与计算机交流的其中一种语言。

     C语言的发展史

        早期的计算机语言是使用二进制表示的机器语言,后来衍生出了比机器语言更加方便的汇编语言,最后产生了现在使用的高级语言,C语言于20世纪70年代初问世。他源于UNIX操作系统,最初是用于改写汇编语言。为了将UNIX操作系统更大范围地进行推广,1977Dennis M.Ritchie发表了不依赖于具体机器系统的C语言编辑文本——《可移植的C语言编译程序》,这标志着C语言正式诞生。

       经过了40多年的洗礼,C语言不仅没有没落,反而影响越来越远,依然在TIBOBE的榜单上保持着前三的优势。所谓C生万物,许多其他语言都是由C语言为基础所衍生出来的,并且当前处于统治地位的三大操作系统——Windows、Linxe、UNIX的绝大多数代码都是用C/C++开发的。C语言的应用领域还特别广泛,从上层应用到底层的操作系统,再到各种嵌入式应用等,C几乎无处不在。

取自百度
取自百度

第一个C程序——梦开始的地方

#include<stdio.h>
int main()
{
    printf("hello world!");
    return 0;
}

        当你在编译器底下输入了这串代码后,编译运行就会在控制台上打印输出一串hello world!的代码,相信很多的初学者的打的第一个C语言代码都是这串代码吧。

简单解释下这串代码

       首先是头文件,#include<stdio.h>,意思是标准的输入输出函数,printf打印函数就包含在这个头文件里,如果没有包含这个头文件编译器是无法使用printf这个函数,会报错

然后是int ,int是一个整形的数据类型。

main函数,非常重要!!!main函数是程序的入口,一个工程都必须有一个main函数,有且只能有一个。

return 0;就是返回0 , 代表main函数程序结束。

在一些比较老的书里,会用void main()定义main函数。这是在C99标准之前的定义方式,现在已经没人用了,我们现在都是使用C99标准之后的定义。

数据类型

C语言给出很多的数据类型,用来描述不同的东西,比如:一个人的姓名、年龄、也可以描述像圆周率这样的小数。

数据类型表
 char字符型
short短整型
int整型
long长整型
long long更长的整形
float单精度浮点型
double双精度浮点型

定义方式: 数据类型  变量名称 = 初始值;

例如:

#include<stdio.h>
int main()
{
    char ch = 'c';
    int a = 10;
    //float类型在后面加上一个f,用来告诉编译器这是一个float类型的数据
    float =3.14f;
    return 0;
}

需要注意:在给变量赋初始值时,最好是给变量赋值相应的初始值,如字符型类型赋一个字符型的变量,整形赋值一个整数,浮点型赋值一个小数。

数据类型所占内存大小(sizeof关键字

这里介绍一个新的关键字sizeof,用来计算数据所占内存大小,合理使用数据类型。

使用方法:

#include<stdio.h>
int main()
{ 
    //关键字:sizeof() 计算数据所占的空间大小
    printf("char所占空间大小=%d\n", sizeof(char));//占1个字节
    printf("short所占空间大小=%d\n", sizeof(short));//占2个字节
    printf("int所占空间大小=%d\n", sizeof(int));//占4个字节
    printf("long所占空间大小=%d\n", sizeof(long));//占4/8个字节
    printf("long long所占空间大小=%d\n", sizeof(long long));//占8个字节
    printf("float所占空间大小=%d\n", sizeof(float));//占4个字节
    printf("double所占空间大小=%d\n", sizeof(double));//占8个字节
    printf("long double所占空间大小=%d\n", sizeof(long double));//8个字节,但是可以大于8个字节
}

       其中解释一下为什么long占4或者8个字节,如果当long在32位编译器下运行long会开辟产生4个字节的空间大小,如果是在64位的编译器下运行的,结果就是8个字节。根据数据类型所占大小去合理分配使用数据类型达到节省内存空间的效果。

从这里引出一条新的知识:一个字节是计算机内的存储计量单位。一个字节是八个比特(bit)位,比特是内存单位最小的单位。

计算机内存单位表
1Byte(字节)8bit(比特)
1KB(千字节)1024Byte
1MB(兆字节)1024KB
1GB(吉字节)1024MB
1TB(万亿字节)1024GB
1PB(千万亿字节)1024TB
1EB(百亿亿字节)1024PB
1ZB(十万亿亿字节)1024EB
1YB(一亿亿亿字节)1024ZB
1BB(千亿亿亿字节)1024YB
......

注意的是:当你定义一个变量时,数据就已经开始占用空间了。

例如你定义了一个int a; 其实就已经在内存开辟了4个字节的空间大小用来存放变量a。

scanf输入函数

      用来对变量进行赋值,当程序进行到这个函数时会暂停下来等用户输入一个信息。

#include<stdio,h>
int main()
{
    int a = 0;
    int b = 0;
    //输入两数
    scanf("%d %d",&a,&b);//&是取址符号,用来获取变量的地址,修改变量的参数
    int sum = a + b;
    printf("sum = %d",sum);
    return 0;
}

需要注意:输入两个数的时候如果输入的是scanf("%d,%d",&a,&b); 在输入的时候也必须是以逗号隔开,要和程序的输入保持一致,如果是scanf("%d%d",&a,&b); 中间没有空格隔开,编译器默认有空格。

提示:我所使用的编译器VS2019是不支持scanf直接使用的,需要将scanf改为scanf_s使用。

 这里我非常不推荐将scanf改为scanf_s使用,因为scanf_s是VS编译器的函数,当你把代码移植到了其他编译器他又用不了了,这样你的代码移植性就变得非常差。

假如你的代码有上千或者上万行,你也不可能去一个一个去修改他吧,所以你不能惯着他的。那怎么办呢?如果不用那个scanf_s编译器给你报错。其实解决的办法也很简单,只要在代码的第一行加上一条语句就行了。

这条语句就是上面报错的 ,把这条代码复制下来,加上#define 放到代码的第一行,一定要是第一行,这样我们使用scanf就不会有问题了。

 

结语

暂时就先写这么多内容吧,之后的内容待续……

我翻开群聊一看,这历史记录没有娱乐。歪歪斜斜的每页上都写着“我爱学习”几个字,我横竖睡不着,仔细看了半夜,才从字缝里看出来,满本上都写着两个字“内卷"!

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值