C 语言基本语法示例

来源:互联网 发布:域名新闻 编辑:程序博客网 时间:2024/05/17 07:32

  整个程序只有一个main函数,且必须有
   表达式,语句
    表达式;  <=>  语句
    int a;
    a = a + 1;
    1)空语句
    ;
    2)表达式语句:
    a = a + 1;
    3) 复合语句
    {
   
    }
    4)函数调用语句
      f1(a);
    5)控制语句
     if..else..
     switch
     for()
     while()
     do..while
     continue
     break
     return
     goto  //C语言中一般不推荐使用

   eg1:
   各种类型的变量:(int,char,float,double)
  
   int main()
   {
     int number;
     int number1 = 1;
     char ch,ch1 = 'a';
     float f = 3.14f;
     double f2 = 3.14;
    
     short h1 = 2;
     long h2 = 4;
     unsigned int ud = 23;
   }
  
   eg2:
   输入输出:
   int main()
   {
     int number;
     int number1 = 1;
     short h1 = 2;
     long n2 = 4;
     unsigned int ud = 23;
     char ch,ch1 = 'a';
     float f = 3.14f;
     double f2 = 3.14;
    
      number = 5;
      ch = 'c';
     
      printf("number = %d\n", number);
      printf("short = %hd\n", h1);  //n2->ld%   ud->%lu
      printf("ch = %c,ch = %d\n", ch,ch);
      printf("f = %f,f = %.2f\n", f,f);
      printf("f2 = %lf\n",f2);
     
      return 0;
   }
  
   eg3:
   函数:  返回值类型 函数名(参数列表){}
   函数调用(形参、实参)
  
   int max(int a,int b)
   {
      if(a >= b)
          return a;
      return b;
   }
  
   eg4:(一维数组、二维数组)下标
   数组:
   1)一维数组的初始化:
   int a[10] = {1,2,3,4,5,6,7,8,9,0};
   int a[10] = {1,2} //后面的默认为0
   int a[] = {1,2,3,4,5,6,7,8,9,0};
  
   int a[10] = {0};
  
   2)二维数组(行列,C 语言中依行为主序)初始化
   int num[3][4] = {1,2,3,4,5,6,7,8,9,0,11,12};
   int num[3][4] = {{1,2,3,4},{5,6,7,8},{9,0,11,12}};
   int num[3][4] = {{1},{2,3},{4}};
   int num[][4] = {1,2,3,4,5,6,7,8}; //系统会自动计算第一维的长度
  
   3)字符数组
   char str[10] = {'h','e','l','l','o'}   //后面的默认为'\0'
   char str[10] = {"hello"};
   char str[] = {"hello"};
  
   补充:
       字符串 拷贝(strcpy/strncpy)
              连接 (strcat)
              计算长度(strlen)
              比较 (strcmp)
              大小写转换 strlwr(大写转小写)/strupr(小写转大写)
             
             
    int main()
    {
      char str[10] = {'h','e','l','l','o'} ;
      printf("str = %s\n", str);
      scanf("%s", str); //不需要再取地址了,str本身就是一个地址。%s 遇到空白字符就会停止接收
      printf("%s\n", str);
      
      gets(str);
      puts(str);
    }

   eg5:
   指针:(一级指针、二级指针)
  
   int main()
   {
       int a = 10;
       int *p = &a;
       int *q = p;
      
       *p = *p + 1; //等价于a = a+1;
       *q = 20;  //等价于*p = 20; 也等价于a = 20;
      
       printf("a = %d, *p = %d,*q = %d\n", a, *p, *q);
   }
  
   eg6:
   结构体:
    struct
   typedef
  
   1)
   struct student{
     char name[20];
     int age;
   };
  
   struct student stu1;
   stu1.name...
   stu1.age = 20;
  
   2)
   struct student{
     char name[20];
     int age;
   }stu1;
  
   struct student *p = &stu1;
   p->name...
   p->age = 10;
  
   3)
   typedef struct student{
     char name[20];
     int age;
   }stu; //stu 是 struct student 的别名
  
   stu stu1;
   stu *p = &stu1;
  

     

原创粉丝点击