欢迎光临散文网 会员登陆 & 注册

iOS开发基础班+就业班(100天完整版)之基础班1:C语言学习(14天)

2023-08-22 10:35 作者:Minge-chen  | 我要投稿

学习笔记

2023.08.22开启旅程》》》

----------------------------------------------------------------------

P37 07 第一个C程序的解释


07 第一个C程序解释 P37 - 08:25


  1. main.c


#include <stdio.h>

/**

 * 第一个程序语言的解释

 */

//导入系统的stdio.h头文件

#include <stdio.h>


//是在声明1个函数这个函数的名字叫做main 这个函数的返回值是int类型的

int main (int argc,const char * argv[]){

  //大括弧在C语言代表1段范围.所以有开始就有结束 所以有左大括弧就有右大括弧

  //写在这个大括弧中的代码是属于main函数的

  printf("要输出的信息 \n");

  //这句话的功能,向控制台输出信息。

  //使用格式:

  //   printf("要输出的信息");

  //双引号中间的内容就会被输出到控制台,

  //在输出的时候如果要换行 就使用\n


  return 0;

  //返回1个数据0

}

-----------------------------------------------------------------------------------------------

P38 08 程序的入口


08 main函数是程序的入口和出口 P38 - 13:36


  1. main.c

#include <stdio.h>

/**

  程序入口

 * @return

 */


/**

1.左大括弧是另起一行还是在同1行,自己喜欢但是无论如何要统一。

2.当我们允许程序 就会将我们写的代码交给CPU去执行2,CPU从什么地方开始执行我们的代码呢?

当我们将1个程序交给CPU去执行的时候.CPU只会执行程序中main函数中的代码别的地方的代码是不会执行的。

3.所以.1个标准的C程序中有且必须只能有1个main函数

4.所以,我们写的代码如果想要被CPU执行,就必须要写在main函数中

5.CPU在执行main函数中的代码的时候是从上到下的一句一句的执行的。只有在上1句执行完毕之后才会执行下一句,

6.在程序一开始的时候就会执行main函数所以main函数是程序的入口当main函数中的代码执行完毕之后程序就会自动结束,所以,main医数也是程序的出口.

 */

int main (){

  printf("执行第一次\n");

  printf("执行第二次\n");

  printf("执行第四次\n");

  printf("执行第五次\n");

  int index = 0;

  for(;;){

    printf("我在循环执行%d\n",index);

    index ++;

  }

  return 0;

}

--------------------------------------------------------------------------------

P39 09 c语言的注释


09 C语言的注释 P39 - 14:47


  1. main.c

#include <stdio.h>

/**

 * c语言的注释

 * @param argc

 * @param argv

 * @return

 */



/*


1,什么是注释就是对代码的注解,解释代码是做什么事情的.方便我们以后查看代码提高的阅读性

2,单行注释

//后面的这1行的内容会被当做注释注释的内容编译器是不会编译的.会直接忽略,所以注释的内容是可以随便写的,

3,多行注释斜杠*和 *斜杠 中间的内容无论有多少行,都会被作为注释

4.快捷键

选择需要注释或者取消注释的内容 Command + /

5,关于注释的规范

1)。勤于写注释

2),已经写好的代码不要删除 如果要换注释就可以



 */

int main(int argc ,const char * argv[]){

  // 我是单行注释

  printf("我是单行注释");


  /*

   * 我是多行注释

   */

  printf("我是多行注释");


  return 0;

}

----------------------------------------------------------------

P40 10 计算机的三大件


10 程序的运行模式 P40 - 16:05


  1. main.c

#include <stdio.h>


/**

 * 计算机的三大组件

 * @param argc

 * @param argv

 * @return

 */



