c语言基础笔记16

【C语言】c语言基础知识梳理(超全) C语言知识梳理零、概述一、变量和基本类型(一)基本类型(二)变量(三)复合类型(四)const限定符(五)字符串二、表达式三、语句四、函数五、指针六、.h文件声明以及编译预处理指令     零、概述 写此篇博客的目的主要是为了梳理一下c语言基础知识,因为不会像学c语言那样有很多例子,或者按照初学c语言的顺序,所以不推荐刚学习c语言的人阅读。 本篇文章有什么: 对c语言系统的梳理 对一些使用的细节... 阅读详情

本部分包含数组练习题。    1.创建一个整形数组,完成对数组的操作实现函数init()初始化数组为0.实现print()打印数组的每个元素。实现reverse()函数完成数组元素的逆序。2.交换数组(数组一样大)

代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<windows.h>

void init(int arr[],int len)
{
	for (int i = 0;i < len;i++)
	{
		arr[i] = 0;
	}
}

void print(int arr[], int len)
{
	printf("\n");
	for(int i=0;i<len;i++)
	{
		printf("%d ", arr[i]);
	}
}

void reverse(int arr[], int len)
{
	int temp = 0;
	int right = len-1;
	for (int i=0;i<len/2;i++)
	{
		temp = arr[i];
		arr[i] = arr[right];
		arr[right] = temp;
		right--;
	}
}

void exchange(int arr[], int arr2[], int len)
{
	int temp = 0;
	for (int i = 0;i < len;i++)
	{
		temp = arr[i];
		arr[i] = arr2[i];
		arr2[i] = temp;
	}
}

int main()
{
	//数组练习题
	//1.创建一个整形数组,完成对数组的操作
	//实现函数init()初始化数组为0.实现print()打印数组的每个元素。实现reverse()函数完成数组元素的逆序
	int arr[] = { 1,2,3,4,5 };
	int len = sizeof(arr)/sizeof(arr[0]);
	print(arr,len);
	reverse(arr, len);
	print(arr, len);
	init(arr, len);
	print(arr, len);
	printf("\n");
	//2.交换数组(数组一样大)
	int arr2[] = { 6,7,8,9,10 };
	exchange(arr, arr2, len);
	print(arr, len);
	print(arr2, len);
}

笔记:

  • 数组
    • 5.1 概述
      • 所谓数组,就是一个集合,里面存放了相同类型的数据元素
      • 特点1:数组中的每个数据元素都是相同的数据类型
      • 特点2:数组是由连续的内存位置组成的
      • 例图:

    • 5.2 一维数组
      • 5.2.1 一维数组定义方式
        • 一维数组定义的三种方式:
          • 数据类型 数组名[ 数组长度 ];
          • 数据类型 数组名[ 数组长度 ] = { 值1,值2 ...};
          • 数据类型 数组名[ ] = { 值1,值2 ...};
        • 图示:

        • 注意:如果在初始化数据的时候,没有全部填写完,会用0来填补剩余数据+数组长度必须是常量
        • 总结1:数组名的命名规范与变量名命名规范一致,不要和变量重名
        • 总结2:数组中下标是从0开始索引
      • 5.2.2 一维数组数组名
        • 一维数组名称的用途:
          • 1.可以统计整个数组在内存中的长度
          • 2.可以获取数组在内存中的首地址
        • 注意:数组名是常量,因此不可以赋值
        • 总结1:直接打印数组名,可以查看数组所占内存的首地址
        • 总结2:对数组名进行sizeof,可以获取整个数组占内存空间的大小
      • 5.2.3 冒泡排序
        • 作用: 最常用的排序算法,对数组内元素进行排序
          • 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
          • 对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。
          • 重复以上的步骤,每次比较次数-1,直到不需要比较
    • 5.3 二维数组
      • 二维数组就是在一维数组上,多加一个维度。
      • 5.3.1 二维数组定义方式
        • 二维数组定义的四种方式:
          • 数据类型 数组名[ 行数 ][ 列数 ];
          • 数据类型 数组名[ 行数 ][ 列数 ] = { {数据1,数据2 } ,{数据3,数据4 } };
          • 数据类型 数组名[ 行数 ][ 列数 ] = { 数据1,数据2,数据3,数据4};
          • 数据类型 数组名[ ][ 列数 ] = { 数据1,数据2,数据3,数据4};
        • 建议:以上4种定义方式,利用第二种更加直观,提高代码的可读性
        • 总结:在定义二维数组时,如果初始化了数据,可以省略行数
      • 5.3.2 二维数组数组名
        • 二维数组名称的用途:
          • 1.查看二维数组所占内存空间
          • 2.获取二维数组首地址
    • 5.4 数组&函数
      • 传递数组给函数
        • 可以通过指定不带下标(索引)的数组名来传递一个指向数组的指针
        • 传数组给一个函数,数组类型自动转换为指针类型,因而传的实际是地址
        • 数组作为参数的三种方式
          • 1.形式参数是一个指针:void myFunction(int *param)
          • 2.形式参数是一个已定义大小的数组:void myFunction(int param[10])
          • 3.形式参数是一个未定义大小的数组:void myFunction(int param[])
      • 从函数返回数组
        • C++ 不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。
        • 如果您想要从函数返回一个一维数组,您必须声明一个返回指针的函数。
          • 例子:int * myFunction()
