视频: 《C语言C++学习指南(零基础入门)》课时42 指针与数组(编程开发 编程语言 C) 2024
C编程语言中的一个 数组 是一系列相同类型的变量:十几个int变量,两个或三个双变量,或者一串字符变量。该数组不包含所有相同的值。不,它更像是一系列的小洞,你坚持不同的价值观。
一个数组被声明为任何其他变量。给出了一个类型和一个名字,然后是一组方括号。以下语句声明了高分数组:
<! --1 - >int highscore [];
这个声明是不完整的;编译器还不知道数组中有多少项或 元素 。因此,如果高分数组包含三个元素,则将声明如下:
int highscore [3];
这个数组包含三个元素,每个元素都有自己的int值。这些元素是这样访问的:
highscore [0] = 750;高分[1] = 699;高分[2] = 675;
一个数组元素被其方括号中的索引号引用。第一项是索引0,这是你必须记住的。在C中,你从0开始计数,这有它的优点,所以不要以为它是愚蠢的。
<!在前面的例子中,第一个数组元素highscore [0]被赋值750,第二个元素699;和第三个,675.初始化后,像你的代码中的任何其他变量一样使用数组变量:
var = highscore [0];
该语句将数组元素highscore [0]的值存储到变量var。如果highscore [0]等于750,那么执行语句后var等于750。
<! - 3 - >
高分,令人满意的版本#include int main(){int highscore1,highscore2,highscore3; printf(“你的最高分:”); scanf(“%d”,&highscore1); printf(“你的第二高分:”); scanf(“%d”,&highscore2); printf(“你的第三最高分:”); scanf(“%d”,&highscore3);放(“这是你的高分”); printf(“#1%dn”,highscore1); printf(“#2%dn”,highscore2); printf(“#3%dn”,highscore3);重写来自High Scores,Awful Version的源代码,添加第四个高分并使用一个数组 - 但请记住,您的数组包含四个值,而不是三个。
练习1存在许多解决方案。蛮力解决方案将每个数组变量逐行填充,类似于High Scores(Awesome Version)中的源代码。高分,更好的版本提供了更好,更有见地的解决方案。
高分,更好的版本 #include int main(){int highscore [4]; int x; for(x = 0; x <4; x ++){printf(“Your#%d score:”,x + 1); scanf(“%d”,&highscore [x]);} puts(“这是你的高分”); for(x = 0; x <4; x ++)printf(“#%d%dn”,x + 1,highscore [x]); return(0);} 来自High Scores的大部分代码,更好的版本应该是你熟悉的,虽然是新的数组符号。printf()语句(第10行和第16行)中的x + 1参数允许您在循环中使用
x
变量,但显示从1开始而不是从0开始的值。尽管C喜欢开始编号在0的时候,人们还是更喜欢从1开始。
练习2
: 在High Scores中输入源代码,一个更好的版本进入你的编辑器并建立一个新的项目。运行。 虽然程序的输出与练习1中的输出非常相似,但是通过练习3:
练习 3 证明了方法的效率要高得多:
修改来自High Scores的源代码,一个更好的版本,以便输入和显示前十个分数。
想象一下,如果选择不使用数组,您将不得不为编码3编写答案! 数组的第一个元素是0. 当声明一个数组时,使用十个元素的全部元素,例如10。即使元素索引从0到9,在声明数组大小时仍然必须指定10。