02:printf,scanf,运算符

printf,scanf,运算符

  • 1、基本的输入和输出函数的用法
    • 1.1:printf()
    • 1.2:scanf()
  • 2、运算符
    • 2.1:算数运算符:
    • 2.2:关系运算符:
    • 2.3:逻辑运算符:
    • 2.4:赋值运算符:
    • 2.5: 前自增 :
    • 2.6:三目运算符:

1、基本的输入和输出函数的用法

1.1:printf()

??????----将变量的内容输出到显示器上
4种用法:
??????1、printf(“字符串”);
??????2、printf(“输出控制符”,输出参数);

#include <stdio.h>

int main(void)
{
	int i = 10;
	printf("%o
",i);
	return 0;
}

12

??????3、printf("输出控制符1 输出控制符2 … ",输出参数1,输出参数2…);
????????????输出控制符要和输出参数一一对应

#include <stdio.h>

int main(void)
{
	int i = 10;
	int j = 8;
	printf("%o %d
",i,j);
	return 0;
}

12 8

??????4、printf(“输出控制符 非输出控制符”,输出参数);
????????????输出控制符包含如下:
????????????%d %ld %c %f %lf %x(%X或者%#X)

#include <stdio.h>

int main(void)
{
	int i = 100;
	printf("%x
",i);
    printf("%X
",i);
	printf("%#x
",i);
	printf("%#X
",i);
	return 0;
}

64
64
0x64
0X64

1.2:scanf()

??????----通过键盘将数据输入到变量中
2种用法:
??????1、scanf(“输入控制符”,取地址变量);

#include <stdio.h>

int main(void)
{
	int i;
	scanf("%d",&i);
	printf("i=%d
",i);
	return 0;
}

12
i=12

??????2、scanf(“非输出控制符 输入控制符”,取地址变量);
?????? ??非输出控制符要原样的输入

#include <stdio.h>

int main(void)
{
	int i;
	scanf("m%d",&i);
	printf("i=%d
",i);
	return 0;
}

m12
i=12

23
i=-858993460

如何使用scanf()写出高质量的代码:
在这里插入图片描述
在这里插入图片描述

2、运算符

2.1:算数运算符:

                      +  -   *   / (除)    %(取余)

【注】除法/的运算结果和运算对象的数据类型有关,两个数都是int,则商就是int,若商有小数,则截取小数部分;被除数和除数中只要有一个或两个都是浮点型数据,则商也是浮点型,不截取小数部分。

                             eg:16/5==3         16.0/5==3.2000
                             eg:16/5==3         16.0/5==3.2000

【注】取余%的运算对象必须是整数,结果是整除后的余数,其余麦的符号与被除数相同。

                             eg:13%3==1       -13%3==-1         13%-3==1

2.2:关系运算符:

                        <   >=    <=  !=    ==

2.3:逻辑运算符:

                       !(非)  &&(且)||(或)

【注意】??????&&左边的表达式为假,右边的表达式肯定不会执行
?????????? | | 左边的表达式为真,右边的表达式肯定不会执行

2.4:赋值运算符:

                 =      +=(a+=3等价为a=a+3)-=     *=   /= 自增自减:

2.5: 前自增 :

                          前自增自减:        --i/++i   
                          后自增自减:        i--/i++ 
异同:
                          相同点 :都是最终值i+1
                          不同点  :前自增整体表达式的值是i加1之后的值
                                  后自增整体表达式的值是i加1之前的值 

2.6:三目运算符:

??????格式:
????????????A ? B : C
????????????等价于
??????????????????if (A)
????????????????????????B;
??????????????????else
???????????????????????? C;