------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1. 一个xcode注释插件:VVDocumenter-xcode
2. If分支结构
1) if – else
2) if-else if –else
3) 注意:if(1)int a=1;是错误的,改为if(1){int a=1;}是正确的;
4) If和else要匹配
一个简单的而剪刀石头布小游戏:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[]) {
int human = -1,computer;//定义变量
while(human != 3){
printf("请出拳:0.石头 1.剪刀 2.布 3.退出\n"); //提示用户出拳
scanf("%d",&human);
computer = arc4random_uniform(3);//电脑出拳用随机数产生
if(human<0 || human>3) //判断输入的合法性
printf("你出的是啥啊,我读书少别骗我!\n");
else{ //判断输赢
if ((human==0&&computer==1)||
(human ==1&&computer == 2)||
(human == 2 && computer == 0)) {
printf("恭喜你,你赢了!\n");
}
else if ((computer == 0 && human == 1)||
(computer == 1 && human == 2)||
(computer == 2 && human == 0)){
printf("很遗憾,你输了!\n");
}
else if(human == computer){
printf("还不错,打平了!\n");
}
}
}
printf("下次再玩吧!拜拜!\n");
return 0;
}
运行截图
注意此程序中用到的一个随机函数arc4random_uniform(n),产生从0到n-1之间的一个随机数,记得导入头文件#include<stdlib.h>.。
3. case的穿透问题
是指在switch结构中,执行完某个case语句后没有使用break,程序继续向下执行其他case语句。在case语句中加上break便会消除此种现象。
switch(1){
case 1:
printf("我是1\n"):
case 2:
printf("我是2\n");
break;
}
这样就会把两条输出语句都输出来。
4. switch结构使用注意
1) 条件表达式必须为整型或者可以转换为整型的值
2) case语句可以有多条语句,大括号可有可无。
3) break语句用来结束switch语句,不适用时表现为穿透现象。
5. case语句注意
1) case格式为:case+空格+常量/常量表达式+冒号+语句块
2) case后面不能为变量,只能为常量或者常量表达式
3) default语句可以放在任意位置
4) case的穿透为从上向下穿透,如果default语句在后面同样也会穿透
5) 如果default语句放在switch的最后面,可以不使用break,但放在前面必须有break
6) case后面不能跟实数,即小数
7) case后的语句块的第一句要想定义一个变量,必须加上大括号,否则定义会出问题
8) 编译器 bug问题:在case后面的语句块中非第一句定义变量时,其他的case语句也可以使用这个定义的变量。