zoukankan      html  css  js  c++  java
  • 输入输出及注意事项

    输入输出命令:

    • 输入函数scanf:在控制台接收指定格式的键盘输入,并将输入内容置于指定变量内存地址中;【格式:scanf(“格式化说明符”, 指定变量内存地址);】  格式: scanf(“%d”,&x);

    注意:scanf()语句中不要加 换行符号。

    • 输入函数getchar:在控制台接收单个字符输入,并将返回字符赋值给指定字符变量;      格式:char ch = getchar();
     1  //例:
     2 #include<stdio.h>
     3 
     4 void main()
     5 {
     6     //char ch ;
     7 
     8     //ch = getchar();
     9 
    10     char ch = getchar();
    11 
    12     //printf("%c
    ",ch);
    13 
    14     putchar(ch); // putchar(ch);等价于:printf("%c
    ",ch);
    15 
    16 } //putchar(ch);方法中不可以写
    换行符号。
    • 输出函数putchar:在控制台打印输出单个字符;

    格式:putchar(待输出的字符变量、常量);

    注:当用putchar(常量);时和printf("%c ",ch); 是一样的,只是单纯的输出。

     1 //例:
     2 #include<stdio.h>
     3 
     4 void main()
     5 {
     6     char ch ;
     7 
     8     ch = getchar();
     9 
    10      //printf("%c
    ",ch);
    11 
    12      putchar(ch);
    13 
    14 }

    代码格式(细节):

    例1:

     1 #include <stdio.h>
     2 
     3 int main()
     4 {
     5     int a;    //原温度
     6 
     7     int b;    //目标温度
     8 
     9     int c = 0;      //最低温度
    10 
    11     int d = 300;    //最高温度
    12 
    13     int e = 20;     //增加值
    14 
    15     a = c;
    16 
    17     while (a<=d)
    18     {
    19     b = 5*(a-32)/9;
    20 
    21     printf("%d	%d
    ",a,b);
    22 
    23     a = a+e;
    24     }
    25 
    26 }

           其中语句:b = 5*(a-32)/9;

         该语句表达式中先写乘5最后再写除9,而不是直接写成5/9,其原因是因为在C语言及许多其他语言中,整数除法操作将执行舍位,结果中的任何小数部分都将会被舍弃;5和9都是整数,5/9后截取所得结果为0,因此这样求得的结果都将为0,得到的肯定不是设想中的结果。

    修改后的范例:

     1 #include <stdio.h>
     2 
     3 int main()
     4 
     5 {
     6     float a,b;    //原温度   //目标温度
     7 
     8     int c = 0, d = 300, e = 20;      //最低温度  //最高温度  //增加值
     9 
    10     float f = 5, g = 9;      //公式中定义需要
    11 
    12     a = c;   //c为int型,a为浮点型;把c赋值给a(小的变大的)不需要强制转换。
    13 
    14     while (a<=d)
    15     {
    16         b = f/g*(a-32); //原计算公式:b = 5*(a-32)/9;9直接放在前面就会导致结果异常。
    17         printf("%f	%f
    ",a,b);
    18 
    19         a = a+e;            //a为浮点型,e为int型;浮点型比int型范围大,所以运算时e会自动转换为浮点型再相加,a+e的和为浮点型,把和赋值给a,a为浮点型。假如表达式:a = a+e;中a为int型,e为浮点型,那么相加的和为浮点型,把和赋值给a时,和会被强制转换为int型(等号左边数据类型不可以被改变)。
    20     }
    21 }

    注:如果某个算术运算符 有一个浮点型操作数和一个整型操作数,则在开始运算之前整形操作数将会被转换为浮点型;例如表达式float a; a-32; 32在运算过程中将被自动转换为浮点数再参与运算。不过即使浮点常量取得是整型值,在书写时最好还是为它加上一个显式的小数点,这样可以强调其浮点性质,便于阅读。

    例2:

     1 #include<stdio.h>
     2 
     3 int main()
     4 
     5 {
     6     printf("请按下面格式输入时间信息:
    MM/dd/yyyy
    ");
     7 
     8     int m,d,y;
     9 
    10     scanf("%d %d %d",&m, &d, &y);
    11 
    12     printf("%d年%d月%d日
    ",y, m, d);
    13 
    14     return 0;
    15 }

    输入输出函数中的三个变量之间要用逗号隔开。

  • 相关阅读:
    父子进程 signal 出现 Interrupted system call 问题
    一个测试文章
    《淘宝客户端 for Android》项目实战 html webkit android css3
    Django 中的 ForeignKey ContentType GenericForeignKey 对应的数据库结构
    coreseek 出现段错误和Unigram dictionary load Error 新情况(Gentoo)
    一个 PAM dbus 例子
    漫画统计学 T分数
    解决 paramiko 安装问题 Unable to find vcvarsall.bat
    20141202
    js
  • 原文地址:https://www.cnblogs.com/CJDog/p/4773714.html
Copyright © 2011-2022 走看看