c语言
crazy_zhangcong
这个作者很懒,什么都没留下…
展开
-
类型说明符
1.说明长度可以改变类型占用存储空间大小,一般情况下配合int使用short == short int使用 %hi或者%hd 格式化输出占用2个字节,取值范围 -2(15) ~ 2(15) -1long == long int使用 %li或者%ld 格式化输出32位编译器占用2个字节,取值范围 -2(15) ~ 2(15) -164位编译器占用4个字节,取值范围 -2...原创 2019-02-27 16:31:45 · 5521 阅读 · 0 评论 -
枚举
枚举就是专门用于表示几种固定类型的取值枚举的本质就是基本数据类型,就是整型枚举和结构体一样,要想定义枚举类型变量,那么必须定义枚举类型#include <stdio.h>int main(int argc, const char * argv[]) { // 枚举就是专门用于表示几种固定类型的取值 // 枚举的本质就是基本数据类型,就是整型 ...原创 2019-03-05 19:01:42 · 169 阅读 · 0 评论 -
#include 指令
文章目录#include 基本概念#include后面 <> 和 "" 的区别多文件开发创建第二个.c文件代码实现#include 基本概念#include 是C语言的预处理指令之一,所谓预处理,就是在编译之前做的处理,预处理指令一般以#开头#include 指令后面会跟一个文件名,预处理器发现 #include 指令后,就会根据文件名去查找文件,并把这个文件的内容包含到当前文...原创 2019-02-26 18:04:34 · 2145 阅读 · 0 评论 -
全局变量和局部变量
局部变量概念: 局部变量就是定义在函数、代码块和函数形参列表中的变量,我们就称之为局部变量作用范围: 从定义的那一行开始直到遇到大括号结束或者遇到return为止特点: 相同作用域范围内不能出现同名的局部变量不同作用域范围内出现同名的局部变量,内部局部变量会覆盖外部的局部变量注意: 如果没有对局部变量进行初始化,那么局部变量中是一些随机的值,所以在开发中不要使用未初始化的局部变量存储位...原创 2019-03-06 08:42:16 · 767 阅读 · 0 评论 -
预处理指令
文章目录宏定义的作用宏名定义规范宏定义的作用域宏定义的使用场景不带参数和带参数的宏定义宏定义的作用会在程序翻译成0和1之前,将所有宏名替换为宏的值宏名定义规范定义宏名使用 #define 宏名 进行定义,宏名尾部不需要用分号结尾定义宏名的2种方式:1.宏名使用大写字母,多个单词用下划线隔开。例如:#define COUNT2.宏名使用k开头,多个单词直接使用驼峰命名。例如:#de...原创 2019-03-06 09:28:35 · 598 阅读 · 0 评论 -
进制转换
文章目录进制进制数进位方法进制转换进制进制是一种计数的方式,数值的表示形式常见的进制有:十进制、二进制、八进制、十六进制进制数进位方法十进制 0、1、2、3、4、5、6、7、8、9 逢十进一二进制 0、1 逢二进一书写形式:需要以0b或者0B开头,比如0b101八进制 0、1、2、3、4、5、6、7 逢八进一书写形式:在前面加个0,比如045十六进制 0、1、2、...原创 2019-02-27 09:24:39 · 438 阅读 · 0 评论 -
原码、反码、补码概念及转换
文章目录基础概念原码反码补码三种编码方式存在的原因基础概念数据在计算机内部是以补码的形式存储数据分为有符号数和无符号数无符号数为正数,有符号数为负数,计算机内部是以补码的形式存储的正数的首位地址为0,其原码是由十进制数转换为二进制数负数的首位地址为1,其原码是由十进制数转换为二进制数,然后将首位地址改为1对于一个数,计算机要使用一定的编码方式进行存储,原码、反码、补码是机器存...原创 2019-02-27 11:02:18 · 6577 阅读 · 1 评论 -
位运算
文章目录1.位运算符与 &amp;amp;2.位运算符或 |3.位运算符异或4.位运算符取反5.位运算左移右移左移右移位运算是指按二进制进行的运算,直接操作二进制的位,操作效率较高。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。1.位运算符与 &amp;amp;&amp;amp; 按位与,对...原创 2019-02-27 13:53:58 · 338 阅读 · 0 评论 -
const 关键字
const 是一个类型修饰符,使用const修饰变量则为常量如果const 写在指针类型的左边或者写在指针类型和中间,那么指向内存空间中的值不能改变,但是指针的指向可以改变如果const 写在和变量名中间,那么指向内存空间中的值可以改变,但是指针的指向不可以改变int num = 10;const int *p = &num; // 写在指针类型的左边 指向内存空间中的值不能改...原创 2019-03-06 14:28:21 · 103 阅读 · 0 评论 -
结构体
文章目录基本概念定义结构体结构体定义的3种方式结构体初始化的4种方式结构体与指针结构体数组结构体嵌套结构体作为函数参数基本概念基本数据类型:int double float char构造类型:- 数组(用于保存一组相同类型的数据)- 结构体(用于保存一组不同类型的数据)定义结构体1.定义结构体类型定义结构体类型不会分配内存存储空间,只有定义结构体变量的时候才会真正的分配内存存储空...原创 2019-03-05 17:20:47 · 193 阅读 · 0 评论 -
函数
文章目录基本概念main 函数定义格式递归函数例子基本概念函数是一段具备特定功能的程序段,定义函数的目的是将功能进行封装,提高复用性main 函数main 是函数的名称,是系统规定的名称,系统启动程序就会调用名称叫做main的函数main 函数只能由系统调用,不能手动调用#include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;// 系统在启动程序的时候,会给main函数传递一些参数// ...原创 2019-02-26 15:40:14 · 359 阅读 · 0 评论 -
数组
文章目录基础用法定义和初始化数组遍历基础用法/* 元素类型 数组名称[元素个数]; 元素类型:就是数组中需要存储的数据类型,一旦指定,数组中就只能存储该类型的数据 元素个数:就是数组中能够存储的数据(元素)个数 */ // 定义一个名称叫做scores可以存储3个整数类型的数组int scores[3];// 初始化,给数组赋值scores[0] = 10;scores...原创 2019-02-28 12:53:03 · 166 阅读 · 0 评论 -
数组排序
选择排序从第一个元素开始,跟后面所有元素比较,找出最值,放在第一个元素的位置然后用第二个元素跟后面所有元素比较,找出最值,放在第二个元素的位置然后用第三个元素跟后面所有元素比较,找出最值,放在第三个元素的位置以此类推#include <stdio.h>int main(int argc, const char * argv[]) { // 使用选择排序对一个无序数...原创 2019-02-28 17:35:14 · 123 阅读 · 0 评论 -
数据及数据类型
数据及数据类型数据分为动态和静态,动态数据存储在内存中,静态数据存储在硬盘中数据类型分为整型、实型(小数)、字符型常量常量包含整型常量、实型常量、字符型常量、字符串常量整型常量就是整常数二进制八进制十进制十六进制实型常量单精度(float)双精度(double)字符型常量普通字符转义字符字符串常量将一个或者多个字符用双引号(&quot;&quot;)括起...原创 2019-02-25 10:52:56 · 212 阅读 · 0 评论 -
输入输出 printf/scanf
输入输出 printf/scanf输出函数 printfint main(int argc, const char * argv[]) { // 格式化输出各种类型数据 int intValue = 10; printf("intValue --&gt; %i\n", intValue); // intValue --&gt; 10 flo...原创 2019-02-25 12:10:02 · 301 阅读 · 0 评论 -
类型转换
类型转换分为自动类型转换和强制类型转换// 自动类型转换(隐式转换) int number = 10.8; // number 在内存中占4个字节 // 强制类型转换(显示转换) //(需要转换的类型)需要转换的数据 int number = (int)10.8; // 注意:无论是隐式转换还是显示转换,只要将大类型的数据转换成小类型的数据,那么就可能会丢失精度 ...原创 2019-02-25 14:28:52 · 101 阅读 · 0 评论 -
自增自减
int result = 0;result++; // result --&gt; 1++result; // result --&gt; 2result += 1; // result --&gt; 3result--; // result --&gt; 2--result; // result --&gt; 1result -= ...原创 2019-02-25 15:23:39 · 606 阅读 · 0 评论 -
指针
文章目录定义指针变量指针在函数中的应用多级指针指针与数组指针只能保存地址同一个变量可以有多个指针指向它指针的指向可以修改不要访问野指针(没有初始化的指针是野指针)指针类型是什么类型,就只能指向什么类型的数据定义指针变量/* 数据类型 *变量名称; 数据类型:说明将来指针变量能够保存什么类型的变量地址 注意:指针变量是什么类型,就只能保存什么类型变量的地址 例如:指针变...原创 2019-03-05 11:19:17 · 232 阅读 · 0 评论 -
流程控制
if 条件判断伪代码if (条件表达式1) { 代码块; } else if (条件表达式2) { 代码块; } else { 代码块; }例子int age = 10; if (age == 10) { printf(&quot;age == 10\n&quot;); } else if (age == 20) { printf(&quot;...原创 2019-02-26 08:19:55 · 82 阅读 · 0 评论 -
字符串和字符串数组
文章目录字符串字符串输出字符串常用方法计算字符串的长度字符串拼接字符串拷贝字符串比较字符串数组字符串用双引号引起来的就是字符串,字符串由字符组成字符串使用%s格式化输出字符串以\0结尾,没有\0就不是字符串只要是用双引号括起来的都是字符串字符串的本质就是数组注意: 字符串变量和普通的字符数组有一定的区别,C语言规定,字符串必须以\0结尾(作为字符串的结束符号),所以字符串变量的元素...原创 2019-03-04 13:42:04 · 118844 阅读 · 6 评论