Discuz教程网

C语言案例教程 - 第二章 基本数据类型

[复制链接]
authicon 09927306 发表于 2011-1-8 12:49:37 | 显示全部楼层 |阅读模式
本帖最后由 09927306 于 2011-1-8 19:05 编辑

第2章:基本数据类型
【例2-1】
字符常量的表示方法。


  1. #include <stdio.h>

  2. main()

  3. { printf("%d\\n",\'B\');


  4. printf("%c\\n",\'B\');


  5. printf("%c\\n",66);


  6. printf("%c\\n",\'B\'+32);



  7. printf("%d,%c,%d,%c\\n",\'\\n\',\'\\0\', \'\\0\',\'\\x41\');


  8. }
复制代码

程序运行结果如下。

66

B

B

b

10, ,0,A
从以上结果可以看出,字符常量\'\\0\',若按\"%c\"输出时,则留出一个字符的空位;按\"%d\"输出时,则输出数值0。
【例2-2】
局部变量的作用域。

  1. main()

  2. { int a,b,c;

  3. a=1;b=2;c=3;

  4. a=a+1;b=b+1;c=c+b;
  5. /* a=2,b=3,c=6 */

  6. { int b,c;

  7. b=4;

  8. /* b=4 */

  9. c=b*3;

  10. /* c=12 */

  11. a=a+c;

  12. /* a=14 */


  13. printf("first:%d,%d,%d\\n",a,b,c);

  14. a=a+c;

  15. /* a=26 */

  16. printf("second:%d,%d,%d\\n",a,b,c);

  17. }

  18. printf("third:%d,%d,%d\\n",a,b,c);

  19. }
复制代码


注意到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】
用宏定义的方式定义符号常数。


  1. #include <stdio.h>

  2. #define PI 3.141 592 653 5

  3. #define RADIUS 2.5

  4. main()


  5. { float c,a,s,v;

  6. c=2*PI*RADIUS;

  7. a=PI*RADIUS*RADIUS;

  8. s=4*a;

  9. v=4*a*RADIUS/3;

  10. printf("Circuference=%f",c);

  11. printf("Area=%f",a);

  12. printf("Surface Area=%f",s);


  13. printf("Volume=%f",v);

  14. }
复制代码

程序中定义了两个符号常数,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()函数输出一个字符。


  1. #include <stdio.h>

  2. main()

  3. { int c;

  4. char d;

  5. c=65; d=\'A\';


  6. putchar(c);

  7. putchar(d);

  8. putchar(\'A\');

  9. putchar(65);

  10. }
复制代码

程序中的4个putchar()函数输出完全相同的结果,屏幕显示为:
AAAA
【例2-6】
用getchar()函数输入一个字符。


  1. #include <stdio.h>

  2. main()

  3. { char c;

  4. c=getchar();

  5. printf("%c\\n",c);

  6. printf("%d\\n",c);

  7. }
复制代码

程序运行时,等待用户从键盘输入字符,假设用户按了字母a及回车键,则屏幕显示:

a↙

a
(printf()函数按字符格式显示c的值)

97
(printf()函数按整数格式显示c的值)
【例2-7】
getche()函数的使用。


  1.       #include <conio.h>
  2.       main()
  3.         { char c;
  4.           c=getche();
  5.           printf("%c\\n",c);
  6.         }
复制代码


程序运行时,用户只要按字母a,屏幕立即显示:aa,其中,第一个a是getche()函数回显的,第二个a是printf()函数按字符格式显示的。


上一章:C语言案例教程 - 第一章 C程序设计的初步知识
下一章:C语言案例教程 - 第三章 数 据 运 算



上一篇:C语言案例教程 - 第一章 C程序设计的初步知识
下一篇:C语言案例教程 - 第三章 数 据 运 算
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-3 01:28

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表