重点内容:

数组:

        为什么有数组?为了便于存储多个数据

        特点:连续存储多个同种数据类型元素(连续指内存地址连续)

        数组名:数组中首元素的地址,是一个地址常量。

一维整形数组:

        定义:数据类型 数组名[长度];

        数组的初始化:

  1. int arr[4]; //定义了能存4个int的整形数组arr,没有初始化,每一个元素都是随机值
  2. int arr1[3]={12,9,5}; //定义数组并完全初始化
  3. int arr2[4]={1,9};//定义了一个能存4个int的整形数组arr2并不完全初始化,未初始化的部分默认为0

        数组的赋值:

  1. arr[0] = 90;//给arr数组中的第一个元素赋值
  2. int arr3[]={12,8,4,3,5};//定义了一个数组arr3没有给长度,会根据初始化列表分配长度
  3. int arr4[]={};//定义了一个数组,没有给长度并且初始化列表中没有数据,分配空间为0Byte
注意事项: 数组不允许整体赋值、数组名不能赋值
访问数组中的变量:通过下标访问,数组中元素的下标从0开始到len-1结束,如果下标访问不正确会发生数组越界情况,可能产生段错误或者访问到随机值
数组的大小和长度:C语言中数组的大小,定义出来后是固定的不能再修改。
大小:单个元素的大小*数据个数--> sizeof(数组名);
长度:数组整体的大小/单个元素的大小-->sizeof(arr)/sizeof(arr[0]);

冒泡排序:

        冒泡排序是一个排序算法

        逻辑:相邻的两个元素,两两比较,每次排出待排序序列中最大的元素放在最后,再进行下一次排序,直到序列中的元素都有序。排序需要排长度-1次

选择排序:

        选择排序是一个排序算法        

        逻辑:每次从待排序序列中找到最大/最小的元素和待排序序列中的第一个元素交换


作业:

1..思考如何交换两个数

1.1三杯水交换

程序源码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int a=6,b=8,temp;
temp=a;
a=b;
b=temp;
printf("a=%d,b=%d\n",a,b);
return 0;
}

1.2算术求和

程序源码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int a=6,b=8;
a=a+b;
b=a-b;
a=a-b;
printf("a=%d,b=%d\n",a,b);
return 0;
}

1.3异或交换

程序源码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int a=6,b=8,temp;
a=a^b;
b=a^b;
a=a^b;
printf("a=%d,b=%d\n",a,b);
return 0;
}

2.定义一个整型数组,完成对数组中每一个元素的输入和输出

程序源码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int a;
printf("请输入需要多大的数组:");
scanf("%d",&a);
int arr[a];
for(int i=0;i<a;i++)
{
scanf("%d",&arr[i]);
}
putchar(10);
for(int i=0;i<a;i++)
{
printf("arr[%d]=%d\t",i,arr[i]);
}
putchar(10);    
return 0;
}

3.求数组中元素的最大值

程序源码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int arr[6]={1,6,88,66,99,8};
int len =sizeof(arr)/sizeof(arr[0]);
int max=arr[0];
for(int i=1;i<len;i++)
{
if(arr[i]>max)
max=arr[i];
}
printf("max=%d\n",max);
return 0;
}
4.终端输入字符,遇到'\n'停止,计算输入的字母和数字字符的个数

程序源码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
char c;
int letter_count=0;
int number_count=0;
while(scanf("%c",&c)==1)
{
if(c=='\n')
break;
else if(c>='0'&&c<='9')
number_count++;
else if(c>='A'&&c<='Z')
letter_count++;
else if(c>='a'&&c<='z')
letter_count++;
}
printf("letter_count=%d,number_count=%d\n",letter_count,number_count);
return 0;
}

5.整理思维导图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92941.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92941.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/92941.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全守护,温情陪伴 — 智慧养老产品上新

