逻辑运算中的0,1律

0 && A ===> 0

1 && A ==> A

0 || A => A

1 || A ===> 1

由上述可知任何数与1相或都是1

任何数与0相与都是0

短路运算仅发生在逻辑表达式中;

在或运算时候,当第一个表达式为真时(非0),则或运算第二个表达式不进行运算,全式为第一个表达式的值

在与运算时候,当第一个表达式值为假时,则与运算第二个表达式不进行运算,全式为第一个表达式的值

计算机对逻辑运算符两侧的表达式按条件表达式对待;

c语言对于条表中滞后自增减运算的处理过程是:先用没有自增前的进行条件判断,然后立刻自增;

int i = 0;

int j = 2;

int k;

k = i++ && ++j;

得到的i,j,k的值分别为1,2,0

问题何时为真?

对于C编译软件而言,实行“严于律己,宽以待人”的准则,即输入的时候非0为真,输出的时候1位真

关于输出和输入函数:

  1. 输入输出是通过调用C系统函数实现的

  2. 输入:scanf() 输出:printf()

  3. 格式符是输入输出函数,让C决定数值输出/入格式的消息

    printf("%u\n", -1 );-1的补码为32个1,将其以无符号整型十进制输出,则大小为2^32-1

printf("%4d,%-2d,%06d", n, n, n);

上述%4d表述输出以4个位输出,若位数超过4位,则保留原有位数,若不够则在左补空格

%-2d。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。右补空格

%06d.................................................................左补0代替空格

printf("%5.2f\n", 5.6);//5.2f表示总位数5位,其中小数位2位,整数位2位,小数点1位

一个基本原则:不会为满足输出格式而丧失正确性

格式让位于精确,精确让位于准确,准确让位于正确;

2.输入函数

scanf();


int n;


scanf("%d", &n);

scanf()函数中的""中的内容,绝不会输出到屏幕上;实际上,他是对用户再输入数据时候的格式要求

我们在编程的时候绝度不要加入除格式符以外的东西