输入输出及注意事项

输入输出命令:

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

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

原文地址:https://www.cnblogs.com/CJDog/p/4773714.html