1.关于选择程序(IF语句和switch语句)
a:if 语句分为简单if语句和if-else语句。
if语句:
if(表达式1)
{
语句
}
if-else语句:注意else要与第一个if看作一个整体,不能与第二个if结合。
if(表达式1)
{
if(表达式2)
{
语句1
}
}
else
{
语句2
}
b:switch语句是多分支结构程序。(switch执行程序的时候,匹配到哪一项,当把匹配的那项执行完后,会继续后面的程序。如果不需要继续执行后面的程序,需要使用break语句来终止程序继续执行。)
switch(表达式)
{
case 常量表达式1:语句1
case 常量表达式1:语句1
.........
default:语句n
}
2.关于循环。(while循环,do-while循环,for循环)
a:while循环(执行循环,直到表达式值为假为止)
while(表达式)
b:do-while循环(先计算,在判断表达式的值)
do
{ 语句}while(表达式)
c:for循环(先计算表达式1的值,然后计算表达式2的值,判断是否为真,如果为真,则执行循环语句,在计算表达式3。然后在计算表达式2的值,直到其值为假,终止循环)
for(表达式1;表达式2;表达式3)
3.数组(数组元素的下标都是从0开始的)
a:一维数组
数据类型 数组名[整形常量表达式];
b:二维数组
数据类型 数组名[整形常量表达式][整形常量表达式]...;
多种语句的组合
例如:1.输入十个学生成绩,要求输出最大成绩。
int arr[10];
int i;
for(i=0;i<10;i++)
{
printf("请输入第%d个学生成绩:\n",i+1);
scanf("%d",&arr[i]);
}
int max=arr[2];
int a;
for(i=0;i<9;i++)
{
if(arr[i]>max)
{
max=arr[i];
}
}
printf("M=%d\n",max);
2.输入一个数,把这个数按照顺序插入数组中。
int arr[8]={3,5,7,20,35,47,55};
int num;
printf("请输入一个数:\n");
scanf("%d",&num);
int index=7;
int i=0;
for(i=0;i<index;i++)
{
if(num>=arr[i]&&num<arr[i+1])
{
index=i+1;
break;
}
if(num<arr[0])
{
index=0;
break;
}
}
for(i=7;i>index;i--)
{
arr[i]=arr[i-1];
}
arr[index]=num;
for(i=0;i<8;i++)
{
printf("%d ",arr[i]);
}
在编写代码的时候,要注意:
1,定义了变量的数据类型,在输出的时候一定要对应相对的格式串说明。(int ->%d;char->%c;char arr[]->%s;float->%d;double->%lf)
2.像if()、while()、for( )、.....后面不能加";"
3.for()括号里的三个表达式一定要用“;”隔开。
4.像下面这种情况,在输入字符的时候,前面一句如果跟了换行代码,则必须跟getchar()把换行代码接收掉,不然会把换行代码默认到后面字符位。
printf("请输入一个数:\n",1);
scanf("%d",num);
getchar();
printf("请输入第%d个字符:\n",1);
scanf("%c",&arr[i]);
5.在定义变量时,这个变量只能在你定义的那个函数体中使用。