C++ 中的单目操作符(自增自减、正负号)及其前置后置区别,并详细讲解了 C/C++ 标准输入输出函数 getchar、putchar、scanf 和 printf。内容包括函数原型、基本用法、占位符类型(如%d、%s)、格式化输出(宽度限制、小数位数控制)以及常见占位符列表。适合算法竞赛入门及 C++ 基础学习。
// 案例 1int x = 10;
int a = ++x; // ++ 的操作数是 x,是放在 x 的前面的,就是前置 ++
cout << x << " " << a << endl;
// 案例 2int x = 10;
int a = x++; // ++ 的操作数是 x,是放在 x 的后面的,就是后置 ++
cout << x << " " << a << endl;
小技巧:
前置 ++:先 +1,后使用
后置 ++:先使用,后 +1
8.1.2 前置 -- 和 后置 --
// 案例 1int y = 10;
int b = --y; // -- 的操作数是 y,是放在 y 的前面的,就是前置 --
cout << y << " " << b << endl;
// 案例 2int y = 10;
int b = y--; // -- 的操作数是 y,是放在 y 的后面的,就是后置 --
cout << y << " " << b << endl;
#include<cstdio>// 输出 There are 3 applesintmain(){
printf("There are %d apples\n", 3);
return0;
}
上面示例中,There are %d apples\n 是输出文本,里面的 %d 就是占位符,表示这个位置要用其他值来替换。占位符的第一个字符一律为百分号 %,第二个字符表示占位符的类型,%d 表示这里代入的值必须是一个整数。
printf() 的第二个参数就是替换占位符的值,上面的例子是整数 3 替换 %d。执行后的输出结果就是 There are 3 apples。
常用的占位符除了 %d,还有 %s 表示代入的是字符串。
#include<cstdio>intmain(){
printf("%s will come tonight\n", "zhangsan");
return0;
}
上面示例中,%s 表示代入的是一个字符串,所以 printf() 的第二个参数就必须是字符串,这个例子是 zhangsan。执行后的输出就是 zhangsan will come tonight。
输出文本里面可以使用多个占位符。
#include<cstdio>intmain(){
printf("%s says it is %d o'clock\n", "lisi", 21);
return0;
}
上面示例中,输出文本 %s says it is %d o'clock 有两个占位符,第一个是字符串占位符 %s,第二个是整数占位符 %d,分别对应 printf() 的第二个参数(lisi)和第三个参数(21)。执行后的输出就是 lisi says it is 21 o'clock。
printf() 参数与占位符是一一对应关系,如果有 n 个占位符,printf() 的参数就应该有 n + 1 个。如果参数个数少于对应的占位符,printf() 可能会输出内存中的任意值。