/*


1,计算机的三大件

CPU: 中央处理器 处理数据的,负责计算,协调其他硬件相互和谐的工作

内存: 存储数据的,临时存储数据临时存储,存取数据的效率相对较高电子式

硬盘:存储数据的.永久存储数据永久存储 但是存取效率相对低下机械式

2,程序是如何运行的.

程序在运行之前是存储在硬盘之中的。当我们运行的程序的时候,CPU会将程序从硬盘中复制到内存中。CPU再读取内存中的程序代码

WHY?

因为内存中的数据读取效率更高



 */

int main(int argc ,const char * argv[]){



  return 0;

}


---------------------------------------------------------


P41 11 数据处理


11 数据的处理 P41 - 00:05



12 在内存中如何存储数据 P42 - 24:50



13 变量的声明 P43 - 19:41



14 为变量赋值 P44 - 21:16



15 使用printf函数输出变量的值 P45 - 15:14



16 使用printf函数一次输出多个变量的值 P46 - 06:03



17 使用变量需要注意的细节 P47 - 22:54



18 变量的命名规则以及规范 P48 - 17:42



  1. main.c


#include <stdio.h>


/**

 * 数据处理

 * @param argc

 * @param argv

 * @return

 */



/*


1.思考1个问题

  将QQ程序运行起来

  QQ程序在运行之前存储在硬盘中当我们运行QQ程序以后这个程序就被运行在内存中,

2.当我们点击登录按钮QQ程序做的事情

  1).读取输入的QQ号码

  2).读取输入的QQ密码

  3).将读取到的号码和密码发送给腾讯的服务器

请思考:

  在QQ软件将0Q号码和密码发送给腾讯服务器之前,这个QQ程序需要不需要将号码和密码存储一下

  答案是肯定的

  肯定需要将这些数据存储起来如果自己不存储起来 那么如何处理呢?

  程序就是在处理数据

3.思考三个问题程序如果要处理数据?

  1).程序自己要不要把这些数据存储起来肯定要,自己不存储起来如何处理呢?

  2).存储在什么地方?内存?因为程序自己就在内存中

  3).怎么存?


4.如何将数据存储在内存之中

  1).我们为什么要存储数据?

    因为这个数据我们后面要用

  2).如何将数据存储在内存之中,先在内存中挖1个坑,然后将这个数据存储在这个坑中。

    当我们想用这个数解的时候,只要找到这个坑就可以使用存储在坑中的数据。

    每1个坑在内存中都有1个独一无二的地址。是1个十六进制的表示, 0x...

  3).通过这个地址就可以找到这个坑 使用这个坑中的数据。然后地址是很记忆的,为了解决这个问题我们为每1个坑取了1个别名我们在挖坑的时候.

    就要为这个坑指定别名。通过这个别名就可以找到这个坑,并且使用坑中的数据

  挖坑的同时,

    a.地址自动就有了,系统自动分配

    b.要自己指定这个坑的别名,


  4).在挖坑的时候,必须要指定这个坑的类型。

    坑的类型决定了可以往这个坑中存储的数据的类型.

    如果指定这个坑是1个整型坑,那么这个坑中就只能存储整型的数据 否则就有可能回发生坑毁人亡的悲剧。

  5).常见的坑的类型

   int float double char

   你只需要知道一件事情.他们只是坑的四种类型,你只需要知道当坑的类型是他们的时候,坑中可以存储什么数据,

   如果坑的类型是int类型 那么这个坑中可以存储 -2147483648 ~ +2147483647 之间的整数

   如果存储的数据不是这个范围的数就会有问题

   如果坑的类型是float类型 那么这个坑中可以存储有效位数不超过7位的小数。

   有效位数: 去掉小数点.的位数,12.12345.125678如果你往其中存储的小数的有效位数超过了7位,那么超出的部分无法精确存储.只能精确存储前面的7位,

   如果坑的类型是double类型。那么这个坑中可以存储有效位数不超过16位的小数

   如果你往其中存储的小数的有效位数超过了16位,那么超出的部分无法精确存储,只能精确存储前面的16位

   如果坑的类型是char类型.只能存储单个字符。 A B C DX


  6).如果有数据想要存储在内存中

  a.先看数据,看数据是一个什么类型的. 80

  b.根据数据的类型来挖坑

   int num


5.在内存中存储数据的专业话术

  如果我们要在内存中存储数据。

  1).就要先在内存中 开辟一块空间,

  2).在开辟这个空间的同时,要指定这个空间的别名和类型

  3).这个空间的类型决定了 这个空间中可以存储的数据的类型

    常见的空间类型:

      int 整型

      float 单精度浮点型

      double 双精度浮点型

      char 字符型

      float和double统称浮点型或者实型


6.变量

    变量:变量就是内存中开辟的用来存储数据的那块空间.所以变量是用来存储数据的。

  1).变量的值: 存储在变量所代表的那块空间中的数据.就叫做变量的值.

    变量的名称:为变量所代表的那块空间取的别名,叫做变量的名称。

    变量的类型:变量所代表的那块空间的类型 就叫做变量的类型

    变量的本质是: 在内存中存储数据的那块空间

  2).所以如果我们要在内存中存储数据。就只需要声明一个变量。声明一个变量,其实就是在内存中开辟了一块空间来存储数据

  3).如何声明变量

    数据类型 变量名称

    数据类型就是我们刚说的空间的类型:

      int float double char 变量的名称基本上我们可以随意,

    int num:

     当CPU执行这句代码的时候.CPU会在内存中开辟一块空间 空间的类型是int 空间的名字是num用这个空间来存储数据。

     因为这个空间是int类型的所以这个空间中只能存储-2147483648 ~ +2147483647 之间的整数否则坑毁人亡,

     float num:

    当CPU执行这句代码的时候,CPU会在内存中开辟一块空间 空间的类型是float 空间的名字是num用这个空间来存储数据。

    因为这个空间是float类型的。所以这个空间中只能存储 所以就只能精确的存储有效位数不超过7位的小数否则坑毁人亡。

    double num:

      当CPU执行这句代码的时候,CPU会在内存中开辟一块空间 空间的类型是double 空间的名字是num用这个空间来存储数据。

      因为这个空间是double类型的.所以这个空间中只能存储 所以就只能精确的存储有效位数不超过16位的小数否则坑毁人亡,

     char ch:

    当CPU执行这句代码的时候,CPU会在内存中开辟一块空间 空间的类型是char 空间的名字是ch用这个空间来存储数据,

    因为这个空间是char类型的。所以这个空间中只能存储 单个字符否则坑毁人亡。


    我们声明一个变量实际上就是在内存中开辟一块指定类型 指定别名的空间

     变量就代表这个空间,


7.往变量所代表的空间中存储数据

  格式语法:

  变量名 = 数据;

    int num;

    num = 100:

  1).这个等号和你数学中的等号是完全不同的,

  叫做赋值符号.

  赋值符号的作用:

    将右边的数据 存储到 左边的变量所代表的空间中去

  2).为int类型的变量赋值

    int num;

    num = 199;

    因为变量的类型是int类型的.所以为int变量赋值的时候,赋值的数据不能超过指定的范围,

    a.如果给的数据太太太大。直接报语法错误.

    b.如果我们为int变量赋值了一个小数,只会存储这个小数的整数部分,不会做四舍五入

    c.如果给的数据超过的范围并不多.这个时候存储的是随机值


  3).为float类型的变量赋值

    a.在C语言中如果我们直接写1个小数,那么这个小数的类型是double类型的,

    如果我们就是希望这个小数是1个float类型的那么就在这个小数的后面加1个f/F代表前面的这个小数的类型是1个float类型的,

    记住这句话:

      为float变量赋值的时候,赋值的小数后面要加1个f

    b.float只能精确保存有效位数不超过7位的小数,

    如果赋值的数据的有效位数超过了7位,那么超出的部分就不会精确保存,

  4).为double类型的变量赋值

    a.在C语言中如果我们直接写1个小数,那么这个小数的类型是double类型的,

     所以可以直接将1个小数赋值给1个double变量.

    b.double只能精确保存有效位数不超过16位的小数,如果赋值的数据的有效位数超过了16位,那么超出的部分就不会精确保存

  5).为char类型的变量赋值

    a. char变量中只能存储单个字符,并且这单个字符还要用单引号引起来,

    b.如果给的字符太多,保存最后1个.

    c.空格也是1个字符,所以也可以存储1个空格

     char变量中无法存储中文,d.在C语言中1个中文字符占3个字节 而1个char变量占1个字节


8, 如何使用存储在变量中的数据呢?

  非常简单轻松Easy!

  什么时候想要使用变量中的数据,就直接写上变量的名字就可以使用了

   int num1;

   int num2;

   num1 = 5;

   num2 = 20;

   int num3;

   num3 = num1 + num2;

  在执行这句代码的时候 会先将num1的值和num2的值取出来放这再计算

  1).使用变量的值最常见的方式,是将变量的值输出

  2).输出变量的值。

  使用printf函数就可以输出变量的值

  a.格式1:

    printf("输出信息");

    双引号中的内容原样输出

  b.格式2:输出变量的值

    printf("格式控制字符串",变量列表);

    在格式控制字符串中如果有地方要显示变量的值。那么就使用1个占位符来占位输出的变量的类型不同占位符是不一样的。

    如果输出的变量的类型是int类型的,那么就使用%d占位符

    int num;

    num = 100;

    printf("num = %d\n",num);

    %d代表这个地方不要原样输出。而是输出1个整型变量的值那个整型变量呢?你就把整型变量的名字写在后面就可以啦,

    如果输出的变量的类型是float类型。那么就使用%f占位符,默认输出小数点后面的6位

    如果输出的变量的类型是double类型的.那么就使用Lf占位符 默认输出小数点后面的6位

    如果输出的变量的类型是char类型的 那么就使用%C占位符

    务必要记住,输出变量使用那一种占位符,如果使用的占位符和输出的变量的类型不匹配的话。那么输出的结果就是错误的。

  3).使用printf函数一次输出多个变量的值,

    a.格式控制字符串中可以写多个占位符

      int num1;

      num1 = 10;

      float f1;

      f1 = 12.12f;

      double d1;

      d1 = 12.134;

      char ch;

      ch = 'a';

    printf("num1变量的值是%d,f1变量的值是%f,d1变量的值是%lf,ch的值是%c",num1,f1,d1,ch);

     后面依次写上要占位的变量注意:

      a后面的变量一定要按照顺序来写。因为在填占位符的时候是按照顺序来占位的.否则值就会混论

      b.后面的变量的个数要和前面一直。如果没有变量填的就显示随机值.


9.使用变量注意的几个细节问题

  1).既生double,又何生float?

    double空间是float空间的两倍大小,所以数据如果本身有效位数不超过7位的话,使用double来存储就显得浪费

  2).可以在声明变量的同时就为变量赋值

    数据类型 变量名称 = 数据

    int num = 10;

    代表声明了1个int类型的变量num 并为其赋值10

  3).如果我们要声明多个类型相同的变量,可以使用批量声明的方式来简写

    int num1 = 10,num2 = 20,num3,num4 = 30,num5;

    注意:前提是类型相同的变量

  4).赋值语句的规范。赋值符号的两边使用一个空格隔开.这样我们的代码看起来就爽歪歪

  5).垃圾值

    我们声明1个变量,如果没有为这个变量赋值,这个变量中是有值的是1个随机数,并不是一定是0 而是1个随机数,

    我们声明1个变量.没有为这个变量赋值。这个变量中是有值的。这个值叫做垃圾值,值是不确定的。

    所以为了保证我们的程序不会出意想不到的问题,要求声明完1个变量,就应该立即为这个变量赋值1个初始值,

  6).变量可以重复赋值

  7).为变量赋值的时候,可以将1个变量的值赋值给另外1个变量

    int num1 = 10;

    int num2 = num1;

    这句话的意思:

      将num1的值赋值给num2.

    变量之间的赋值原理:

      将源变量的值拷贝1份,将这个副本再赋值给目标变量

        int num2 = num1;

      将num1变量的值复制1份.将这个复制 赋值给num2变量所以 num2变量的值是10 num1的值还在

   8).使用变量之前,必须要保证变量已经声明了

   9).同一个变量不允许重复定义


10.变量的命名规则以及规范,

  变量的名称是由攻城狮自己定义的,变量的命名必须要遵守规则和规范

  1).变量的命名规则:如果不遵守,编译器直接报语法错误,

    a.变量名只能以任意的字母、下划线、$开头,不能以数字开头

    b.后面只能跟任意的字母、数字、下划线还有$

    c.不能与C的关键字重名,

    关键字:

      指的是一些英文单词在C语言之中代表特殊的意义,不能把他们作为变量的名字

      关键字在Xcode中是以特殊的颜色显示的 所以你发现你的变量名字是以这个颜色显示的 那就说明这是1个关键字

    d.C语言严格区分大小写如果变量名大小写不一样 那么就是完全不同的变量

    e.变量一定要先声明 再使用

    f.在同1个大括弧之中,不允许定义多个变量名相同的变量,同1个变量 在同1个大括弧之中 不允许重复定义,

  2).变量的命名规范:

    你可以不遵守,编译不会报错,可以执行,但是所有的程序员都在遵守

    a.变量的名字要取得有意义,别人1看变量的名字就知道这个变量中存储的是神马数据

      知名达意.

    b.如果变量的名字是由多个单词组成的。第1个单词的首字母小写 其他单词的首字母大写.

      1个拼音算1个单词

    是不是1个合格的程序员, 看你是否遵守规范,



 */

