宁峰's profileJasminePhotosBlogLists Tools Help

Blog


    June 15

    [C笔记]数据类型

    数据类型

    整型
    int i
    short [int] i
    long [int] i    int 可以省略
    unsigned int i  无符号 

    实型
    float x,y;
    double z;
    long double t;

    字符型
    char c1,c2;
    c1='a';

    转义字符
    \n 换行
    \t 下一tab位
    \b 退格
    \r 本行开头
    \f 换页
    \\ \字符
    \' '字符
    \" "字符

    字符串(常量)
    "how do you do." 注意是双引号
    C没有字符串变量,用字符型数组

    变量赋初值
    int a=3;
    float f=3.56;
    int a,b,c=5;

    *强制类型转换
    (类型名)(表达式)
    (double)a;
    (int)(x+y);

    求模(mod) %    7%4=3

    自增,自减
    ++i,--i  使用i之前,先使i的值加减1
    i++,i--  使用i之后,使i的值加减1

    例:
    i=3;
    j=++i   j=4
    j=i++   j=3

    逗号运算符,逗号表达式 (顺序求值运算符)
       表达式1,表达式2

    例 a=3*5,a*4
    赋值运算符优先级高于逗号运算符
    a=3*5  15*4=60 

    刚才用TC编了八皇后,一次成功哦,鼓励一下!

    /* Eight Queens*/
    #include<stdio.h>
    #include<math.h>
    int q[8];
    int sum=0;
    main()
    {
       int i;
       for(i=0;i<=8;i++) q[i]=0;
       q[0]=-100;
       putqueen(1);
       printf("%d \n",sum);

    }

    putqueen(int n)
    {
       int j;
       if (n==9) outprint(q);
       else
       for (j=1;j<=8;j++)
          if (pan(n,j)==1)
          {
      q[n]=j;
      putqueen(n+1);
          }

    }
    int pan(int x,int y)
    {
       int a,pa;
       pa=1;
       for(a=0;a<x;a++) if ((q[a]==y)||(fabs(q[a]-y)==fabs(a-x))) pa=0;
       return(pa);
    }

    outprint()
    {
       int k;
       for (k=1;k<=8;k++) printf("%d",q[k]);
       printf("\n");
       sum++;
    }

    从明天起 告别Pascal !

    今天花了一天看C,差不多会了。

    明天起,就要告别使用了三年的Pascal。有些留念,但这是一个新的开始。

    Pascal最终没有给我带来荣誉,但这都是我在初赛的失误造成的,不怪他咯。

    Pascal还是最精密的语言!