C语言复习笔记 14

MongoDB实验——数据库基本操作初.cz教你如何敲代码 第1关:创建数据库: 本关评测是在Linux环境下进行的,MongoDB的安装与配置测评系统均已默认完成。 为了完成本关任务,你需要掌握:1.如何连接数据库,2.如何创建数据库。 连接数据库 MongoDB安装完成后,可以通过pgrep mongo -l命令来查看是否已经启动。 在操作数据库之前,需要连接它,连接本地数据库服务器,输入命令:mongo。 其中连接的警告可以不用管,只要最下方出现>符号,说明连接成功。 创建数据库 连接上MongoDB之后就可以进行数据库的操作了, 阅读详情

C语言结构体

在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。结构体的定义形式为:

struct 结构体名{
    结构体所包含的变量或数组
};

结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。
结构体也是一种数据类型,它由程序员自己定义,可以包含多个其他类型的数据。

像 int、float、char 等是由C语言本身提供的数据类型,不能再进行分拆,我们称之为基本数据类型;而结构体可以包含多个基本类型的数据,也可以包含其他的结构体,我们将它称为复杂数据类型或构造数据类型。

结构体变量

既然结构体是一种数据类型,那么就可以用它来定义变量。例如:
struct stu stu1, stu2;
定义了两个变量 stu1 和 stu2,它们都是 stu 类型,都由 5 个成员组成。注意关键字struct不能少。

你也可以在定义结构体的同时定义结构体变量:
格式化复制
struct stu{
    char *name;  //姓名
    int num;  //学号
    int age;  //年龄
    char group;  //所在学习小组
    float score;  //成绩
} stu1, stu2;
将变量放在结构体定义的最后即可。
如果只需要 stu1、stu2 两个变量,后面不需要再使用结构体名定义其他变量,那么在定义时也可以不给出结构体名,如下所示:
struct{  //没有写 stu
    char *name;  //姓名
    int num;  //学号
    int age;  //年龄
    char group;  //所在学习小组
    float score;  //成绩
} stu1, stu2;
这样做书写简单,但是因为没有结构体名,后面就没法用该结构体定义新的变量。

结构体数组

所谓结构体数组,是指数组中的每个元素都是一个结构体。在实际应用中,结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。

定义结构体数组和定义结构体变量的方式类似,请看下面的例子:

struct stu{
    char *name;  //姓名
    int num;  //学号
    int age;  //年龄
    char group;  //所在小组 
    float score;  //成绩
}class[5];

表示一个班级有5个学生。

指针也可以指向一个结构体,定义的形式一般为:
struct 结构体名 *变量名;
下面是一个定义结构体指针的实例:

struct stu{
    char *name;  //姓名
    int num;  //学号
    int age;  //年龄
    char group;  //所在小组
    float score;  //成绩
} stu1 = { "Tom", 12, 18, 'A', 136.5 };
//结构体指针
struct stu *pstu = &stu1;

也可以在定义结构体的同时定义结构体指针:

struct stu{
    char *name;  //姓名
    int num;  //学号
    int age;  //年龄
    char group;  //所在小组
    float score;  //成绩
} stu1 = { "Tom", 12, 18, 'A', 136.5 }, *pstu = &stu1;

注意,结构体变量名和数组名不同,数组名在表达式中会被转换为数组指针,而结构体变量名不会,无论在任何表达式中它表示的都是整个集合本身,要想取得结构体变量的地址,必须在前面加&,所以给 pstu 赋值只能写作:
struct stu *pstu = &stu1;
而不能写作:
struct stu *pstu = stu1;
还应该注意,结构体和结构体变量是两个不同的概念:结构体是一种数据类型,是一种创建变量的模板,编译器不会为它分配内存空间,就像 int、float、char 这些关键字本身不占用内存一样;结构体变量才包含实实在在的数据,才需要内存来存储。下面的写法是错误的,不可能去取一个结构体名的地址,也不能将它赋值给其他变量:
struct stu *pstu = &stu;
struct stu *pstu = stu;

