C语言入门(基础一)

Posted Aline2021-yxz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘;

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

以上是关于C语言入门(基础一)的主要内容,如果未能解决你的问题,请参考以下文章

C语言入门(基础一)

.为啥c语言里有的变量要赋初值,有的变量不用赋。

c语言如何通过函数来改变已经赋初值的全局变量的值?

ZZNUOJ_Java语言从非零基础到入门讲解

ZZNUOJ_Java语言从非零基础到入门讲解

ZZNUOJ_Java语言从非零基础到入门讲解