继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【学习打卡】第8天 物联网/嵌入式工程师 第二周

昆汀
关注TA
已关注
手记 19
粉丝 8
获赞 12

课程名称: 物联网/嵌入式工程师

课程章节: 第二周 计算机基础和C语言

主讲老师: 大白老师

课程内容:

今天学习了一维数组和二维数组的内容。

课程收获:

一维数组
数组的初始化:
可以int a[2]={10,20};
也可以int a[]={10,20};
还可以int a[5]={10,20};
像上条语句,初始化的时候五个元素只有两个被赋值,那么剩下的三个元素自动被赋值为0.
切记 int a[m] m不能为变量


如果定义了一堆数据:

int a[]={10,20,30,40,50,60,70};

如果要定义a数组的长度len,可以

int len = sizeof(a)/sizeof(a[0]);

如果想要循环输出可以:

for(i=0;i<len;i++)
{
	printf("%d ",a[i]);
}

字符数组和字符串
存放字符串使用char类型定义数组:
三种写法:

char buf[30] = "welcome";
char buf[30] = {"welcome"};
char buf[30] = {'w','e','l','c','o','m','e','\0'};

注意一点
比如char a[]=“hello”,其实长度是六个字节带一个’\0’
这样的话其实也可以用for循环逐个输出,但是速度和效率很慢,可以用%s进行操作

char buf[10] = {0};
scanf("%s",字符数组的首地址);   //scanf("%s",buf);    
功能:用户从键盘输入任意一段字符串,存放到buf中。以回车,空格,tab键盘作为用户输入的结束符号。

所以如果用户输入hello world实际只输入了hello,

char buf[] = {"hello world"};

printf("%s\n",字符数组的首地址); //printf("%s\n",buf);

功能: 输出数组中第一个'\0'之前所有的字符,并显示到屏幕上。
          若是用户对应字符数组中没有'\0',则用户输出乱码.所以用之前先初始化比较好
         


二维数组
二维数组用来存放有关行和列的信息
int a[i][j]- - -> i表示行, j表示列
存放数据的话从行开始,占满一行后开始存下一行

int a[2][3]表示定义了一个两行三列的二维数组

int a[][3]这样可行,行数可以省略,但列不能:
int a[3][]={1,2,3,4,5,6,7,8,9}
既可以
{1,2,3}
{4,5,6}
{7,8,9}
还可以
{1,2,3,4}
{5,6,7,8}
{9,0,0,0}
所以会有多种可能,只能省略行数,不能省略列


附上今天的作业

定义一个int a[10][10]的数组,利用二维数组输出下列杨辉三角的图案.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
...

下面是答案:
图片描述


每日一句:

在这个浮躁的时代,只有自律的人才能脱颖而出
—《觉醒年代》

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP