黑马程序员技术交流社区
标题: 关于昨天学的if语句的总结 [打印本页]
作者: Ammar 时间: 2015-4-12 11:11
标题: 关于昨天学的if语句的总结
一、 if分支
if(表达式 1)
{ 语句 1
}else if (表达式 2)
{ 语句 2
}else{ 语句3
}
int main(int argc, const char * argv[])
{
// 定义一个变量接受用户输入的分数
double score = -1;
// 检验分数是否合法
while (score < 0 || score > 100)
{
// 提示用户输入一个分数
printf("请输入分数:\n");
// 接受分数
scanf("%lf", &score);
}
// 判断分数的等级
if (score <= 100 && score >= 90)
{
printf("A\n");
}else if (score < 90 && score >= 80)
{
printf("B\n");
}else if (score < 80 && score >= 70)
{
printf("C\n");
}else if (score < 70 && score >= 60)
{
printf("D\n");
}else
{
printf("E\n");
}
return 0;
}
注意事项:
if(条件)可以直接写分号; 表示什么都不干,;-->空语句
如果if之后的代码块,如果只有一句话,则可以省略{ }。
永真式和永假式:if(1){ } 大括号中永远执行 if(0){ }永远不执行
if语句结合return语句:
int main(int argc, const char * argv[])
{
if (a == 3)
{
return 0; // 在一个函数中,return语句之后的语句都不会执行
}
return 0;
}
- if作用域的问题:
int main(int argc, const char * argv[])
{
if (a == 3)
{
int num = 10;
}
printf("num = %d", num); //报错,访问不到num
}
- 作用域的紊(wen)乱
实现和计算机猜拳对决
<stdlib.h>
产生随机数的方法:arc4random_uiform(int)
表示:产生0~int-1的随机数
#include <stdio.h>
#include <stdlib.h>
// 实现跟计算机猜拳,并将结果打印出来
// 规定:0.石头 1.剪刀 2.布
// 提示:产生随机数的方法:arc4random_uiform(int)表示产生0~int的随机数
int main(int argc, const char * argv[])
{
// 定义一个数组存储规定
char *str[3] = {"石头", "剪刀", "布"};
// 定义变量存储用户输入的拳和计算机输入的拳
int player = -1, computer = -1; //
// 使计算机随机产生一个拳
computer = arc4random_uniform(3);
// printf("计算机输出的拳是:%s\n", str[computer]);
// 提示用户输入一个拳
printf("请输入一个拳:0.拳头,1.剪刀,2.布\n");
scanf("%d", &player);
while (player < 0 || player > 2)
{
printf("输入错误,请重新输入一个拳:0.拳头,1.剪刀,2.布\n");
scanf("%d", &player);
}
// 比较两个拳判断输赢并输出
if (player == computer % 3)
{
printf("平手,电脑出了%s,我出了%s\n", str[computer], str[player]);
} else if (player == (computer + 1) % 3)
{
printf("我输了,电脑出了%s,我出了%s\n", str[computer], str[player]);
} else
{
printf("我赢了,电脑出了%s,我出了%s\n", str[computer], str[player]);
}
return 0;
}
作者: 深情眸 时间: 2015-4-12 11:13
一楼,楼主总结的好详细啊。必须赞一个。加油
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |