一、语句结构
1.顺序结构
顺序结构不做讲解
2.选择结构
(1)if
1)if...else
if(条件)
{
执行的语句1
}
else
{
执行的语句2
}
解析:写法一:满足条件就执行语句1;不满足就执行语句2。
写法二:"条件"为真(非0)执行语句1;"条件"为假(0)执行语句2。
例题:
描述
判断一个整数是否能5整除是一个挺简单的问题,懒惰的KiKi还是不想自己做,于是找到你帮他写代码,你就帮帮他吧。
输入描述:
输入包括一个整数M(1≤M≤100,000)。
输出描述:
输出包括一行,如果M可以被5整除就输出YES,否则输出NO(结果大小写敏感)。
完整题目代码:
intmain() { intM=0; scanf("%d\n",&M); if(M%5==0) printf("YES"); elseprintf("NO"); return0; }
2)if....else if....else
if(条件1)
{
执行语句1
}
else if(条件2)
{
执行语句2
}
.......
else if(条件n)
{
执行语句n
}
else
{
执行语句3
}
解释:这种是要判断多个条件的时候。条件1满足则执行语句1,不满足再去判断条件2....直到执行到else语句。
例题:
描述
已知一个函数y=f(x),当x < 0时,y = 1;当x = 0时,y = 0;当x > 0时,y = -1。
输入描述:
一行,输入一个整数x。(-10000
输出描述:
一行,输出y的值。
解析:这里对于Y的取值有三种判断条件,大于两种,所以选择多种条件判断
完整代码:
intmain() { intx=0; inty[3]={1,0,-1}; scanf("%d",&x); if(x<0) { printf("%d",y[0]); } elseif(x==0) { printf("%d",y[1]); } else{ printf("%d",y[2]); } return0; }
(2)switch
模板:switch(表达式)
{
case 常量1:语句1;
case 常量2:语句2;
.......
default :语句N;
}
当前还有很多知识没学到,swtich暂且不展开。
3.循环结构(本节先介绍while)
while:
模板:while(条件)
{
循环体
}
解析:满足条件则进入while循环({}里面)里面,执行一次循环体;执行完再跳出循环体(一般可以在循环体里面加改变条件的语句)判断条件,满足再此执行,直到不再满足条件则跳出循环。
简单举个例子:
描述
小乐乐学校教学楼的电梯前排了很多人,他的前面有n个人在等电梯。电梯每次可以乘坐12人,每次上下需要的时间为4分钟(上需要2分钟,下需要2分钟)。请帮助小乐乐计算还需要多少分钟才能乘电梯到达楼上。(假设最初电梯在1层)
输入描述:
输入包含一个整数n (0 ≤ n ≤ 109)
输出描述:
输出一个整数,即小乐乐到达楼上需要的时间
完整代码:
intmain() { intn=0; scanf("%d",&n); intt=0; while(n>=0)//一趟电梯四分钟 { if (n>=12) { n-=12; t+=4; } else { t+=2; break; } } printf("%d",t); return0; }
for
粗略介绍一下:
for(表达式1:表达式2:表达式3)
{
执行语句
}
如:
for(int i=0:i<10:i++)
{
printf("我是ikun");
}
do...while
二、函数
1.定义:
讲到函数大家应该都不陌生了,其实跟数学上面的函数差不多。所以我们先从数学上面引例
引例:给定一个函数y=x+1;给一个x的值,就会得出一个y的值;在c语言中也是类似。
函数:由形参,实参,跟函数体部分组成。函数体就是用来实现某一个功能。
2.简单函数例子
我们直接上代码,求两个数的和。
intAdd(intx,inty) { intz=x+y; returnz; } intmain() { inta=0; intb=0; intc=0; scanf("%d%d", &a,&b); c=Add(a,b); printf("%d",c); return0; }
解析:形参(x,y),实参(a,b)函数名字(Add)
这里是把实参的值传给形参(形参只是复制了实参的一份数据),然后进入函数(Add)实现加法运算(函数体功能)并返回相加后的值
3.注意事项:
如果要把函数Add写在main函数后面(先定义函数后任意位置都可以),则函数运行失败,需要在main函数前定义该函数,像下面这样
错误写法;
正确代码:
#include<stdio.h> int Add(int x,int y);//在main函数前面先定义 int main() { int a = 0; int b = 0; int c = 0; scanf("%d%d", &a,&b); c = Add(a,b); printf("%d",c); return 0; } int Add(int x, int y) { int z = x + y; return z; }
粗略了解不同语句的写法跟函数是什么就可以了,初学者目前需要有一个框架即可。