- switch(表达式){
- case 常量表达式1:
- 语句1;
- break;
- case 常量表达式2:
- 语句2;
- break;
- case 常量表达式n:
- 语句n;
- break;
- default:
- 语句n+1;
- break;
- }
-
- #include <stdio.h>
-
- int main() {
-
- int num = 3;
- switch(num){
- case 1:
- printf("星期一\n");
- break;
- case 2:
- printf("星期二\n");
- break;
- case 3:
- printf("星期三\n");
- break;
- case 4:
- printf("星期四\n");
- break;
- case 5:
- printf("星期五\n");
- break;
- case 6:
- printf("星期六\n");
- break;
- case 7:
- printf("星期日\n");
- break;
- default:
- printf("回火星去\n");
- break;
- }
- }
-
- #include <stdio.h>
-
- int main() {
-
- switch(1.1){ // 报错
- case 1:
- printf("星期一\n");
- break;
- case 2:
- printf("星期二\n");
- break;
- default:
- printf("回火星去\n");
- break;
- }
- }
-
- #include <stdio.h>
-
- int main() {
-
- int num = 3;
- switch(1){
- case 1:
- printf("星期一\n");
- break;
- case 'a':
- printf("星期二\n");
- break;
- case num: // 报错
- printf("星期三\n");
- break;
- case 4.0: // 报错
- printf("星期四\n");
- break;
- default:
- printf("回火星去\n");
- break;
- }
- }
-
- #include <stdio.h>
-
- int main() {
- switch(1){
- case 1: // 报错
- printf("星期一\n");
- break;
- case 1: // 报错
- printf("星期一\n");
- break;
- default:
- printf("回火星去\n");
- break;
- }
- }
-
- #include <stdio.h>
-
- int main() {
- switch(1){
- case 1:{
- int num = 10;
- printf("num = %i\n", num);
- printf("星期一\n");
- break;
- }
- case 2:
- printf("星期一\n");
- break;
- default:
- printf("回火星去\n");
- break;
- }
- }
-
- #include <stdio.h>
-
- int main() {
-
- int num = 2;
- switch(num){
- case 1:
- printf("星期一\n");
- break;
- case 2:
- printf("星期二\n"); // 被输出
- case 3:
- printf("星期三\n"); // 被输出
- default:
- printf("回火星去\n"); // 被输出
- break;
- }
- }
-
- #include <stdio.h>
-
- int main() {
- switch(1){
- case 1:
- printf("星期一\n");
- break;
- case 2:
- printf("星期一\n");
- break;
- }
- }
-
- #include <stdio.h>
-
- int main() {
- switch(3){
- case 1:
- printf("星期一\n");
- break;
- default:
- printf("Other,,,\n");
- break;
- case 2:
- printf("星期一\n");
- break;
- }
- }
-
- #include <stdio.h>
-
- int main() {
- int a = -1;
- scanf("%d", &a);
- if(a > 100){
- printf("用户输入的数据大于100");
- }else{
- printf("用户输入的数据不大于100");
- }
- }
-
- #include <stdio.h>
-
- int main() {
- int a = -1;
- scanf("%d", &a);
- // 挺(T)萌(M)的(D)搞不定啊
- switch (a) {
- case 101:
- case 102:
- case 103:
- case 104:
- case 105:
- printf("大于\n");
- break;
- default:
- printf("不大于\n");
- break;
- }
- }
-
- 要求用户输入一个分数,根据输入的分数输出对应的等级
- A 90~100
- B 80~89
- C 70~79
- D 60~69
- E 0~59
-
- while ( 循环控制条件 ) {
- 循环体中的语句;
- 能够让循环结束的语句;
- ....
- }
-
- int count = 0;
- while (count < 3) { // 循环控制条件
- printf("发射子弹~哔哔哔哔\n"); // 需要反复执行的语句
- count++; // 能够让循环结束的语句
- }
-
- #include <stdio.h>
- int main(){
- int count = 4;
- // 1.判断循环控制条件是否为真,此时为假所以跳过循环语句
- while (count < 3) {
- printf("发射子弹~哔哔哔哔\n");
- count++;
- }
- // 2.执行循环语句后面的代码, 打印"循环执行完毕"
- printf("循环执行完毕\n");
- }
-
- #include <stdio.h>
- int main(){
- int count = 0;
- // 1.判断循环控制条件是否为真,此时0 < 3为真
- // 4.再次判断循环控制条件是否为真,此时1 < 3为真
- // 7.再次判断循环控制条件是否为真,此时2 < 3为真
- // 10.再次判断循环控制条件是否为真,此时3 < 3为假, 跳过循环语句
- while (count < 3) {
- // 2.执行循环体中的代码, 打印"发子弹"
- // 5.执行循环体中的代码, 打印"发子弹"
- // 8.执行循环体中的代码, 打印"发子弹"
- printf("发射子弹~哔哔哔哔\n");
- // 3.执行"能够让循环结束的语句" count = 1
- // 6.执行"能够让循环结束的语句" count = 2
- // 9.执行"能够让循环结束的语句" count = 3
- count++;
- }
- // 11.执行循环语句后面的代码, 打印"循环执行完毕"
- printf("循环执行完毕\n");
- }
-
- #include <stdio.h>
- int main(){
- while (1) { // 死循环
- printf("发射子弹~哔哔哔哔\n");
- // 没有能够让循环结束的语句
- }
- }
-
- #include <stdio.h>
- int main(){
- while (1) // 死循环
- printf("发射子弹~哔哔哔哔\n");
- // 没有能够让循环结束的语句
- }
-
- #include <stdio.h>
- int main(){
- while (1) // 死循环
- int num = 10; // 报错
- // 没有能够让循环结束的语句
- }
-
- #include <stdio.h>
- int main(){
- int count = 0;
- while (count < 3);{ // 死循环
- printf("发射子弹~哔哔哔哔\n");
- count++;
- }
- }
-
- // 死循环一般在操作系统级别的应用程序会比较多, 日常开发中很少用
- while (1);
-
- do {
- 循环体中的语句;
- 能够让循环结束的语句;
- ....
- } while (循环控制条件 );
-
- int count = 0;
- do {
- printf("发射子弹~哔哔哔哔\n");
- count++;
- }while(count < 10);
-
- #include<stdio.h>
- int main()
- {
- int num = -1;
- do{
- printf("请输入密码,验证您的身份\n");
- scanf("%d", &num);
- }while(123456 != num);
- printf("主人,您终于回来了\n");
- }
-
- for(初始化表达式;循环条件表达式;循环后的操作表达式) {
- 循环体中的语句;
- }
-
- for(int i = 0; i < 10; i++){
- printf("发射子弹~哔哔哔哔\n");
- }
-
- int count = 0; // 初始化表达式
- while (count < 10) { // 条件表达式
- printf("发射子弹~哔哔哔哔 %i\n", count);
- count++; // 循环后增量表达式
- }
- // 如果初始化表达式的值, 需要在循环之后使用, 那么就用while
- printf("count = %i\n", count);
-
- // 注意: 在for循环初始化表达式中定义的变量, 只能在for循环后面的{}中访问
- // 所以: 如果初始化表达式的值, 不需要在循环之后使用, 那么就用for
- // 因为如果初始化表达式的值, 在循环之后就不需要使用了 , 那么用while会导致性能问题
- for (int count = 0; count < 10; count++) {
- printf("发射子弹~哔哔哔哔 %i\n", count);
- }
- // printf("count = %i\n", count);
-
- // 如果需要使用初始化表达式的值, 也可以将初始化表达式写到外面
- int count = 0;
- for (; count < 10; count++) {
- printf("发射子弹~哔哔哔哔\n", count);
- }
- printf("count = %i\n", count);
-
- if(1) {
- break; // 会报错
- }
-
- while(1) {
- while(2) {
- break;// 只对while2有效, 不会影响while1
- }
- printf("while1循环体\n");
- }
-
- while(2){
- break;
- printf("打我啊!");// 执行不到
- }
-
- if(1) {
- continue; // 会报错
- }
-
- #include <stdio.h>
- int main(){
- int num = 0;
- // loop:是定义的标记
- loop:if(num < 10){
- printf("num = %d\n", num);
- num++;
- // goto loop代表跳转到标记的位置
- goto loop;
- }
- }
-
- #include <stdio.h>
- int main(){
- while (1) {
- while(2){
- goto lnj;
- }
- }
- lnj:printf("跳过了所有循环");
- }
-
[1]Qt Creator Keyboard Shortcuts(Documentation):http://doc.qt.io/qtcreator/creator-keyboard-shortcuts.html
[2]Qt Creator Keyboard Shortcuts(Wiki):http://wiki.qt.io/Qt_Creator_Keyboard_Shortcuts
- while(条件表达式) {
- while循环结构 or dowhile循环结构 or for循环结构
- }
-
- for(初始化表达式;循环条件表达式;循环后的操作表达式) {
- while循环结构 or dowhile循环结构 or for循环结构
- }
-
- do {
- while循环结构 or dowhile循环结构 or for循环结构
- } while (循环控制条件 );
-
- for (row=0; row<100; row++) {
- // 低效率:长循环在最外层
- for ( col=0; col<5; col++ ) {
- sum = sum + a[row][col];
- }
- }
-
- for (col=0; col<5; col++ ) {
- // 高效率:长循环在最内层
- for (row=0; row<100; row++) {
- sum = sum + a[row][col];
- }
- }
-
- 好友列表1
- 好友1
- 好友2
- 好友列表2
- 好友1
- 好友2
- 好友列表3
- 好友1
- 好友2
-
- for (int i = 0; i < 4; i++) {
- printf("好友列表%d\n", i+1);
- for (int j = 0; j < 4; j++) {
- printf(" 角色%d\n", j);
- }
- }
-
- ************
-
- // 3行4列// 外循环控制行数
- for (int i = 0; i < 3; i++) {// 内循环控制列数
- for (int j = 0; j < 4; j++) {
- printf("*");
- }
- printf("\n");
- }
-
- ***************
-
- /*最多打印5行最多打印5列每一行和每一列关系是什么? 列数<=行数*/
- for(int i = 0; i< 5; i++) {
- for(int j = 0; j <= i; j++) {
- printf("*");
- }
- printf("\n");
- }
-
- ***************
-
- for(int i = 0; i< 5; i++) {
- for(int j = i; j < 5; j++) {
- printf("*");
- }
- printf("\n");
- }
-
- 112123
-
- for (int i = 0; i < 3; i++) {
- for (int j = 0; j <= i; j++) {
- printf("%d", j+1);
- }
- printf("\n");
- }
-
- 122333
-
- for (int i = 1; i <= 3; i++) {
- for (int j = 1; j <= i; j++) {
- printf("%d", i);
- }
- printf("\n");
- }
-
- --*-********
-
- for (int i = 0; i <= 5; i++) {
- for (int j = 0; j < 5 - i; j++) {
- printf("-");
- }
- for (int m = 0; m < 2*i+1; m++) {
- printf("*");
- }
- printf("\n");
- }
-
- 1 * 1 = 1
- 1 * 2 = 2
- 2 * 2 = 4
- 1 * 3 = 3
- 2 * 3 = 6
- 3 * 3 = 9
- for (int i = 1; i <= 9; i++) {
- for (int j = 1; j <= i; j++) {
- printf("%d * %d = %d \t", j, i, (j * i));
- }
- printf("\n");
- }
-
- 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…) { 函数体; 返回值;}
-
- int main(){
- printf("hello world\n");
- retrun 0;
- }
-
- void 函数名() { 函数体;}
-
- // 1.没有返回值/没有形参
- // 如果一个函数不需要返回任何数据给调用者, 那么返回值类型就是void
- void printRose() {
- printf(" {@}\n");
- printf(" |\n");
- printf(" \\|/\n"); // 注意: \是一个特殊的符号(转意字符), 想输出\必须写两个斜线
- printf(" |\n"); // 如果函数不需要返回数据给调用者, 那么函数中的return可以不写
- }
-
- 返回值类型 函数名() { 函数体; return 值;}
-
- int getMax() {
- printf("请输入两个整数, 以逗号隔开, 以回车结束\n");
- int number1, number2;
- scanf("%i,%i", &number1, &number2);
- int max = number1 > number2 ? number1 : number2;
- return max;
- }
-
- void 函数名(参数类型 形式参数1,参数类型 形式参数2,…) { 函数体;}
-
- void printMax(int value1, int value2) {
- int max = value1 > value2 ? value1 : value2;
- printf("max = %i\n", max);
- }
-
- 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…) { 函数体; return 0;}
-
- int printMax(int value1, int value2) {
- int max = value1 > value2 ? value1 : value2;
- return max;
- }
-
- void test() {}void test() { // 报错}
-
- int max(int number1, int number2) // 形式参数
- {
- return number1 > number2 ? number1 : number2;
- }
-
- int main() {
- int num = 99; // 88, num, 22+44均能得到一个确定的值, 所以都可以作为实参
- max(88, num, 22+44); // 实际参数
- return 0;
- }
-
- int max(int number1, int number2) { // 形式参数
- return number1 > number2 ? number1 : number2;
- }
- int main() { // 函数需要2个形参, 但是我们只传递了一个实参, 所以报错
- max(88); // 实际参数
- return 0;
- }
-
- void change(double number1, double number2) {// 形式参数
- // 输出结果: 10.000000, 20.000000
- // 自动将实参转换为double类型后保存
- printf("number1 = %f, number2 = %f", number1, number2);
- }
- int main() {
- change(10, 20);
- return 0;
- }
-
- void change(int number1, int number2) { // 形式参数
- number1 = 250; // 不会影响实参
- number2 = 222;
- }
- int main() {
- int a = 88;
- int b = 99;
- change(a, b);
- printf("a = %d, b = %d", a, b); // 输出结果: 88, 99
- return 0;
- }
-
- max(int number1, int number2) {// 形式参数
- return number1 > number2 ? number1 : number2;
- }
-
- int height() {
- return 3.14;
- }
- int main() {
- double temp = height();
- printf("%lf", temp);// 输出结果: 3.000000
- }
-
- int max(int number1, int number2) {// 形式参数
- return number1 > number2 ? number1 : number2;
- printf("执行不到"); // 执行不到
- return 250; // 执行不到
- }
-
- // 函数声明
- void getMax(int v1, int v2);
- int main(int argc, const char * argv[]) {
- getMax(10, 20); // 调用函数
- return 0;
- }
- // 函数实现
- void getMax(int v1, int v2) {
- int max = v1 > v2 ? v1 : v2;
- printf("max = %i\n", max);
- }
-
- // 函数声明
- void getMax(int v1, int v2);
- void getMax(int v1, int v2);
- void getMax(int v1, int v2); // 不会报错
- int main(int argc, const char * argv[]) {
- getMax(10, 20); // 调用函数
- return 0;
- }// 函数实现
- void getMax(int v1, int v2) {
- int max = v1 > v2 ? v1 : v2;
- printf("max = %i\n", max);
- }
-
- int main(int argc, const char * argv[]) {
- void getMax(int v1, int v2); // 函数声明, 不会报错
- getMax(10, 20); // 调用函数
- return 0;
- }// 函数实现
- void getMax(int v1, int v2) {
- int max = v1 > v2 ? v1 : v2;
- printf("max = %i\n", max);
- }
-
- // 函数实现
- void getMax(int v1, int v2) {
- int max = v1 > v2 ? v1 : v2;
- printf("max = %i\n", max);
- }
- int main(int argc, const char * argv[]) {
- getMax(10, 20); // 调用函数
- return 0;
- }
-
- int main(int argc, const char * argv[]) {
- int res = getMin(5, 3); // 不会报错
- printf("result = %d\n", res );
- return 0;}int getMin(int num1, int num2) {// 返回int, 不用声明
- return num1 < num2 ? num1 : num2;
- }
-