C语言学习笔记w2d5

2023-05-16

文章目录

  • 数组
    • 一维数组
      • 练习
      • 字符数组
        • 字符串
        • 输入与输出
      • 练习
    • 多维数组
  • 作业

数组

一维数组

用一个变量来存储具有一定关系的数据,的数据集合叫数组
其中存储的变量是数组元素

a [ i ]
//数组名 [数据下标]

定义时:

int a [ 100 ]
//数据类型 数组名 [长度(个数)]

部分赋值时,后续的具数据可以缺省

double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0}
int last[5] = {1,2,3}//缺省之后,last [ 3 ]、last [ 4 ]==0
int last[5] = {1,NULL,3,NULL,5}

**不建议!**以变量定义数组,例如:

int n=10;
int a[n]

练习

练习:定义一个一维数组a[6]={1,4,6,2,4,10},输出其中最大的数组元素与下标

#include<stdio.h>
int main(){
	int a[6]={1,5,6,7,4,6};
	int i=0;
	int x=0;
	for(i=1 ; i<6 ; i++){
		if(a[x]<a[i]){
			a[x]=a[i];
			x=i;}
	}
	printf("a[%d]=%d",x,a[x]);
	return 0;
}

扩展
“a” 是一个指向 “&a[0]” 的指针
因此,*(a + 4) 是一种访问 a[4] 数据的合法方式
double *p;
double a[10];
p = a;是合法的
使用*p、*(p+n)访问数据

字符数组

char a[10];

字符串

多个字符构成的序列,其实字符串==字符数组,但有一定的区别

所以,赋值时可以
char a[10]=“abcdef”
注意错误用法:

a="abcdef"
a [10]="abcdef"//只能在定义的时候用,这里的a[10]是下标10的

**常量字符串末尾默认有一个 ’ \0 ’ **
在这里插入图片描述
特殊的定义方法:

int a[] = {1,2,3,4,5};//大小为5
char str[] = {'c','a','b'};//大小为3,有{}的末尾没有'\0'
char str[]="acb";//大小为4
sizeof(a)

切忌:

  1. 越界
  2. 定义赋值傻傻分不清
  3. 字符串的结束’ \0 ‘,在定义了长度后,没有字符的地方都是’\0’

输入与输出

  • 输出
    格式化:"%s",遇到’ \0 '结束
    ?在char a [6]="abcdef"时到底会怎样参考

  • 输入
    scanf("%s",a);//输入一整串
    接收的字符串 空格或回车结束。例如:输入 123 231 ,存入的只有123

练习

输入一个字符串,获取字符串中有多少个大写字母,小写字母
在这里插入图片描述
在这里插入图片描述

多维数组

作业

  1. 选择法、冒泡法排序,i<4
    在这里插入图片描述

  2. 数组⼤小为20,输⼊10个整数,在输⼊是就进⾏排序,得到降序序列。之后每输⼊⼀个,不打 乱数组降序

  3. 已知有⼀个字符数组,把数组中⼤写字⺟改为小写字⺟,小写字⺟改为⼤写字⺟
    char a[50] = “aBcDeFgHiJ”;

#include<stdio.h>
int main(){

        char str[50];
        scanf("%s",str);
        for(int i=0;str[i]!='\0';i++){

                if(str[i]>='A'&&str[i]<='Z'){

                        str[i]=str[i]+32;
                }
                else if(str[i]>='a'&&str[i]<='z'){

                        str[i]=str[i]-32;
                }
        }
        printf("%s",str);
}
  1. 已知有⼀个字符数组b[] =“hello”,把数组b拷⻉到数组a[10]中
    ** 注意:sizeof() 是字节 **
#include<stdio.h>
int main(){
    char b[10] ="hello";
    char a[10] ;
    for (int i = 0; i < 10; i++)
    {
        a[i]=b[i];
    }
    printf("b:%s\n",b);
    printf("a:%s",a);
    return 0;
}
  1. 有两个数组str1,str2,把数组str2与str1拼接在⼀起存放在str1中
    str1[20] = "hello ";str2[] = "world
