June 15
数据类型
整型
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
/* 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++;
}
今天花了一天看C,差不多会了。
明天起,就要告别使用了三年的Pascal。有些留念,但这是一个新的开始。
Pascal最终没有给我带来荣誉,但这都是我在初赛的失误造成的,不怪他咯。
Pascal还是最精密的语言!