获取结构体成员

通过结构体指针可以获取结构体成员,一般形式为:
(*pointer).memberName
或者:
pointer->memberName
第一种写法中,.的优先级高于,(*pointer)两边的括号不能少。如果去掉括号写作*pointer.memberName,那么就等效于(pointer.numberName),这样意义就完全不对了。

第二种写法中,->是一个新的运算符,习惯称它为“箭头”,有了它,可以通过结构体指针直接取得结构体成员;这也是->在C语言中的唯一用途。

上面的两种写法是等效的,我们通常采用后面的写法,这样更加直观。

C语言枚举类型(Enum)

概念的引入

在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等。

以每周七天为例,我们可以使用#define命令来给每天指定一个名字:

#include <stdio.h>

#define Mon 1
#define Tues 2
#define Wed 3
#define Thurs 4
#define Fri 5
#define Sat 6
#define Sun 7

int main(){
    int day;
    scanf("%d", &day);
    switch(day){
        case Mon: puts("Monday"); break;
        case Tues: puts("Tuesday"); break;
        case Wed: puts("Wednesday"); break;
        case Thurs: puts("Thursday"); break;
        case Fri: puts("Friday"); break;
        case Sat: puts("Saturday"); break;
        case Sun: puts("Sunday"); break;
        default: puts("Error!");
    }
    return 0;
}
运行结果:
5↙
Friday

#define命令虽然能解决问题,但也带来了不小的副作用,导致宏名过多,代码松散,看起来总有点不舒服。C语言提供了一种枚举(Enum)类型,能够列出所有可能的取值,并给它们取一个名字。

枚举类型的定义形式为:
enum typeName{ valueName1, valueName2, valueName3, ...... };

例如,列出一个星期有几天:
enum week{ Mon, Tues, Wed, Thurs, Fri, Sat, Sun };
可以看到,我们仅仅给出了名字,却没有给出名字对应的值,这是因为枚举值默认从 0 开始,往后逐个加 1(递增);也就是说,week 中的 Mon、Tues …… Sun 对应的值分别为 0、1 …… 6。

C语言typedef:给类型起一个别名

为结构体类型定义别名:
typedef struct stu{
    char name[20];
    int age;
    char sex;
} STU;
STU 是 struct stu 的别名,可以用 STU 定义结构体变量:
STU body1,body2;
它等价于:
struct stu body1, body2;

C语言const:禁止修改变量的值

有时候我们希望定义这样一种变量,它的值不能被改变,在整个作用域中都保持固定。例如,用一个变量来表示班级的最大人数,或者表示缓冲区的大小。为了满足这一要求,可以使用const关键字对变量加以限定:

由于常量一旦被创建后其值就不能再改变,所以常量必须在定义的同时赋值(初始化),后面的任何赋值行为都将引发错误。

const 和指针

const 也可以和指针变量一起使用,这样可以限制指针变量本身,也可以限制指针指向的数据。const 和指针一起使用会有几种不同的顺序,如下所示:
const int *p1;
int const *p2;
int * const p3;
在最后一种情况下,指针是只读的,也就是 p3 本身的值不能被修改;在前面两种情况下,指针所指向的数据是只读的,也就是 p1、p2 本身的值可以修改(指向不同的数据),但它们指向的数据不能被修改。

总结:const 离变量名近就是用来修饰指针变量的,离变量名远就是用来修饰指针指向的数据,如果近的和远的都有,那么就同时修饰指针变量以及它指向的数据

const 和函数形参

const 通常用在函数形参中,如果形参是一个指针,为了防止在函数内部修改指针指向的数据,就可以用 const 来限制。

C语言文件操作

操作文件的正确流程为:打开文件 –> 读写文件 –> 关闭文件。文件在进行读写操作之前要先打开,使用完毕要关闭。

