1. 块语句:成为一个整体
{
语句1;
语句2;
...
}
语句:
空语句: ;
非空语句:***;
2.程序的流程控制:顺序,选择控制,循环
1.循环执行:从上往下,逐条来执行
2.选择控制:当达到某种条件,执行特定的指令。
if switch
if(逻辑条件表达式)
语句;
双分支:
if(表达式)//条件为真
{
语句1;
}else //条件为假
{
语句2;
}
多分支:
if(表达式1)
语句 1;
else if(表达式2)
语句 2;
...
else
语句n;
嵌套if
双分支:
if(表达式) //条件为真
{
if(表达式)
语句 ;
...
}
else //条件为假
{
if(表达式)
语句 ;
...
}
多分支:switch
switch(整形表达式)//注:必须为整形表达式
{
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
...
default:
语句n;
}
注:1.整形表达式与常量表达式进行匹配;匹配成功则执行此分支直到遇到break分支才结束。
2.表达式为真则执行下列语句,否则不执行;
3.if()和一条语句或一个语句块结合成为一条完整的语句。
循环控制:重复执行
for while do-while
for(初始化表达式1;(逻辑值)结束表达式;过程表达式)
{
循环体;
}
注:结束表达式为真则循环;否则退出循环
while(逻辑值的表达式)//先判断再执行
{
循环体
}
do
{
循环体
}while(逻辑值的表达式); //先执行再判断
注:1、表达式为真,继续循环;表达式为假,退出循环
2、表达式中值是否初始化。
3、结束退出
嵌套循环
for(初始化表达式1;(逻辑值)结束表达式2;过程表达式3)
{
for(初始化表达式1;(逻辑值)结束表达式2;过程表达式3)
循环体;
...
}
用for循环嵌套完成用*打印等腰三角形如下
用for循环及if判断输入的数是不是回文(如:121 12321 12344321)代码如下:
3.循环的控制:结束循环(不再循环;结束本次循环,开始下一次循环)
不再循环:break;(跳出循环)
开始下一次循环:continue;(退出本次循环直接开始下一次循环)
8、逗号运算符: 表达式1,表达式2,表达式3,..表达式n
结果:表达式1的结果(从右往左)
注:定义变量的分隔符(只有在定义变量)
9、取变量的地址: &变量名
输入设备:鼠标,键盘,...
输出设备:屏幕,投影仪...
标准输入输出设备:1、键盘 2、屏幕 stdio.h
标准输入设备(键盘):
1、获取一个字符: int getchar
2、格式化输入: scanf("格式字符串",存储对象地址)
%d整型
1、输出一个字符: putchar();
2、格式化输出: printf("格式化字符串",对象的内容 );
注:普通字符原样输出,控制字符则输出对象的内容
数组:是一块“连续”且“同类型”的存储空间
定义数组:
类型 数组名[长度];
定义数组并初始化:
引用:取出第几个元素的内容
下标法(从0开始): buf[n]
数组的存储空间长度: 长度*sizeof(类型)
第i个元素的地址:首地址+(n-1)*sizeof(类型) n代表第n个元素
*算法:
1、累加法:把数据累积在一起
应用:求多个数的和或者积
2、监哨值法:在多个元素中,从左往右遍历中通过哨兵去指向当前的最大值。
应用:求最值