//
// main.c
// Switch练习2
//
// Created by xiaomage on 15/6/6.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h> int main(int argc, const char * argv[]) {
// 从键盘输入一个月份,输出对应季节 12~2 冬季 3~5 春季 6~ 8 夏季 9~11 秋季(用switch)
printf("请输入一个1~12的月份, 以回车结束\n");
int number = -;
scanf("%i", &number);
switch (number) {
case :
case :
case :
printf("冬季");
break;
case :
case :
case :
printf("春季");
break;
case :
case :
case :
printf("夏季");
break;
case :
case :
case :
printf("秋季");
break;
default:
printf("USB\n");
break;
} // 做一个计算器
// 1.提示用户输入一个值
printf("请输入第一个数\n");
// 2.定义变量接收用户输入的值
int number1 = -;
// 3.接收用户输入的值
scanf("%i", &number1);// 10 \n char temp;
scanf("%c", &temp);
// getchar(); // 专门用来获取字符, 会从输入缓冲区中获取字符 // 4.提示用户输入一个操作符号
printf("请输入你要进行的运算符 + - * / \n");
// 5.定义变量接收用户输入的操作符号
char op;
// 6.接收用户输入的操作符号
scanf("%c", &op); // 会有问题 // 7.提示用户再输入一个值
printf("请输入第二个数\n");
// 8.定义变量接收用户输入的值
int number2 = -;
// 9.接收用户输入的值
scanf("%i", &number2); // 10.根据用户的输入计算结果
// 10.1判断用户输入的到底是什么操作符, 然后进行对应的计算
int result = -;
switch (op) {
case '+':
result = number1 + number2;
break;
case '-':
result = number1 - number2;
break;
case '*':
result = number1 * number2;
break;
case '/':
result = number1 / number2;
break; default: break;
}
// 11.输出结果
printf("result = %i\n", result);
return ;
}
//
// main.c
// Switch注意点
//
// Created by xiaomage on 15/6/6.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h> int main(int argc, const char * argv[]) { // 1.Switch得条件表达式注意点
// Switch的条件表达式必须是返回整数的表达式, 也就是说()中只能放整数
// 或者写能够转换为整数的类型也可以, 例如char, 因为char类型可以转换为int类型, 所以写char也可以
switch ('A') {
case :
printf("");
break;
case :
printf("");
break;
default:
printf("other");
break;
} // 2.case的取值
// Switch中, case后面只能放返回值是整数的表达式或者整数, 或者能够转换为整数的类型
// case的取值不能重复
// case后面不能放变量, 因为系统在编译的时候会对Switch后面所有的case进行优化, 会根据case后面的常量值, 生成一张取值表
int number = ;
switch () {
case + :
printf("");
break;
case 'A':
printf("");
break;
case number:
printf("");
break;
default:
printf("other");
break;
} // default的位置问题
// Switch中的default可以随便放
// 无聊default写到什么地方, 它都会最后执行(只有前面所有的case都不满足的情况才会执行)
// 只要某一个case满足, 那么后面所有的case和default都会失效
// 同理: 只要default满足, 那么所有的case都会失效
switch () {
default:
printf("other\n");
// break;
case :
printf("");
break;
case :
printf("");
break;
}
return ;
}
//
// main.c
// while循环
//
// Created by xiaomage on 15/6/6.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h>
/*
if (条件表达式)
{
语句;
...
}
if是对给定的条件进行判断, 如果条件满足, 就执行if后面大括号中的内容 while (条件表达式)
{
语句;
...
}
while是对给定的条件进行判断, 如果条件满足, 就执行while后面大括号中的内容, 执行完毕之后会再次判断条件表达式, 如果满足会再次执行while后面大括号中的内容, 直到条件表达式不满足位置
术语: while后面大括号中的内容, 称之为 循环体 while的应用场景: 当我们需要反复的执行某一段代码的时候就可以使用while
*/
int main(int argc, const char * argv[]) { /*
printf("发射子弹\n");
printf("发射子弹\n");
printf("发射子弹\n");
printf("发射子弹\n");
printf("发射子弹\n");
printf("发射子弹\n");
printf("发射子弹\n");
printf("发射子弹\n");
printf("发射子弹\n");
printf("发射子弹\n");
*/ // 0.先将while的格式写好
// 1.找到需要重复执行的代码, 将需要重复执行的代码放到循环体中
// 2.确定结束条件(确定条件表达式) int count = ;
while (count > ) {
printf("发射子弹 %i\n", count);
// count = count - 1;
// count -= 1;
count--;
}
// 注意点: 和if一样, 如果条件表达式一开始就不满足, 那么循环体就不会被执行
return ;
}
//
// main.c
// while练习1
//
// Created by xiaomage on 15/6/6.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h> int main(int argc, const char * argv[]) {
// 提示用户输入一个正整数n, 计算1 + 2 + 3 + ...n的和
// 1.写代码之前应该先分析需求, 分析完需求再开始写代码
// 2.一般情况下, 在做企业级开发时, 不会直接实现复杂的功能, 而且先实现一个简化的功能
/*
1 + 2 + 3 + 4 + 5
0 + 1
(0 + 1)1 + 2
(1 + 2)3 + 3
(3 + 3)6 + 4
(6 + 4)10 + 5
规律 : 每一次都是用上一次的和加上一个数, 而且加上的这个数是一个递增的数
*/
/*
// 1.定义变量保存上一次的和
int sum = 0;
// 2.定义变量保存递增的数
int count = 1;
*/
/*
// 3.计算
// 0 + 1
sum = sum + count;
count++;
// 1 + 2
sum = sum + count;
count++;
// 3 + 3
sum = sum + count;
count++;
// 6 + 4
sum = sum + count;
count++;
// 10 + 5
sum = sum + count;
count++;
*/
/*
// 1.先写一个while
// 2.找到需要循环执行的代码
// 3.确定约束条件(结束条件)
while (count <= 5) {
printf("%i + %i\n", sum , count);
sum = sum + count;
count++;
} printf("sum = %i\n", sum);
*/
/*
// 1.提示用户输入一个整数
printf("请输入一个整数\n");
// 2.定义变量保存用户输入的整数
int number = -1;
// 3.接收用户输入的整数
scanf("%i", &number);
*/ // 4.安全校验
/*
if (number <= 0) {
// return 0; // 结束函数
// break; // 注意: break只能用在switch和循环结构中, 离开这两个东西没有任何效果
}
*/
// 2.定义变量保存用户输入的整数
int number = -;
while (number <= ) {
// 1.提示用户输入一个整数
printf("请输入一个整数\n"); // 3.接收用户输入的整数
scanf("%i", &number);// -5 -10 5
} // 4.根据用户输入的整数计算结果
// 1 + 2 + 3 +.. +n, 规律, 用上一次的和加上一个递增的数
// 1.先写一个while
// 2.找到需要循环执行的代码
// 3.确定约束条件(结束条件)
int sum = ;
int count = ;
while (count <= number) {
// int sum = 0; // 注意, 不能写到这个地方, 因为写到这里是一个局部变量, 作用域是从定义的这一行开始, 一直到循环体结束, 每次进来都会重新定义一个
// int count = 1; printf("%i + %i\n", sum , count);
// 思想: 累加思想, 通过循环来进行累加
sum = sum + count;
count++;
}
printf("sum = %i\n", sum); printf("other");
return ;
}
//
// main.c
// while练习2
//
// Created by xiaomage on 15/6/6.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h>
#include <stdlib.h> int main(int argc, const char * argv[]) {
// 获取1~100之间 7的倍数的个数并打印,并统计个数
// 1.分析 // 1.获取0~100之间所有的数
// 2.判断当前拿到的数是否是7的倍数, 没有余数
// 3.定义变量保存7的倍数的个数(每次只要发现当前的数是7的倍数就加1) // 修改变量名称的快捷键 command + control + e
int number = ;
int count = ;
while (number <= ) {
printf("%i\n", number);
if (number % == ) {
// 证明当前的数是7的倍数
count++;// 计数器思想, 如果以后开发中项获取什么中有多少个什么, 第一个时间就要想到计数器思想
printf("7的倍数是 %i\n", number);
}
number++;
}
printf("sum = %i\n", count);
return ;
} void call()
{
int count = ;
}
//
// main.c
// Switch练习
//
// Created by xiaomage on 15/6/6.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h> int main(int argc, const char * argv[]) { // 要求用户输入一个数, 如果用户输入的数大于100, 那么就输出牛逼
// 1.提示用户输入一个整数
printf("请输入一个整数, 以回车结束\n");
// 2.定义变量保持用户输入的分数
int number = -;
// 3.接收用户输入的值
scanf("%i", &number);
// 4.根据用户输入的值输出结果 if (number > ) {
printf("NX");
} switch (number) {
case :
printf("NX");
break;
default:
break;
} /*
什么时候用switch, 什么时候用if
在开发中一般情况下用if, if比较灵活
如果说是对一些固定的值进行判断, 并且这些值得数量不多的情况, 可以使用switch
从理论上来说, switch的性能效率比if高
*/
return ;
} void test()
{
/*
要求用户输入一个分数,根据输入的分数输出对应的等级
A 90~100 // 90/10 = 9 99/10 = 9 98/10 = 9 9|10 == A
B 80~89 // 8
C 70~79 // 7
D 60~69 // 6
E 0~59 //
*/
// 1.第一种实现方式 if
// 1.提示用户输入一个分数
printf("请输入一个0~100的分数, 以回车结束\n");
// 2.定义变量保持用户输入的分数
int score = -;
// 3.接收用户输入的值
scanf("%i", &score);
// 4.根据用户输入的值输出对应的结果 if (score >= && score <= ) {
printf("A\n");
}else if (score >= && score <= )
{
printf("B\n");
}else if (score >= && score <= )
{
printf("C\n");
}else if (score >= && score <= )
{
printf("D\n");
}else
{
printf("E\n");
} if (score < || score > ) {
printf("youtube\n");
}else if (score >= && score <= ) { //
printf("A\n");
}else if (score >= )
{
printf("B\n");
}else if (score >= )
{
printf("C\n");
}else if (score >= )
{
printf("D\n");
}else
{
printf("E\n");
} // 2.第二种实现方式 switch
switch (score/) {
case :
// printf("A\n");
// break;
case :
printf("A\n");
break;
case :
printf("B\n");
break;
case :
printf("C\n");
break;
case :
printf("D\n");
default:
printf("E\n");
break;
} }
//
// main.c
// break关键字,break只会跳出一层循环,不会跳出多层循环,
//
// Created by xiaomage on 15/6/6.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h> int main(int argc, const char * argv[]) { // 打十发子弹之后就不打了(打不动了)
int number = ;
while (number > ) { printf("发射子弹 %i \n", number);
number--;
if (number < ) {
printf("不打了\n");
break;// break用于跳出循环
}
}
return ;
}
//
// main.c
// continue关键字
//
// Created by xiaomage on 15/6/6.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h> int main(int argc, const char * argv[]) { int number = ;
while (number > ) { printf("发射子弹 %i\n", number);
number--;
if (number % == ) {
printf("休息一下\n");
} // 这些操作, 如果是休息就不做
printf("还有很多复杂的操作\n");
} int number = ;
while (number > ) { printf("发射子弹 %i\n", number);
number--;
if (number % == ) {
printf("休息一下\n");
continue; // 跳过本次循环, 进去下一次循环
// 只要看到continue 那么后面的所有语句都不会执行, 会执行再次去判断条件表达式
}
// 这些操作, 如果是休息就不做
printf("还有很多复杂的操作\n");
} // 把100~200之间的不能被3整除的数输出
int number = ;
while (number < ) { number++;
// 当前输出语句, 并不是所有情况都需要输出, 只有当前获取到得数不能被3整除才输出
// 如果当前获取到得数能被3整数, 就不执行printf语句
if (number % == ) {
continue;
}
printf("number = %i\n", number); number++;
if (number % != ) {
printf("number = %i\n", number);
} } return ;
}
//
// main.c
// dowhile
//
// Created by xiaomage on 15/6/6.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h>
/*
while (条件表达式)
{
语句;
...
} do
{
语句;
...
}while (条件表达式); do while和while的区别:
while如果条件表达式一开始就不满足, 那么循环体永远不会被执行 do while如果条件表达式一开始就不满足, 同样会执行一次循环体
也就是说: 无论条件表达式是否满足, do while始终会执行一次循环体
*/
int main(int argc, const char * argv[]) { int i = ;
while (i < ) {
printf("%i\n", i);
i++;
} printf("------------\n"); int j = ;
do{
printf("j = %i\n", j);
j++;
}while (j < ); // 一般情况下, 能用while就用while
// do while一般用于校验 // 2.定义变量保存用户输入的整数
int number = -;
// 无论如何都需要用户输入一次数据 while (number <= ) {
// 1.提示用户输入一个整数
printf("请输入一个整数\n"); // 3.接收用户输入的整数
scanf("%i", &number);// -5 -10 5
} do {
// 1.提示用户输入一个整数
printf("请输入一个整数\n"); // 3.接收用户输入的整数
scanf("%i", &number);// -5 -10 5
} while (number <= ); // 4.根据用户输入的整数计算结果
int sum = ;
int count = ;
while (count <= number) {
printf("%i + %i\n", sum , count);
sum = sum + count;
count++;
}
printf("sum = %i\n", sum); return ;
}
//
// main.c
// for和while的对比
//
// Created by xiaomage on 15/6/6.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #include <stdio.h> int main(int argc, const char * argv[]) { // 什么时候用while?
// 如果用于控制循环的增量在循环执行完毕之后还需要使用, 那么可以使用while
int count = ; // 用于控制循环什么时候结束
while (count > ) {
printf("发射子弹 %i\n", count);
count--; // 控制循环的次数, 当每次循环执行完毕之后都会执行一次
}
printf("count = %i\n", count); // 如果用于控制循环的增量在循环执行完毕之后不需要使用了, 那么可以使用for
for (int number = ; number > ; number--) {
printf("发射子弹%i\n", number);
}
printf("number = %i\n", number); // 其实在企业开发中, 只要会用for就可以了, while能做的for都能做
return ;
}
//
// main.m
// 循环嵌套练习3
//
// Created by 李南江 on 15/6/20.
// Copyright © 2015年 xiaomage. All rights reserved.
// #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {
/*
1
12
123
*/
/*
for (int i = 0; i < 3; ++i) {
for (int j = 0; j <= i; j++) {
printf("%i", j + 1);
}
printf("\n");
}
*/ /*
1
22
333
*/
/*
for (int i = 0; i < 3; i++) {
for (int j = 0; j <= i; j++) {
printf("%i", i + 1);
}
printf("\n");
}
*/ /*
--*
-***
***** --
- *
***
*****
*/
for (int i = ; i < ; i++) {
for (int j = i; j < ; j++) {
printf("-");
} // 0 * 2 = 0
// 1 * 2 = 2
// 2 * 2 = 4
for (int n = ; n <= i * ; n++) {
printf("*");
}
printf("\n");
}
return ;
}

