操作符,printf与scanf介绍

在我们平时写代码的时候,有时可能会涉及一些运算,C语言为了方便运算,提供了一系列操作符,其中有一个系列叫做算数操作符分别是+ - / %,这些操作符都是双目操作符

双目操作符:即在操作符的两边,左边和右边需要有对应的操作数来进行计算,当然在不同的书上它也被称为运算符。

+和-分别用来进行加法和减法运算;*和/分别用来做乘法和除法运算,还有一个特别的运算符就是%,这个运算符是用来算取余数的,比如7%2算出的余数就是1。

下面着重来介绍/和%

在做除法时,有人可能会怀疑5/2,被运算出来,到底是2.5还是2。这就涉及到了除法的规则,除法分为整除和浮点除法,就是说如果在/的算数操作符的两边都是整型数据,即整数比如5和2,所进行的就是整除,也就是对应的5/2,结果应该为2,把余数给去掉。那么就会有人问如果我想得出的结果是2.5怎么弄,这就需要再算术操作符的两边至少改变一种数据类型,将其改为浮点型数据,可以将2改为2.0然后再做除法即可得到2.5.

%操作符表示求模运算,就是求余数的意思,这个运算符只能用于整数进行运算,对于浮点数来说,是不可以运算的。对与负数进行求模运算时,余数的正负号由操作符的左边的操作数的正负来决定。比如-11/2的结果为-1,而11/-2的结果应该是1。

赋值操作符(=)和复合赋值

在变量的创建时,给一个初始变量的值我们称为初始化,在变量创建完成后,再给它一个我们就称为赋值了。赋值的操作符为=,是一个随时可以给变量赋值的操作符。当然在C语言中,赋值操作符也可以连续赋值。但是呢,C语言虽然可以进行连续赋值,但是写的代码不好理解,所以我还是建议拆开来写,这样方便观察代码的执行的细节。

写代码是我们还可以让变量进行自增和自减。

++和--,这两个操作符是单目操作符,就是在操作符的右边只有一个操作数,++和--又分为前置++(--)和后置++(--)。对于前置操作符,口诀就是先+1,再取值。当定义a为10的时候,在给b定义为++a,在打印的时候,a先+1,然后在给b赋值为a+1,即打印的结果是a和b都是11.对于后置操作符,口诀就是先取值,再+1,a原来是10,先使用,就是先把值赋给b,得出b=10;然后在+1,得出的结果是a=11。减法与加法类似。

printf()函数中的f是format(格式化),,表示可以定制输出文本的格式。这个函数不会自动换行。为了让光标移到下一行的开头,可以在输出文本的结尾,添加一个换行符\n。printf()是标准库的头文件stdio.h定义的。使用这个函数之前,必须在源码文件的头部引入这个头文件。并且printf()可以在输出文本中指定占位符。所谓“占位符”,就是这个位置可以用其他值来代入。并且在输出文本中可以使用多个占位符。printf()参数与占位符是一一对应关系,如果有n个占位符,printf()的参数就应该有n+1个。如果参数个数少于对应的占位符,printf()可能会输出内存中的任意值。这里方便大家记忆,给出常见占位符:

int类型的整数的10进制形式打印:%d
int类型的整数的8进制形式打印:%o
int类型的整数的10进制形式打印:%x
short int类型的整数的10进制形式打印:%hd
short int类型的整数的8进制形式打印:%ho
short int类型的整数的10进制形式打印:%hx
long int类型的整数的10进制形式打印:%ld
long int类型的整数的8进制形式打印:%lo
long int类型的整数的10进制形式打印:%lx
%c     字符
%s      字符串
%f        float
%lf         double
%Lf        long double
%p        地址打印
%zd         size_t
%f默认小数点后打印6位,小数点也算一位。

printf()可以定制占位符的输出格式,可以限定宽度。以打印整型为例,printf("%d\n",1223);例如:在%前加上5,即%5d表示占位符的宽度至少5位。如果不满五位就会在对应的值前面用空格来填充(右对齐);如果希望改为左对齐,在%的后面插入一个-号即可。

在用该函数时不会打印出正负号的,可以用类似于%+d的形式确保输出的数值,总带有正负号。

可以限定小数位数,例如占位符可以写成%.2f(%f位浮点数的占位符),这种写法可以与限定占位符结合使用。

最小宽度和小数位数的两个限定值,都可以用*来代替,通过printf()参数传入:printf("%*.*f\n,6,2,0.5);等同与printf("%6.2f\n",0.5);

scanf:

当我们有了变量,我们需要给变量输入值就可以使用scanf函数,如果需要将变量的值输出在屏幕上的时候可以用printf()函数。

基本用法:
scanf()函数用于读取用户的键盘输入。
程序运行到这个语句时,就会停下来,等待用户从键盘输入。用户输入数据,按下回车键后,scanf()就会处理用户的输入,将其存入变量。它的原型定义在头文件stdio.h。scanf()的语法和printf()类似。
scanf("%d",&i);
它的第一个参数是一个格式字符串,里面会放置占位符(与printf()的占位符基本一致),告诉编译器如何解读用户的输入,需要提取的数据是什么类型。
这是因为C语言的数据都是有类型的,scanf()必须提前知道用户输入的数据类型,才能处理数据。
它的其余参数就是存放用户输入的变量,格式字符串里面有多少占位符就有多少变量。
&i表示,将用户从键盘输入的整数存入变量i。
注意:变量前面必须加入&运算符(指针变量除外),因为scanf()传递的不是值,而是地址,即将变量i的地址指向用户输入的值。
如果这里的变量是指针变量(比如字符串变量),那就不用加&运算符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值