重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

初识C语言(1)基础认识C语言内容-创新互联

文章目录
  • 认识C语言
    • 什么是语言?
    • 那什么又是C语言呢?
      • 计算机语言的发展
      • C生万物,編程之本
  • 第一个C语言程序
    • 编译器的基本使用
  • 数据类型
    • 数据类型的使用
  • 变量、常量
    • 变量命名
    • 变量的分类
      • 局部变量
      • 全局变量
    • 变量的作用域和生命周期
    • 常量
  • 字符串
  • 转义字符

成都创新互联专注于博湖企业网站建设,响应式网站开发,成都做商城网站。博湖网站建设公司,为博湖等地区提供建站服务。全流程按需网站策划,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务认识C语言

首先,来看C语言之前,我们先来讨论一下“语言”

什么是语言?

(语言是人类用嘴说出来的话,它由语音、语汇和语法所组成,它跟思想有密切关系,是表达情意、传递思想的重要工具,是人类区别于其他动物的本质特征。)
从官方解释来看,语言其本质来说就是沟通的工具。
人和人之间的语言:汉语、英语、法语、日语 西班牙语…
那人和机器之间又怎么沟通呢?
于是演变出了计算机语言:C/C++/Java/Python/go等上百种语言

那什么又是C语言呢?

C语言是一门通用计算机编程语言 ,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级储存器、产生少量机器码以及不需任何运行环境支持便能运行的编程语言。

计算机语言的发展

计算机语言的发展

C生万物,編程之本

C语言是母体语言,是人机交互接近底层的桥梁。学习C有助于更好的理解C++,Java,C#,Perl以及其他基于C的特性的语言。
第一开始就学习其他语言的程序员往往不能很好的掌握继承自C语言的基本特性。
同时近50年间,在TIOBE排行榜中,C/C++位置长期霸占前三名,没有丝毫撼动,可谓经典永不过时!
语言排行榜

第一个C语言程序 编译器的基本使用

C语言的实现需要编译器,这里以VS2019(集成开发环境(IDE))为示例
实现一个C语言代码的步骤:
(1)在编辑器中创建一个项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)在项目中创建xxx.c文件
当创建好项目,进入界面,找到解决方案资源管理器
在这里插入图片描述
然后鼠标右键点击源文件,在子菜单中鼠标移动到添加,在下一级菜单中点击新建项
在这里插入图片描述
注意:如果你的界面中未出现解决方案资源管理器,可从界面上方工具栏中的视图中找到
在这里插入图片描述
当你添加新建项后,会进入下图界面,先点击C++文件,随后将名称改为.c为后缀的文件,最后点击添加
在这里插入图片描述

(3)编写代码并运行
这就是你创建好的C语言源文件,点开你的文件进行代码编写即可
在这里插入图片描述
当你编写好代码后,在工具栏中的调试中点击开始执行或开始调试(也可使用命令后对应的快捷键进行操作),即可使代码开始运行
在这里插入图片描述

数据类型

在我们使用C语言编写代码时,,总离不开去定义一些变量,那这些数据在计算机内存中又是怎么存储的呢?又是以什么方式进行存储?接下来我就介绍一些基础的数据类型

C语言的数据类型基本有以下几种:

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

不知你有没有想过为什么会创建这么多的数据类型呢?设置一种数据类型不就行了吗?何必自取其扰呢?
其实设置这么多数据类型都是有他的缘由的,为回答这个问题,我们还是先看一下每种类型所创建的空间在内存中所占的大小。

#includeint main()
{
	printf("%d\n", sizeof(char));
	printf("%d\n", sizeof(short));
	printf("%d\n", sizeof(int));
	printf("%d\n", sizeof(long));
	printf("%d\n", sizeof(long long));
	printf("%d\n", sizeof(float));
	printf("%d\n", sizeof(double));
return 0;
}

在这里插入图片描述
从运行结果来看,每种类型在内存中所占大小是不同的,所以给每一个变量用一个合适的数据类型进行修饰,可以更高效地利用内存空间,节省内存。在我们早期的计算机中,存储空间很小,内存是很珍贵的,能省则省,所以我们才要给数据分配合适的存储空间进行使用。
但是我们这里代码运行的结果所呈现出来的数字又是什么意思呢?它的单位又是什么呢?为了解答这个问题,就不得不先解释一下数据在内存中是如何存储的了。在这里先告诉大家这里的单位是字节(byte)
计算机中,最小的单位是比特位(bit),再往上就是字节(byte),生活中常见的有kb、mb、gb、tb、pb。
在这里插入图片描述

