菜鸟初学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语言不久,继续努力!!!!!
 
  欢迎各位大神指点!!!
  欢迎各位和我一样的菜鸟一起交流学习!!!
  
  
  

  

  

原文地址:https://www.cnblogs.com/ww5v/p/4439819.html