C语言
文章平均质量分 85
C语言技术笔记
初见未晚
博学而约取,厚积而薄发。
展开
-
C语言文件处理-学习笔记(二十二)
一、文件相关概念1、文件概念指存储在外部介质上(如磁盘磁带)的具有名字的一组相关数据的集合。(1)这里的文件是数据文件! 它是用来存放程序要处理的原始数据和程序运行的结果数据的。(2)操作系统是以文件为单位对数据进行管理的。(3)使用文件可以带来的好处:①可以实现程序和数据分离。②实现数据共享③实现数据的长久保存。(4)一个数据在磁盘上存储①字符型数据(char,字符串)无论在文本文件中,还是二进制文件中,一律以文本形式存储!②数值型数据(int,float,double)在二进制文件原创 2021-08-10 23:06:25 · 706 阅读 · 3 评论 -
C语言二进制数据-学习笔记(十九)
一、二进制数据1、二进制数、位、字节与字十进制数:10,12等。二进制数:1011等。一个位只能表示0,或者1两种状态,简称bit,一个位是一个bit。一个字节为8个二进制,称为8位,简称BYTE,8个比特是一个字节。一个字为2个字节,简称WORD。两个字为双字,简称DWORD。2、进制转换八进制整常数须以0开头,即以0作为八进制数的前缀。数码取值0~7。通常是无符号数。如0666;十六进制整常数的前缀为0X或0x。其数码取值为0-9,A-F或a-f。(1)二进制转为八进制:-&g原创 2021-07-25 23:19:08 · 1986 阅读 · 2 评论 -
C语言结构体指针-学习笔记(十七)
一、 结构体类型指针1、结构体指针变量以读方式访问形参的函数,仅出于性能的考虑,可以地址方式传参,避免结构复制所带来的开销。为防止在函数中意外地修改实参,可以用常量指针定义参数。2、指针引用结构体成员的三种形式①结构体变量名.成员名②(*p).成员名③p- >成员名p->n //得到p指向的结构体变量中的成员n的值p->n++ //先用p指向的结构体变量的成员n的值,用完后该成员n值加1;++p->n //成员n值先加1,然后使用n二、 指向结构体变原创 2021-07-23 22:57:43 · 899 阅读 · 1 评论 -
C语言结构体变量和结构体数组-学习笔记(十六)
一、结构体变量1、结构体概念将不同类型的数据组合成一个有机的整体即为结构体。结构体由许多组织在一起的数据项组成,这些数据项不需要属于同一类型。2、结构体类型及结构体变量定义(1)结构体类型声明struct 结构体名{成员表列;};①–结构体类型声明形成了创建结构体变量的模板。②–声明模板时若没有定义变量是没有开辟内存空间的。③–结构体中的变量称为结构体元素或结构体成员。(2)结构体类型定义及结构体变量定义方法一:先定义结构体类型再定义变量名struct staff // s原创 2021-07-20 23:18:16 · 3399 阅读 · 1 评论 -
C语言特殊指针-学习笔记(十五)
一、指向指针的指针变量(二级指针变量)1、概念(1)指针变量本身也存放在内存当中,它们也有地址,这个地址叫做指针变量的指针。(2)可以用一个变量来存放指针变量的地址,该变量就叫做指向指针的指针变量。(二级指针)那么:x=*p=*(*pp) p=*pp(3)定义格式:类型 **变量名,…… 如: int **pp;pp是一个指针变量,它可以指向一个指向整形数据的指针变量。3、二级指针用法例1:#include <stdio.h>int main(){原创 2021-07-18 01:00:03 · 295 阅读 · 6 评论 -
C语言函数指针和指针函数-学习笔记(十四)
一、函数指针和指向函数的指针变量1、概念(1)变量、数组、字符串在内存中占有一定的存储单元,有起始地址,因此可以用一个指针变量指向它们。(2)函数代码在内存中也占据一定的内存单元,因此它也有入口地址,该地址叫函数指针,同样也可以用一个指针变量指向该地址,叫指向函数的指针变量。(3)函数名代表该函数的入口地址。2、函数指针变量调用函数(1)定义格式:函数类型 (*指针变量名)(函数参数表 )如: int (*ip)(int,int); //指针IP所指向的函数的返回值是int型的。 i原创 2021-07-17 00:44:36 · 379 阅读 · 6 评论 -
C语言字符数组和字符指针-学习笔记(十三)
一、字符串处理1、字符串表示和处理方式在C语言中没有专门的字符串类型,字符串可以用三种方式表示和处理:(1)字面值方式:“xsteach”。不能修改,但是可以被赋值给变量,并在变量中修改。字面值方式的字符串后面自动追加’\0’结束符。字面值可以拼接:" abcdg" ==> “erghjj”(2)用字符数组:void main( ){ char string[]="How are you?" ; printf("%s\n" , string) ;}//以char型数组表示字符串,原创 2021-07-16 00:10:00 · 690 阅读 · 4 评论 -
C语言字符数组及字符串处理函数-学习笔记(十二)
一、字符串概念1、字符串常量定义:一对双引号括起来的字符序列。2、字符串常量存储方式字符串中的每个字符作为一个数组元素存储(占用1个字节),\0也算做占用一个字节。字符串"WELCOME"在内存中按照如下方式存储:w e l l c o m e \0。3、字符串 I/O 操作scanf("%s",str); //接受字符串(头文件: #include <stdio.h>)printf("%s",str); //显示字符串(1)字符串输入函数gets()①功能:接受按下回车原创 2021-07-11 21:59:17 · 1178 阅读 · 0 评论 -
十一、C语言二维数组和指针数组
一、指向一维数组的指针常用运算已知:一维数组:a[i]={0,1,2,3,4,…,i};*p=a;故:a[i]=*(a+i)=p[i]=*(p+i)=*p++二、二维数组中的行地址和列地址1、列地址(1)定义:第几个元素的地址,用单下标或双下标+&或*+行地址表示列地址。如:a[0] 、a[i]、&a[0][0]、*a、*(a+i)。已知:int a [3][4]={{0,1,2,3},{4,5,6,7},{8, 9,10,11}};可把二维数组a 看成三个一维数组组成原创 2021-07-10 23:59:20 · 1522 阅读 · 6 评论 -
C语言数组指针-笔记(十)
一、数组指针概念1、指向数组的指针(1)一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址。指针变量既可以指向变量,也可指向数组和数组元素。(2)所谓数组的指针(数组的名称)是指数组的起始地址,也就是第一个元素的地址。数组的指针是个常量指针。2、指向数组元素的指针(1)指向数组元素的指针变量的定义、赋值如:int a[5] , *p ; p=&a[0] ;//(p=a;)另外可在定义的同时进行初始化:如:int *p = &a[0] ;原创 2021-07-09 00:16:26 · 696 阅读 · 0 评论 -
C语言指针和指针变量-学习笔记(九)
一、基本概念1、地址(1)内存(内部存储器):由存储单元组成,其特点是存储单元线性连续。存储单元的最小单位是字节。(2)地址:内存区的每一个字节有一个编号, “地址” 。如果在程序中定义了一个变量,在对程序进行编译时,系统就会给这个变量分配内存单元。(3)变量的地址:变量在内存中总占用几个连续的字节,开始字节的地址,就是变量的地址。2、变量的访问方式(1)直接访问:按变量i地址存取变量值的方式(按变量名访问变量);如:printf("%d\n",i);scanf("%d",&i);原创 2021-07-06 23:54:11 · 835 阅读 · 5 评论 -
C语言预处理命令-笔记(八)
一、预处理1、编译预处理C语言允许在程序中使用几种特殊的命令(它们不是一般的C语句),在C编译系统对程序进行通常的编译之前,先对程序中这些特殊命令进行“预处理”,然后将预处理的结果和源程序一起再进行通常的编译处理,以得到目标代码。所以预处理不占用系统运行的时间。2、主要预处理功能(1)宏定义 ;(2)文件包含;(3)条件编译二、宏定义1、概念(1)宏:是对正文进行代入或嵌入的一种功能。即从一字符流中取出某个字符串去代替源程序里的标识符。说明:①宏名使用大小写字母都可以,习惯用大写字母,原创 2021-07-04 20:41:32 · 475 阅读 · 0 评论 -
C语言函数-笔记(七)
一、概念1、函数具有某种功能的独立程序段,用来实现一个模块的功能。换句话说,函数就是一系列语句的组合,用以实现一些相对独立且具有一定通用性的功能。如:y = f(x);2、分类从用户使用角度看,函数可分为:①标准函数(库函数)②用户自定义的函数从函数的参数形式看,函数可分为:①无参函数;②有参函数二、函数声明1、标准函数(库函数)的声明调用标准c库函数时无需声明,但要包含对应函数的头文件。如:#include <stdio.h>2、调用用户自定义函数的声明当用户自原创 2021-07-04 17:46:10 · 502 阅读 · 0 评论 -
C语言整型数组-笔记(六)
一、数组1、数组概念(1)数组定义:数组是一段连续的内存区域,一组有序的、类型相同的数据的集合。换句话说,数组是用来存储多个类型相同的数据的数据结构。数组是数据的容器,而非数据本身。(2)数组名:数组的名字,数组名代表数组的起始地址。数组名代表数组首地址,引用时可不必再加&,加也可以。(3)数组元素:索引或下标标识,索引或下标从0开始。(4)数组长度: 数组中元素的个数被称为数组的长度。只能是常量和常量表达式(大于0)。动态计算数组长度:sizeof(arr)/sizeof(arr[0])原创 2021-07-04 00:24:06 · 3169 阅读 · 0 评论 -
C语言语句-笔记(五)
一、基础概念1、语句表达式后面加上分号,构成表达式语句。特殊情况为只有1个分号的语句,称空语句。2、语句分类(1)空语句:本身只有一个分号,在不需要执行任何任务,但语法要求出现一条完整的语句时使用。(2)表达式语句:如:x=y+3;(3)控制语句,包括选择语句和循环语句。二、选择语句(分支语句)分类:if语句和switch语句1、 if语句(1) 分类① if(单分支);② if(expression) …else…(双分支)③ if … else if … (else if)原创 2021-07-02 22:59:47 · 1463 阅读 · 6 评论 -
C语言运算符和表达式-笔记(四)
一、运算符1、分类(1)根据操作数的数量:一元运算符、二元运算符和三元运算符(2)根据操作数的用途:赋值运算符、算术运算符、关系运算符、逻辑运算符、位运算符……2、运算符的优先级和结合方向(1)按运算符的优先级高低次序执行。例如,先乘除后加减。(2)如果在一个运算对象(或称操作数)两侧的运算符的优先级相同,则按C语言规定的结合方向(结合性)进行。结合性是指该操作数是先与左边的运算符结合,还是先与右边的运算符结合。(3)用法指针最优,单目运算优于双目运算,如正负号。先乘除取余,后加减。先算原创 2021-07-02 00:34:55 · 444 阅读 · 0 评论 -
C语言输入和输出函数-笔记(三)
一、 格式化输入scanf()和输出printf()函数(一) scanf()函数1、概念(1)功能:用于接收数据,给变量赋值。(2)函数原型及参数:int scanf(“control string”,argument list);第1个参数为控制字符串,常为格式类型说明符:%d….;第2个参数为参数列表,基本数据类型为& +(int ,float,char…):&a;(3)返回值:正确返回输入成功的参数数量,错误则返回0(4)头文件:#include <stdio原创 2021-06-23 23:28:41 · 401 阅读 · 0 评论 -
C语言基本数据类型-笔记(二)
C语言基本数据类型一、C语言概念1、介于汇编语言和高级语言之间的中级语言,具有低级语言的特性,能编写系统软件,又是一种结构化的程序设计语言,即具有高级语言的特性,可用于编写应用软件。2、编译原理:源文件(.c)和头文件一起经由编译器编译成为目标文件(.obj),目标文件和库文件及其他用户生成的目标文件由链接器链接形成可执行文件(.exe)。二、C语言程序结构和注释1、工程由一个或多个.c文件构成;每一个.c文件可由预处理命令,全局声明变量,函数和注释组成。2、注释用于描述特定的命令、函数或程序原创 2021-06-16 23:34:15 · 654 阅读 · 2 评论 -
Microsoft Visual C++6.0软件建立C语言工程-笔记(一)
Microsoft Visual C++6.0软件建立C语言工程一、软件安装在安装包中有2个文件,双击执行Setup.exe程序,自定义软件安装路径和工程存储默认保存路径。完成之后,右键点击Visual C++6.0软件,打开文件所在位置,并将安装包中MSDEV.EXE文件复制替换已存在的MSDEV.EXE文件。二、单文件工程的建立第一步:双击打开Visual C++6.0软件快捷方式第二步:点击File—>新建第三步:点击工程—>选择Win32 Console Applic原创 2021-06-16 00:00:42 · 9449 阅读 · 11 评论