最新文章

  1. mysql优化(三)–explain分析sql语句执行效率
  2. 一步一步使用sklearn
  3. Android(java)学习笔记166:Java中输入和输出流概念
  4. jvisualvm
  5. window.history.go(-1)返回且刷新页面
  6. 【一天一道LeetCode】#342. Power of Four
  7. mysql函数之截取字符串
  8. linux 远程执行命令
  9. Mysql表类型(存储引擎)的比较
  10. python制作查找单词翻译的脚本
  11. python PDF报表服务
  12. iOS自己主动化測试的那些干货
  13. C#读取对象实例的值和对对象的属性自动赋值方法
  14. 企业IT管理说:全自动就一定是最好的吗?
  15. 为什么采用4~20mA的电流来传输模拟量?(转)
  16. 第二类斯特林数(转自http://www.cnblogs.com/gzy-cjoier/p/8426987.html )
  17. C语言中字符串存储方法
  18. ansible批量验证密码
  19. linux下perforce(p4)的使用方法和命令
  20. input file样式美化

热门文章

  1. GStreamer基础教程01 - Hello World
  2. PyQt5.9 Html与本地代码交互实例
  3. BZOJ 3991 set维护dfs序
  4. 组合模式(composite)C++实现
  5. Linux目录结构(二)
  6. (转)19 个 JavaScript 有用的简写技术
  7. Sublime Text3 插件记录
  8. javaweb 之 代理模式
  9. Dictionary 小知识
  10. 使用Axis2方式发布webService实例说明