1 c基础-变量

        

 

 

第一个程序: helloworld

  1、创建win32 控制台项目(vs2008)

   文件->新建->项目->Visual C++ ->Win32   输入项目名称   选择项目保存位置

 

  

  

#include <stdio.h> //#开头的指令我们叫它预编译指令包含stdio.h windows.h
 int  main(void) //main是程序入口
  {//一段程序开始
    printf("你好,我的第一个C程序!");  //打印出一些字串信息输出信息
    getchar(); //让黑窗口程序停下,不至于一闪而过
    return 0;  //返回一个
  }//一段程序结束

 

 

 

 

变量命名

 

   必须以下划线,或者大小写字母开头,中间不能包含特殊字符,:;"*()^&^*&%*%^{}[]

 

 

 

整型变量     

unsigned 无符号整数类型

  int //4字节

   unsigned int //4字节 0..0xFFFFFFFF //0..4294967295

  unsigned int 0..4294967295 // 4字节

  long long int  //0x8000000000000000 ..0x7FFFFFFFFFFFFFFF//-9223372036854775808-9223372036854775807

  unsigned long long int     // 8字节  0..18446744073709551615 //0..0xFFFFFFFFFFFFFFFF

格式化字串

  printf

  %d 打印4字节整数

  %u 打印4字节无符号整数

  %lld 打印8字节长整型数

  %llu 打印8字节无符号长整型数

 

优先级

   先乘除,后加减

 int                    //0x80000000..0x7FFFFFF

 long long int          //0x8000000000000000..0x7FFFFFFFFFFFFFF

 unsigned int           //0..0xFFFFFFF

 unsigned long long int // 0..0xFFFFFFFFFFFFFFF

printf("%d %u %lu %d %d %llu \n",    100,100U,100UL,0x100,0100,100ULL);     
    printf("%d %d %d %d %d %d \n",    sizeof(100),sizeof(100U),100UL,0x100,0100,1);
    printf("char 类型 最小值=%d,最大值=%d \n",CHAR_MIN,CHAR_MAX);
    printf("unsigned char 类型 最小值=%d,最大值=%d \n",0,UCHAR_MAX);
    printf("unsigned short 类型 最小值=%d,最大值=%d \n",0,USHRT_MAX);
View Code

 

浮点型变量

 

 

一、浮点数常量(小数)

 

     0.11L, 0.0f ,0.0,1.88,2.5f ,0.188E1

 

     E3表示103        比如 1.88E 3=1.88*1000=1880.0f

 

     E-3表示10-3      比如 1.88E-3=1.88/1000=0.00188f

 

    

 

二、浮点数变量

 

  

关键字

字节数

数值范围

float

4

+3.4E38(精确到6位小数)       %f ,%e 来格式化

double

8

+1.7E308(精确到15位小数)     %f ,%e 来格式化

long double

12

+1.19E4932(精确到18位小数)   %lf,%le来格式化

 

 

 

三、 浮点数运算

 

 

 

 5/3 =

 

 5.0/3=

 

四、控制小数位数

 

printf("%0.3f \n",7/3);

 

#include <stdio.h>
#include <limits.h>
int  main(void) //main是程序入口
  {

    //一段程序开始
    //打印出 一些字串信息 输出信息
    float  f1=0.37f;
    float  f2=10.0l;
    double f3=0.0;
    f3=f2 +f1;

    printf("float 所占空间 %d \n",sizeof(float));//3.33333
    printf("double 所占空间 %d \n",sizeof(double)); 
    printf("long double 所占空间 %d \n",sizeof(long double)); 

    printf("%f/%f=%.9f\n",f2,f1,f3);
    printf("这是我们学习的第8课 \n ");


    getchar(); //让黑窗口程序停下,不至于一闪而过
    return 0;  //返回一个0
  }//一段程序结束
View Code

 

 

 

类型转换   

一、正确的变量类型

     3/2=1.5

     3/2+100.5=102

     

  printf ("       3/2+100.5=%f \n",             3/2 +100.5);

  printf ("       3.0f/2.0f +100.5f=%f \n",      3.0f/2.0f +100.5f);

  printf ("      3.0f/2.0f +100.5f=%f \n",      3.0/2.0 +100.5);

二、强制类型转换

     printf ("    (float)3/(float)2 +100.5f=%f \n",    (float)3/(float)2 +100.5f); // (float) 前缀

三、自动类型转换和隐式类型转换

     例1:    

 printf ("    3/2+100.5=%f \n",       (float)3/2 +100.5f);

      printf ("   3/2+100.5=%f \n",       3/(float)2 +100.5f);

      printf ("   3/2+100.5=%f \n",       3/2.0f +100.5f);

      printf ("   3/2+100.5=%f \n",       3.0f/2 +100.5f);
