《C语言教程》04章 附带格式的输入输出

[复制链接]
1009|4
 楼主| niuyaliang 发表于 2015-3-16 09:22 | 显示全部楼层 |阅读模式
一、格式输出『printf()』
前面已经说过,一个字符用%d格式就可以输出其ASCII码即字符的整数值。用%c格式则输出这个字符。如果用%f格式,则小数的方式输出。例如下面这个例子:
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.     int days = 360;

  5.     //“劝学网”三字的ASCII码是“C8B0”“D1A7”“CDF8”
  6.     printf("\xC8\xB0\xD1\xA7\xCD\xF8\t小雅\n");   //显示:劝学网{TAB}小雅

  7.     printf("北京奥运还有: %d天\n", days);
  8.     printf("\a\a");          //“嘟嘟”

  9.     //以下三行写在同一行
  10.     printf("%s", "这是C语言");
  11.     printf("教程\t");
  12.     printf("作者:%s\n","小雅");

  13.     //360分别以整数、小数、科学计数法显示
  14.     printf("整数:%d\n小数:%f\n科学:%e\n",days,(float)days,(double)days);

  15.     //以下控制字节长度
  16.     printf("360用5个字节表示:[%5d]\n",days);   //[...]中共5字节
  17.     printf("3.6保留2位整数2位小数:[%5.2f]\n",(float)days/100);   //[...]中2位整数2位小数,
  18.                                                                   //外加小数点共5字节
  19.     return 0;
  20. }  
结果如下:





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| niuyaliang 发表于 2015-3-16 09:25 | 显示全部楼层
二、常见格式符号

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| niuyaliang 发表于 2015-3-16 09:33 | 显示全部楼层
三、格式输入『scanf()』
    scanf()函数的功能与printf()函数正好相反,是输入数据的功能。但对于初学者却有一难点,即所输入的数据存放到变量时,用到了地址操作。地址操作也就是指针,是C语言的难点、重点,许多人不会C语言的根本原因就是没学会指针。
    既然指针这么难,为什么C语言要使用指针呢?C语言产生之前,前辈们都是用机器语言或汇编语言来编程,整天都是与内存地址打交道,C语言使用了指针,使得程序运行速度接近汇编语言,编程效率、实现的功能大大提高。当今电脑硬件的飞速发展,使速度不成问题,于是Java、C#都基本废除了指针的使用。
 楼主| niuyaliang 发表于 2015-3-16 09:35 | 显示全部楼层
如下面这个例子:

  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.     int age;         //年龄
  5.     char name[20];    //姓名

  6.     printf("请输入你的年龄:");
  7.     scanf("%d", &age);      //&age表示变量age的地址

  8.     printf("请输入你的姓名:");
  9.     scanf("%s", name);      //name单独使用就表示变量name的地址

  10.     printf("\n姓名=%s\t年龄=%d\n",name,age);

  11.     return 0;
  12. }

结果如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| niuyaliang 发表于 2015-3-16 09:36 | 显示全部楼层
    上例中,2个变量当作参数使用时,一个用了&符号,一个没用,为什么呢?原来当一个变量的类型是基本类型、或扩充基本类型时,变量的地址要用&符号再加变量名。其它尤其指数组,单独使用变量名,就表示该变量的地址。关于这一点,以后讲完数组和指针后还要详细讨论。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

212

主题

2427

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部