• 输入输出及注意事项


    输入输出命令:

    • 输入函数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 }

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

  • 相关阅读:
    Mtk Ft6306 touch 驱动 .
    第一屏不显示懒加载的图片内容,这个方法可以搞定
    C#多线程中访问winform控件 (解决Winform 对象当前正在其他地方使用)
    变化的科技感十足的网站,推荐
    新年有感
    获取高精度时间注意事项 (QueryPerformanceCounter , QueryPerformanceFrequency)
    修改 TeamViewer ID 的方法
    VS2017离线安装包[百度云盘](收藏了)
    老子今天不加班,程序员也需要自由
    改变Eclipse 中代码字体大小
  • 原文地址:https://www.cnblogs.com/CJDog/p/4773714.html
Copyright © 2020-2023  润新知