- 养老智慧看护终端接入萤石开放平台 - 在2025 ECDC萤石云开发者大会&#xff0c;萤石产品经理已经介绍了基于萤石云服务AI能力适老化设备的养老智能能力开放。 而今天&#xff0c;养老智慧看护终端再升级&#xff0c;集成跌倒检测、物理隐私遮蔽、火柴人遮蔽、AI语音智能体…

鸿蒙flutter项目接入极光推送

推送的自分类权益 需要审核15个工作日&#xff0c;实际约3个工作日 项目使用极光推送flutter代码&#xff0c;代码端已经配置的东西&#xff08;需要配置flutter端和对应各自平台原生端&#xff09;&#xff0c;我的工程是多target&#xff0c;所以和单target有一点不同。 一、…

2025牛客多校第八场 根号-2进制 个人题解

J.根号-2进制 #数学 #FFT 思路 赛后发现身边的同学都是通过借位来解决进位问题的&#xff0c;在此提供一种全程不出现减法的顺推做法 首先A,BA,BA,B可以理解为两个多项式&#xff1a;A0A1−2A2(−2)2…A_{0}A_{1}\sqrt{ -2 }A_{2}(\sqrt{ -2 })^2\dotsA0​A1​−2​A2​(−…

DataEase官方出品丨SQLBot:基于大模型和RAG的智能问数系统

2025年8月7日&#xff0c;DataEase开源项目组发布SQLBot开源项目&#xff08;github.com/dataease/SQLBot&#xff09;。SQLBot是一款基于大语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;和RAG&#xff08;Retrieval Augmented Generation&#xff0c;…

第十四节 代理模式

在代理模式&#xff08;Proxy Pattern&#xff09;中&#xff0c;一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中&#xff0c;我们创建具有现有对象的对象&#xff0c;以便向外界提供功能接口。介绍意图&#xff1a;为其他对象提供一种代理以控制对…

训推一体 | 暴雨X8848 G6服务器 x Intel®Gaudi® 2E AI加速卡

近日&#xff0c;暴雨信息携手英特尔&#xff0c;针对Gaudi 2E AI加速器HL-288 PCIe卡&#xff08;简称IntelGaudi 2E PCIe卡&#xff0c;下同&#xff09;完成专项调优与适配工作&#xff0c;并重磅推出Intel Eagle Stream平台4U8卡解决方案。该方案通过软硬件协同优化&#x…

GB17761-2024标准与电动自行车防火安全的技术革新

随着我国电动自行车保有量突破3.5亿辆&#xff0c;这一便捷的交通工具已成为城市出行的重要组成。然而&#xff0c;伴随市场规模扩大而来的是日益突出的安全问题——2023年全国电动自行车火灾事故高达2.5万起&#xff0c;年均增长率约20%&#xff0c;火灾中塑料件加速燃烧并释放…

利用容器编排完成haproxy和nginx负载均衡架构实施

1 创建测试目录和文件[rootdocker-a ~]# mkdir lee [rootdocker-a ~]# cd lee/ [rootdocker-a lee]# touch docker-compose.yml # 容器编排工具Docker Compose 默认识别docker-compose.yml文件2 编写docker-compose.yml文件和haproxy.cfg文件2.1 核心配置说明2.1.1 服务结构共定…

WinRAR v7.13 烈火汉化稳定版,解压缩全格式专家

[软件名称]: WinRAR v7.13 烈火汉化稳定版 [软件大小]: 3.8 MB [下载通道]: 夸克盘 | 迅雷盘 软件介绍 WinRAR 压缩文件管理器&#xff0c;知名解压缩软件&#xff0c;电脑装机必备软件&#xff0c;国内最流行最好用的压缩文件管理器、解压缩必备软件。它提供 RAR 和 ZIP 文…

强化学习常用数据集

强化学习常用数据集数学推理数据集数值标签GSM8K&#xff08;2021 OpenAI)问答数据集在LLM场景下进行强化学习训练的时候&#xff0c;时常会涉及到各种各样的数据集&#xff0c;容易记不住&#xff0c;因此开个帖子记录一下。可采取的分类方法有很多&#xff0c;这里直接按照领…

