(文章目录) 前言 本篇文章给大家讲解一下C语言中的位操作,在嵌入式中位操作是经常需要使用的,那么下面就让我们来学习一下C语言中的位操作吧。 一、左移和右移 在C语言中,左移(<<)和右移(>>)是位操作运算符,用于对整数类型的数据进行位级操作。这些操作符可以将二进制表示的整数值按指定的位数向左或向右移动,并根据移动方向填充或丢弃相应的位。 左移运算符(<<)
(文章目录) 前言 从本篇文章开始我将为大家带来C语言的进阶教程,在本教程中你将会深入学习C语言,掌握好C语言为日后的编程基础打下坚实的基础。 一、大小端的概念 大小端(Endianness)是指数据在计算机存储和传输时的字节顺序。它确定了数据在内存中每个字节的存储顺序。 有两种常见的大小端表示方式: 大端字节序(Big-endian): 大端字节序将最高有效字节(Most Significan
(文章目录) 前言 本篇文章我们来讲解一下fgets和fputs函数,这两个函数通常用来作为输入和输出功能使用。 一、fputs函数 fputs函数是C语言标准库中的一个输出函数,用于将字符串写入到指定的文件中。它的原型如下: int fputs(const char* str, FILE* stream); fputs函数将字符串 str 写入到指定的文件流 stream 中。 参数说明:
(文章目录) 前言 本文我们介绍如何在指定的位置添加学生的信息,还有main函数里面相关函数调用我们也展示给大家。 一、指定位置添加学生信息 在指定位置添加学生的信息首先要得到指定的位置。 这个时候我们采用之前学的查找函数查找到我们想要的位置,然后把得到的位置当成参数传入函数,若指定位置在尾节点处那么就和前面我们所讲尾添加是一样的操作。 如果不在尾节点处而是在中间位置那么我们就得按照下面方法插入。
(文章目录) 前言 前面我们忘记给大家将怎么把系统的指令框输出到控制台上了,今天我们将补上这个点然后再带大家学习如何查找指定学生的信息。 一、输出指令框 这一步就是一些printf打印出命令和一些空格去控制打印的地方,大家可以直接复制下面的代码。 //显示指令 void showorder() { printf("******************学生信息管理系统**********
(文章目录) 前言 本篇文章我们带大家学习如何查看学生信息及链表的释放。 一、查看学生信息 查看每一个学生的信息需要我们去遍历链表 第一步:定义一个结构体指针指向头,判断头是否为空为空则提示没有学生信息。 第二步:每一次循环都让PTemp向后移动一个,当移动到最后一个时PTemp为NULL则不再执行循环。 void showdate() { STUNODE *pTemp = g_pHead;
(文章目录) 前言 本篇文章我们接着上一篇文章讲解。 C语言项目实战学生管理系统(1) 一、尾添加 上篇文章我们讲到尾添加一个学生信息,这篇文章我们详细讲述如何尾添加。 //添加一个学生信息 void AddstuMSG(char arrStunum[10], char arrStuname[10], int iStuSorce);` //添加一个学生信息 void AddstuMSG(cha
(文章目录) 前言 本篇文章主要带领大家熟练的去使用C语言做一个实战的项目,这篇文章主要介绍学生管理系统的功能以及常用的知识。 一、学生管理系统具体功能 学生管理系统就是可以帮助我们平时管理学生成绩和学生信息的一个小系统,具体功能我们会逐一讲解。 二、C语言知识准备 学习学生管理系统主要要运用到数据结构的知识,需要大家对指针和结构体有比较强的运用能力。 下一篇文章我们正式带领大家学习学生管理系统
(文章目录) 一、代码展示 # include<stdio.h> # include<Windows.h> int main() { float x, y, a; for (y = 1.5f; y > -1.5f; y -= 0.1f) { for (x = -1.5f; x < 1.5f; x += .05f)
(文章目录) 一、蜂鸣器是什么? 蜂鸣器有两种:一种是有源蜂鸣器,内含多谐振荡器,能够采用直流电源直接驱动,本开发板使用的就是有源蜂鸣器;另外一种就是无源蜂鸣器,需通过脉冲来驱动,不能采用直流来驱动。怎样区分有源跟无源蜂鸣器,一般蜂鸣器底部有黑胶封住的就是有源蜂鸣器,否则是无源蜂鸣器。在硬件电路中,蜂鸣器一般要接上一个三极管,三极管的作用有两个,一是充当开关作用,二是增大驱动蜂鸣器的电流。 二、电
(文章目录) 一、指针介绍 指针就是装地址的变量,变量就要赋值,即一定要装一块空间的地址,或者说指向一块空间,才能被使用。就像int a;,如果没有被初始化,没有赋值,这东西啥也不能干。指针变量也是同理,不装地址的情况下,啥都不能干,也叫野指针 二、声明一个指针变量 形式: int *p; //int 表示p装的地址对应的空间的数据类型 //*表示p是一个指针变量 //p是
(文章目录) 一、#define是什么? #define在C语言中被叫做预处理命令,何为预处理就是在所以程序没有执行时执行的命令。 我们将此段代码放在最前面在所以程序没有执行时,执行这一段代码。 二、#define本质和写法 1.#define本质 #define的本质就是单纯的替换,在上面的程序中我们用PI去替换3.141592这个数字。 2.#define写法 #define ONE 1
(文章目录) 前言 断点在编写程序找错误的时候能起到很大的作用,希望大家能够好好理解。 一、断点功能及演示 1.断点功能 断点可以实现代码的单步执行,便于我们发现错误是在具体的哪一天,还可以帮助我们理解程序的运行过程。 2.演示 这个红色的点我们称之为断点,在这一条黑线这里点一下即可出现断点。 当我们可以调试运行时会发现程序并没有执行,而是卡在我们下的断点那个位置,控制台调试框也没有东西。这个
(文章目录) 前言 本文章主要介绍数组的地址。 一、数组的地址 前面的文章已经说到数组空间是连续的,下面用一张图片带大家了解一下什么叫空间连续。 也就是每一个元素都是紧挨着的,他们的地址和空间也是连续的。 代码: #include<stdio.h> int main(void) { int i; int a[3] = { 0,1,2 }; for (i = 0
(文章目录) 前言 本文主要简单的介绍一下一维数组的使用方法。 一、通过下标使用 下标从0开始,依次递增。形式:数组名加下标。 与定义的区别 一个叫数组,一个叫下标运算 区分 有没有类型 一个是元素个数,一个代表具体元素的下标 代码: #include<stdio.h> int main(void) { int a[3] = { 0,1,2 }; printf(&quo
(文章目录) 前言 本文主要介绍数组的特点和概念,并简单介绍一维数组。 一、数组概述 特点:1.类型相同的元素组成的集合**(和高中学的集合差不多就是一个数组装着一些数字)** 2.空间连续 二、一维数组 1.一维数组的声明 类型 + 数组名 + [元素个数] 例: int a[10]; //int表示元素类型及数组里面每一个元素都是int类型 //a是数组的
(文章目录) 前言 本文章主要讲解break和continue 一、break 功能:跳出所在循环。 例子1: #include<stdio.h> int main(void) { int i = 0; for (i = 0; i < 5; i++) { printf("%d\n", 5); break;
(文章目录) 前言 本文主要介绍什么是表达式,表达式在C语言中非常常见希望大家可以好好学习。 一、表达式定义 表达式是一种有值的语法结构,它由运算符(变量、常量、函数调用返回值)结合而成,每个表达式一定有一个值。 二、常量表达式 例子:a, 12, 12.4 值:就是变量或者常量本身的值 作为条件的时候 非0即真,0即假 三、算数表达式 例子 a+b c*d+a 12/3+d
学生分数系统 (文章目录) 前言 本文介绍一个if else的小案例,帮助大家理解if else。 一、学生成绩系统 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main(void) { int score; while (1) { printf("请输入学生分数\n"); scanf(
(文章目录) 前言 本文章主要介绍选择判断if、else、else if 一、只有一种情况 格式: if (条件) { code:代码块 } 当满足条件时执行代码块,不满足条件时不执行。 区间条件写法: 12<a<15(false) a>12&&a<15(ture) &&代表的是且,||带表或。 二、两种情况 格式: if
(文章目录) 前言 本文章主要介绍一个简单的交换算法。 一、交换算法 这个算法不算太难,直接上代码就完了。 #include<stdio.h> int main(void) { //交换a和b的数值 int a = 6; int temp;//中间变量 int b = 5; printf("%d,%d\n", a, b); temp = b;
(文章目录) <hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1"> 前言 <font color=#999AAA > 本篇文章主要给大家讲解一些C语言中常见的符号和注释的用法:换行符号\n、取地址符号&,注释:\和* * </font&
</font> (文章目录) 前言 <font color=#999AAA > 这篇文章主要讲解C语言中几种常见的数据类型,教会大家怎么样灵活的使用这些数据类型。这篇文章不涉及字符类型。 </font> <hr style=" border:solid; width:100px; height:1px;" color=#000000 s
(文章目录) 一.C语言简介 二.使用什么编译器编写代码 三.C语言基础知识介绍 四.使用VS2019创建一个工程开始编写代码 前言 <font color=#999AAA >提示:随着时代的发展C语言也变得越来越重要,虽然现在的编程语言有很多种但是在我个人看来学好C语言是当代大学生非常重要的一件事。</font> <hr style=" border:so
(文章目录) 前言 本文将给大家带来C语言中非常重要的两个知识点,指针和数组。 一、指针的概念 指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也就是内存地址,指针变量是用来存放内存地址的变量,指针既然都用来存放地址了那就说明指针也是一个变量。 二、指针的大小 指针在不同位数的编译器环境下的大小是不一样的,在x64中指针的大小是8个字节,在x86中指针的大小是4个字节的
(文章目录) 前言 这篇文章来给大家讲解一下C语言中的多文件编程,在C语言开发项目的过程中使用多文件编程是必不可少的,使用多文件编程可以方便我们代码的管理和编写,让我们的代码可读性和移植性更高。 一、宏的定义和使用 在 C 语言中,宏(Macro)是一种预处理指令,用于在编译阶段进行文本替换。宏可以定义为带有参数的文本片段,当预处理器遇到宏的调用时,会将宏的定义部分替换为相应的文本,并在编译中起
(文章目录) 前言 本篇文章来讲解C语言中的动态内存分配,在C语言中动态内存分配经常使用,合理的使用动态内存分配可以帮助我们节省代码空间,当然了不合理的使用可能导致程序的崩溃,或者是内存的泄漏。 一、动态内存分配常用函数 在 C 语言中,动态内存分配是一种在程序运行时分配和释放内存的机制。它允许程序根据需要动态地管理内存,以便灵活地创建、使用和销毁变量和数据结构。动态内存分配使用以下四个函数来执
(文章目录) 前言 这篇文章我们来讲解C语言中的文件操作,文件操作在C语言中算是一个比较重要的知识点,我们每天都在和文件打交道,各种文件夹的打开和关闭操作,那么这篇文件带大家学习如何使用C语言中的文件操作来完成这个工作。 一、文件操作基本介绍 C语言提供了一组函数,可以用于进行文件操作。这些函数包括打开文件、关闭文件、读取文件内容和写入文件内容等。下面是对C语言中文件操作的几个常用函数的介绍和使
(文章目录) 前言 C语言中的控制语句是非常重要的一个知识点,其实说白了,C语言中的控制语句就是我们在生活中经常会说到的:如果,否则,或者。。。。其实这些控制语句都是非常贴近于我们的生活的。 一、分支语句 C语言中的分支语句可以根据条件执行不同的代码分支。 其中,常用的分支语句包括: 1.if语句 if语句:用于根据条件的真假执行不同的代码。语法结构如下: if (条件表达式) { //
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号