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万+

Class AB OPA STB仿真相位异常:从corner case到碰撞电离的排查与规避

本文深入分析了Class AB运算放大器(OPA)在STB稳定性仿真中,特定工艺角(corner case)下出现相位从0°开始的异常现象。排查发现,其根本原因在于高Vds引发的碰撞电离效应,通过衬底和电源网络引入了隐藏的正反馈通路。文章对比了修改衬底连接与优化电路降低Vds两种解决方案,并基于工程实践推荐了代价更小、兼容性更好的电路优化方案,成功规避了问题并完成流片验证。

grape的博客 636

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

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

CW_qian的博客 471

单片机课程设计——交通灯

单片机课程设计——交通灯一、课程设计主要内容1.1 题目1.2摘要1.3关键词二、设计要求三、设计方案四、参考电路设计4.1.1数码管的设计4.1.2对应程序4.2.1独立按键的设计4.2.2对应程序4.2.3 使用逻辑4.3.1LED模块的设置4.3.2 LED实物图4.3.3 LED显示程序五、调试要点5.1 单片机最小系统5.2 数码管模块5.3 LED模块5.4 独立按键六、总结七、成品图完整程序 一、课程设计主要内容 1.1 题目 交通灯设计 1.2摘要 近年来,随着我国国民经济的快速发展,我国机

PKPROTEUS的博客 3万+

C语言基础学习笔记

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

weixin_45068267的博客 2129

NGSIM数据集字段解析:从车辆轨迹到交通行为分析

本文深度解析NGSIM数据集的核心字段及其在交通行为分析中的应用。详细解读了车辆时空定位、状态属性及交互关系等关键字段,并通过高速路“幽灵堵车”和城市路口左转行为两个实战案例,展示了如何利用该数据集进行微观交通行为建模与驾驶特征提取,为交通流研究和自动驾驶算法测试提供数据基础。

weixin_29172963的博客 147

基于Multisim/TINA的H桥电机驱动电路设计与仿真分析

摘要 本文基于Multisim/TINA仿真平台,对H桥电机驱动电路进行了系统设计与分析。研究重点包括H桥拓扑结构的工作原理、PWM调速控制方法以及两种驱动方案对比分析。通过光耦隔离驱动与IR2110专用驱动IC的仿真对比,验证了IR2110自举电路在高低侧驱动中的优势。仿真实验着重分析了死区时间对防止直通现象的关键作用,并建立了直流电机的R-L-E等效模型进行动态特性仿真。结果表明,采用IR2110驱动方案配合适当的栅极电阻和自举电容参数,能够实现电机的高效双向调速控制。本研究为实际电机驱动系统的设计提供

huanghm88的专栏 138

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

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

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

RK3568笔记六十一:MIPI摄像头应用程序编写

V4L2设备驱动框架向应用层提供了一套统一、标准的接口规范,应用程序按照该接口规范来进行应用编程,从而使用摄像头。对于摄像头设备来说,其编程模式如下所示:1.首先是打开摄像头设备;2.查询设备的属性或功能;3.设置设备的参数,譬如像素格式、帧大小、帧率;4.申请帧缓冲、内存映射;5.帧缓冲入队;6.开启视频采集;7.帧缓冲出队、对采集的数据进行处理;8.处理完后,再次将帧缓冲入队,往复;9.结束采集。

1003

C语言基础100例子

C语言基础实例

Cherry的博客 1万+

Qt —— 调用海康C++版SDK获取摄像头每帧图像,通过OpenCv处理每帧图像后显示在Qt窗口(附:源码)

  关注 笔者 - jxd 微信公众号搜索 “码农总动员” 或 微信扫描下方二维码,了解更多你不知道的XX,O(∩_∩)O

5447

《信息化项目文档模板十二——业务需求新增/变更审批确认表 》

系列文章目录 《信息化项目文档模板一——项目需求说明书》 《信息化项目文档模板二——项目启动会文档模板》 《信息化项目文档模板三——会议纪要模板》 《信息化项目文档模板四——系统项目蓝图设计模板》 《信息化项目文档模板五——系统详细设计模板》 《信息化项目文档模板六——系统详细设计模板》 《信息化项目文档模板七——系统开发计划模板》 《信息化项目文档模板八——系统功能测试模板》 《信息化项目文档模板九——系统压力测试模板》 《信息化项目文档模板十——系统推广上线计划模板》 《信息化项目文档模板十一——系统用

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 1712

C语言基础笔记

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

weixin_74748597的博客 1157

HDR 人像肤色稳定实战:AE/AWB/ToneMap 冲突解耦与优先级裁决

人像 HDR 最容易“翻车”的就是**肤色飘**:AE 抢亮度、AWB 拉白点、TM 又在肩部压高光,三方各自“对”却合起来“错”。本文给出一套**工程可落地**的裁决策略:以**肤色 ROI 锚点**为最高约束,AE 先对脸部入射照度收敛,AWB 在**肤色先验 + 光源模型**下缓变,TM 采用**色相保持 + 中灰/肤色双锚**且时域一致化。配套**阈值与回归**(ΔE00、亮度漂移 RMS、频闪注入),把“主观对”的口径落到**可度量**,并给出逆光、多脸、霓虹等极端场景的**例外分流**。

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

C语言基础练习——Day16

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

小何代码咖啡馆 809

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C语言基础知识复习笔记

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

m0_73174219的博客 982

Camera2Demo

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

C语言基础总结

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

weixin_50216991的博客 2万+

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

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

weixin_55305220的博客 2301

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、付费专栏及课程。

余额充值