c语言基础篇(一)

来源:互联网 发布:java运维实施岗位职责 编辑:程序博客网 时间:2024/06/15 21:38

一: 基本数据类型

       整型 int

       实型 float / double      
       字符型 char
     
    //    这些数据类型是用来修饰 变量
     程序运行过程中可以改变的量   //
二:变量的命名规则:
     1.以字母丶下划线开头,中间可以包含数字,但不能以数字开头
     2.可以使用美元符号开头($),但不建议
     3.见名知意
     4.不可使用系统保留字
三:赋值
          1.直接赋值  
      int b;
      b = 10;
    2.通过其他变量赋值
      int c = 10;
      int d;
      d = c;
      printf("d = %d\n",d);
    
    3.通过控制台赋值
     printf("请输入一个整数:\n");
     int e;
     scanf("%d",&e);
     printf("e = %d\n",e);

 
//  main.c
//  C_01
//
//  Created by 8011 on 15/11/25.
//  Copyright (c) 2015年 yong. All rights reserved.
//
#include <stdio.h>
#include <stdbool.h>

  //宏的定义
#define PI 3.1415       输出 printf("PI = %.4f\n",PI);  
#define MAXX 10         输出 printf("MAXX = %d\n",MAXX);

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

    //程序默认从上至下一步一步执行

    printf("1\n");
    printf("2\n");
    printf("3\n");

    printf("Hello, World!\n")   

     //表达式: 由变量和运算符组合而成的  叫做表达式
    
    int a5 = 10;
    int b5 = 8;
    int d5 = a5 % b5;
    printf("d5 = %d\n",d5);
    
     a5++; //表示a5=a5+1;
     a5--; //表示a5=a5-1;
    

     ++a5; //自加1;
     --a5; //自减1;   

    int q = 10;     
    int p = q++;   //先赋值,再运算     输出p=10;
    //等价于
    //p=q;
    //q=q+1;
    
    //int p = ++q;  //先运算,再赋值    输出p=11;
    //等价于
    //q=q+1;
    //p=q;
    
    //算术运算符 + - * / % ++ --
    
    //赋值运算符 = += -= *= /= %=
    
    int z = 1+2;
    int z1 = 5;
    z1 += 5;      输出z1=10;
    //等价于
    //z1=z1+5;
    
    /*
      在C语言中有一个BOOL类型,此类型在stdbool.h(头文件)库中.
     对于BOOL类型来说,它有两种取值 ture或false,其实布尔类型本质上也是整型
     ture 1,false 0
     对于由关系运算符组成的表达式来说,其结果为布尔类型
     
     */
    
    bool flag = (5 >= 9-4);
    printf("flag = %d\n",flag);  输出flag = 1(ture);
    
    

  
    /*
     对于逻辑于,前面的条件不满足,后面的条件不执行


     
     对于逻辑或,前面的条件满足,后面的条件不执行

   例  int m = 1;

       int n;

       int r = ((n=2)<5||(m=3)>2);

     */
        
    
    //强制类型转换  隐式转换  显示转换
    
    int n1 = 4;
    int n2 = 3;
    
    //隐式转换
    int  result1 =n1/n2;
    printf("result1 = %d\n",result1);
    
    //显示转换
    float result2 = (int)(n1/n2);
    printf("result2 = %f\n",result2);
  

  
    //隐形例子

    int m = 5;

    float n = 10.0;
    c = m+n;
    printf("c = %f\n",c);  输出 c = 15.0;             

    float c ;

    

//算术运算符>关系运算符>逻辑运算符>赋值运算符




