| [b]20. 转义字符使用实例 [/b] |
|
下面这个例子演示了[b]\a[/b]、[b]\b[/b]、[b]\t[/b]、[b]\r[/b],以及[b]\n[/b] 的作用。其中[b]\b[/b],[b]\t[/b] 和[b]\r [/b]的概念可以追溯到电脑仍然使用打字机作为输出设备的时候,所以对于现代的一些电脑来说,它们可能不起作用。在某些麦金托什机(Macintosh)上,它们的作用就和我们下面所说的不一样。首先请认真看一下以下程序,然后编译运行一下,看看运行结果和您想象的是否一样,然后再看后面的详细解说。
/* esc_sq.c -- 使用转义字符 */
#include[b]<[/b]stdio.h[b]>[/b]
int main(void)
{
float height;
printf("\aPlease enter your height: _____ cm\b\b\b\b\b\b\b\b");
scanf("%f", &height);
printf("\tYour height is %.2f.\rOh!\n", height);
return 0;
}
第一个 printf 通常会引起一声[b]鸣响[/b]([b]\a[/b]),同时显示以下提示
Please enter your height: _____ cm
其中活跃位置(光标)在下划线的开端。活跃位置之所以会位于下划线的开端,是因为那八个[b]\b[/b] 把活跃位置后退了八个位置。顺带一题,下划线[b]_____[/b] 由五个[b]_[/b] 构成。[b]注意[/b]:一般来说,\b 不会擦除前面输出的字符,但是在某些系统,\b 却会擦除前面输出的字符,导致显示结果为[b]Please enter your height: [/b]。\a 产生的效果[b]取决于硬件[/b]。一般来说,输出 \a 会产生[b]鸣响[/b]。但是在某些系统,输出 \a 不会产生任何效果,或者仅仅显示一个特殊字符。
输入一个数后(比如输入 180.5),屏幕的显示会变成
Please enter your height: 180.5 cm 我们输入的数字取代了原来的下划线。接着我们需要按[b]回车[/b]确定我们的输入。按下回车键后, 活跃位置会移动到下一行的开端。 第二个 printf 运行结束后,屏幕显示如下:
Please enter your height: 180.5 cm
Oh! Your height is 180.50.
|
| [b]23. 乘法运算符和除法运算符 [/b] |
|
[b]1. 乘法运算符(Multiplication Operator):*[/b]
* 是乘法运算符。以下语句:
meter = 100 * cm;
常量 100 和变量 cm 相乘,乘积被赋值给变量 meter。
[b]2. 除法运算符(Division Operator):/[/b]
C 使用[b]/[/b] 作为除法运算符。[b]/[/b] 左边的操作数除以右边的操作数。也就是说,[b]/[/b] 左边是被除数,右边是除数。例如:
var = 6/2;
6 除以 2 得 3,然后 3 被赋值给变量 var。
整数相除和浮点数相除有所不同。浮点数相除得到浮点数,整数相除得到整数。C 语言规定,整数相除产生的小数部分一律被抛弃,这就是所谓的截断(truncation)。例如:7/4 的结果是 1,而不是 1.75,也不是 2。
下面我们来看一个小程序。
/* divide.c */
#include[b]<[/b]stdio.h[b]>[/b]
int main(void)
{
printf("integer division: 7/4 is %d \n", 7/4);
printf("floating division: 7./4. is %f \n", 7./4.);
printf("mixed division: 7./4 is %f \n", 7./4);
return 0;
}
输出为:
integer division: 7/4 is 1
floating division: 7./4. is 1.750000
mixed division: 7./4 is 1.750000
最后一个 printf 中,我们用浮点数除以整数,得到的结果和第二个 printf 一样。这是因为 C 自动把这两个操作数的类型转换成了同一种类型。本例中,整数 4 被转换成了浮点类型,然后再和浮点数 7. 相除。
C99 之前,正整数和负整数相除,如果产生小数部分,则相除的结果是不确定的。例如:7/-4 的结果可能是 -2,也可能是 -1。C99 规定,正整数和负整数相除,产生的小数部分一律被抛弃。也就是说,C99 中,7/-4 的结果是确定的,一定是 -1。 |
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有