所谓打开文件,就是获取文件的有关信息,例如文件名、文件状态、当前读写位置等,这些信息会被保存到一个 FILE 类型的结构体变量中。关闭文件就是断开与文件之间的联系,释放结构体变量,同时禁止再对该文件进行操作。

在C语言中,文件有多种读写方式,可以一个字符一个字符地读取,也可以读取一整行,还可以读取若干个字节。文件的读写位置也非常灵活,可以从文件开头读取,也可以从中间位置读取。

文件流
我们知道,计算机所有的文件(保存在磁盘)都要载入内存才能处理,所有的数据必须写入文件(磁盘)才不会丢失。数据在文件和内存之间传递的过程叫做文件流,类似水从一个地方流动到另一个地方。数据从文件复制到内存的过程叫做输入流,从内存保存到文件的过程叫做输出流。

文件是数据源的一种,除了文件,还有数据库、网络、键盘等;数据传递到内存也就是保存到C语言的变量(例如整数、字符串、数组、缓冲区等)。我们把数据在数据源和程序(内存)之间传递的过程叫做数据流(Data Stream)。相应的,数据从数据源到程序(内存)的过程叫做输入流(Input Stream),从程序(内存)到数据源的过程叫做输出流(Output Stream)。

输入输出(Input output,IO)是指程序(内存)与外部设备(键盘、显示器、磁盘、其他计算机等)进行交互的操作。几乎所有的程序都有输入与输出操作,如从键盘上读取数据,从本地或网络上的文件读取数据或写入数据等。通过输入和输出操作可以从外界接收信息,或者是把信息传递给外界。

我们可以说,打开文件就是打开了一个流。

C语言文件的打开与关闭

在C语言中,文件操作都是由库函数来完成的,这节介绍文件的打开和关闭。

文件的打开(fopen函数)

fopen() 函数用来打开一个文件,它的原型为:
FILE *fopen(char *filename, char *mode);
filename为文件名(包括文件路径),mode为打开方式,它们都是字符串。fopen() 会获取文件信息,包括文件名、文件状态、当前读写位置等,并将这些信息保存到一个FILE类型的结构体变量中,然后将该变量的地址返回。
FILE是在stdio.h头文件中定义的一个结构体,用来保存文件信息。
如果希望接收 fopen() 的返回值,就需要定义一个 FILE 类型的指针。例如:
FILE *fp = fopen("demo.txt", "r");
表示以“只读”方式打开当前目录下的 demo.txt 文件,并使 fp 指向该文件,这样就可以通过 fp 来操作 demo.txt 了。fp 通常被称为文件指针。又如:
FILE *fp = fopen("D:\\demo.txt","rb");
表示以二进制方式打开 D 盘下的 demo.txt 文件,允许读和写。

打开方式(mode)有多种,见下表:
这里写图片描述

几点说明

1) 文件打开方式由r、w、a、t、b、+ 六个字符拼成,各字符的含义是:
r(read):读
w(write):写
a(append):追加
t(text):文本文件,可省略不写
b(banary):二进制文件
+:读和写

2) 如果没有“b”字符,文件以文本方式打开。

3) 凡用“r”打开一个文件时,该文件必须已经存在。

4) 在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。因此常用以下程序段打开文件:

