本帖最后由 09927306 于 2011-1-8 19:05 编辑
第2章:基本数据类型 【例2-1】 字符常量的表示方法。
- #include <stdio.h>
- main()
- { printf("%d\\n",\'B\');
- printf("%c\\n",\'B\');
- printf("%c\\n",66);
- printf("%c\\n",\'B\'+32);
- printf("%d,%c,%d,%c\\n",\'\\n\',\'\\0\', \'\\0\',\'\\x41\');
- }
复制代码
程序运行结果如下。
66
B
B
b
10, ,0,A
从以上结果可以看出,字符常量\'\\0\',若按\"%c\"输出时,则留出一个字符的空位;按\"%d\"输出时,则输出数值0。 【例2-2】 局部变量的作用域。
- main()
- { int a,b,c;
- a=1;b=2;c=3;
- a=a+1;b=b+1;c=c+b;
- /* a=2,b=3,c=6 */
- { int b,c;
- b=4;
- /* b=4 */
- c=b*3;
- /* c=12 */
- a=a+c;
- /* a=14 */
- printf("first:%d,%d,%d\\n",a,b,c);
- a=a+c;
- /* a=26 */
- printf("second:%d,%d,%d\\n",a,b,c);
- }
- printf("third:%d,%d,%d\\n",a,b,c);
- }
复制代码
注意到main函数的函数体内有一个用花括号括住的程序段作为一个复合语句。程序第2行定义了变量a,b,c,它们的作用域是从定义处开始,直到最外层右花括号结束;第5行定义了变量b和c,它们的作用域是从定义处开始,直到内层右花括号结束。因此,内花括号中对变量b和c的赋值和引用都是针对第5行定义的b、c,而与第2行定义的b、c无关;当程序执行到内层右花括号外面时,第5行定义的变量b、c失效,因此,第3个printf()函数输出的b、c引用的是第2行定义的b、c。对变量a而言,由于内层花括号内未另行定义,所以它的作用域是在整个函数体内,因此程序中3个printf()函数对a的引用全部都是针对第2行定义的a的。由此得到程序的运行结果为:
first:14,4,12
second:26,4,12
third:26,3,6
【例2-3】
用宏定义的方式定义符号常数。
- #include <stdio.h>
- #define PI 3.141 592 653 5
- #define RADIUS 2.5
- main()
- { float c,a,s,v;
- c=2*PI*RADIUS;
- a=PI*RADIUS*RADIUS;
- s=4*a;
- v=4*a*RADIUS/3;
- printf("Circuference=%f",c);
- printf("Area=%f",a);
- printf("Surface Area=%f",s);
- printf("Volume=%f",v);
- }
复制代码
程序中定义了两个符号常数,PI代表圆周率,RADIUS代表圆半径。在程序编译前,PI被替换成3.1415926535,RADIUS被替换成2.5。由于使用了符号常数,程序中的几个计算公式的物理含义可以看得很清楚;如果要修改半径的大小,只要修改#define命令就可以了。程序运行结果如下。
Circumference=15.707965
Area=19.634 956
Surface Area=78.539825
Volume=65.449 852
【例2-4】 假设a和b是整型变量(a=123,b=1455),c是浮点型变量(c=3.141 592 65),则 printf(\"a = %d,b = %,x = %f\",a,b,c);
的控制关系如下: 格式控制字符串中包含格式转换说明符、转义字符和普通字符。其中,格式转换说明符“%d”、“%x”和“%f”分别用来控制整型变量a和b及浮点型变量c的数据显示格式:变量a的值以十进制整数形式显示,b的值以十六进制整数形式显示,c的值则以小数形式显示,保留6位小数;转义字符“\\t”的作用是控制下一个显示的字符进入下一个制表位,转义字符“\\n”控制下一个输出项将在下一行显示;普通字符“a =”、“,”、“b =”和“c =”则照原样显示。因此,该语句的输出结果为:
a=123,b=5af
c=3.141593
【例2-5】 用putchar()函数输出一个字符。
- #include <stdio.h>
- main()
- { int c;
- char d;
- c=65; d=\'A\';
- putchar(c);
- putchar(d);
- putchar(\'A\');
- putchar(65);
- }
复制代码
程序中的4个putchar()函数输出完全相同的结果,屏幕显示为:
AAAA 【例2-6】 用getchar()函数输入一个字符。
- #include <stdio.h>
- main()
- { char c;
- c=getchar();
- printf("%c\\n",c);
- printf("%d\\n",c);
- }
复制代码
程序运行时,等待用户从键盘输入字符,假设用户按了字母a及回车键,则屏幕显示:
a↙
a
(printf()函数按字符格式显示c的值)
97
(printf()函数按整数格式显示c的值)
【例2-7】 getche()函数的使用。
- #include <conio.h>
- main()
- { char c;
- c=getche();
- printf("%c\\n",c);
- }
复制代码
程序运行时,用户只要按字母a,屏幕立即显示:aa,其中,第一个a是getche()函数回显的,第二个a是printf()函数按字符格式显示的。
上一章:C语言案例教程 - 第一章 C程序设计的初步知识
下一章:C语言案例教程 - 第三章 数 据 运 算
|