View Code

     例2:          

 char v1=2;

           short v2=111111;

           float v3=3.45;

           double v4=10.0f /3;

           v1=v2;             

           printf ("v1=%hd,v2=%hd,v3=%f,v4=%f \n",        v1,v2,v3,v4);

               例3:

      int a=3,b=2;

      float c=100.5f;

      printf ("   3/2+100.5=%f \n",        a/b+c);

      printf ("   3/2+100.5=%f \n",       (float)a/b+c);

      printf ("   3/2+100.5=%f \n",       a/(float)b+c);
View Code    

char ,short,int,long long,float,double

#include <stdio.h>
#include <limits.h>
int  main(void) //main是程序入口
  {
// 
//     printf("3/2=%f \n",3.0f/2.0f);//
//     printf(" 3/2+100.5=%f", 3/2+100.5);//1+100.5=101.5 错误表达
//     printf("(float)3/(float)2 +100.5f=%f \n",     (float)3/(float)2 +100.5f); // (float) 前缀
// 
//     printf ("    3/2+100.5=%f \n",     (float)3/(float)2 +100.5f); //float int  
//     printf ("    3/2+100.5=%f \n",     3/(float)2 +100.5f);
//     printf ("    3/2+100.5=%f \n",     3/2.0f +100.5f);
//     printf ("    3/2+100.5=%f \n",     3.0f/2 +100.5f);
    //char v1=2;
    //short v2=13;//-32768~32767
    //float v3=3.45;
    //double v4=10.0f /3.0F;
    //v1=v4;        //隐式把v4转换成char类型
    //printf ("v1=%hd,v2=%hd,v3=%f,v4=%f \n",    v1,v2,v3,v4);
      int a=3,b=2;
      float c=100.5f;
      printf ("    3/2+100.5=%f \n",      a/b+c);//101.5
      printf ("    3/2+100.5=%f \n",     (float)a/b+c);//b变隐式转换成float
      printf ("    3/2+100.5=%f \n",     a/(float)b+c);//c变隐式转换成float

    getchar(); //让黑窗口程序停下,不至于一闪而过
    return 0;  //返回一个0
  }//一段程序结束
View Code

 

 

 

字符类型

一、字符常量

  'A', 'B','\n','\'','1'

二、字符类型变量的赋值

 char c1='A';

 char c2='b';

 char c3=65;

 c2='\'';

 c2='\n';

三、字符的输入scanf

  char ch=0;

  scanf("%c",&ch); //从键盘读取一个字符存放到ch变量里

  printf("%c,%d\n",ch,ch);

四、字符'A'和65  

 char c1='A';

 char c2='b';

 char c3=65;

 printf("c1=%d,c2=%d,c3=%d\n",c1,c2,c3);

 printf("c1=%c,c2=%c,c3=%c\n",c1,c2,c3);

五、算术运算

 char c1='A'+1;

 char c2='b'+2;

 char c3=65+1;

 char c4=c1+c2;

 c4='1'+'1';

 

 printf("c1=%d,c2=%d,c3=%d,c4=%d\n",c1,c2,c3,c4);

 printf("c1=%c,c2=%c,c3=%c,c4=%c\n",c1,c2,c3,c4);

#include <stdio.h>
#include <limits.h>
int  main(void) //main是程序入口
  {
      char ch;
      char c1='1';
      char c2='b'+2;
      char c3=65+1;
      char c4=c1+c2;
      c4='\n'; //ASCII码

      printf("c1=%d,c2=%d,c3=%d,c4=%d\n",c1,c2,c3,c4);
      printf("c1=%c,c2=%c,c3=%c,c4=%c\n",c1,c2,c3,c4);

    scanf("%c",&ch); //类似于getchar()
    scanf("%c",&ch); //类似于getchar()
    return 0;  //返回一个0
  }//一段程序结束
View Code
编译执行:
c1=49,c2=100,c3=66,c4=10
c1=1,c2=d,c3=B,c4=
View Code

 

op=形式的赋值操作符

   int a=0;

   a+=1; //等价于 a=a+1;// a*=1;

 

 op=类表达式

    int a=10,b=5;

    a/=b;//等价于a=a/b;

    a*=b+1;//等价于 a=a*(b+1);

常用数学函数

   //如果不使用这些函数,可以跳过此内容

  abs(X); //取整数的绝对值 x是整数

  fabs(X);//取浮点数绝对值 x是浮点数

  sqrt(X);//开平方  

  pow(x,y);//Xy  x和y是浮点类型

 

include <stdio.h>
#include <math.h>
int  main(void) //main是程序入口
  {
    int a=-3,b=3;
    float f=9.0f;
    float x=3,y=2;
     a/=b-1;//a=a/(b-1)
     
     printf("a=%d,b=%f \n",a,f);
     printf("a=%d,b=%f \n",abs(a),sqrt(f));
     printf("pow(x,y)=%f \n" ,pow(x,y));
      
    getchar();
    return 0;  //返回一个0
  }//一段程序结束
View Code
执行后:

a=-1,b=9.000000
a=1,b=3.000000
pow(x,y)=9.000000
View Code

 

posted @ 2020-05-07 21:43  岁月荏苒¥我心依旧  阅读(150)  评论(0编辑  收藏  举报