C语言学习第三节----C语言数据类型和变量(2)

本文详细介绍了C语言中的算术操作符(加减乘除、求模)、赋值操作符(连续赋值与复合赋值)、单目操作符(自增自减)、强制类型转换以及scanf和printf函数的使用,帮助读者理解和掌握基础编程概念。
摘要由CSDN通过智能技术生成

前言

整理总结自己所学知识,如有错误,欢迎指正。

一、算术操作符

在写代码时,一定会涉及到计算。

算数操作符:+ - * / %,这些操作符都叫双目操作符

操作符也叫运算符。

(1)+和-

+和-用来完成加法和减法。

+和-都有两个操作数,位于操作符两端就是它们的操作数,这种操作符也叫双目操作符。

(2)*

运算符*用来完成乘法。

(3)/

运算符/用来完成除法。

从上面举的这两个例子就可以深刻理解: 

除号的两端如果是整数,执行的就是整数除法,得到的结果也是整数,结果是整除之后的商。 

如果希望得到浮点数的结果,两个运算数中至少有一个浮点数,这时C语言就会进行浮点数除法。 

(4)% 

运算符%表示求模运算,即两个整数相除的余数,只适用于整数,不适用于浮点数。

负数求模规则:结果的正负号由第一个运算数的正负号决定。

二、赋值操作符

赋值操作符:=和复合赋值

(1)连续赋值 

int a=3;

int b=5;

int c=0;

c=b=a+3;

连续赋值的话,是从左到右依次赋值的。

这样写出的代码不容易理解,更建议大家拆开来写。

(2)复合赋值符

对一个数进行自增自减的操作的操作如下:

int a=10;

a=a+3;

我们又提供了更加简便的写法:

int a=10;

a+=3;

C语言提供的复合赋值符如下

三、单目操作符 

单目操作符:++ -- +(正)-(负)

(1)++和--

++是一种自增的操作符,分为前置++和后置++。

--是一种自减的操作符,分为前置--和后置--。

1.前置++

计算口诀:先+1,后使用。

 a原来是10,先+1,后来a变成了11,再使用就是赋值给b,b得到的也是11,所以a和b的值都是11。

2.后置++ 

计算口诀:先使用,后+1。

 

a原来是10,先使用, 赋值给b,b就得到了10,然后再+1,a就变成了11,直接结束后a是11,b是10。

3.前置--

计算口诀:先-1,后使用。

4.后置-- 

计算口诀:先使用,后-1。 

(2)+和- 

单目操作符:+和-。

+是正号,-是负号。 

运算符+对正负值没有影响,可完全省略,写也不报错。

运算符-改变值的正负号。

四、强制类型转换 

int a=3.14;

这个代码在运行时,会出现警告,为了消除警告,我们就会用到强制类型转换。

int a=(int)3.14;

五、scanf和printf介绍

(1)printf

1.基本用法

printf()的作用是将参数文本输出到屏幕。

printf()是在标准库的头文件stdio.h定义的,使用这个函数前,必须引入这个头文件。

2.占位符

printf()可以在输出文本中指定占位符。

占位符:这个位置可以用其他值代入。

输出文本:there are %d apples

占位符:%d,这个值要用其他值来替换。

占位符的第一个字符一律为百分号%。

              第二个字符是占位符的类型。

%d表示这里代入的值必须是一个整数

%s表示代入的是一个字符串

输出文本可有多个占位符。

printf()参数与占位符是一一对应的关系,有n个占位符,printf()参数就有n+1个。参数个数少于对应的占位符,printf()参数会输出内存中的任意值。

3.占位符列举

常用的占位符如下:

%c:字符

%d:十进制整数

%f:小数(float类型)

%lf:小数(double类型)

%s:字符串

4.输出格式

printf()可以定制占位符的输出格式。

4.1限定宽度

printf()允许限定占位符的最小宽度

%5d:占位符的宽度至少为5位,若不满,则会在对应的值前加空格。

默认输出的值是右对齐,即输出的内容前有空格;

若希望改成左对齐,在输出内容后面添加空格,也可以在%后面插入一个-号。

 

对于小数,这个限定符会限制所有数字的最小显示宽度。

%f默认小数点后打印6位,小数点也算一位。

4.2总显示正负号

默认情况下,printf()不对整数显示+号,只对负数显示-号,若想要正数也输出+号,可以在占位符%后面加一个+。 

4.3限定小数位数

若希望小数点后面只保留两位,占位符可以写成.2f。

上面的例子我们可以看出,不仅保留了两位小数,而且还能四舍五进。

这种写法也可以与限定宽度占位符结合使用。

 

%6.2f:输出字符串最小宽度是6,小数位数是2,所以输出时字符串的头部有两个空格。

4.4输出部分字符串 

%s输出字符串,默认是全部输出。

若只想输出开头部分,可用%.[m]s指定输出长度。

[m]:代表一个数字,表示所要输出的长度。

(2)scanf

给变量输入值就可以使用scanf函数。

1.基本用法

scanf()函数用于读取用户的键盘输入。

程序运行到这个语句时,就会停下来,等待用户从键盘输入。

用户输入数据,按下回车后,scanf()就会处理用户的输入,将其存入变量。

定义在头文件stdio.h

scanf("%d",&i);

&i:输入的整数存入变量i。

变量前必须加上&运算符(指针变量除外)。

scanf()传递的是地址,不是值。

2.一次性输入多个变量

scanf()处理数值占位符时,会自动过滤空白字符,包括空格,制表符,换行符等。

用户输入数据时,有一个或多个空格都不影响scanf()解读数据,用回车键将输入分成几行,也不影响解读。

3.scanf返回值

scanf()返回值是一个整数,表成功读取的变量个数。

若没有读取任何项,或匹配失败,则返回0。

若在成功读取任何数据前,发生读取错误或读取到文件结尾,则返回常量EOF(本质是-1)。

Ctrl+z能提前结束。

4.占位符

%c,%d,%f,%lf,%s,%[]

除了%c以外,都会自动忽略起首的空白字符。

若要强制跳过字符前的空白字符,%c前加上一个空格,表示跳过零个或多个空白字符。

%s:当前第一个非空白字符开始读起,直到遇到空白字符(空格、换行符、制表符等)为止。%s无法杜群多个单词,除非多个%s一起使用,scanf()不适合读取可能包含空格的字符串,scanf()遇到%s占位符时,会在后面存储一个空字符\0.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值