int main(int argc ,const char * argv[]){

  int num;

  num = 12.58555;


  //num = 111222222222558588667488888585555555;


  //float num;

  //double num;

  //char num;



  float f1;

  f1 = 55.25225f;

  printf("%f\n",f1);



  char name ;

  name = 'f';

  printf("%c\n",name);


  int num1;

  int num2;

  num1 = 5;

  num2 = 20;

  int num3;

  num3 = num1 + num2;

  printf("%d",num3);


  return 0;

}

---------------------------------------------------------


P49 19 printf 函数的使用


19 printf函数的使用补充 P49 - 11:19



  1. main.c


#include <stdio.h>


/**

 * printf 函数的使用

 * @param argc

 * @param argv

 * @return

 */



/*

1.printf函数的作用:

  向控制台输出信息

2.最简单的使用方法:

  printf("输出信息");

  双引号中的内容就会原样输出。

3.输出变量的值。

  务必要清楚占位符要使用那1个占位符

  int %d

  float %f

  double %lf

  char %c


4.printf 的高级用法

  1).%d用来输出int类型变量的值

    a.%md m是1个整数, 指定输出的变量的值的位宽,输出的变量的值占多少个位

      %5d 代表输出的整型变量的值一共占据5位,

      -->如果变量的值小于了5位,不足的地方就会以空格补齐。

      -->如果变量的值大于等于了5位,那么实际有多少位就显示多少位

      m可以是1个负数,如果变量的值小于了指定的位数,不足的地方就会在后面以空格补齐。

    b.%0md m是1个整数

      不足的地方就会以0补齐,


   2).%f和%lf的补充.

    a.默认情况下,只会输出小数点后面的6位,指定输出小数点后面的位数。

    b.%.nf 或者 %.nlf n是1个数字,代表要输出小数点后面多少位

 */

int main(int argc ,const char * argv[]){


  int num = 45522;


  printf("%-12d\n",num);

  printf("%09d\n",num);


  float f1 = 5.34344f;


  printf("%.5f\n",f1);


  return 0;

}



---------2023-08-22-------卷完了--




iOS开发基础班+就业班(100天完整版)之基础班1:C语言学习(14天)的评论 (共 条)

分享到微博请遵守国家法律