淘宝 网站建设教程视频,网站建设公司 html5模板,seo网站开发注意事项,免费网站建设公司代理#x1f649;大家刚入门的时候通常会觉得c语言怎么怎么难学#xff0c;听别人说指针多么多么难懂#xff0c;深入学习的人的头发如何如何的稀少#xff0c;然而我们只需要一步一步了解#xff0c;一步一步刨析#xff0c;会发现学习c语言也是具有许多乐趣的。#x1f64… 大家刚入门的时候通常会觉得c语言怎么怎么难学听别人说指针多么多么难懂深入学习的人的头发如何如何的稀少然而我们只需要一步一步了解一步一步刨析会发现学习c语言也是具有许多乐趣的。 接下来我们正式展开对C语言的简单了解咯
目录 一 让我们看第一个C语言代码 二 数据类型
一字符型变量 二整型常量 三浮点型变量
静态存储和动态存储的区别
static变量
register变量
extern变量 一 让我们看第一个C语言代码
#include stdio.h
int main()
{printf(hello world\n);printf(hello,c语言\n);return 0;
}切记main函数为程序的入口一个工程中main函数只能有一个,从main函数进入后完成内部操作直到最后返回零结束该程序的运行。 二 数据类型 1基本类型 基本类型就是c语言中的基础类型包括整型字符型浮点型枚举类型今天我们就谈谈c语言的基本类型其详细介绍及如何应用。
char //字符数据类型
short //
int //整型
long //长整型
long long //更长的整型
float //单精度浮点型
double //双精度浮点型
为什么会出现这么多类型呢每种类型的大小单位是字节是多少呢
我们可以通过sizeof函数来探寻
#include stdio.h
int main()
{printf(%d\n, sizeof(char)); //1printf(%d\n, sizeof(short)); //2printf(%d\n, sizeof(int)); //4printf(%d\n, sizeof(long)); //4printf(%d\n, sizeof(long long)); //8printf(%d\n, sizeof(float)); //4printf(%d\n, sizeof(double)); //8return 0;
}
每种不同类型的类型占用不同的字节有了这么多变量我们可以更加生动地表示生活中的各种数值。
2.定义变量的方法 变量类型加变量名!
例如 Int age 150; float weight 45.5f;这里f可以不加只是表示weight s是float 类型的变量 char ch w;
3.变量的命名 ①只能由字母包括大写和小写数字和下划线_组成 ②不能以数字开头 ③长度不能超过63个字符 ④变量名中区分大小写 ⑤变量名不能使用关键字 一字符型变量 字符型变量是用来存储字符常量的变量将一个字符常量储存在字符变量中其实是将该字符的ASCLL码值储存到内存单元中。 字符类型在内存空间中占用一个字节取值范围是-128~127. 说明 字符数据在内存中存储的是字符的ASCLL码值是一个无符号整数其形式与整型的储存形式一样因此C语言允许字符型数据与整形数据之间通用。 ✅举一个例子
#include stdio.h
int main()
{char Char1;char Char2;Char1 a;Char2 97;printf(%c\n, Char1); //输出结果为aprintf(%c\n, Char2); //输出结果为areturn 0;
} 定义两个字符类型变量为两个变量赋值时一个赋值为 a一个赋值为97在用%c%c打印字符常量打印时输出结果都为a。说明字符型数据和整型数据之间是通用的。 二整型常量 因为上边char类型储存的也是整型数据所以偶尔也可把char类型看作整形如同他的名字整型变量是用来存储整型数值的变量其基本类型是Int,在此基础上加上一些符号进行修饰例如short或long等。 1有符号基本整型 有符号基本整型是指signed int 型编写时通常将signed省略有符号整型在内存中占4个字节取值范围是-2147483648~2147483647.
注意在编写程序时所有用到的变量的定义应该在变量的赋值之前否则就会产生错误。 2无符号基本整形 关键字是unsigned int,即无符号的意思在内存中也是占4个字节取值范围是0~4294967295. 3有符号短整型 有符号短整型的关键字是signed short int在编写时signed和int都可以省略直接写为short他在内存中所占的字节是两个字节取值范围是-32768~32767. 4无符号短整型 无符号短整型的关键字是unsigned short int在编写时int可以省略写为unsigned short他在内存中所占的字节是两个字节取值范围是0~65535. 5有符号长整型 有符号短整型的关键字是signed long int在编写时signed和int都可以省略直接写为long他在内存中所占的字节是4个字节取值范围是-2147483648~2147483647. 6无符号长整型 无符号长整型的关键字是unsigned long int其中关键字int可以省略无符号长整型在内存中占4个字节取值范围是0~4294967295. 三浮点型变量
浮点型变量也称为实型变量浮点型变量是由整数和小数两部分组成的根据其精度分为单精度类型双精度类型和长双精度类型。 1单精度类型 单精度类型的关键字是float他在内存中占4个字节取值范围是-3.4*10^-38~3.4*10^38.
这里举一个例子定义一个单精度类型变量为其赋值为2.34
int main()
{float x 0;x 2.34;printf(%f\n, x);return 0;
}//输出结果为2.340000 这里输出结果为2.340000我们如何只保留两位小数呢只需要在 f 前加上 .2即可即printf(%.2f\n,x); 即可更改代码后发现输出结果确实为2.34 。 2双精度浮点型 双精度浮点型的关键字是double他在内存中占8个字节取值范围是-1.7*10^108~1.7*10^38. 3长双精度浮点型 长双精度浮点型的关键字是 long double他在内存中也占8个字节取值范围与double一样,区别在于 1 double类型为C原始类型所有 编译器 均支持而long double是C99规范增加的新类型只有支持C99的编译器才支持long double; 2 占用大小不同double占8个字节long double根据编译器实现不同有占用81012字节和16字节四种 在long double用8字节实现时long double 和double没有其它区别。 接下来又是一大模块来讲一讲所谓变量的储存类别 问题引入在程序运行中我们经常使用到变量在程序中可以选择不同储存形式分为静态存储和动态存储可通过储存类型修饰符告诉编译器需要储存什么样的类型变量具体有auto(自动通常省略静态static寄存器register和外部extern。 静态存储和动态存储的区别 ✅根据变量的产生 时间 区分静态存储是指程序运行时为其分配固定的存储空间动态存储则是该程序运行期间根据需要动态的分配空间。
void ADD()
{int j 0;printf(%d, j);j j1;
}
int main()
{int i 0;for (i 0; i 9; i){ADD();}return 0;
} 思路 我们想打印从0开始打印一次加1然而运行代码发现输出结果是九个0为什么会发生这种情况呢。
运行结果分析 j 是一个auto的变量在程序运行到ADD函数时创建一个变量 j 为0打印0之后加1变成1然而出了ADD函数这个变量 j 就销毁了再次进入后重新生成一个 j 其值仍然为零所以打印的仍然是零。这就是动态变量。
static变量 static变量static变量在修饰不同类型变量以及修饰函数等有不同的作用这里我们就讲一讲static修饰局部变量会发生什么。 static变量和auto变量是相对而言的尽管两者作用域都仅限于声明变量的函数中但在执行期间stasic变量将保持它的值且初始化只在第一次具有作用多说无益直接上代码看一看static和auto如何是相对的 代码演示
void ADD()
{static int j 0;printf(%d, j);j j1;
}
int main()
{int i 0;for (i 0; i 9; i){ADD();}return 0;
} 运行结果这里与上面代码不同的就是在ADD函数中将 j 的变量前加了一个static。此时运行的结果就变为0 1 2 3 4 5 6 7 8. 分析这次出ADD函数后变量 J 没有销毁所以才会保持上一次运行后的值然后依次加上一。
register变量 ⭐register变量称为寄存器储存类型通过register变量程序员可以将某个 局部变量指定存放在寄存器中而不是储存在内存中这样可以提高程序的运行速度。然而这只是程序员的主观意愿实际上编辑器可以忽略register对变量的修饰
extern变量 ⭐extern变量称为外部储存变量extern声明了将要使用但并没有定义的外部变量。
通俗来讲一个工程通常是由多文件组成的这些源代码文件会分别编译然后链接成一个可执行代码模块。
这样说着可能不太清晰我们....... 代码演示 说到这里本篇文章就结束啦欢迎大家讨论留言哦
支持作者的友友可以一键三连哦!
❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️