c语言基础程序——100实例 /根据公示Π/4=1-1/3+1/5-1/7+1/9-1/11+......,计算Π的近似值,当最后一项的绝对值小于0.000001为止。int f=1;//变号用//i是分母,sum是Π/4的值while (fabs(1.0/i)>=1e-6)//当绝对值小于10的-5次方认为为0//累加每项的值f*=-1;//变号i+=2;//分母+2变化printf("Π的近似值为%.5lf",sum*4); 阅读详情

相关推荐

C语言基础知识入门大全

C语言入门知识

#@学生小羊的博客 3718

C语言基础:第16天笔记

二级指针(多重指针)用于存储一级指针的地址,需要两次解引用才能访问原始数据,其他多级指针的用法类似,但实际开发中二级指针最为常见。int a=10;//a是普通变量//一级指针(存储a的地址) *p解引用到a的值//二级指针(存储p的地址) **w解引用到a的值//三级指针(存储w的地址) ***x接引用到a的值语法数据类型 **变量名 = 指针数组的数组名 或 一级指针的地址特点① 与指针数组的等效性,二级指针与指针数组等效,但与二维数组不等效。

weixin_69181863的博客 800

黑马程序员——C语言基础教程笔记

黑马程序员——C语言基础教程笔记 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 文章目录黑马程序员——C语言基础教程笔记前言Day-11.C语言概论1.1 什么是C语言1.1.1 C语言特点1.1.2 学习C语言的理由1.1.3 发展方向1.1.4 C语言中的关键字2.3.Day-21.引入库2.读入数据总结 前言 研三了,作为一枚菜鸡硕,为了找工作,只好重刷C语言。以下笔记是我在“黑马程序员:http://yun.

BinHeon的博客 6765

7月16日笔记C语言基础类型转换

类型转换 概念:不一致但相互兼容的数据类型,在同一表达式中将会发生类型转换。 转换模式: 隐式转换:系统按照隐式规则自动进行的转换 强制转换:用户显式自定义进行的转换 隐式规则:从小类型向大类型转换,目的是保证不丢失表达式中数据的精度 char->short->int->long->float->double->long double 隐式转换示例代码 chara = 'a'; intb = 12; floatc = 3.1...

CW_qian的博客 1109

type C 16pin 学习笔记

在学习单片机时,会接触到 type C 的接口进行调试,使用 16 PIN 的引脚可以进行数据传输。我们都知道 type C 可以进行正反插,因为其时对称的,但其实并不了解其正反插的结构原理。以下图片是 type C 的母头图纸,一般都是插座 / 插头上的,共有16个引脚,12个焊点。以下图片是 type C 母头的实物图片,上下均有 8 个引脚,180° 对称。以下图片是 type C 公头示意图,一般都是线头上的接口,共有16个引脚,除 CC 和 SBU 外,其他引脚 180° 是对应相同的。

