IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 【C语言篇(初级)】初识C语言——上 -> 正文阅读

[C++知识库]【C语言篇(初级)】初识C语言——上

前言
本篇(初识C语言)主要讲述C语言的一些基础知识,后期还会更新选择语句,循环语句,函数,数组,操作符,指针,结构体等一些知识。如果有错误的地方,还请大佬多多指教,在这里先感谢各位了。
来开启我们的C语言学习之旅吧。

1.什么是C语言

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易
的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语 言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的
C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超 级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制 定了一套完整的美国国家标准语法,称为ANSI
C,作为C语言最初的标准。 [1] 目前2011年12月8
日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标
准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉 字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

2.第一个C语言程序

在这里插入图片描述
代码解析
1.main
main为主函数,一个工程中有且仅有一个主函数,程序是从主函数中的第一行开始开始执行,执行到最后一行后程序结束。
2.printf和#include<stdio.h>
printf为一个库函数,是C语言本事提供的,。库函数是把一些常用函数进行总结并放到一个文件中,printf函数的作用是在屏幕上打印东西,当使用printf函数的时候要与头文件打声招呼,可以认为我要使用你的东西。#include<stdio.h>便实现了调用printf函数。每个库函数都对应相应的头文件,当使用某一个库函数时必须要#include<相应的头文件>。
3.int
int表示整形,放在main的前面,当程序结束的时候需要返回一个整形的数与之相对应。

3.数据类型

开始讲数据类型的时候来讲一下计算机的储存单位,计算机的最小储存单位是bit,简称‘位’,一个bit表示0或1两种状态。
Byte为字节,1Byte=8bit,可以说一个字节含有2的8次方种可能,即256种可能。

存储单位的大小关系:
请添加图片描述
下图为数据的类型:
在这里插入图片描述
出现这么多类型是为了更加丰富的表达生活中的各种值,也可以减小计算机内存的使用。

  • 每个数据类型的大小都是多少呢?

    使用sizeof可以来实现

:sizeof 是一个操作符,用来计算数据类型的大小,所计算出的大小单位为字节

下面我们用sizeof去实现一下
在这里插入图片描述
可以看到每种类型所对用的大小

  • 那么不同的数据类型如何来定义又如何来输出呢?

在这里插入图片描述
有的同学可能会问,输出的时候float和double都可以用%f。但是当用scanf函数是,double类型的要严格按照%lf,所以建议大家以后使用duuble类型的数据输出时,尽量使用%lf;

4.变量,常量

生活中有些值是不变的,例如一个人的性别,血型等等。但是有些值却是变化的,例如年龄,体重等等。

所以针对不变的量,在C语言中,用常量的概念来表示,变化的量则用变量来表示。

4.1定义变量的方法

int age = 150;//定义整型变量
float weight = 45.5f;//定义浮点型变量
char ch = 'w';//定义字符型变量

4.2变量的分类

1. 局部变量
2. 全局变量

include <stdio.h>
int global = 2019;//全局变量
int main()
{
int local = 2018;//局部变量
//下面定义的global会不会有问题?
int global = 2020;//局部变量
printf("global = %d\n", global);
printf("local=%d",local);
return 0;
}

在这里插入图片描述
总结:
上面的局部变量global变量的定义其实没有什么问题
当局部变量和全局变量同名的时候,局部变量优先使用,可以理解为就近原则哈哈。

4.3变量的使用

#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
//这里介绍一下输入,输出语句
//scanf
//printf

4.4变量的作用域和生命周期

作用域

作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的

而限定这个名字的可用性的代码范围就是这个名字的作用域。

1. 局部变量的作用域是变量所在的局部范围。
2. 全局变量的作用域是整个工程。

生命周期

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

1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2.全局变量的生命周期是:整个程序的生命周期。

4.5常量

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

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

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

//#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 本质上还是一个变量的,所以叫常变量。

5. 字符串+转义字符+注释

5.1字符串

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

#include <stdio.h>
//下面代码,打印结果是什么?为什么?(突出'\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;
}

在这里插入图片描述

可以看出当含有\0时,只会打印bit,当没有\0时,将会在bit后面在随机打印一串字符,可也得出\0是字符串的结束标志。

5.2转义字符

假如我们要在屏幕上打印一个目录: c:\code\test.c

  • 我们该如何写代码?
#include <stdio.h>
int main()
{
printf("c:\code\test.c\n");
return 0;
}
  • 实际运行结果却是这样的,到底是怎么一回事儿呢?

在这里插入图片描述
这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思。
看下面的一些转义字符及其他们的作用
请添加图片描述
注:
在表示16进制时,超过9就用小写字母表示,如 \xab,\x3a 等
如何在屏幕上打印 ’ 和 ” ?
在这里插入图片描述

//程序输出什么?
#include <stdio.h>
int main()
{
printf("%d\n", strlen("abcdef"));
// \62被解析成一个转义字符
printf("%d\n", strlen("c:\test\628\test.c"));
return 0;
}

在这里插入图片描述
strlen可以求字符串的长度
解析如下:
\t是一个转义字符,表示一个字符。\628中的628不能表示八进制数,因为八进制数的每一位都是1~7,所以将后面的8去掉,\62中的62转换成十进制数做对应数字是50,所对应的ASCII码表的字符是2,8对应ASCII码表的一个字符,后边\t表示一个转义字符,所以该字符串的长度加起来就是14啦。
这里给大家找了一张ASCII码表,有几个比较重要的结点,例如48是“0”,65是“A”,97是“a”,(A与a中间差32,后面按照字母或者数字的顺序来推就OK)
请添加图片描述

5.3注释

1. 代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字
比如:

#include <stdio.h>
int Add(int x, int y)
{
return x+y;
}
/*C语言风格注释
int Sub(int x, int y)
{
return x-y;
}
*/
int main()
{
//C++注释风格
//int a = 10;
//调用Add函数,完成加法
printf("%d\n", Add(1, 2));
return 0;
}

注释有两种风格:
C语言风格的注释 /xxxxxx/
缺陷:不能嵌套注释
C++风格的注释 //xxxxxxxx
可以注释一行也可以注释多行
建议大家使用C++风格的注释,在VS上面使用非常方便,有快捷键。

今天就先到这里了,后续还会不断更新分享,希望对大家有所帮助,喜欢的可以点赞收藏哟,那些地方觉得不好的可以在评论区告诉博主,博主目前还是个小白哈,大家一起进步。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-01 20:25:11  更:2022-02-01 20:25:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:01:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码