【最受欢迎最容易理解的初阶c语言教学】3.数组和字符串
大家好?,我是想要慢慢变得优秀的向阳?同学??,今天又来【最受欢迎最容易理解的初阶c语言教学】内容?,生产队的驴都不敢这么勤奋?,后天彻底结束【最受欢迎最容易理解的初阶c语言教学】内容?,让我们一起学习c语言一起在寒假???
???悄悄努力,然后惊艳所有人!???
目录
?️?️数组⛰️⛰️
?️?️数组的定义?️?️
如何一下子储存1-9这九个数据呢?
解决这个问题就要用我们今天第一个要学习的知识!数组!
数组定义:一组相同类型元素的集合
数组的c语言表达形式:
#include<stdio.h>
int main()
{
int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素
return 0;
}
再介绍一下非完全初始化数组
#include<stdio.h>
int main()
{
int arr[10] = {1};//定义一个整形数组,最多放10个元素
return 0;
}
如果没有完全初始化数组,剩下数组的位置自动填满0!所以我们常见初始化数组只填一个0的时候,剩下的位置自动也填满0数据!
在这里我们可以看出来数组下标是从0开始的!
注意在定义数组的时候【】中括号里不能填变量(但在最新c99语法中却可以,但大多数编译器还没更新最新的语法库),还有在定义的时候【】可以不定义大小,但在后面{ }中一定要数据,不然就有错,写法大多数是这两种!
#include<stdio.h>
int main()
{
int arr1[10];//定义一个整形数组,最多放10个元素
int arr2[] = { 1,2,3,4,5,6,7,8,9,10 }; //定义一个整形数组,最多放10个元素
return 0;
}
??数组的使用??
如何一下子输出完数组内的数据呢?
大多数新手会存在这样的疑惑?是这样吗?
#include<stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; //定义一个整形数组,最多放10个元素
printf("%d", arr);
return 0;
}
但为什么输出结果却是这样呢?不是我们想要的结果呢?
这是一种新手很容易犯的错误之一,具体为什么会在指针和数组内容为大家讲解的!
正确的使用是这样的!用循环+变量的方法!
#include<stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; //定义一个整形数组,最多放10个元素
for (int i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
可能这个时候有人就有疑惑不是说数组不能用变量吗!这里为什么用了?
我说数组定义的不能用变量,而数组使用的一定要用变量哦!~切记
?️?️字符串?️?️
?️?️字符串的定义??
这里我们又要开始学习一个新的名词,那什么是字符串呢?
"hello world",这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串。
??字符串的特点??
字符串的结束标志是一个 的转义字符。在计算字符串长度的时候 是结束标志,不算作字符串内容。
怎么证明是字符串长度的结束表示呢?
#include<stdio.h>
int main()
{
printf("hello world");
return 0;
}
答案是显而易见的!
??字符串的使用 ??
由于c语言没有字符串类型,字符串的储存方式大多情况下储存在数组里面,因此数组和字符串的关系在c语言从古至今就非常暧昧,使人头疼!
#include <stdio.h>
//下面代码,打印结果是什么?为什么?(突出''的重要性)
int main()
{
char arr1[] = "bit";
char arr2[] = { 'b', 'i', 't' };
char arr3[] = { 'b', 'i', 't', '' };
printf("%sn", arr1);
printf("%sn", arr2);
printf("%sn", arr3);
return 0;
}
这里arr1可以等价与arr3,在arr1中后面自动补充了‘’