• 菜鸟初学C~


      学习编程语言从C开始,这是没有错的,因为C语言是面向过程的。从学习C的过程中能够了解编程的思想,比如内存,变量,数据结构之类的。大部分语言都有自己的思想,但是一些最基本的一般都是一样的,所以学习C是为以后学习其他的语言打下基础。(不喜勿喷。。。)

      个人认为C的概念理解起来不难,但是要是实际操作起来并没有想象中的那么简单,所以学习C语言(以及其他编程语言)都应该以多做多练为主。看书千遍不如自码一遍!

      一个最最简单的C语言程序:#include <stdio.h>    int main(void) {printf("Hello world!");} , #include <stdio.h> h 头文件,是调用函数所用到的一些声明,一般把声明放在h头文件时,实现代码放在cpp/c文件里; int main(void)int 是函数的返回值类型,void是main函数的参数为void类型;printf("");是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。

      c语言中的基本数据类型:

      void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。

      char:字符型类型数据,

      int:整型数据,表示范围通常为编译器指定的内存字节长。
      float:单精度浮点型数据,属于浮点数据的一种。
      double:双精度浮点型数据,属于浮点数据的一种。
      c语言中的基本语句:
      选择语句:
      if...else... (本菜鸟最喜欢用的“万能语句”,也只会用if else  -.-)
      switch
      循环语句:
      for   for循环结构是c语言中最具有特色的循环语句,使用最为灵活方便。
        一般形式:for(表达式1;表达式2;表达式3)循环体语句 。(其中;不能省略)
        表达式1为初值表达式,用于在循环开始前为循环变量赋初值。
        表达式2是循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数。
        表达式3为循环控制变量修改表达式,它使for循环趋向结束。
      while
      do...while...
        do
          do循环结构,do 1 while⑵;的执行顺序是1->2->1...循环,2为循环条件。
        while
          while循环结构,while(1) 2; 的执行顺序是1->2->1...循环,1为循环条件
        以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。
      转移语句:
      break
      continue
      return
      goto(配合 if..else.. 做循环  -.-)
     
      Examples 1:
      下面是本菜鸟写的一个ATM机程序(if...else...goto 循环)   (just write a play....)
      

      #include <stdio.h>
      int main()
      {
        char a[20] ; //储存非数字密码
        int num; //选择序号
        int pwd=1234; //初始密码
        int num1; //输入密码
        int gold; //金额
        int ai=1;//记录密码错误次数

        first:

        printf("***********************************\n");
        printf("\t 1.存款\n");
        printf("\t 2.取款\n");
        printf("\t 3.转账\n");
        printf("\t 4.退出\n");
        printf("***********************************\n");
        printf("请选择:\n");
        scanf("%d",&num);
        if(num==1)
       {
          printf("请放入钞票!\n");
          char y1;
          char n1;
          printf("是否完成? 是y 否n\n");
          getchar();
          scanf("%c",&y1);
          if(y1=='y')
          {
            goto first;
          }
            else
          {
            printf("请取走钞票!\n");
          }

       }
         else if(num==2)
      {
        second:

        printf("请输入密码:\n");
        scanf("%d",&num1);
        gets(a);
        if(num1==pwd)
        {

          printf("请输入金额:\n");
          scanf("%d",&gold);
          printf("取款成功!\n");
          printf("请继续选择操作:\n");
          goto first;
        }
        else
        {
          printf("密码有误!请重新输入!\n");
          ai++; //每次输入密码+1
          if(ai>3)
          {
            printf("密码输入错误超过3次!BOOM!\n");;
          }
          else
          {
            goto second;
          }
        }
      }
        else if(num==3)
      {
        third:

        printf("请输入密码:\n");
        scanf("%d",&num1);
        gets(a);
          if(num1==pwd)
          {
            int a; //账号
            printf("输入账号:\n");
            scanf("%d",&a);
            printf("输入金额:\n");
            scanf("%d",&gold);
            printf("转账成功!\n");
            printf("请继续选择操作:\n");
            goto first;
          }
        else
        {
          printf("密码有误!\n");
          ai++;
            if(ai>3)
          {
            printf("密码输入错误超过3次!BOOM!\n");
          }
            else
          {
            goto third;
          }

         }
      }
        else if(num==4)
      {
        printf("谢谢使用!再见!\n");
        return 0;
      }
        else
      {
        printf("输入有误!\n");
        printf("请输入1.2.3.4中的一个数字!\n");
        gets(a);
        goto first;
      } 

      }

      Examples 2:

      形参和实参的调用(感觉稍微有点绕0.0):

      #include <stdio.h>
      void aa(int ai,int bi);

      int main()
      {

        int ai,bi; //ai->空格 , bi->星
        printf("输入行数\n");
        scanf("%d",&ai);
        printf("输入星数\n");
        scanf("%d",&bi);
        

        aa(ai,bi);

        void fun();
        fun(); //打印下面fun括号里面的数值

        return 0;
        }

        void fun()
        {
          aa(5,6); //第二次打印 的行数和星数 随便输入
        }


        void aa(int ai,int bi)
        {
          int i,j,k;
          for(i=0;i<ai;i++)
          {
            for(j=0;j<bi-1-i;j++)
             {
              printf(" ");
             }
           for(k=0;k<bi;k++)
          {
            printf("*");
          }
            printf("\n");
        }
       }

      
      
      对于一个刚起步的菜鸟来说,写出一个正确的程序是蛮有成就感的!虽然不是很复杂,但是很能鼓舞自己。
     
      C语言中最难的就是指针啦!(公认的撒~)
      说道指针。。 我就一句话   我想静静。。。。。。(别问我静静是谁...)
     
      
      学习C语言不久,继续努力!!!!!
     
      欢迎各位大神指点!!!
      欢迎各位和我一样的菜鸟一起交流学习!!!
      
      
      

      

      

  • 相关阅读:
    纳尼?不用码代码,就可回归主流程,一只海豚就可以做到
    教育产品-组件化视觉设计实践
    从整理看视觉设计(网易云课堂我的学习中心-微专业视觉优化)
    搜索意图识别浅析
    如何配置使用Dnsmasq
    如何实现最佳的跨平台游戏体验?Unity成亮解密实时渲染技术!
    PAT 1024. Palindromic Number
    PAT 1023. Have Fun with Numbers
    PAT 1022. Digital Library
    PAT 1021. Deepest Root
  • 原文地址:https://www.cnblogs.com/ww5v/p/4439819.html
Copyright © 2020-2023  润新知