ROS2学习(1)—基础概念及环境搭建

文章目录核心框架环境搭建小乌龟机器人控制小乌龟启动键盘控制启动rqt查看ros节点关系核心框架 这里有几个比较重要的概念&#xff1a; 四大通信机制&#xff1a;话题&#xff08;Topic&#xff09;、服务&#xff08;Service&#xff09;、动作&#xff08;Action&#xff09…

基于STM32单片机超声波测速测距防撞报警设计

1 系统功能介绍 本设计是一套基于 STM32F103C8T6 单片机 的超声波测速测距防撞报警系统&#xff0c;能够实现对目标物体的实时测距与测速&#xff0c;并通过 TFT 彩屏进行动态显示&#xff0c;同时根据用户设定的距离与速度阈值进行报警提示。该系统不仅可以用于固定场景的安全…

麒麟系统播放 pptx

目录 python 操作 LibreOffice 控制pptx 一页一页播放 1. 安装 LibreOffice&#xff08;麒麟系统基于 Debian/Ubuntu&#xff09; 2. 如果只想安装 PPT 播放/转换&#xff08;Impress&#xff09; 1. 启动 LibreOffice UNO 服务 2. Python 控制播放uno安装方法&#xff1a…

嵌入式Linnux学习 -- 软件编程2

四、IO1. 概念1. IO 指 input / output2. Linux系统中一切皆是文件3. IO操作的对象是文件2. 文件1. 概念一段数据的集合2. 特点文件通常存放在外存中&#xff0c;掉点后数据不会丢3. 分类b&#xff08;block&#xff0c;块设备文件&#xff09;-- 按块扫描信息的文件&#x…

Spark02 - SparkContext介绍

一、应用入口&#xff1a;SparkContextSpark Application 程序入口为&#xff1a;SparkContext&#xff0c;任何一个应用首先需要构建 SparkContext 对象&#xff0c;如下两步构建&#xff1a;第一步、创建 SparkConf 对象设置 Spark Application 基本信息&#xff0c;比如应用…

Selenium动态元素定位

动态元素定位方法一&#xff1a;使用CSS选择器通过部分匹配操作符定位动态属性中的固定部分。*&#xff08;包含&#xff09;&#xff0c;^&#xff08;开头&#xff09;&#xff0c;$&#xff08;结尾&#xff09;。/* 匹配id前缀为user_的元素 */ cssdiv[id^"user_"…

OBOO鸥柏丨115寸商用屏/工业液晶显示器招标投标核心标底参数要求

整机参数要求&#xff1a;商用液晶显示器/工业LCD一体机/商业智能终端机/工业防爆显示器/招标投标核心标底参数要求1、整机屏幕采用≥采用115英寸超高清原厂原包原装工业LCD液晶屏面板&#xff1b;具有高色域&#xff0c;显示动态视频、web及3D动画时&#xff0c;保障运动画面流…

麻溜启动Oracle实例demo

注意&#xff1a;镜像非常大并且外网网络过慢&#xff0c;可能得pull一天&#xff08;n次超时&#xff09;。。md后台静默pull命令&#xff1a; nohup docker pull container-registry.oracle.com/database/express:latest > pull.log 2>&1 & 启动实例&#xff1…

应用监控工具Skywalking

目录 Skywalking介绍 Skywalking架构 Skywalking安装 Skywalking使用 Skywalking配置 Skywalking数据持久化 Skywalking告警 Skywalking介绍 Apache Skywalking是一个开源的应用性能监控&#xff08;Application Performance Monitoring&#xff0c;APM&#xff09;工具…

TCP服务建立的全流程详解

TCP的服务监听步骤&#xff08;等待客户端连接前&#xff09;TCP 服务器通过以下步骤完成从初始化到等待客户端连接&#xff0c;为后续的数据传输&#xff08;send()/recv()&#xff09;奠定了基础一、创建套接字&#xff08;Socket&#xff09;作用&#xff1a;套接字是网络通…