C语言入门(基础一)

这篇文章会带大家过一遍C语言的多数知识点,比较浅,受众应该是没学过编程但是想要入门的小伙伴

第一个C程序

为了让大家快速了解c语言的代码书写方式,这里给大家一个简单的C语言代码:

#include <stdio.h>

int main()
{
	printf("Hello world!\n");
	return 0;
}

编译之后是这样的:
在这里插入图片描述
对这个代码经行剖析:
1:main是主函数(之后会提到),对每一个C程序来说都是不可或缺的,而且每个工程只能有一个主函数,可以说是独一无二,它是程序的入口。

2:int是函数的返回类型(同上),它确定程序执行完返回的值的类型是整形,所以这个程序在最后return 0;同时注意return 0,是程序的出口,意味着结束。

3:printf是一个输出函数,它可以向控制台进行输出文字或符号,()中的内容称为它的参数(main函数在这个程序中的参数为空),可以看到我们在其中输出了Hello world!,在控制台中也是输出了。

4:\n是转义字符,它的作用是换行,相当于电脑的enter键。

关键字与标识符

C语言中一有32个关键字
在这里插入图片描述
在这里就不一一解释了,有兴趣的小伙伴可以点击链接c语言关键字解释

标识符:
为了能够使用变量,函数什么的,我们需要按照规定来创建标识符。
创建规则:
1:标识符的开头必须是字母或者下划线,例如a,ab,cd,_a,都是正确的,但是1a就不对了。
2:其他位置可以由字母,下划线,数字构成,要注意字母的大写和小写是不一样的。
3:标识符不可以和关键字同名。

数据类型

C语言的数据类型有四种:基本类型,构造类型,指针类型,空类型。
在这里只介绍基本类型
基本类型也有四种:整形,字符型,浮点型(实型)。
在这里插入图片描述
2,4,4,4,8分别是每个类型对应的字节大小。

常量

常量是不可以改变的量,和变量刚好相反。
C语言的常量分为:字面常量,const修饰的常变量,#define定义的标识符常量以及枚举常量。
字面常量:
在这里插入图片描述
这里的3.14,10,‘a’,“abcdef”都是字面常量,虽然没什么意义,但是它存在。

const修饰的常变量
直接上代码:
在这里插入图片描述
在这段代码中,a是int型变量,放的内容是12,b是int型变量,放的也是12,但是被const修饰,在我们改变a的值的时候没问题,但是当改变b的值得时候就会出现问题,错误是“b”:不能给常量赋值,这告诉我们变量b是一个常量?其实b依然是变量,只不过它被const修饰,拥有了常量不可以被改变的属性,所以将被const修饰的变量称为常变量

#define定义的标识符常量:
在这里插入图片描述
在这里定义了三个标识符常量num,num1,num2,它们是在主函数外面定义的,可使用范围是整个工程。

枚举常量
在这里插入图片描述
这段代码定义了一个枚举类型:enum Sex(相当于基本类型),它的内容有三个,man,woman,secret,它们就是枚举常量。
在主函数中可以看到,s被enum Sex修饰,也就是说s是一个枚举变量,而s所能取的值也只有枚举中的三个,从打印结果来看枚举常量是有值的,分别是0,1,2,可以知道枚举常量的值是不断加一的。
其实我们可以在创建枚举常量的时候去对其赋初值,例如
在这里插入图片描述
将man的初始值设为3的话,woman就是4,secret就是5。

转义字符+阿斯克码值

之前我们已经使用过一个转义字符’\n’了,在这里我放一个转义字符的表吧
在这里插入图片描述
阿斯克码值:每个字符都有其所对应的阿斯克码值,这就是为什么我在#define定义num1的时候定义的是’a‘,%d打印的时候却是97;
在这里插入图片描述

字符串

在了解字符串之前我们先了解下一下什么是字符,字符就是所有你能够在键盘上打出来的东西,在C语言中如何表示一个字符呢?由单引号引起的一个数字,字母,符号都表示字符
在这里插入图片描述
切记’‘之内只能有一个字符。
字符串:
双引号引起的一串字符叫做字符串,那么我们如何才能将一串字符存起来呢?这里引入数组的概念,数组就是存放多个元素的东西,好比数学上的集合,有多个元素,例如:
在这里插入图片描述
arr就是一个字符数组
在这里我为什么要将数组元素设置成为6个呢?看图:
在这里插入图片描述
可以看出arr中存放了0-5一共六个元素,请看最后一个元素,放的竟然是\0,那这就不得不说\0是字符串的结束标志了,虽然我们在初始化数组的时候并没有打\0,但是系统却帮我们加上了,那我如果这样做呢?
在这里插入图片描述
看到这输出结果,是不是有些惊讶?为什么会这样?
因为我们前面说\0是字符串的结束标志,而我在打印arr的时候从a开始打印,然后是b,直到f,但是f不是\0,所以打印不会停止,会继续向下进行,直到找到\0之前打印的都是一些随机值,读者可以尝试尝试,不同版本的编译器打印出来是不一样的。
除了这种方法验证字符串会自动添加\0外,还有一种方法:
在这里插入图片描述
sizeof是一个关键字,它可以计算()中数据的大小,如上图所示,我们初始化数组为abcde,按常理来说大小应该是char类型的大小5=15=5才对啊,但是为什么结果是6?这就表明还有一个字符,只不过我们看不见,这个字符就是’\0‘;

看的再多也不如自己上手写几个代码,让我们一起加油,坚持每天练习,向大厂前进!!!
内容都是本人自己的理解,如有错误,恳请斧正。

  • 22
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值