上嵌学习笔记

C语言数组,循环结构(20161214)

2016-12-14  本文已影响12人  Hassan_chao

一、循环

1、补充:
else 总是上层与最近的配对使用。
分支结构:
if else
switch case

2、循环
(1)for(表达式1;表达式2;表达式3)
执行顺序:
a、表达式1
b、表达式2 若成立,则执行表达式c,不成立执行e
c、循环体,即{}里的内容,
d、表达式3,执行B
e、结束循环

二、数组

1、数组的定义
DataType ArrayName[size];

(1) DataType:数据类型,int,float,double,char等等
Arrayname:数组名
size:数组的大小或数组下标,必须是常亮表达式。
[]:下标运算符
下标是从0开始,到size-1
example:
int arr[5]; //定义一个数组大小为5,其中每个元素都是int
arr:数组名
5 :数组大小即数组元素类型
int:数组的元素类型
(2)数组的初始化

    int arr [3] = {1,2,3};
    int arr1[3] = {1,3};
    int arr2[3] = {1};
    int arr3[3] = {[2]=3};//不建议使用
    int arr4[]  ={1,2,3,4};//不建议
    int arr5[]  ={};//error
int num=0;
int num1;
num1=2;

int arr[5];
arr[5]={1,2,3,4,5}; //不正确,无法赋值

数组若要初始化,必须自定义的同时初始化,不能先定义,后初始化。

/*以下方法不可以,编译器报错
int n=6;
int arr[n];
                        
int m;
scanf("%d",&m);
int buf[m]; */

#define M 5   //用M代替5,宏定义
#define 大写字母 表达式  //用“大写字母”代替“表达式”

(3)数组元素的访问
使用下标形式;

    int arr[5]
arr[2]:访问第二个元素
arr[4]:访问第5个元素
遍历数组元素:逐个访问

(4)数组的存储
数组也是一种数据结构,数组中的元素顺序存储
数组中每个元素的类型都相同
(5)数组地址问题

    arr     :0x000000
    &arr[0]  : 0x000000
    &arr     : 0x000000  
    arr+1    : 0x000004
    &arr[0]+1  : 0x000004
    &arr+1      : 0x000014
    注释:
    arr    :数组名也代表数组元素的首地址,即第一个元素的地址
    &arr[0]:数组元素的首地址,即第一个元素的地址
    &arr   :数组的首地址
    arr+1和&arr[0]+1:表达的意思一样
    地址偏移sizeof(arr[0])个字节
    &arr+1:偏移量为sizeof(arr)个字节,地址偏移整个数组大小

(6)数组元素的赋值

char arr[16]={‘h’‘e’‘l’‘l’‘o’};
char buf[16]={‘hello’};//{ }可省略

(7)数组名不能和变量名重复

2.二维数组
DataType ArrayName[行下标][列下表]
二维数组定义时,行下标可以省略,列下标不可以省略。
(1)二维数组的初始化:

    int arr  [3][3]={1,2,3};
    int arr1 [3][3]={{1,2,3},{4,5,6},{7,8,9}};
    int arr2 [][3]={1,2,3,4,5}

2.注释
(1)//.......单行注释,可以独占一行,也可以跟在执行语句之后的内容,不被编译执行
规定:
注释内容放在被注释的上一行,或者同行行末
(2)/......./
注释大段代码,即注释代码块
(3)
#if 0
....
#else
......
#endif

总结

需要加强的点:
(1)ASCII码值的使用
(2)循环嵌套的使用

上一篇下一篇

猜你喜欢

热点阅读