if( (fp=fopen("D:\\demo.txt","rb") == NULL ){
    printf("Error on open D:\\demo.txt file!");
    getch();
    exit(1);
}

文件关闭(fclose函数)

文件一旦使用完毕,应该用fclose()函数把文件关闭,以释放相关资源,避免数据丢失。fclose() 的原型为:
int fclose(FILE *fp);
fp 为文件指针。例如:
fclose(fp);
文件正常关闭时,fclose() 的返回值为0,如果返回非零值则表示有错误发生。

字符读取函数 fgetc
fgetc() 使用举例:
格式化复制

char ch;
FILE *fp = fopen("D:\\demo.txt", "r+");
ch = fgetc(fp);
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main(void){
    FILE *fp;
    char ch;

    //如果文件不存在,给出提示并退出
    if( (fp=fopen("demo.txt","rt")) == NULL ){
        printf("Cannot open file, press any key to exit!");
        getch();
        exit(1);
    }

    //每次读取一个字节,直到读取完毕
    while( (ch=fgetc(fp)) != EOF ){
        putchar(ch);
    }
    putchar('\n');  //输出换行符
    fclose(fp);
    return 0;
}

字符写入函数fputc
int fputc ( int ch, FILE *fp );

ch 为要写入的字符,fp 为文件指针。fputc() 写入成功时返回写入的字符,失败时返回EOF,返回值类型为 int 也是为了容纳这个负数。例如:
fputc('a', fp);
或者:
char ch = 'a';
fputc(ch, fp);
表示把字符 'a' 写入fp所指向的文件中。
#include<stdio.h>
int main(){
    FILE *fp;
    char ch;

    //判断文件是否成功打开
    if( (fp=fopen("D:\\demo.txt","wt+")) == NULL ){
        printf("Cannot open file, press any key to exit!\n");
        getch();
        exit(1);
    }

    printf("Input a string:\n");
    //每次从键盘读取一个字符并写入文件
    while ( (ch=getchar()) != '\n' ){
        fputc(ch,fp);
    }
    fclose(fp);
    return 0;
}
【C语言期末复习笔记】-(一)C语言基本语句 为了给学妹复习C语言而复习C语言。。。 看的猴博士爱讲课的视频。 用的IDE是老当益壮的DevC++,对课程中的部分代码进行了修改。 前面的还是很简单的,对照着笔记再看一看书很容易就懂了(注释就省下来了)。 1.固定格式 #include<stdio.h> int main(){ return 0; } 2.printf语句 样例:printf语句 #include<s... 阅读详情

相关推荐

C语言期中复习训练

1.以下程序中printf("x");执行的次数是:(5) #include <stdio.h> int main() { int x=0,y=10; while(x<y) { x++;y--; printf("x"); } return 0; } 2.以下程序在运行时输入234,则程序的运行结果是:(44556) void main() { int c; while((c=getchar())!='\n') {

minghaibuai的博客 2637

educoder MongoDB 数据库基本操作

第1关:数据库创建 编程要求 在右侧命令行中连接 MongoDB ,创建一个名为 mydb 的数据库,并插入数据:_id:1,name:"李小红"。 测试说明 操作完之后点击评测,平台会对你的创建的数据库和插入的数据进行测试,如果数据库创建成功且数据插入完成,平台会输出如图7所示的结果。 pgrep mongo -l mongo use mydb db show dbs db.mydb.insert({_id:1,name:"李小红"}) ...

m0_56494324的博客 8632

C语言学习笔记基础完整

C语言基础部分学习笔记全部

MongoDB练习题带答案 (头歌教程)

本文所有题目来自头歌学习平台代码是自己写的。

m0_74035163的博客 709

C语言复习笔记

C语言复习笔记,比较全面,有助于C语言的学习。

SystemRDL:从寄存器描述到自动化生成的完整指南

本文详细介绍了SystemRDL如何通过“一份描述,多处生成”的理念,彻底解决芯片与FPGA设计中手动维护寄存器带来的不一致与低效问题。文章提供了从语言快速上手、核心组件讲解到使用PeakRDL工具链实现自动化代码与文档生成的完整实战指南,帮助硬件工程师构建高效、可靠的寄存器开发流程。

weixin_29243279的博客 658

分布式数据库NoSQL(二)——MongoDB 数据库基本操作

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

m0_64139004的博客 1万+

保姆级教程:用SOEM主站搞定汇川SV660N伺服驱动器的EtherCAT通讯(附完整C代码)

本文提供了一份详细的SOEM主站与汇川SV660N伺服驱动器EtherCAT通讯的实战教程,涵盖环境搭建、状态机理解、PDO映射配置、CiA402状态机实战、实时性能优化及诊断调试等关键步骤,并附完整C代码示例,帮助开发者快速实现工业级EtherCAT控制。

weixin_28292761的博客 302

C语言中的结构体类型、枚举类型、联合类型

目录 一、结构体 结构体变量 成员的获取和赋值 结构体数组 结构体指针 二、枚举类型 枚举变量 三、联合类型 共用体的应用 一、结构体 在C语言中,可以使用结构体(Struct)来存放一组类型不同的数据。 定义格式: struct 结构体名{ 成员 }; 结构体所包含的变量或数组称为结构体成员(Member)。结构体成员的定义方式与变量和数组的定义方式相同,...

Noteligiable的博客 1711

解决vscode 连接服务器报错:The remote host may not meet VS Code Server‘s prerequisites for glibc and libstdc++

解决vscode远程连接服务器报错:The remote host may not meet VS Code Server's prerequisites for glibc and libstdc++ (The remote host does not meet the prerequisites for running VS Code Server)

qq_37200100的博客 9910

一文解读DeepSeek训练数据集

本文重点以DeepSeek为例,详细介绍预训练数据集相关内容。大语言模型LLM(如DeepSeek、ChatGPT、文心一言等)的“智慧”源于它们学习的海量数据集。简单来说,数据集就是模型的“知识库”,通常由互联网公开的文本、图片、视频等。这些数据需满足两个特点:规模大和多样性。规模大是指数据量可达千亿级词汇,让模型学习复杂规律;多样性则涵盖多领域(如科技、文学)、多语言、多形式(对话、新闻),帮助模型适应不同场景。例如,训练数据中既有百科知识,也有日常对话,模型才能既解答专业问题,又能闲聊。

u013891230的博客 7085

C语言学习及复习笔记-【14】C文件读写

您可以使用函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型的一个对象,类型包含了所有用来控制流的必要的信息。在这里,是字符串,用来命名文件,访问模式。

文斗士的专栏 672

手把手教你离线部署bert-base-uncased模型(附完整文件清单)

本文提供了一份详尽的bert-base-uncased模型离线部署指南。针对严格内网或无网络环境,文章不仅列出了包括config.json、pytorch_model.bin在内的完整必需文件清单,还详细解释了每个文件的作用,并给出了使用snapshot_download工具或手动下载的两种文件获取方法。重点阐述了如何正确设置本地路径、编写健壮的加载代码,并通过多层次验证确保模型在离线环境下成功运行,有效解决了部署过程中常见的文件缺失和路径错误问题。

weixin_29034963的博客 320

笔记:Linux环境C语言复习(14)// 信号

目录1. 信号 1. 信号 信号是软件终端。很多比较重要的应用程序都需要处理信号。信号提供了一种处理异步事件的方法,比如,终端用户键入终端键,会通过信号机制停止一个程序,或及早终止管道中的下一程序。 ...

weixin_42754578的博客 1333

LOFIC / 全局快门在移动端的可行性:曝光容限、读出噪声与算力预算

手机端引入 LOFIC 与全局快门的核心权衡在于:在有限像素面积与功耗下,如何换取更高的动态范围与运动场景鲁棒性。LOFIC 通过侧向溢流到积分电容扩大满井并保持较高转换增益,全局快门在帧内一次性采样消除行时序伪影,但需付出像素填充率、读出噪声与片上存储功耗的代价。本文以工程可实操为目标,给出像素与读出链的简化模型、曝光损益测算、数据率与带宽估算、端到端算力与热预算方法,配套寄存器配置流程、帧内/帧间切换策略与验证清单,帮助在真实移动 SoC 与 ISP 约束下完成可行性评估与原型落地。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1139

基于DWA算法的机器人动态避障技术实现及matlab代码

DWA算法是一种基于轨迹的运动规划算法,其核心思想是:在机器人当前位置及速度的基础上,结合机器人感知到的环境信息,生成一组合法的速度指令,然后从这组速度指令中选取代价最小的速度指令作为机器人的下一步操作。下面,我们将通过一个实例来演示基于DWA算法的机器人动态避障技术实现。假设机器人在一个宽敞的场地内行驶,但场地内有一些固定障碍物和移动障碍物,机器人需要避开这些障碍物,并在场地内自由移动。本文给出了一种基于DWA算法的机器人动态避障技术实现及相应的matlab代码,读者可以根据自身需求进行修改和调整。

uote_e的博客 1002

C语言复习资料整理

第一章 C语言基本知识 【考点1】C程序 用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。C语言有三种基本结构:顺序结构、选择结构、循环结构。 【考点2】main函数 又称主函数,是C程序的入口。main后面跟一对小括号和一对花括号,花括号括起来的部分称为main

小米mm修仙路 1万+

OceanBase容量统计:租户、数据库、表大小

🍎 数据库版本:OceanBase V4。

Sebastien23的博客 1400

C语言复习笔记(一)C语言概论初识

从今天开始没有复习c语言的要抓紧时间了哦,如果不会复习的话,不妨跟着我一起来复习吧,现在小编已经结课了,反正闲着也是闲着,所以小编想用五天时间对c语言做一个系统性复习。欢迎大家一起来学习,互相指正,互相进步哦!加油,干就完了,奥利给!!! 不bb了,直入正题 第1章 C语言概论初识 (温馨提示,如果你看起来毫不费力,你就已经是大佬了哦,如果有些吃力,那就赶紧抓紧时间再学一遍吧,这个复习不针对小白哦) 最简单的C语言程序 【例1.1】要求在屏幕上输出:机械电子工程 解题思路: 在主函数中用printf函数原样

royal_77QAQ的博客 1588

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C语言复习笔记: PTA题集整理

C语言复习笔记: PTA题集整理 文章目录C语言复习笔记: PTA题集整理@[toc]C语言取模运算及辗转相除法易错内容:将/运算符当作%使用解答代码:算法实现1:算法实现2求出大于m的最小素数:PTA题集输入格式:输出格式:输入样例:输出样例:代码解答:课堂代码:存在问题 14 输出15改进后的代码:相似内容:遍历元素 并 输出或者返回数值 找素数7-3 求幂级数展开的部分和 (20分)输入格式:输出格式:输入样例:输出样例:需要注意的地方:代码内容解答代码1:修改后的代码:最佳情侣

weixin_44640697的博客 4950

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C语言知识复习(超全面)

第一章 C语言基本知识 【考点1】C程序 用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。C语言有三种基本结构:顺序结构、选择结构、循环结构。 【考点2】main函数 又称主函数,是C程序的入口。main后面跟一对小括号和一对花括号,花括号括起来的部分称为main函数的...

qq_45951706的博客 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

西安邮电复试c语言复习笔记

西安邮电复试c语言复习笔记 C语言基本数据类型分为:整型,实型,字符型,枚举型4类。 计算闰年表达式:(yaer%40&&year%100!0)||(year%4000); 小写字母转大写字母:ch=getchar(); Putchar(ch); ch=ch>=’a’&&ch<=’z’?ch-32:ch; 6.C语言中,取余%运算符的运...

Heart_xxrs的博客 859

C语言笔记(郝斌)

二次复习做的笔记,很基础,适合新手入门,复习巩固

m0_65575611的博客 3855

C 语言复习总结记录

C 语言是一门通用计算机编程语言,广泛应用于底层开发。设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。是一门面向过程的计算机编程语言,与 C++,Java 等面向对象的编程语言有所不同。二十世纪八十年代,为避免各开发厂商用的 C 语言语法产生差异,由美国国家标准局为 C 语言制定了一套完整的美国国家标准语法,称为 ANSI C,作为 C 语言最初的标准。

优质后端技术知识记录 1260
上一篇: C语言复习笔记 13
下一篇: C语言复习笔记 15
henhaoji_123
博客等级 码龄10年 260粉丝 283原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值