练习:

     //求a b的+ - * /
    int a = 5;
    int b = 10;

    int sum,dif,pro,quo;
    sum = a+b;
    dif = a-b;
    pro = a*b;
    quo = b/a;
    printf("a+b = %d\n",sum);
    printf("a-b = %d\n",dif);
    printf("a*b = %d\n",pro);
    printf("b/a = %d\n",quo);


    //篮球队参加66场比赛,赢41场,输25场  计算胜率以及负率
    int win = 41;
    int lose = 25;
    float Wrate,Lrate;
    Wrate = 1.0*win/(win+lose);
    Lrate = 1.0*lose/(win+lose);
    printf("Wrate = %.2f\n",Wrate);
    printf("Lrate = %.2f\n",Lrate);
    
    
    //1到200的求和
    int i,sum = 0;
    for (i=1;i<=200 ; i++)
      {
        sum+=i;
    }
    printf("sum = %d\n",sum);


    
    //国外买东西需要缴税,计算总价值,应付税额,应付款额;

    公式:     总值=相数*每项价值      折扣后总值=总值-(折扣率*总值)
                     应付税额=总值*税率       应付款项=总值+应付税额

    float jiazhi,xiangshu,zhekou,zongzhi,ZKHzhongzhi,suier,kuanxiang;
    printf("请输入价值,项数,折扣,空格隔开:\n");
    scanf("%f %f %f",&jiazhi,&xiangshu,&zhekou);
    zongzhi = xiangshu*jiazhi;
    ZKHzhongzhi = zongzhi - (zhekou*zongzhi);
    suier = zongzhi*0.6;
    kuanxiang = zongzhi + suier;
    printf(" zongzhi:   %.2f\n ZKHzongzhi: %.2f\n suier:   %.2f\n kuanxiang: %.2f\n",zongzhi,ZKHzhongzhi,suier,kuanxiang);

    
    //求中点

    float x,x1,y,y1,x2,y2;

    x1 = 10;
    x2 = 20;
    y1 = 5;
    y2 = 10;
    x = (x1+x2)/2;
    y = (y1+y2)/2;
    printf("x = %.2f\n,y = %.2f\n",x,y);

    


      //年月日  输入一个年月日,求这天是这年的第几天

    int year,mouth,day,i;
    printf("请输入年月日(空格隔开):\n");
    scanf("%d %d %d",&year,&mouth,&day);
    if (year%400==0||year%4==0&&year%100!=0)
    {
        switch (i = mouth)
      {
            case 1:
                i = day;
                break;
            case 2:
                i = 30 + day;
                break;
            case 3:
                i = 29+30 + day;
                break;
            case 4:
                i = 31+29+30 + day;
                break;
            case 5:
                i = 30+31+29+30+day;
                break;
            case 6:
                i = 31+30+31+29+30+day;
                break;
            case 7:
                i = 30+31+30+31+29+30+day;
                break;
            case 8:
                i = 31+30+31+30+31+29+30+day;
                break;
            case 9:
                i = 31+31+30+31+30+31+29+30+day;
                break;
            case 10:
                i = 30+31+31+30+31+30+31+29+30+day;
                break;
            case 11:
                i = 31+30+31+31+30+31+30+31+29+30+day;
                break;
            case 12:
                i = 30+31+30+31+31+30+31+30+31+29+30+day;
                break;
            case 13:
                i = 31+30+31+30+31+31+30+31+30+31+29+30+day;
                break;
            default:
                printf("输入年月日不正确!");
                break;
        }
    }
    else
    {
        switch (i = mouth)
      {
        case 1:
            i = day;
            break;
        case 2:
            i = 30 + day;
            break;
        case 3:
            i = 28+30 + day;
            break;
        case 4:
            i = 31+28+30 + day;
            break;
        case 5:
            i = 30+31+28+30+day;
            break;
        case 6:
            i = 31+30+31+28+30+day;
            break;
        case 7:
            i = 30+31+30+31+28+30+day;
            break;
        case 8:
            i = 31+30+31+30+31+28+30+day;
            break;
        case 9:
            i = 31+31+30+31+30+31+28+30+day;
            break;
        case 10:
            i = 30+31+31+30+31+30+31+28+30+day;
            break;
        case 11:
            i = 31+30+31+31+30+31+30+31+28+30+day;
            break;
        case 12:
            i = 30+31+30+31+31+30+31+30+31+28+30+day;
            break;
        case 13:
            i = 31+30+31+30+31+31+30+31+30+31+28+30+day;
            break;
        default:
            printf("输入年月日不正确!");
            break;
    }
    
  }
    printf("这一天是这年的第 %d 天\n",i);
   
    
    //整数从小到大输出
    

    int  x,y,z;
    printf("输入三个数字(空格隔开):\n");
    scanf("%d %d %d",&x,&y,&z);
    if (x<y&&x<z)
    {
        printf("%d\n",x);
          if (y<z)
          {
              printf("%d\n",y);
              printf("%d\n",z);
        }
          else
          {
              printf("%d\n",z);
              printf("%d\n",y);
          }
    }
    else if (y<x&&y<z)
    {
        printf("%d\n",y);
        if(x<z)
        {
            printf("%d\n",x);
            printf("%d\n",z);
        }
        else
        {
            printf("%d\n",z);
            printf("%d\n",x);
        }

    }
    else if (z<x&&z<y)
    {
        printf("%d\n",z);

        if(x<y)
        {
            printf("%d\n",x);
            printf("%d\n",y);

    }
        else
        {

            printf("%d\n",y);
            printf("%d\n",x);
        }
      }

    
    
    //1到100包含6的数
    int a = 0;
    printf("以下是1到100含6的数:\n");
    for(a = 0;a <= 100;a++)
    {
        if(a<10&&a%6==0)
        {
            printf("%d ",a);
        }
    else if (a>10&&a%10==6)
    {
        printf("%d ",a);
    }
    }
    
    
    
    
    
  
    return 0;
 }



0 0
原创粉丝点击