C语言:算术操作符、赋值操作符、单目录操作符、强制类型转换、占位符

打卡第二天 笔记

算术操作符:

+、-、*、/、%

都是双目录操作符,也叫运算符。

/

  • 两端是整数,得到的结果 为整数,丢弃小数部分。
  • 要得到浮点数结果,两个运算数至少一个浮点数。

%

  • 返回两个整数相除的余值,只能用于整数。

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

给变量赋值的操作符

int a=3;
int b=5;
int c=0;
c=b=a+3;//连续赋值,从右向左依次赋值。

复合赋值符

  1. += 、 -=
  2. *= 、 /= 、 %=
//对于一个数自增自减
int a=10;
a=a+3;
a=a-2;
//使用复合函数
a+=3;
a-=2;

单目录操作符:

++、--、+、-

int a=10;
int b=a++;//++的操作数是a,放在a前面,是前置++,先加1再赋值
int b=++a;//放在a后面,是后置++,先赋值再加一。

+ 和 -
+是正号,-是负号。


强制类型转换:

(类型)

int a=3.14;//a是int类型。3.14是double类型。编译器会报警告。
int a=(int)3.14;//将3.14强制类型转换为int类型。

占位符

  • %d: 十进制整数。
  • %f: ⼩数(包含 float 类型和 double 类型)。
  • %lf:long double类型浮点数。
  • %c: 字符。
  • %s: 字符串。
  • %p: 指针。
  1. 限定宽度
#include <stdio.h>
int main()
{
 printf("%5d\n", 123); // 输出为 " 123"
 return 0;
}
  1. 总是显⽰正负号
#include <stdio.h>
int main()
{
 printf("%+d\n", 12); // 输出 +12
 printf("%+d\n", -12); // 输出 -12
 return 0;
}
  1. 限定⼩数位数
// 输出 Number is 0.50
#include <stdio.h>
int main()
{
 printf("Number is %.2f\n", 0.5);
 return 0;
}

最⼩宽度和⼩数位数这两个限定值,都可以⽤ * 代替,通过 printf() 的参数传⼊。

#include <stdio.h>
int main()
{
 printf("%*.*f\n", 6, 2, 0.5);
 return 0;
}
// 等同于printf("%6.2f\n", 0.5);
  1. 输出部分字符串
// 输出 hello
#include <stdio.h>
int main()
{
 printf("%.5s\n", "hello world");
 return 0;
}

上⾯⽰例中,占位符 %.5s 表⽰只输出字符串“hello world”的前5个字符,即“hello”。

printf

  • printf() 的作⽤是将参数⽂本输出到屏幕
  • printf() 是在标准库的头⽂件 stdio.h 定义的。使用这个函数之前,必须在源码文件头部引入这个头文件。

scanf

scanf() 函数⽤于读取⽤⼾的键盘输⼊。

scanf("%d", &i);
  • 下⾯是⼀次将键盘输⼊读⼊多个变量的例⼦。
scanf("%d%d%f%f", &i, &j, &x, &y);
#include <stdio.h>
int main()
{
 int x;
 float y;
 
 // ⽤⼾输⼊ " -13.45e12# 0"
 scanf("%d%f", &x, &y);
 return 0;
}

上⾯⽰例中, scanf() 读取⽤⼾输⼊时, %d 占位符会忽略起⾸的空格,从 - 处开始获取数据,读取到 -13 停下来,因为后⾯的 .不属于整数的有效字符。这就是说,占位符 %d 会读到 -13 。
第⼆次调⽤ scanf()时,就会从上⼀次停⽌解读的地⽅,继续往下读取。这⼀次读取的⾸字符是 . ,由于对应的占位符是 %f ,会读取到 .45e12,这是采⽤科学计数法的浮点数格式。后⾯的不属于浮点数的有效字符,所以会停在这⾥。

  • 赋值忽略符

scanf() 提供了⼀个赋值忽略符 * 。只要把 * 加在任何占位符的百分号后⾯

#include <stdio.h>
int main()
{
 int year = 0;
 int month = 0;
 int day = 0;
 scanf("%d%*c%d%*c%d", &year, &month, &day);
 return 0;
}

上⾯⽰例中, %*c 就是在占位符的百分号后⾯,加⼊了赋值忽略符 * ,表⽰这个占位符没有对应的变量,解读后不必返回。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值