![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言程序设计
文章平均质量分 72
C语言程序设计笔记
你是我的光吗
这个作者很懒,什么都没留下…
展开
-
程序编译与链接
文章目录前言一、程序的翻译环境与运行环境1.详解翻译环境(编译与链接)2. 程序的运行环境二、预处理详解1.预定义符号2.#define3.#和##三、宏和函数比较四.命令行定义五. 条件编译六. 文件包含结语前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、程序的翻译环境与运行环境在ANSI C的任何一种实现中,存在两个不同的原创 2021-08-13 17:30:57 · 191 阅读 · 0 评论 -
C语言文件操作
文章目录前言一、什么是文件二、文件缓冲区1.缓冲文件系统2.文件指针三、文件操作前言前言:本章主要讲解C语言的文件操作方法,主要有:文件的打开与关闭,文件的读写相关,文件指针等。提示:以下是本篇文章正文内容,下面案例可供参考一、什么是文件1、站在程序设计角度,文件有两种:程序文件、数据文件程序文件:包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。数据文件文件的内容不一定是程序,而是程序运行时读写的数据,比如程原创 2021-08-10 22:16:30 · 117 阅读 · 0 评论 -
内存开辟与柔性数组
文章目录前言一、C/C++程序的内存开辟二、柔性数组1、柔性数组的概念2、柔性数组的特点3、柔性数组的使用前言前言:在前面的章节,我们已经学习了自定义类型与动态内存管理,这时我们可以提出一个新的概念:柔性数组。柔性数组是C99标准引入的,主要内容包含结构体和动态内存分配。接下来,让我们来看看这个柔性数组的含义。提示:以下是本篇文章正文内容,下面案例可供参考一、C/C++程序的内存开辟C/C++程序内存分配的几个区域:栈区(stack):在执行函数时,函数内局部变量的存储单元都可以在栈上原创 2021-08-07 17:25:00 · 155 阅读 · 1 评论 -
动态内存分配
文章目录一、为什么存在动态内存分配二、动态内存函数的介绍1.malloc和free2.calloc3、realloc三、常见的动态内存错误一、为什么存在动态内存分配目前,我们已知的开辟内存空间的方式无非两种:如在栈空间上开辟的函数,局部变量,在静态区开辟的全局变量,staic修饰的静态局部变量。但这两种开辟的方式,都直接给定了开辟内存的大小,并不方便及时更改。假如此时我们要存储一个班的学生信息,我们已经创建了一个结构体类型,那么我们通过这个结构体类型创建一个结构体数组,我们并不能直接给定这个数组的大原创 2021-08-05 22:34:34 · 90 阅读 · 0 评论 -
自定义类型剖析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、结构体1、结构的声明2、结构体的自引用3、 结构体变量的定义和初始化4、 结构体内存对齐5、 结构体相关二、位段1.位段定义2、位段的内存分配三、枚举1、枚举示例2、 枚举的优点3、枚举的使用四、联合(共用体)1、联合类型的定义2、联合的特点前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下原创 2021-08-03 21:30:12 · 56 阅读 · 0 评论 -
字符函数与字符串函数模拟
文章目录前言一、字符函数strtokstrerror字符分类函数memcpymemmovememcmp二、字符函数模拟strlen模拟strcpy模拟strcat模拟strcmp模拟strstr模拟memcpy模拟memmove函数模拟前言提示:在上一节中,我们已经介绍了一些字符函数并了解了其功能。接下来,我们便讨论剩余的字符串函数,便通过模拟实现函数加深印象。提示:以下是本篇文章正文内容,下面案例可供参考一、字符函数strtokchar * strtok ( char * str, con原创 2021-08-02 21:12:53 · 63 阅读 · 0 评论 -
字符函数和字符串函数
文章目录前言字符函数介绍:strlenstrcpystrcatstrcmpstrncpystrncatstrncmpstrstr前言C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在 常量字符串中或者字符数组 中。字符串常量适用于那些对它不做修改的字符串函数。求字符串长度strlen长度不受限制的字符串函数strcpystrcatstrcmp长度受限制的字符串函数介绍strncpystrncatstrncmp字符串查找strstrstrto原创 2021-08-01 23:05:09 · 45 阅读 · 0 评论 -
指针详解(3) - 回调函数与指针数组
文章目录前言一、回调函数1、 回调函数定义2、qsort函数二、指针数组分析前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、回调函数1、 回调函数定义回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实原创 2021-07-28 23:05:24 · 334 阅读 · 0 评论 -
指针详解(2) - 指针传参与函数指针
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-07-26 22:44:20 · 50 阅读 · 0 评论 -
指针详解(1) -字符串指针、指针数组与数组指针
文章目录前言一、字符串指针二、指针数组1.2.读入数据总结前言在初级阶段的《指针》章节,我们知道了指针基本概念:指针是个变量,用来存放地址,地址唯一标识一块内存空间。指针的大小是固定的4/8个字节(32位平台/64位平台)。指针是有类型,指针的类型决定了指针的±整数的步长,指针解引用操作的时候的权限。指针的运算。接下来,我们继续探讨指针的高级使用一、字符串指针(1)例1int main(){ char* p = "hello world"; //*p = 'w';//这种写法原创 2021-07-26 16:13:38 · 331 阅读 · 0 评论 -
数据的存储深度剖析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、数据类型详细介绍1、内置类型2、自定义类型二、整形在内存中的存储1.原码、反码、补码2.读入数据总结一、数据类型详细介绍1、内置类型整形家族:double //双精度浮点数char //字符数据类型 unsigned char signed charshort //短整型 unsigned short [int] signed short [int]int //整形 unsigned原创 2021-07-24 22:24:20 · 320 阅读 · 0 评论 -
初识C语言指针
目录一、指针类型一、指针和指针类型1、指针指针是个变量,存放内存单元的地址(编号)。通过它能找到以它为地址的内存单元。#include <stdio.h>int main(){ int a = 10;//在内存中开辟一块空间 int *p = &a;//这里我们对变量a,取出它的地址,可以使用&操作符。 //将a的地址存放在p变量中,p就是一个之指针变量。 return 0; }指针是用来存放地址的,地址是唯一标示一块地址空...原创 2021-07-20 23:23:10 · 107 阅读 · 1 评论 -
操作符详解和隐式类型转换
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言前言算数操作符 + - * / %// 加 减 乘 除 取余#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <windows.h>int main(){ int a = 5 / 2;//商二余一,"/"为取商 int b = 5 % 2;//"%"为取余 double c = 5 / 2.0;//要原创 2021-07-18 23:05:48 · 78 阅读 · 0 评论 -
扫雷小游戏
在本例中,有两个二维数组,一个用来存储布置雷的信息,‘0’表示非雷,‘1’表示雷,不打印在屏幕上;另一个用来存储玩家扫雷的坐标并判断玩家输入坐标是否有雷,’*'表示还没有判断,打印在屏幕上。程序分为三个部分://game.h头文件部分,用来声明函数,定义宏,库文件包含#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#define ROW 9//行#define COL 9//列#define ROWS ROW+2 #defin原创 2021-07-18 11:24:15 · 62 阅读 · 0 评论 -
三子棋设计
//game.h头文件部分#define _CRT_SECURE_NO_WARNINGS 1#define ROW 3//行#define COL 3//列#include <stdio.h>#include <stdlib.h>#include <time.h>void InitBoard(char board[ROW][COL], int row, int col);void DisplayBoard(char board[ROW][COL], in原创 2021-07-15 22:52:33 · 95 阅读 · 0 评论 -
数组相关分析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-07-13 23:07:17 · 309 阅读 · 0 评论 -
函数与递归(二)
文章目录一、函数1、函数的嵌套调用和链式访问2、函数的声明和定义二、递归1、函数递归2、递归实例一、函数1、函数的嵌套调用和链式访问嵌套调用:#include <stdio.h>void new_line(){ printf("hehe\n");}void three_line(){ int i = 0; for(i=0; i<3; i++) { new_line(); }}int main(){ three_line();原创 2021-07-12 22:37:01 · 89 阅读 · 0 评论 -
函数和递归(一)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下原创 2021-07-11 22:27:34 · 52 阅读 · 0 评论 -
分支和循环例题解析
文章目录前言一、例题1.计算 n的阶乘2. 计算 1!+2!+3!+……+10!3. 在一个有序数组中查找具体的某个数字n。4. 编写代码,演示多个字符从两端移动,向中间汇聚。前言一、例题1.计算 n的阶乘这个问题还是比较简单的,n的阶乘可以写成123*…*n,因此可以利用一个循环函数,当<=n时,定义一个函数sum存储累乘。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int i = 1;原创 2021-07-08 22:24:27 · 184 阅读 · 0 评论 -
分支和循环(二)
文章目录前言一、while语句(1)while语句结构(2)while语句中断break与continue3、getchar和putchar二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、while语句(1)while语句结构//while循环的实例:打印0到10#define _CRT原创 2021-07-08 11:32:39 · 42 阅读 · 0 评论 -
分支和循环(一)
分支和循环文章目录分支和循环一、结构和语句二、分支语句和循环语句1.分支语句(选择结构)(1)单分支语句(2)多重选择语句(3)悬空else问题(4)代码块一、结构和语句1、C语言是一名结构化的语言,可分为顺序结构,选择结构,循环结构2.什么是语句?C语言中由一个分号( ; )隔开的就是一条语句。一个;也是语句——空语句二、分支语句和循环语句1.分支语句(选择结构)(1)单分支语句#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>原创 2021-07-07 16:00:23 · 76 阅读 · 0 评论 -
C语言基础(三)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、数组二、函数三、操作符四 、关键字(1)typedef(2)static(3)#define 定义常量和宏一、数组数组是同一类型元素的集合#include <stdio.h>int main(){ int i = 0; int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//定义一个最多含十个元素的整形数组 for (i = 0; i < 10; i++)//for循原创 2021-07-06 17:42:02 · 71 阅读 · 0 评论 -
C语言基础(二)
指针、结构体1、指针#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main(){ //指针类型举例 int a = 0; int* p = &a;//p是一个指针变量,与字符类型对应,类型是int* *p = 2; printf("%d\n", a); printf("%d\n", *p); //运行后可以看到输出值均为2 double b = 3.14; double* pd = &b;/原创 2021-07-05 22:16:54 · 119 阅读 · 0 评论 -
C语言基础(一)
文章目录一、C语言概述二、C语言基础(一)4、第一个C程序5、数据类型6、分析每种数据类型占用内存空间的大小7、打印符号一、C语言概述1、C语言是一门计算机编程语言(即人与计算机交流的语言),C\C++\Java\Python等都是计算机语言。2、语言的发展:语言最初是二进制语言,计算机通电产生正电和负电,在人为规定正电为1,负电为0。此时人们用二进制进行代码编写。后来人们用其他一些符号代替某些特定功能的二进制码,这种符号成称为助记符。如用ADD代替10100001,ADD被称为助记符,用助记符表达的原创 2021-07-06 11:23:50 · 126 阅读 · 0 评论