今天学习的内容不如昨天多,因为今天我们开班会了,而且也开启了正式开班的仪式!从今天开始,我就正式的入学学习编程了~~~!想想还有点小激动呢~
言归正传,下面来介绍下今天老师讲的课程。
首先,老师让我们思考了一下,如何通过数组来表示字符。下面写两个具体例子来说明一下。定义字符的话,我们需要运用char定义符,即char a[]={'a','b','c','d','e'},通过这种方式来表示数组中的5个元素,分别为abcde,当然,有没有更简单的办法呢?当然有了,即char a[]={"abcde"},那这两种表达方式有什么不同呢?
编写程序时采用内存查看窗口看一下会发现不同之处:上面的定义方式定义出的数组元素数是5个,即a,b,c,d,e。而采用第二种定义方式,定义出的数组元素竟然有6个,即a,b,c,d,e,\0。为什么会多了一个“\0”呢?因为在字符数组的定义中,用""定义的字符串在内存中需要有一个休止符,保证字符到此为止,而"\0"就代表了这个休止符,但实际上""定义的字符数组要比上一种方法定义的字符数组元素数量多一个。
这两种定义方法可以根据不同状态分别使用。如果数组中每个元素是一个字符串的话,用''定义会比较方便。如果元素是单个字符的话,那""的定义方法就够用了。
如果我们想要在数组中打印特殊符号,怎么办呢?(特殊符号就是指在程序中具有一定意义的符号,例如:",\等。)
如果需要打印这些字符的话,只需要在特殊符号前加入一个“\”就可以了。
最后老师带领我们学习了一个数组的排序方法——冒泡排序法。
简单来说就是两个for循环的嵌套,让我们轻松的为一个数组排列出顺序。下面我自己背着写一下这个过程。
#include<stdio.h>int main()
{
int a[7] = { 178, 185, 156, 165, 180, 191, 173 };//首先定义一个数组,假定7个同学的身高分别为数组的元素。
for (int i = 6; i > 0; i--)//需要排序就需要比较,一共需要比较数组元素-1次。
{
for (int j = 0; j<i; j++)//这行表示从数组中循环数值。
{
if (a[j]<a[j + 1])//这行就是判断了,如果前一个数比后一个数大,
{
int t = a[j + 1];
a[j + 1] = a[j]; //则两数交换为止
a[j] = t;
}
}
}
for (int i = 0; i < 7; ++i)
{
printf("%d ", a[i]);
}
}
这是将数组中元素按照数值大小顺序打出的结果,也希望大家多多练习,能明白冒泡排序法的运算过程。