初识c语言

这是我在2022年10月16号第一次认识c语言,并写下所学总结

目录

1.什么是C语言?

2.数据类型——基本类型

3.变量以及常量

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


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.数据类型——基本类型

2.1:什么是数据类型?

2.2:每种数据类型的大小是多少?

2.1.什么是数据类型?

C语言数据类型包括:基本类型,构造类型,指针类型,以及空类型void。

而基本类型又分为数值类型和字符类型char

一:基本数值类型

整形:

int——整形
short——短整形

long——长整形

longlong——更长的整形

浮点型:

float单精度型

double双精度型

二:构造类型

数组

结构体struct

共用体union

枚举类型enum

三:指针类型

四:空类型void

20151104162007701

 2.2.每种数据类型的大小是多少?

我们知道每个基本数据类型都有大小,那么它们的大小分别是多少呢?下面我们用sizeof这个代码来简单计算一下各个基本数据类型的大小,sizeof代码格式:sizeof(数据类型)

#include<stdio.h>

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

8be7a9be6670437bb32252ff2584f4c6.png

可以看到,我们的基本数据类型大小为:

char=1

int=4

short=2

long=4 

long long=8

float=4

double=8

3.变量以及常量

3.1.定义变量的方法

3.2.变量的命名

3.3.变量的分类

3.4.变量的使用

3.5.变量的作用域以及生命周期

3.6.常量

我们生活中也有许多变量以及常量的存在 如:

圆周率,性别,血型,身份证号码,这些都常量,不可变的

还有像身高,体重,薪资,年龄这些都是可变的

在C语言中,不变的值用常量来表示,变的值用变量来表示

3.1.定义变量的方法:

int age = 150;
float = 45.5f;
char ch = 'w';

3.2.变量的命名

变量名只能由字母(包括大写小写),数字和下划线(_)组成

变量名不能以数字开头

变量名长度不能超过63个字符

变量名中区分大小写

变量名不能使用关键字

下面举些错误的例子:

​
int @abc1 = 0; //变量名中有符号
int 32a = 0; //变量名以数字开头
int char = 0; //变量名使用了关键字

​

然后变量名中是区分大小写的:

例如:int age = 0; 和 int Age = 0;这是两个不同的变量

3.3.变量的分类

变量分为全局变量和局部变量

#include<stdio.h>



int a = 100;//全局变量

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


我们可以看到上面的代码,主函数main外的a变量是全局变量,括号里面的是局部变量

当全局变量和局部变量同名时,局部变量优先,我们可以运行一下,打印结果会是10

25fef89076f1498ba4b8b62dac024687.png

3.4.变量的使用

 下面我们进入实战使用一下变量来完成简单的加减法:

​
#include <stdio.h>

int main()
{
    int num1 = 0;//声明变量num1并初始化值为0
    int num2 = 0;//声明变量num2并初始化值为0
    int num = 0;//声明变量num并初始化值为0
    printf("请输入两个数:");//打印提示
    scanf("%d %d",&num1,&num2);//scanf获取num1,num2的数值
    sum = num1+num2;//通过sum使sum1,sum2相加
    printf("sum = %d\n,sum");//打印sum
   
    return = 0;
}

​


3.5.变量的作用域以及生命周期

变量的作用域

作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域

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

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

变量的生命周期

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

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

全局变量的生命周期:整个程序的生命周期。

3.6.常量

C语言中常量分为以下几种:
1.字面常量

例如:1,2,3。3.14。100

字符字面常量:a,b,c,d,e  字符串字面常量:abcdefg

2.const修饰的常变量

​int main()
{
    const int num = 100;//这里的num是const修饰的常变量
    num = 200;//这里是不能直接修改的
    return 0;
}


​

const的作用在C语言中只是在语法层面限制了const修饰过的常变量不能直接修改,但是本质上还是一个变量,所以叫常变量

3.#define定义的标识符常量


#define MAX 100//定义MAX=100
printf("%d\n".MAX)//打印MAX

4.枚举常量

​
enum Sex
{    
    MALE,//男
    FEMALE, //女 
    SECRER//保密
};

int main()
{
    printf("%d\n",MALE);
    printf("%d\n",FEMALE);
    printf("%d\n",SECET);
    return 0;
}

​

(1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。

(2) Sex是一个标识符,可以看成这个集合的名字,是一个可选项,即是可有可无的项。

(3) 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。

(4) 可以人为设定枚举成员的值,从而自定义某个范围内的整数。

(5) 枚举型是预处理指令#define的替代。

(6) 类型定义以分号;结束。

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

4.1.字符串

4.2.转义字符

4.3.注释

"Hello my name is jay.\n"

这种由双引号引起来的一串字符就称为字符串

字符串的结束标注是一个 \0 的转义字符,在计算机中计算字符串长度的时候 \0 只是结束标志,不计入字符串长度

​
int main()
{
    char arr1[] = "hello";
    char arr2[] = { 'h','e','l','l','o' };
    char arr3[] = { 'h','e','l','l','o','\0' };
    printf("%s\n", arr1);
    printf("%s\n", arr2);
    printf("%s\n", arr3);

    return 0;
}

​

我们可以从运行结果看到,arr2中除了打印hello这个自己定义的字符外还打印了其他的字符,这是因为计算机在读取的时候遇到\0才会结束读取,就像arr3一样,输入了\0就不会打印其他额外的字符,我们还可以计算一下arr1-3的字符长度

​
int main()
{
    char arr1[] = "hello";
    char arr2[] = { 'h','e','l','l','o' };
    char arr3[] = { 'h','e','l','l','o','\0' };
    printf("%s\n", sizeof(arr1));
    printf("%s\n", sizeof(arr2));
    printf("%s\n", sizeof(arr3));

    return 0;
}

​

4.2转义字符

转义字符的意思就是转变字符的意思

下面来看一下都有哪些转义字符

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

        4.3.注释

这里有两种注释风格,一种是c语言的,一种是c++的

1.                /*中间是要注释的内容*/        这种是c语言的风格

2.                //后面写要注释的内容            这种是c++的风格

c语言的解释风格其实是有缺陷的,这种注释法是不能嵌套使用的,所以现在都是用//来注释

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值