C语言知识入门概述1(纯干货笔记)

本文从Helloworld程序入手,介绍了C语言的基本数据类型及其用途,并详细解释了变量与常量的概念及使用方法。此外,还探讨了字符串操作、转义字符的应用及注释的书写规范。

1.Hello world

1. 第一个程序的运行

#include <stdio.h>

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

虽然这一步是非常简单的代码运行, 但是几乎是所有程序猿步入互联网的第一个运行的代码,每个语言的拥有着不同的代码格式,这也是代码的魅力所在,每个人的代码都是独一无二的风格。

2.数据类型

人们创造代码就是为了解决生活中的问题,所以为了更好的表示生活中所遇见的数值,故而编译器中存在了许多的数据类型。比如说:
下面展示一些 数据类型的代码

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

这些数据类型的使用可以取决于你需要的值的大小而选择,float和double尤其得注意,有时候double会出现无法四舍五入的情况,这时候也无需死磕,换成float可解决问题,反之亦可。

那么每个类型的大小如何用编译期计算呢?

#include <stdio.h>
int main()
{
	printf("%d\n", sizeof(char)); //打印的结果是1
	return ;
}

以上只举出一个例子,接下来可训练自己敲出剩余部分。

- 类型的运用

// char类型可以用于字符串以及字符
char ch = 'a';

//int 可用于整数值
int age = 18;

3.变量,常量

显而易见的,变量就是可以改变值的量,常量就是不变的量。我们通常用 = 来赋值变量

int num = 100;
char ch = 'a';
double pai = 3.14;

变量也可以分为局部变量和全局变量

#include <stdio.h>

int a = 10;//全局变量
int main()
{
	int a = 20;//局部变量
	printf("%d\n", a);
	return 0;
}

这个代码运行的结果是10, 所以我们可以知道全局变量和局部变量共存的时候局部变量优先被编译出来。当然最好还是不要这样coding,如果硬要使用这样的代码的话也无伤大雅。

同时,代码也是可以输入的,我们可以用scanf这个语句来输入你想要输入的东西。

int main()
{
	int num1 = 0;
	int num2 = 0;
	scanf("%d%d", &num1, &num2);
	//注意取地址符(&),有时候编译出错很多概率就是遗漏了这个符号
	//不要在%d后面加上\n,会出现编译错误。
	printf("%d\n", num1 + num2);
	return 0;
}

变量的作用域和生命周期

局部变量的作用域:变量所在的局部范围

int main()
{
	int a = 10;//这个变量的作用域就是{}中间的范围
	return 0;
}

全局变量的作用域:整个工程

int a = 20;
int main()
{
    printf("%d\n", a);//我们可以发现a照样可以打印出来
	return 0;
}

全局变量跨文件也可以使用,不过会出现未声明的标识符,不过可以再次声明一次以解决这个问题。
如: 声明外部变量extern

生命周期

生命周期指的是变量的创建到变量的销毁之间的一个时间段。

局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束。

int main()
{
	{	
		int a = 10;
	}
	printf("%d\n", a);
	//我们可以发现不能打印出a的值,意味着a的值已经销毁
	return 0;
}

全局变量的生命周期:整个程序的生命周期。意味着内存空间还在,这个变量就可以运行。

4.字符串,转义字符,注释

字符串

通常用双引号("")引起来的一串字符就叫字符串.

"hello world\n"

\0是字符串的结束标志,现在我们来看看它的用法

int main()
{
	char arr1[] = "hehe";
	char arr2[] = {'h', 'e', 'h', 'e'};
	char arr3[] = {'h', 'e', 'h', 'e', '\0'};
	
	printf("%s\n", arr1);  //打印hehe
	printf("%s\n", arr2);  //打印hehe烫烫烫烫hehe
	printf("%s\n", arr3);  //打印hehe
	
	return 0;
}

我们也可以用strlen来看看有无\0的变化。

char ch2[] = { 'a', 'b', 'c', 'd', 'e', 'f', '\0' };	
printf("%d\n", strlen(ch2));//打印的是6 

//如果没有\0的话结果就不一样了是一个随机不明确说的值
//大家可以用代码来敲敲

注意:strlen 是库函数- 求字符串长度, \0 是字符串的结束标志,不算入字符长度里

printf("%s\n", ch2)
//%s打印字符串格式

转义字符

我们如果想在电脑上打印一个链接:c:\test\test.c

当我们输入代码时

int main()
{
	printf("c:\test\test.c");
	
	return 0;
}

可以看到输出的小黑框里有部分空白,所以\t就是转义字符而\t的意思就是水平制表符。

我们如果想解决这个问题可以再加一个\反斜杠,防止它被解释为一个转义字符。

int main()
{
	printf("c:\\test\\test.c");
	return 0;
}

注释

可用于不需要的代码以及备注一下难度高的代码的解释。

//c++的注释风格

/*
c语言的注释风格(这个注释是有缺陷所在的)
*/

c语言的注释风格/*不能嵌套注释,不建议使用。

笔力不太行,大家看着玩玩就好,祝大家身体健康,万事胜意。在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值