qq_30127025的博客 1万+

激光光束质量评估与光斑尺寸计算:从理论到MATLAB实践

本文详细解析激光光束质量评估与光斑尺寸计算的理论基础及MATLAB实践方法,重点介绍M²因子的测量与应用。通过高斯光束模型、CCD成像法和MATLAB算法实现,帮助读者掌握从理论到实践的完整流程,提升激光系统调试与评估能力。

weixin_29083373的博客 450

7月16日笔记C语言基础数据类型

1. 整型 概念:表达整数类型的数据 语法: inta = 123; // 定义了一个专门用来存储整数的变量a 需要注意的地方: int 的本意是 integer,即整数的意思 int a 代表在内存中开辟一块小区域,称为 a,用来存放整数,a 一般被称为变量。 变量 a 所占内存大小,在不同的系统中是不一样的,64位系统典型的大小是4个字节。 变量 a 有固定的大小,因此也有取值范围,典型的范围是:-2147483648到2147483647 整型修饰符 short:用来缩短整型变...

CW_qian的博客 471

时序SDC约束set_data_check及常见应用场景

时序约束SDC之set_data_check命令及常见应用场景解析

weixin_37584728的博客 2287

C语言基础学习笔记

此博文是整理本人初入编程世界学习C语言的经历,零基础想学习C语言的可参考本文的学习方式,内容包含视频+笔记+思维导图总结,根据视频资源编写自己见解的学习笔记,再从笔记中提炼总结思维导图。笔记看得云里雾里是正常的,一是需要配合视频,二是因为写笔记时是想到哪里记到哪里,每个人侧重点不同,笔记仅供参考。

weixin_45068267的博客 2129

PRIDE数据库20年:2025更新

