黑马程序员—-C语言入门十重奏之四相恋
2015-08-13 16:58
344 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
思路:
1. 一直循环等待用户输入
2. 输入四个字符,打印对应的方向
switch
使用注意事项:
1.除0外任何值都是死循环
2.当一个变量与常量做比较 == !=时,将常量放前面最好
3.如果while循环只有一句话可以省略大括号
4.int i=0;
while(i<3);
{
printf(“1”);
i++;
}return 0;
5.while()
后面不能第一句就定义变量
空语句,上面是死循环
二. do-while
do{
语句块;
}while(条件);
while与dowhile对比
1. 当循环控制条件第一次判断不为假的时候
执行次数相同
2. 当循环控制条件第一次判断为假的时候
while不执行,dowhile执行一次
三. for(表达式1;表达式2;表达式3){
语句块;
}
省略模式1:
int I = 0;
for(;表达式1;表达式2){
语句块;
}
省略模式2:
int I = 0;
for(;表达式1;){
语句块;
i++;
}
省略模式3:
int i= 0;
for(;;){
if(i<5){
语句1;
i++;
}else{
//让循环结束
break;
}
}
int I = 0;
for(;i<100;i++,i++){//相当于i+2
语句块;
}
break;对if(){}else()不起作用
对多个循环不起作用
break跳出本循环,往后的都 不执行
continue跳出本次循环,继续执行i++;后的循环。用来加速循环
今天我们学完造句开始学写文章啦!C语言语句介绍,easy or not easy跟我继续看。 1.分支语句
if(表达式1){ 语句块1 }else if(表达式2){ 语句块2 }else{ 语句块3 }
在一个函数中return后的语句都不执行 作用域只在自己的代码块里,局部变量 产生随机数的方法 #include<stdlid.h> 函数arc4random_uniform(n); 使用方法:n=几就从0-(几-1)随机输出个数
switch(){ case 1: 语句1; break; case 2: 语句2; break; default: 语句3; break; }
case语句的穿透问题 如果case后并没有结束,不加break;就会执行所有后面没加break;的case和default里的语句 此时break;作用是结束switch语句 IF SWITCH语句选择 如果一个题目分支较多且无法穷尽或进行大量列举时最好用if 如果确定分支数量不是很多,但是使用if语句判断较为麻烦时最好用switch 也可以判断完区间用if,然后再区间内用switch switch使用注意事项 switch()括号里可以放 1. 整型变量 2. 常量 3. 返回值是整型的表达式(赋值表达式也可以)’a’+’a’/a=5-1 4. 可以转化为int类型的表达式例如字符’a’ case 常量表达式: 1.后面可以加大括号,不加大括号也可以有多行语句 2.case后面可以是常量(1)也可以是常量表达式(5+5)。不可以是变量表达式 3.default位置可以任意放。 4. 如果default放到switch最后可以不加break;当default没放到最后,而且switch里的语句和case匹配不上,也会和case一样穿透后面的所有switch里的语句。 5.case语句之后默认的第一句话不能定义变量,如果要在第一句话定义变量就加大括号,局部变量 6.编译器的bug:
#include <stdio.h> int main(int argc, const char * argv[]) { int a=0; switch (a) { case 1: printf("000\n"); int num=10;//不加大括号可以再不是第一行时定义变量 break; case 0: printf("num = %d\n",num);//编译器的bug在上个case里定义的变量在当前case里还能用,而且上个case都没被执行 // printf("num = %d\n",num1);下个case里的变量就不能用了 break; case 2: printf("111\n"); int num1=10;//不加大括号可以再不是第一行时定义变量 break; default: break; } printf("Hello, World!\n"); return 0; }
2.循环语句 一. while() 1. 循环控制条件(<=10) 2. 循环体 3. 能够让循环控制条件为假的语句(i++) 用while计算输入字符个数:
char ch; int i=0; scanf("%c",&ch); while (ch != '\n') { i++; scanf("%c",&ch);//缓冲区如果还有字符就不会再让输入 } printf("%d\n",i); return 0;
while应用:游戏方向控制 1. 不知道要循环多少次的时候用死循环 2. 在某个范围内查找满足复合条件的值时 w(上) s(下) a(左) d(右) q(退出)
思路:
1. 一直循环等待用户输入
2. 输入四个字符,打印对应的方向
switch
使用注意事项:
1.除0外任何值都是死循环
2.当一个变量与常量做比较 == !=时,将常量放前面最好
3.如果while循环只有一句话可以省略大括号
4.int i=0;
while(i<3);
{
printf(“1”);
i++;
}return 0;
5.while()
后面不能第一句就定义变量
空语句,上面是死循环
// // main.c // wsad // // 游戏方向控制 // #include <stdio.h> int main(int argc, const char * argv[]) { /*! * 定义一个变量 写一个死循环 让玩家输入方向,如果玩家不输入方向系统会一直等待 w(上) s(下) a(左) d(右) q(退出) */ char direction; printf("请控制小人移动: w(上) s(下) a(左) d(右) q(退出)\n"); int flag = 1; while (flag) { scanf("%c",&direction); switch (direction) 4000 { case 'w': case 'W': printf("上\n"); break; case 's': case 'S': printf("下\n"); break; case 'a': case 'A': printf("左\n"); break; case 'd': case 'D': printf("右\n"); break; case 'Q': case 'q': printf("退出\n"); flag = 0; break; default: break; } } return 0; }
二. do-while
do{
语句块;
}while(条件);
while与dowhile对比
1. 当循环控制条件第一次判断不为假的时候
执行次数相同
2. 当循环控制条件第一次判断为假的时候
while不执行,dowhile执行一次
三. for(表达式1;表达式2;表达式3){
语句块;
}
省略模式1:
int I = 0;
for(;表达式1;表达式2){
语句块;
}
省略模式2:
int I = 0;
for(;表达式1;){
语句块;
i++;
}
省略模式3:
int i= 0;
for(;;){
if(i<5){
语句1;
i++;
}else{
//让循环结束
break;
}
}
int I = 0;
for(;i<100;i++,i++){//相当于i+2
语句块;
}
break;对if(){}else()不起作用
对多个循环不起作用
for(int i=1;i<=10;i++){ if(I ==5) break; }printf(“%d”,i);//1234
break跳出本循环,往后的都 不执行
continue跳出本次循环,继续执行i++;后的循环。用来加速循环
语句介绍完了,这都是基础,想深入认识,当然是多看书,多做题,坚持看下去,简单的先弄会。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- ip地址基础知识
- On Error Resume Next 语句
- VBS基础编程教程 (第1篇)
- VBS基础编程教程 (第3篇)
- 路由器基础精析
- Lua和C语言的交互详解
- Lua教程(三):表达式和语句
- SQL语句实现查询SQL Server服务器名称和IP地址
- SQL Server的基本功能性语句介绍
- VBS基础编程教程 (第4篇)
- VBS基础编程教程 (第5篇)
- VBS基础编程教程 (第6篇)
- VBS编程教程 (第2篇)