#include<stdio.h>
int main(){
    char str1[20] = "hello ";
    char str2[] = "world";
    int count1=0;
    int count2=0;
    for(int i=0;str1[i]!='\0';i++){
        count1++;
    }
    for(int i=0;str2[i]!='\0';i++){
        count2++;
    }
    int k=0;
    for (int j = count1; j < count1+count2; j++)
    {
        str1[j]=str2[k];
        k++;
    }
    
    printf("%s\n",str1);
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言学习笔记w2d5 的相关文章

  • wifi提速技巧:十大方法瞬间提升wifi速度

    手机wifi速度慢真是很让人苦恼 xff0c 有什么有效的wifi提速方法吗 当然有啦 绿茶小编今天就为大家带来了提升wifi速度的十大方法 xff0c 能激活wifi表现 xff0c 提升无线网络哦 xff0c 快来看看吧 十大方法瞬间提
  • 如何消除步进电机的噪音与振动TMC

    步进电机的噪音来自哪里 由于步进电机由于结构简单 控制方便 安全性高 成本低 停止时候力矩大 在低速情况下不需要减速机就可以输出很大的力矩 相比直流无刷和伺服电机 步进电机不需要复杂的控制算法也不需要编码器反馈情况下可以实现位置控制 被用在
  • ROS Navigation Tuning Guide(导航调试指南)

    ROS Navigation Tuning Guide 导航调试指南准备工作距离传感器里程计定位 速度与加速度的设置获得最大速度获得最大加速度设置最小值 xff38 xff39 方向的速度 Global Planner接口参数 Local
  • 网络协议和Netty(9):Http的报文结构及一个完整Http请求的过程

    前言 xff1a 作为一个程序员 xff0c 刚刚接触前端知识的时候 xff0c 就特别好奇 xff0c http是怎么通过一个url将报文从客户端传送到服务端 xff1f 提问 xff1a http的一个请求经历了一个什么样的过程 xff
  • 北斗实验总结(22.11.21)

    做的怎么样了 xff1f 可以在串口助手上实时显示北斗模块的时间 xff0c 并且是北京时间 基本实现所要求的实验现象 遇到的问题 xff08 1 xff09 在没有拿到模块的时候 xff0c 运行代码没有错误 xff0c 就认为能够实现所
  • 解决Ubuntu“无法定位软件包 xxx”的问题

    配置Ubuntu系统时发现有些东西无法安装 xff0c 可能是软件源出了问题 xff0c 需要重新配置 目录 1 安装vim xff08 可跳过 xff09 2 备份软件源配置 3 配置软件源 4 重新获取软件源列表 1 安装vim xff
  • 解决windows 10无法使用ping命令

    在近期使用电脑的时候发现我的电脑突然无法使用 ping 命令了 xff0c 这让我一个网络工程的程序员十分的纳闷 xff0c 然后自己在网上找了资料发现时环境变量的问题 xff0c 现在我就带大家解决一下这个问题 xff1a 出现问题 xf
  • macOS终端设置http与https代理

    查看你的节点的代理端口 下面配置以我的代理为准配置 xff1a 运行命令 vim bashrc xff0c 将以下内容导入 xff1a xff08 如果没有bashrc文件可以自己创建一个出来 xff09 export http proxy
  • 记录一个Charles下载安装之后抓取不到localhost的问题

    下载好Charles下载后跟着指南设置好http等所有的设置 xff0c 发现还是抓去不到本地的host的http请求 虽然设置了Charles代理设置 xff0c 但是依然不会走本地host的 xff0c 要让走本地代理可以用一下方式访问
  • 解决Mysql ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘

    记录一次Mac使用brew安装mysql后 xff0c 无法正常打开问题 在使用brew安装好mysql后 xff0c 发现使用启动命令 xff1a mysql server start 提示 xff1a xff08 两种可能情况 xff0

随机推荐

  • 简单分析DMVPN技术

    定义 xff1a 动态多点VPN 技术组成 xff1a MGRE 43 NHRP 43 IPSEC MGRE 解决隧道的封装技术NHRP 解决多点网络的通信技术IPSEC 解决专线的加密技术 技术特点 xff1a 由客户自行配置维护 xff
  • 小型企业网的搭建(企业网三层架构)

    将邮箱放置在这个链接里面 xff0c 我私信发送配置给你们 邮箱地址填写处 xff0c 点击这里直接跳转 需要配置的同学请手动去github clone xff0c 不了解github的同学建议花时间学习一下 xff0c 受益无穷 xff0
  • Linux各种(常用)编辑器

    了解如何通过命令行快速有效地编辑文件对每个Linux系统管理员都至关重要 文件编辑每天执行 xff0c 无论是配置文件 xff0c 用户文件 xff0c 文本文档还是您需要编辑的任何文件 这就是为什么选择一个喜欢的命令行文本编辑器并掌握它的
  • C语言实现1/1-1/2+1/3-...-1/100求和

    观察题目要求可以看出 xff0c 底数为奇数是前面符号为正 xff0c 偶数是则为负 那么我们可以考虑使用一下方式完成求解 解法一 xff1a span class token macro property span class token
  • 什么是localhost(127.0.0.1)?

    什么是本地主机 xff1f 当你在计算机上 ping IP地址时 xff0c 你尝试联系互联网上的另一台计算机 xff0c 但是当你ping IP地址127 0 0 1时 xff0c 你正在与本地主机通信 localhost 始终是你自己的
  • OpenCV图像处理技术——图像直方图

    OpenCV图像处理技术 图像直方图 Fu Xianjun All Rights Reserved 图像直方图 图像直方图是图像内灰度值的统计特性与图像灰度值之间的函数 xff0c 直方图统计图像内各个灰度级出现的次数 直方图是数值数据分布
  • 【wireshark】Ubuntu 安装 wireshark 以及 wireshark 过滤器的使用

    目录 1 安装wireshark 2 wireshark 过滤器比较符号 3 wireshark 过滤方式 1 根据 IP 地址过滤 2 根据端口号过滤 3 根据报文长度过滤 4 HTTP协议过滤 参考文章链接 xff1a Wireshar
  • C++学习001:对象、可扩展性、编译型语言、相较于C的变化

    1 面向对象 基于对象 基于过程的区别 基于过程 xff1a 从上到下依次执行 xff0c C语言 cpp额外实现了基于对象和面向对象 基于对象 xff1a 类作为结构 类的成员作为对象 基于对象就是通过封装对象方便了程序过程中发生的突发事
  • Arduino基础入门篇23—串口通讯

    在很多时候 xff0c Arduino需要和其他设备相互通讯 xff0c 而最常见最简单的方式就是串口通讯 本篇介绍Arduino硬件串口通讯 xff0c 了解相关函数的使用 1 硬件串口 在PC机上最常见的串行通讯协议是RS 232串行协
  • 基于Qt的车载GPS监控系统(7)数据记录

    基于Qt的车载GPS监控系统 xff08 7 xff09 数据记录 数据日志显示界面 系统数据记录功能实现说明 1 通过一个线程定时记录系统当前的温度数据 2 通过数据日志界面显示保存的日志数据 数据记录线程代码 span class hl
  • 嵌入式系统重定向printf的三种方法

    对printf 进行重定向的三种方法 方法1 使用MircoLib并重定义fputc方法2 停用半主机模式 xff0c 在MDK中使用标准库重定向printf 方法3 在Gcc中使用标准库重定向printf 1 MDK使用MircoLib并
  • Windows API程序入门学习(1)

    导航 Windows API程序入门学习 xff08 1 xff09 学习目的作业要求实现步骤参考书籍实现代码运行结果 Windows API程序入门学习 xff08 1 xff09 学习目的 了解 windows操作系统应用程序开发的基本
  • 嵌入式系统基础学习笔记(四)

    目录 一 GDB调试简例1 1 例11 2 例2 二 OpenCV入门2 1 在Windows下使用OpenCV 3 4 82 1 1 OpenCV的安装与配置2 1 2 一个简单的OpenCV对图片特效显示例子 2 2 在Ubuntu18
  • 计算机网络实验报告(二):Wireshark 实验

    文章目录 一 数据链路层二 网络层三 传输层四 应用层 本部分按照数据链路层 网络层 传输层以及应用层进行分类 xff0c 共有 10 个实验 需要使用协议分析软件 Wireshark 进行 xff0c 请根据简介部分自行下载安装 准备 请
  • 计算机网络实验报告(三):Cisco Packet Tracer 实验

    文章目录 一 CPT 软件使用简介二 直接连接两台 PC 构建 LAN三 用交换机构建 LAN四 交换机接口地址列表五 生成树协议 xff08 Spanning Tree Protocol xff09 六 路由器配置初步说明一说明二说明三说
  • 嵌入式系统应用开发实验(一)

    文章目录 一 设计半加器二 半加器组成全加器三 烧录进硬件 实验目的 xff1a 通过1位全加器的详细设计 xff0c 掌握原理图输入以及Verilog的两种设计方法 软件基于quartusII 13 0版本 xff0c 开发板基于Inte
  • 关于浏览器以及各种内置浏览器造成黑屏的解决办法

    楼主在使用Chrome Edge浏览器甚至Steam时经常会发生网页还没打开就会发生 浏览器黑屏 电脑黑屏 自动重启 的过程 xff0c 困扰许久 网上的大部分教程是在浏览器设置里面关闭 硬件加速 功能 甚至于重装系统 但是经过实测 xff
  • 【FFTW库】编译生成 x86、arm 环境下的FFTW库

    FFTW是一个快速计算离散傅里叶变换的标准C语言程序集 xff0c 可计算一维或多维实和复数据以及任意规模的DFT 下面主要介绍的是 x86 环境下 FFTW库的编译过程 xff0c arm环境下的编译过程和FFTW类似 xff0c 不同之
  • C语言学习笔记w2d4

    文章目录 流程控制二循环语句gotowhile练习 do whilefor breakcontinue 作业 流程控制二 循环语句 循环的开始条件 循环的控制条件 循环的结束条件 goto 无条件跳转 xff0c 跳转到指定位置执行 xff
  • C语言学习笔记w2d5

    文章目录 数组一维数组练习字符数组字符串输入与输出 练习 多维数组 作业 数组 一维数组 用一个变量来存储具有一定关系的数据 xff0c 的数据集合叫数组 其中存储的变量是数组元素 a span class token punctuatio