分支语句
if语句
//if的三种语句结构
//第一种最简单的if语句
if(表达式)
{
语句;
}
//第二种
if(表达式)
{
语句1;
}
else
{
语句2;
}
//第三种
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else
{
语句3;
}
// else 与距离最近的未匹配的if进行匹配
switch语句
switch(整形表达式)
{
case 语句:
break;
case 语句2:
break;
default语句:
break;
}
循环语句
while语句
while(表达式) //表达式为真则一直进行
{
循环语句
}
在循环中break的作用是跳出循环;continue的作用是跳出本次循环进入下一次循环的判定。
for循环
for(表达式1;表达式2;表达式3) //表达式1为初始化语句,表达式2为判断语句
{
循环语句;
}
//变种的for循环
int x,y;
for(x=0, y=0; x<5 && y<10; x++, y++)
{
循环语句;
}
do while循环
do
{
循环语句;
}while(表达式);
练习题
1、计算n的阶乘
2、计算1!+2!+…+10!
3、模拟用户登陆场景。允许输入三次密码,密码正确则提示登陆成功。若三次均输入错误则退出程序。
4、字符串从两端闪烁输出 welcome to ISIP!
习题答案
1、计算n的阶乘
#include <stdio.h>
int main()
{
int a = 1;
int n = 0;
int i = 1;
printf("请输入要计算几的阶乘\n");
scanf_s("%d", &n);
for (i = 1; i < n + 1; i++)
{
a = a * i;
}
printf("%d的阶乘为%d\n", n, a );
return 0;
}
2、计算1!+2!+…+10!
#include <stdio.h>
int main()
{
int i = 0;
int a = 1;
int sum = 0;
for (i = 1; i <11 ; i++)
{
a = a * i;
sum = sum + a;
}
printf("结果为:%d" , sum);
return 0;
}
3、模拟用户登陆场景。允许输入三次密码,密码正确则提示登陆成功。若三次均输入错误则退出程序。
注意:在比较两个字符串时不能直接用 == 而应选用函数strcmp来进行比较
#include <stdio.h>
#include <string.h>
int main()
{
//模拟用户登录场景
int i = 0;
char arr[20] = {"123456"};
char password[20] = {0};
for (i = 0; i < 3; i++)
{
printf("请输入登陆密码:\n");
scanf("%s", password);
if (strcmp(password, arr) == 0)
{
printf("登陆成功\n");
break;
}
else
{
printf("登陆失败\n");
}
}
if (i == 3)
{
printf("密码输入错误已达3次,请稍后再试");
}
return 0;
}
4、字符串从两端闪烁输出 welcome to ISIP!
#include <stdio.h>
#include <string.h>
#include <windows.h>
int main()
{
//字符串从两端闪烁输出
int left = 0;
char arr1[20] = { "Welcome to ISIP"};
char arr2[20] = { " " };
int right = right = strlen(arr1) - 1;
for (left=0; left < right + 1; left++, right--)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s", arr2);
Sleep(1000); //延时1s
system("cls"); //清除屏幕
}
printf("%s", arr1);
return 0;
}