C语言的重量级“人物”——数组

132 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 3 天,点击查看活动详情

前言

小学的时候,在一堂堂生动而有趣的数学课上,相信大家都遇到过这样的问题:每次期中或者是期末考试结束后,令人紧张的成绩排序环节就会随之而来。除此以外,为了清晰地看到各个班级的水平如何,班级平均分是必不可少的。看似简单的问题,当运用计算机语言处理起来就涉及到了好多的门道。例如,某班级有36个学生,每个同学都会有一个成绩,老师想要得到大家的平均分,从理论上来说是一个比较简单的问题:就是将36个同学的分数加起来再除以总人数36就可以了。但是需要怎么表示这些人的分数呢?当然,可以请出float型变量,问题是比较繁琐,在生活节奏如此快的现代社会,谁不愿意一步到位呢!而且,就算这样机械地罗列出这些数据,那它们之间的联系等信息就丢失了,也是得不偿失的。

所以,数组就应运而生了。它不仅可以表示出同一类性质的数据,而且还可以通过下标的方式来区分出不同的个体,这样一批具有同名字的且属性一致的数据就组成了一个数组。接下来介绍一些数组应用时需要注意的问题。

一、常用指令

extern :声明一个变量 没有储存空间 无法存值

const :常量 不能修改

volatile :防止编译器优化代码

reigister :定义寄存器变量(cpu有没有空闲寄存器)

敲黑板啦!!!

在写程序时,需要注意:
1'a' :字符号常量  "a":字符串常量 (找到\0为止)

2printf附加格式:%-5d是左对齐  %5d右对齐(数字是整体的宽度 如果没有全用 
就会用空格补全)

30将输出的前面补上0直到占满列宽

二、数组

数组是一组有序数据的集合。数组中的所有数据,其排列顺序都是按照某一特定的规律进行的,各个数据的下标则代表了其在该数组中的序号。另外需要注意的一点是,定义一个数组之后,必须给其取一个名字,然后在数组的内部每个数据都有唯一确定的下标。用一个数组名和下标可以唯一准确地确定出数组中的元素,如S[2]就代表第2个人的分数。数组的每一个元素都属于同一个数据类型,不能把不同类型的数据放在同一个数组中,这是很多人容易犯的错误。下面通过一些例子来具体说明。

定义与形式

01数组.png

数组最大值

02数组最大值.png

数组逆置

03数组逆置.png

三、代码示例

以下是我在学习本部分内容时自己调试的程序,拿出来与大家一起学习,欢迎大家批评指正!!

3.1putchar()函数的用法

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>    
#include<stdlib.h>
int main()
{
       char ch='a';
       //printf("%c\n", ch);
       //输出字符 可以是变量 字符 数字 转义字符
       putchar(ch);
       putchar('7');
       putchar('\n');
       system("pause");
       return 0;
}

3.2scanf()函数的用法

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
       //char ch;
       int a, b;
       //scanf("%c", &ch);
       scanf("%3d%d", &a,&b);
       //putchar(ch);
       printf("%d\t%d", a, b);
       system("pause");
       return 0;
}

3.3getchar()putchar()函数结合

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
       char ch;
       //getchar接收键盘获取字符
       ch=getchar();

       putchar(ch);
       //暂时停留界面
       getchar();
       return 0;
}

四、结束语

文章是本人在学习相关内容时记录的笔记与自己的感悟收获,初次分享,如有描述不当或错误的地方,希望广大的技术盆友们积极指正。

欲知后事如何,烦请关注下集!!

xiaozhan.jpg