标签:
输入输出命令:
注意:scanf()语句中不要加\n换行符号。
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\n",ch); 13 14 putchar(ch); // putchar(ch);等价于:printf("%c\n",ch); 15 16 } //putchar(ch);方法中不可以写\n换行符号。
格式:putchar(待输出的字符变量、常量);
注:当用putchar(常量);时和printf("%c\n",ch); 是一样的,只是单纯的输出。
1 //例: 2 #include<stdio.h> 3 4 void main() 5 { 6 char ch ; 7 8 ch = getchar(); 9 10 //printf("%c\n",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\t%d\n",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\t%f\n",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("请按下面格式输入时间信息:\nMM/dd/yyyy\n"); 7 8 int m,d,y; 9 10 scanf("%d %d %d",&m, &d, &y); 11 12 printf("%d年%d月%d日\n",y, m, d); 13 14 return 0; 15 }
输入输出函数中的三个变量之间要用逗号隔开。
标签:
原文地址:http://www.cnblogs.com/CJDog/p/4773714.html