C语言程序设计课程笔记3

 

FIRST 知识点总结

(一) 一维数组的定义和初始化

1.几个概念:数组,数组名,数组元素,数组的下标,数组的基类型,数组的维数。

注:ⅰC语言中数组的下标都是从0开始的。

ⅱ在定义数组时不能使用变量定义数组的大小。

ⅲ下标越界是大忌。

ⅳ数组要定义为全局数组。

ⅴ直接对a的访问就是访问此数组的首地址。

2.一般定义格式:

  类型 数组名[元素个数];

在内存中占用的字节数为:

数组长度×sizeof(基类型)

3.容错方式(保证输入数据合法的方式)

e.g.:

do{

       printf("Input a month:");

       scanf("%d",&month);

}while(month<1‖month>12);

4.取反:x[i]=!x[i]

(二) 二维数组的定义和初始化

1.一般定义格式:

     类型 数组名[第一维长度][第二维长度];

在内存中占用的字节数为:

第一维长度×第二维长度×sizeof(基类型)

注:ⅰ在不同编译系统中,int型所占的字节数是不同的。

ⅱ数组第二维的长度声明永远都不能省略。

SECOND 应用

一维数组

1.年龄与疾病:某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,按照0-18、19-35、36-60、61以上(含61)四个年龄段统计的患病人数占总患病人数的比例。并以百分比的形式输出,精确到小数点后两位。

cout<

  p=p*100.0/n;

  q=q*100.0/n;

  e=e*100.0/n;

  k=k*100.0/n;

cout<

}  

本题中应注意保留两位小数的写法!

2.向量点积计算:给定两个n维向量a=(a1,a2,...,an)和b=(b1,b2,...,bn),求点积a·b=a1b1+a2b2+...+anbn。

二维数组

1.计算矩阵边缘元素之和:输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。

2.矩阵交换行

查看 提交 统计 提问:给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。

3.细菌的繁殖与扩散:在边长为9的正方形培养皿中,正中心位置有m个细菌。假设细菌的寿命仅一天,但每天可繁殖10个后代,而且这10个后代,有两个分布在原来的单元格中,其余的均匀分布在其四周相邻的八个单元格中。求经过n(1≤n≤4)天后,细菌在培养皿中的分布情况。

THIRD 感悟

        随着考试周的到来,愈发感觉时间的珍贵。在复习的过程中,发现自己很多知识点模糊不清,甚至根本没有掌握。有时候做的一些题目,刚拿过题目时根本没有思路,要考虑很长时间,有了大致的想法,着手写时总是丢三落四。很多时候思路很复杂,导致写的程序繁多冗杂,不能够做到简化。我认为最大的原因是接触的题目还是太少,并且不能够熟练运用课本知识。临近考试,要争取完成老师布置的综合练习题,好好复习,努力考个好成绩!

 

 

 

你可能感兴趣的:(C语言程序设计课程笔记3)