黑马程序员——C语言数据类型,变量的内存分析,流程控制

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流!——-

一、C语言的数据类型
这里写图片描述

基本数据类型包括:

1>整型int:储存整数
2>浮点型float、double:储存单精度浮点(小数)、双精度浮点(小数)
3>字符型char:储存单个字符

二、变量的内存分析

1.内存以字节为单位,不同类型占用的字节是不一样的,数据越大,所需的字节数就越多

2.变量的存储

例如:int a = 10;
     int b = 20;

内存由大到小寻址,优先分配内存地址较大的字节给变量。b的内存地址比a大
每个变量都有地址:第一个字节的地址就是变量的地址。

三、c语言的流程控制(选择结构和循环结构)

1)选择控制:if结构

1.if的第1种格式

if (条件)
 {
   语句1;
   语句2;
   ......
 }

2.if的第2种格式

if (条件)
{
 ......
}
else
{
 ......
} 

3.if的第3种格式

if (条件)
{
 ......
}
else if
{
 ......
}
else
{
 ...... 
}

4.if的第4种格式

 if (条件)
  语句1;
  语句2;

  解析:if条件不满足时,他不会执行语句1,回往下执行语句2

相应小习题练习:将成绩按等级输出

 #include <stdio.h>
  int main ()
  {
       // 1.提示输入
       printf ("请输入一个分数值:\n");

     int score;
       // 2.接收输入
     scanf ("%d", &score);
       // 3.判断等级
      if (score>=90 && score<=100){ //[90, 100]
           printf ("A\n");
      }else if (score>=80) {       //[80, 89]
           printf ("B\n");
      }else if (score>=70) {       //[70, 79]
           printf ("C\n");
      }else if (score>=60) {       //[60, 69]
           printf ("D\n");
      }else                        //[0, 59]
      {  
           printf ("E\n");
      }
           return 0;
    }

2)选择控制switch结构:

switch(表达式) 
{ case 数值1: break; … default: break;}
#include <stdio.h>
     int main ()
     {  
      int score = 95;

      switch (score/10){ 

      case 10: //100
      case 9:  //90+
      printf ("A\n");
      break;

      case 8: //80+
      printf ("B\n");
      break;

      case 7: //70+
      printf ("C\n");
      break;

      case 6: //60+
      printf ("D\n");
      break;

      default: //<60
      printf ("E\n");
      break;
      }
      return 0;
     } 

switch总结:

break:退出整个switch语句,如果没发现break,会继续执行下面的,直到发现为止。

if和switch区别

1.if语句能完成的功能,switch并不一定能完成 例如:int a = 10; if (a > 100)
2.在有些情况下,if和switch语句是可以互换的
3.switch能完成的,if都能完成

四、循环结构:

<1> while 循环

格式如下:
while (条件)
{
  循环体
// continue; //结束当前的循环体,进入下一次循环体的执行
// break;    //直接结束整个while循环
}

运行原理
1.如果一开始条件就不成立,永远不会执行循环体
2.如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立……
3.看是否有其他条件可能会用到continue、break、或嵌套选择结构、循环结构

<2> do while 循环

do while和while的用法几乎一样,唯一的区别是do while至少会执行一次循环体,执行一次后再开始判断条件是否成立。

do while (条件)
  {
   循环体
// continue;  //结束当前的循环体,进入下一次循环体的执行
// break;     //直接结束整个while循环
  }

<3> for 循环

for ( 语句1;条件 ;语句2)
  {
    循环体
    continue; //结束本次循环体,进入下次循环体
    break;    //结束整个循环

   } 

语句1:初始化语句(只在整个for循环开始时执行一次)
语句2:增量语句(每次循环体执行后,执行一次该语句)

执行过程:初始化语句—>条件成立—>循环体—>增量语句—>条件成立—>循环体—>增量语句—>……

while循环练习题:

题目:提示用户输入一个正整数n,计算 1+2+3+4+……+n的和

 #include <stdio.h>
  int main()
  {
     int n = 0;
     while (n <= 0){
     //提示输入
     printf ("请输入一个正整数:\n");
     //接收输入
     scanf ("%d",&n);
    }
     //定义变量,保存和
      int sum = 0;
      int number = 0;
      while (number < n)
        {
          number++;
          sum += number;  //累加
        }
          printf ("%d\n",sum);
          return 0;
   }

for循环练习题:
题目:输入 * 这个图案

         ****
         ***
         **
         *  
       #include <stdio.h>
        int main ()
        {
            //定义一个变量存取用户输入的值
            int n = 0;
            //判断n值合不合理
            while (n <= 0)
            {
              //提示输入
               printf ("请输入一个正整数:\n");
               //接收输入
               scanf ("%d",&n);
            }
             //输出图形
         for (int i = 0; i < n; i++ )  //有多少行
           {
             for (int j = 0; j < n-i; j++) //每一行有多少个
              {
                printf ("*");
              }
                printf ("\n");
           }
                return 0;
         }   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值