当前位置: 首页 > news >正文

C语言学习笔记(抱佛脚版)

毕业一年,发现记性是真的差,每次想起之前的知识总是想不全,看别人写的资料也懵懵懂懂。于是我索性自己再学一遍,并且记录一下。希望对你们也有所帮助。

正片开始!

前面的什么if for都不难理解,嵌套的话也不难理解

重点讲比较容易忘记的,又特别重要的

数组

可以理解为容器,可以存储很多个相同类型的变量。如水杯,可以装液体。

将多个数据存储到一起,每个数据称为容器的元素。

数组概念:

1.相同类型的数据按一定顺序排列的集合,并且使用一个名字命名,通过编号的方式对数据统一管理

2.数组名、下标(或索引)、元素、数组长度

数组特点:

1.数组的元素在内存中依次紧密排列,有序的

2.创建数组对象会在内存开辟一整块连续的空间。占据的空间大小,取决数组的长度和数组中元素的类型。

3.可以直接通过下标的方式调用指定位置的元素,速度很快

4.数组一旦初始化完成长度就是固定的。数组长度一旦确定,就不能修改

5.数组名中引用的是这块连续空间的首地址

数组维度分类:一维数组、二维数组、三维数组、四维数组、等

使用方法: int i[5];        //整型数组,数组名i,长度6

                   char i[5];        //字符数组,数组名i,长度6


break和continue关键字

关键字循环结构中的作用适用范围
break跳出循环结构switch-case、循环结构
continue跳出当次循环循环结构

goto关键字

无条件语句转移,执行goto语句,程序跳转到指定标号处执行。可以实现类似循环的效果

void main()
{tiaozhuan:printf("你过来啊!\n");goto tiaozhuan;
}//运行结果是无限输出 你过来啊!......

 结构体(struct)

结构体有什么用?结构体类似数组,但数组只能包含同类型的数据,结构体可以对多个不同类型的数据进行管理。

允许自定义复合数据类型,将不同的类型的值组合在一起,这种类型叫结构体

c语言没有其他语言的对象(object)和类(class)的概念,结构体理论上可以堪比对象和类。

//结构体声明,构建一个结构体类型的一般格式struct 结构体名{数据类型1 成员名1;    //;结尾数据类型2 成员名2;数据类型3 成员名3;......数据类型n 成员名n;
};    //结尾需要有一个分号----------------------------分界线
//案例1
#include <stdio.h>  // 支持 printf
#include <string.h> // 支持 strcpystruct qinshi{    //定义结构体:寝室int id;    //床位号char name[20];    //姓名char    gender;    //性别char    address[50];    //家庭住址};        //分号不能忘了 //调用结构体
int main(){//格式: struct 结构体类型名称  结构体变量名struct qinshi qin;    //声明结构体变量,这个qin1是用来后面调用,可以替换qin.id = 1;    //调用结构体成员//qin.name = "老王"; //数组不能重新赋值,只能赋值给数组的元素strcpy(qin.name,"老王");  //将数组元素赋值为 老王qin.gender = 'M'; //这里单符号赋值,要给单引号,否则会有问题strcpy(qin.address,"广东中山");printf("id = %d,name = %s,gender=%c,address = %s",qin.id ,qin.name, qin.gender, qin.address);return 0;
}
--------分界线-----
//案例2
#include <stdio.h>  // 支持 printf
#include <string.h> // 支持 strcpystruct qinshi{    //定义结构体:寝室int id;    //床位号char name[20];    //姓名char    gender;    //性别char    address[50];    //家庭住址};        //分号不能忘了 //调用结构体
int main(){//格式2: struct 结构体类型名称  结构体变量名 = {初始化数据};struct qinshi qin = {1, "老王", 'M', "广东中山"};   //按顺序初始化 printf("id = %d,name = %s,gender=%c,address = %s",qin.id ,qin.name, qin.gender, qin.address);return 0;
}
//格式3:struct 结构名 结构体变量={.参数1=***, .参数2=***, ......};
struct qinshi qin = {.id=1, .gender='M',.address= "广东中山", .name="老王", };
//格式三灵活直观一点,不受顺序影响,阅读性高高的  ----------分界线----------//格式4:声明类型的同时定义变量
#include <stdio.h>  // 支持 printf
#include <string.h> // 支持 strcpy 
struct qinshi{    //定义结构体:寝室int id;    //床位号char name[20];    //姓名char    gender;    //性别char    address[50];    //家庭住址}son1,son2,son3;        //直接声明变量名,儿子123int main(){//格式4:声明类型的同时定义变量 strcpy(son1.name ,"老铁");strcpy(son2.name ,"老王");printf("name = %s,name = %s",son1.name,son2.name);return 0;
}


http://www.mrgr.cn/news/96265.html

相关文章:

  • StarRocks 中 CURRENT_TIMESTAMP 和 CURRENT_TIME 分区过滤问题
  • 基于Spring AI开发本地Jenkins MCP Server服务
  • springboot 实现base64格式wav转码并保存
  • python下载m3u8格式视频
  • 音视频基础知识
  • Linux驱动编程 - UVC驱动分析
  • 计算机二级(C语言)考试高频考点总汇(四)—— 内存管理、文件操作、预处理
  • 【Pandas】pandas Series to_sql
  • 深入理解 Linux 文件权限:从 ACL 到扩展属性,解剖底层技术细节与命令应用
  • VMware 安装 Ubuntu 实战分享
  • Web3.0合约安全:重入攻击防御方案
  • 标准库中有uint32_t类型吗?
  • Retinexformer:基于 Retinex 的单阶段 Transformer 低光照图像增强方法
  • 树莓派超全系列文档--(10)RaspberryOS上使用 Python
  • (UI自动化测试web端)第三篇:元素的常用操作方法_鼠标操作
  • 【AI学习】概念了解
  • 计算机控制系统-达林算法验证
  • 模拟电子技术-基本放大电路
  • b站c语言鹏哥课程代码内容
  • PostgreSQL数据库迁移到Docker拉取的pg镜像中的