工作任务:分离数字问题——运算符与表达式
编写一个程序,从键盘输入一个三位整数,将其逆序输出。例如:输入123,输出321。
相关知识:
1、运算符与表达式
算术表达式:+,-,*,/,%
几点说明:
·若“/” 两边都是整型,结果就是一个整型。 如:3/2的结果就是1.
·“/” 如果有一边是小数,那么结果就是小数。 3/2.0的结果就是1.5
·“%”符号是余数,%符号两边要求是整数。
·赋值运算符 =
如:a=3 把赋值号右边的3赋值给赋值号左边的变量a
·复合赋值运算符
+=,-=,*=,/= 算术运算符和赋值运算符复合使用
·赋值表达式
·注意:
常量不可以赋值。
赋值的左边只能是一个变量。
复合运算符,例a*=2+3;运行完成后,a的值是12。首先要在2+3的上面打上括号。变成(2+3)再运算。
·赋值运算优先级最低
自加与自减运算符:++,--
自加、自减表达式:如:a++ ++a --b b—等
不管前缀++还是后缀++,对于变量的作用都是加一操作,但对于表达式来讲,++在前的表达式用的是变量加一以后的新值,++在后的表达式用的变量原来的值。--运算符同
2、数据类型转换
·自动转换,char-int-float-double
·强制转换 (类型名) 表达式
一定是 (int)a 不是 int(a),注意类型上一定有括号的。
·注意:(int)(a+b) 和(int)a+b 的区别。 前是把a+b转型,后是把a转型再加b
工作任务实施:
三位整数逆序输出,程序清单如下:
/********三位数逆序输出********/
#include <stdio.h>
void main()
{
int n,a1,a2,a3;
printf("请输入三位整数:");
scanf("%d",&n);
a1=n/100; //求百位
a2=n/10%10; //求十位
a3=n%10; //求各位
printf("%d%d%d\n",a3,a2,a1); //逆序输出
}
特别提示:
(1)分离数字是C语言的基础算法之一,请读者认真理解并学会。
(2)“%”符号是余数,%符号两边要求是整数。