块语句

#include<stdio.h>
void main(){
    //块语句一般用于函数,循环,选择,无限嵌套块语句,让代码更加规范
     {
          int a=1;//不同块语句定义的变量互不影响,编译器会为其分配不同的内存地址,存储不同的值,从下面可以看出
          printf("%x,%d\n",&a,a);  //61fe4c,1  引用变量引用的是同一个块语句中的变量
          {
               int a=2;
               //int a;  同一个块语句中无法定义同名变量
               printf("%x,%d\n",&a,a); //61fe48,2   引用变量引用的是同一个块语句中的变量
          }
          {
               int a=3;
               printf("%x,%d\n",&a,a); // 61fe44,3  引用变量引用的是同一个块语句中的变量
          }
     }
}

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

void main(){
	//输出1-10中不被3整除的数
     for(int i = 1; i <= 10; i++){
          if(i%3==0){
               continue;
          } 
          printf("%d\n",i);
     }

//增加一个语句块可以重复使用i 局部变量
     {
          int i = 1;
     	A1:if (i < 10){  //循环条件
		printf("\n%d", i);  //A1即是语句标识符
		i++;
		goto A1;  //goto形成循环
	     }
           getchar();
     }
}

 

 ifselse

 
#include<stdio.h>
void main(){
 if(0)
 if(0);
 else ;
 else;
 //等价于
 if(0)
 if(0);
 else ;
 else;
 
 
 if(0);else ; //是一个整体

    while(1);  //while 括号后有分号就说明while的语句是一个空语句,后面的printf是另外一个独立的块语句,与while没有关系
    {
         printf("ffff");
    }



    //for的死循环方式
    for(;;){    //第二个表达式非0则循环,0则停止循环
         printf("for的死循环方式1");
    }
    for(;2;){  //第二个表达式非0则循环,0则停止循环
         printf("for的死循环方式2");
    }



    for(int i=1,j=2; i<100;i++,j+=2){   //表达式1和表达式3可以是逗号表达式
          printf("%d",i);
    }  //等价于下面的for
    for(int i=1,j=2; i<100;i++,j+=2,printf("%d",i)){   //表达式1和表达式3可以是逗号表达式      
    }
}

 

#include<stdio.h>
void main(){
     printf("   ");
     for(int i=1;i<10;i++){
          printf("%3d",i);
     }
     printf("\n");
     for(int i=1;i<10;i++){
          printf("%3d",i);
          for(int j=1;j<=i;j++){

                    printf("%3d",i*j);  
          }
          printf("\n");
     }
}
OutPut

     1  2  3  4  5  6  7  8  9
  1  1
  2  2  4
  3  3  6  9
  4  4  8 12 16
  5  5 10 15 20 25
  6  6 12 18 24 30 36
  7  7 14 21 28 35 42 49
  8  8 16 24 32 40 48 56 64
  9  9 18 27 36 45 54 63 72 81

 

 

switch 只能处理整型常量和字符常量,只能判断是否相等

 

 

 

 switch结构只进行相等与否的判断,而if…else…结构还可以进行大于小于等范围上的判断。此外,switch无法处理浮点数,只进行整数的判断,而且,case标签值必须是常量,如果涉及到浮点数和变量的判断,应当使用if…else…结构。应当从可读性和程序效率多方面综合考虑,适当搭配两种结构,方能写出高质量的代码。

case语句相当于入口、开关或者说是进入的钥匙,这便是开关语句这个名称的由来。

posted @ 2019-07-27 17:29  Coding_Changes_LIfe  阅读(281)  评论(0编辑  收藏  举报