1.if~else配对问题
else 总是与离它最近的if配对
2.循环
(1)for(表达式1;表达式2;表达式3)
执行顺序;
(1)表达式1
(2)表达式2,若表达式2成立,则执行(3);不成立,执行(5)
(3)执行循环体即{}里的内容;
(4)表达式3,执行(2)
(5)结束循环
3.循环的练习
二、数组
1.数组的定义
DataType ArrayName[size];
DataType:数据类型,int,float,double,char 等等
ArrayName:数据名
size:数组的大小或数组下标,必须是常量表达式
[]:下标运算符
下标时从0开始到size-1
example:
int arr[5]//定义一个数组为5,其中每个元素都是数组类型
arr:数组名
5 :数组大小即数组元素的个数
int:数组元素的类型
(2)数组的初始化
int arr[3] = {1,2,3}; ok
int arr1[3] = {1,3}; ok
int arr2[3] = {1}; ok
int arr3[3] = {[2]=3}; 不建议
int arr4[] = {1,2,3,4}不建议
int arr5[] = {}; no
下面:
int arr[5];
arr[5] = {1,2,3,4,5}; //错误
注:
数组若要初始化,必须在定义的同时初始化,
不能先定义,后初始化
//一下方法不可以!!!
(1) int n = 6;
int arr[n];
(2) int m;
scanf("%d",&m)
int buf[m] = {1,2,3}
宏定义: #define M 5 把M替换成5
(3)数组元素的访问
使用下标的形式:
int arr[5];
arr[1]:访问第二个元素
arr[4]:访问第五个元素
遍历数组元素:诸葛访问
(4)数组的存储
数组也是一个数据的结构,数组中的元素顺序存储;
数组中每个元素的类型都相同;
(5)数组地址问题
int arr[5]
arr; 0x0000
&arr[0]; 0x0000
&arr; 0x0000
&arr+1; 0x0004
&arr[0]+1; 0x0004
&arr+1; 0x0014
说明:
arr:数组名,也代表数组元素的首地址,即第一个元素的地址
&arr[0]:数组元素的首地址,即第一个元素的地址
&arr:数组的首地址
arr+1和&arr[0]+1:表达的意思一样,
地址偏移sizeof(arr[0])个字节
&arr+1:偏移量为sizeof(arr),即整个数组
(6)数组的赋值
(7)char arr[16]={2
,e
,y
,9
}
char buf[16]={"hello"}(花括号可以不要)
(8)数组名不能和变量名重复!!!
2.二位数组(基于矩阵)
DataType ArrayName[行下标][列下标];
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][3] = {1,2,3,4,5};
C C++ 语文
张三
李四
2.注释:
(1)//。。。。。。:
单行注释,可以独占一行,也可以跟在执行语句之后
但“//”之后的内容,不被编译执行
规定:
注释内容放在被注释的上一行,或者同行行末
(2)/。。。。。。/
注释大段代码,即注释代码块
(3)主要用于代码测试
#if 0
#else
.....
#endif
今天学习了循环和数组,代码的思路还能理解,但是就是不能写出代码。感觉是那么回事,但是不能写出来。希望多多的练习能让自己学会写代码吧。