PRoteomics IDEntifications (PRIDE)数据库(https://www.ebi.ac.uk/pride/)是全球领先的基于质谱(MS)的蛋白质组学数据存储库,也是ProteomeXchange联盟的创始成员之一。本文总结了过去3年中PRIDE资源及相关工具的发展情况。提交到PRIDE存档的数据集数量平均每月达到约534个。主要得益于基础设施的持续改进,如用于超大数据集的新文件传输协议(Globus)、新的数据重新提交流程以及自动数据集验证过程。

多组・学・多组学 2063

从零构建:openEuler WSL下的ARM交叉编译工具链自动化部署方案

本文详细介绍了在openEuler WSL环境下使用Ansible自动化部署ARM交叉编译工具链的方案。通过编写Ansible角色和Playbook,实现从基础环境配置到工具链安装、环境变量设置的一键部署,大幅提升嵌入式开发效率。方案支持多种ARM架构,并扩展了QEMU仿真、VS Code远程开发等实用功能,是嵌入式开发者的高效解决方案。

h3i4j的博客 382

C语言基础知识笔记——万字学习记录

Hi,大家好,我是半亩花海。本文主要参考浙大翁恺老师的C语言讲解以及其他博主的C语言学习笔记,进而梳理C语言的基础知识,为后续系统性学习数据结构和其他语言等知识夯实一定的基础。

沉思默想,深度学习,半亩星河半亩月,半亩花海半亩云。 2612

S4 HANA 1809+折旧过账(AFAB/AFABN)凭证行数据存储逻辑变迁:从BSEG到ACDOCA的深度解析

本文深度解析了S4 HANA 1809+版本中折旧过账(AFAB/AFABN)凭证行数据存储逻辑的变迁,从传统的BSEG表迁移到ACDOCA表。文章详细探讨了这一变更的技术背景、官方设计意图及实际影响,包括数据存储量减小和系统性能提升等优势。同时提供了升级项目的应对策略和最佳实践建议,帮助用户顺利过渡到新的数据存储模型。

weixin_28731223的博客 294

C语言基础100例子

C语言基础实例

Cherry的博客 1万+

大象机器人myAGV移动机器人+mechArm六轴机械臂,开源复合机器人开发与实践!

我们这章节的内容是将协作性机械臂打破距离上的限制,跟移动机器人(myAGV)相连接,实现一个案例。

m0_71627844的博客 1488

学Simulink--人形机器人控制场景实例:基于Simulink的多连杆人形机器人拉格朗日动力学建模仿真

matlab编辑% 连杆长度 (m)% 躯干(髋到CoM)% 大腿% 小腿% 质量 (kg)% 转动惯量(绕质心,简化为杆)matlab编辑% 躯干CoM(假设在髋上方L_body/2处)% 左大腿CoM% 左小腿CoM% (右腿类似,略)本文完成了基于Simulink的多连杆人形机器人拉格朗日动力学建模仿真,实现了:✅ 定义7-DOF平面人形结构✅ 使用Symbolic Math Toolbox自动推导动力学方程✅ 生成。

amy_mhd的博客 397

C语言基础笔记

/ 定义数组int arr[5];// 初始化数组// 省略大小的初始化指针是存储另一个变量内存地址的变量。int *p;// 定义一个指向整型的指针char *cp;// 定义一个指向字符型的指针float *fp;// 定义一个指向浮点型的指针// 定义一个表示学生的结构体int age;float gpa;

weixin_74748597的博客 1157

GPU硬件架构与微架构深度解析34-GPU安全架构深度解析

现代GPU不仅是图形处理器,更是高性能计算平台,安全架构设计至关重要。内存加密- 保护数据在传输和存储时的安全安全启动- 确保固件和软件的完整性隔离机制- 防止不同应用间的数据泄露密钥管理- 安全存储和处理加密密钥。

2301_79143213的博客 99

C语言基础练习——Day16

声明:本篇是C语言基础练习的最后一篇。

小何代码咖啡馆 809

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SAP B1中文培訓教材_SDK

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

C语言基础知识复习笔记

这是UESTC大一程序设计与算法基础1的期末复习笔记

m0_73174219的博客 982

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C语言基础总结

我学习的第一门编程语言是Java,所以之前一直没有系统学习过C语言。这篇文章主要就是我学习过程的一个总结,方便以后复习查看。

weixin_50216991的博客 2万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

2024年C语言基础知识入门来了,一文搞定C语言基础知识!

c语言基础知识入门一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等,2024年C语言基础知识入门大全。C语言基础知识入门也是其它众多高级语言的鼻祖语言,所以说学习C语言基础知识入门是进入编程世界的必修课!需 要 C语言基础知识入门大全 PDF版 和 详 细 教 程 的可以看一下文章结尾简单来说,一个C程序就是由若干和组成。就是一条预处理命令, 它的作用是通知C语言编译系统在对C程序进行正式编译之前需

weixin_55305220的博客 2302

C语言基础篇

一级目录 二级目录 三级目录

写写随便! 3092

嵌入式学习笔记之C语言基础

C语言是世界上最流行、使用最广泛的高级程序设计语言之一,广泛用于系统与应用软件的开发。具备很强的数据处理能力、高效、灵活、功能丰富、表达力强和较高的移植性等特点。操作系统是计算机系统的核心,如 Unix、以及 Windows 的部分内核,都是使用 C 语言进行开发的。C语言能够直接访问硬件资源,可以实现对硬件设备的驱动程序开发,使得计算机能够识别和使用各种硬件,如显卡、声卡、网卡等。

2402_83192253的博客 1107

【CRC笔记】CRC-16 MODBUS C语言实现

CRC笔记 CRC-16/MODBUS 简介及C语言实现一、CRC-16 MODBUS算法简介二、CRC-16/MODBUS算法基本信息三、CRC-16/MODBUS算法的C语言实现1、查表法计算CRC-16/MODBUS2、直接计算法计算CRC-16/MODBUS3、测试程序[参考资料] 一、CRC-16 MODBUS算法简介 别名:MODBUS 二、CRC-16/MODBUS算法基本信息 CRC算法名称 CRC-16/MODBUS 多项式公式 x16 + x15 + x2 + 1

1万+

华清•C语言基础笔记

华清·C语言基础笔记

【染指流年】的博客 1204
上一篇: c语言基础笔记15
下一篇: c语言基础笔记17
Ohrkaninchen
博客等级 码龄5年 18粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ohrkaninchen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值