1.运算符的补充
(1)int a=10;
if(5<a<10); //此语句可编译可执行,if()内的值为1。(编译器先判断5<a的值为1,再进行1<10的值为1)
(2), 运算符
int a = (10,20,25) // a==25
(3)三目运算符
表达式 1?表达式 2:表达式 3 //判断表达式1的值为真则返回表达式2反之则返回表达式3,常用于比较大小
(4)sizeof 的特殊
int a = 10;
float b= 10.0;
printf("%d\n",sizeof(a++)); //4
printf("%d\n",sizeof(a+b));
printf("%d\n",a); //10
2.常变量
const int a=10;
const 修饰变量时必须同时初始化,并且它修饰的变量值不允许被修改。
3.转义字符
'\01'和'\1'默认转化为八进制 '\x123'默认转化为十六进制
%i 同%d,以有符号十进制整型数据输出
%u以十进制形式输出无符号整数
%x 以无符号十六进制整型数据输出 0~9 a~z
%X 以无符号十六进制整型数据输出 0~9 A~Z
%o 以八进制整型数据输出
%e以指数形式输出单、双精度实数
%g %f%e中较短的输出宽度输出单、双精度实数,在指数小于-4或者大于等于精度时使用%e格式用于打印浮点型数据时,会去掉多余的零,至多保留六位有效数字(不同于%e的默认保留小数点后6位)
5.
# define PI si1415926 //宏(替换)
预处理命令
6.程序中的坑
(1)
unsigned int a=10;
if(a>-1)
{
printf("true");
}
else printf("false");
无符号和有符号进行比较,有符号转化为无符号(隐式转化),-1在内存中以11111111存储,则程序输出为false。 (2)
if(a == 1) printf("true"); else printf("false");
if(a != 1) printf("true"); else printf("false");
if(a == 0) printf("false"); else printf("true");
if(a != 0) printf("true"); else printf("false");
{
int t,number=0;
if (n < 0) return -1;
do
{
t = n % 10;
if (t)
}
} while (n>0);
return number;
}
int main()
{
printf("%d",Count1(1111000011110000));
printf("%d\n", Count1(0));
printf("%d\n", Count1(1));
printf("%d\n", Count1(10));
printf("%d\n", Count1(-1111));
return 0;
}
例: int a = 1236;
int b,c;
int x =scanf("%d %d",&b,&c);
printf("%d", x); //x=2;
printf("%d", printf("%d\n", printf("%d", a))); //输出结果为12364
getchar(); // 2
return 0;
(3)
void Prime()
{
int i, t;
for (i = 100; i <= 200; i++)
{
for (t = 2; t < i; t++)
{
if (i%t == 0)
{
break;
}
}
if (t == i)
{
printf("%d\n", i);
}
}
}
int Sum100()
{
int i, sum = 0;
for (i = 1; i <= 100; i++)
{
sum += i;
}
return sum;
}
int Divion(int n)
{
if (n % 15 == 0)
{
return 1;
}
else
{
return 0;
}
}
int Commondivisor(unsigned int m, unsigned int n)
{
int tmp;
while (m%n!=0)
{
tmp = m%n;
m = n;
n = tmp;
}
return n;
}
int main()
{
Prime();
printf("%d\n", Commondivisor(18, 12));
printf("%d\n", Commondivisor(0, 4));
if (Divion(25))
{
printf("25即能被3整除也能被5整除");
}
printf("%d\n", Sum100());
getchar();
return 0;
}