众所周知,计算机是一个硬件,需要通电,分为正电和负电,正好对应1/0二进制位,所以,我们计算机存储和处理的就是二进制,那么一个二进制位(也就是0/1)就被储存一个bit的空间里
1个字节由8个比特位(bit)组成,01001001就代表一个字节
下图是一个整型数据存储的流程
在这里插入图片描述

数据类型的使用
//数据类型 变量名 = 初始值
char ch = 'Q'
int age = 19
float stature = 1.77f

以上述代码第一个char类型举例,它的意思代表的是:向计算机 用char字符数据类型 申请一块1个字节的存储空间,并为该空间取名为ch,并在该空间内存储‘Q’。
另外注意:.C语言规定,sizeof(long)>=sizeof(int),所以我们经常见到sizeof(long)为4或者8(建议一般情况下尽量不使用long)

变量、常量 变量命名

1.只能由字母(包括大写和小写)、数字和下划线(_)组成
2.不能以数字开头
3.长度不能超过63个字符
4.变量名中区分大小写
5.变量命中不能使用关键字

变量的分类 局部变量

局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内, 离开该函数后再使用这种变量是非法的。

全局变量

全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。 只有在函数内经过说明的全局变量才能使用。全局变量的说明符为 extern。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。

//示例
#includeint a = 100;//全局变量
int main()
{
	int b = 10;//局部变量
	return 0;
}

但如果出现以下情况,局部变量名和全局变量名冲突时,程序又怎么运行呢?两个变量的设置又有没有问题呢?

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

运行结果
在这里插入图片描述
从运行结果来看,程序顺利执行,说明变量设置没有问题,但是是局部变量被执行了
总结:当局部变量和全局变量同名时,局部变量优先使用(戏称:就近原则)

变量的作用域和生命周期

作用域
作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
1.局部变量的作用域是变量所在的局部范围
2.全局变量的作用域是整个工程
生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束
2.全局变量的生命周期是:整个程序的生命周期

常量

C语言中的常量和变量的定义的形式有所差异
C语言中的常量分为以下几种:
字面常量
const修饰的常变量
#define定义的标识符常量
枚举常量

#include//举例
enum Sex
{
	MALE,
	FEMALE,
	SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
	//字面常量演示
	3.14;//字面常量
	1000;//字面常量

	//const修饰的常变量
	const float pai = 3.14f;//这里的pai是const修饰的常变量
	pai = 5.14;//pai是不能直接修改的!

	//#define的标识符常量演示
	#define MAX 100
	printf("MAX = %d\n", MAX);

	//枚举常量演示
	printf("%d\n", MALE);
	printf("%d\n", FEMALE);
	printf("%d\n", SECRET);
	//注意:枚举常量的默认是从0开始,依次向下递增1
	return 0;
}

注:
上面例子中的pai被称为const修饰的常变量,const修饰的常变量在C语言中只是在语法层面限制了变量pai不能被改变,但是pai本质上还是变量,所以叫常变量

字符串
"hello word.\n"

这种由双引号(Double Quote)引起来的一串字符成为字符串字面值(String Literal),或者简称字符串
注:字符串的结束标志是’\0’的转义字符
在计算字符串长度的时候’\0’是结束标志,不算作字符串内容

#include//下面代码,打印结果是什么?为什么?(突出'\0'的重要性)

int main()
{
    char arr1[] = "bit";
    char arr2[] = {'b', 'i', 't'};
    char arr3[] = {'b', 'i', 't', '\0'};
    printf("%s\n", arr1);
    printf("%s\n", arr2);
    printf("%s\n", arr3);
    return 0;
}
转义字符

如果我们在屏幕上要打印一个目录

c:\code\test.c

你可能写下的代码是这样的

#includeint main()
{printf("c:\code\test.c\n");
    return 0;
}

但运行结果却是这样的
在这里插入图片描述
为什么会出现这种结果呢,这里就需要提及一下转义字符
转义字符顾名思义就是转变意思
下面举例一些转义字符:

转义字符释义
\?在书写连续多个问号时使用,防止他们被解析成三字母词
\’用于表示字符常量’
\“用于表示一个字符串内部的双引号
\\用于表示一个反斜杠,防止它被解释为一个转义序列符。
\a警告字符,蜂鸣
\b退格符
\f进纸符
换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。 如: \130 X
\xdddd表示2个十六进制数字。 如: \x30 0

本篇只是大致介绍一下C语言的基础内容,其他比如if语句,for循环语句,函数等知识会在后面文章中一一提及。
希望对你有所帮助。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站名称:初识C语言(1)基础认识C语言内容-创新互联
本文路径:http://cqcxhl.cn/article/dhchpp.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP