C语言学习笔记day10

1. 字符型数组的输入和输出

1.1 gets

char str[12];

gets(str);

注意:

1.可以接收' '字符

2.会去掉从终端接收的\n字符

1.2 puts

char str[12];

puts(str);

注意:

1.puts会加上\n字符

1.3 scanf

char str[12];

scanf("%s", str);

注意:

1.scanf无法接收' '字符

2.scanf使用%s不需要加&符号

1.4 printf

char str[12];

printf("str = %s\n", str);

2. 一维字符型数组的初始化(初始化不等于赋值)

2.1 全部初始化

char str[6] = {"hello"};

char str[6] = "hello";

char str[6] = {'h', 'e', 'l', 'l', 'o', '\0'};

2.2 局部初始化

char str[6] = {"hel"};

char str[6] = "hel";

char str[6] = {'h', 'e', 'l'};

char str[6] = {0};

注意:

没有给定初值的元素会被赋值为0('\0')

2.3 默认初始化

char str[] = {"hello"};

char str[] = "hello";

char str[] = {'h', 'e', 'l', 'l', 'o'};

3. 一维字符型数组的存储

3.1 连续性:内存空间连续

3.2 有序性:数据存储顺序有序

3.3 数组所占空间大小

数组所占空间大小 = 每个元素所占空间大小 * 元素个数

char str[32] = {"hello"};

sizeof(str);

4. 字符串常见的操作函数(重点)

4.1 strlen

获得字符串的长度(从字符串开头到最近的\0中间元素个数)

4.2 strcpy

字符串的拷贝

注意:

字符串的赋值不能使用=,要用strcpy

4.3 strcat

字符串的拼接

注意:

字符串的加法不能使用+,要使用strcat

4.4 strcmp

字符串的比较

获得两个字符串比较的结果

相等返回0

第一个字符串>第二个字符串返回>0的值

第一个字符串<第二个字符串返回<0的值

注意:

字符串的比较不能使用=,要使用strcmp

5 字符串的遍历操作

char str[32];

int i = 0;

while (str[i] != '\0')

{

str[i]; //访问每一个字符

6. 二维数组

6.1 二维整型数组

6.1.1 定义

数据类型 数组名[行数][列数];

6.1.2 初始化

1.全部初始化:

int a[2][3] = {1, 2, 3, 4, 5, 6};

int a[2][3] = {{1, 2, 3}, {4, 5, 6}};

2.局部初始化:

int a[2][3] = {1, 2, 3, 4};

int a[2][3] = {{1, 2}, {3}};

int a[2][3] = {0};

int a[2][3] = {{0}};

3.默认初始化:

int a[][3] = {1, 2, 3, 4};

int a[][3] = {{1, 2}, {3}};

注意:

行能省略,列不能省略

6.1.3 存储

连续性:数组空间连续

有序性:数组逐行从左到右存储

二维数组的本质:

二维数组可以看成是一维数组的一维数组

6.2 字符型二维数组(用于存储字符串数组)

6.2.1 定义

char str[5][32];

6.2.2 初始化

char str[5][32] = {"hello", "world", "how", "are", "you"};

char str[5][32] = {{'h', 'e', 'l'}, {'w', 'o'}};

相关推荐
lzhdim2 分钟前
C#开发的应用启动菜单应用(普通版) - 开源研究系列文章 - 个人小作品
开发语言·c#
Kyln.Wu10 分钟前
【python实用小脚本-309】HR×Python改造面试路线规划|从手工排程到智能调度的化学反应,轻松实现路径优化
开发语言·python·面试
Ziegler Han12 分钟前
《升维》阅读笔记:在不确定的世界里,如何做出高确定性的决策
笔记·《升维》
工程师平哥16 分钟前
APE-01 新建工程
笔记·嵌入式硬件
今天你TLE了吗20 分钟前
通过RocketMQ延时消息实现优惠券等业务MySQL当中定时自动过期
java·spring boot·后端·学习·rocketmq
泓博28 分钟前
Android摇一摇
笔记
烤麻辣烫38 分钟前
黑马程序员苍穹外卖(新手)DAY12
java·开发语言·学习·spring·intellij-idea
仙女修炼史41 分钟前
目标分割学习之U_net
人工智能·深度学习·学习
MM_MS44 分钟前
C# 线程与并发编程完全指南:从基础到高级带详细注释版(一篇读懂)
开发语言·机器学习·计算机视觉·c#·简单工厂模式·visual studio
t***316544 分钟前
QT开发:事件循环与处理机制的概念和流程概括性总结
开发语言·qt