顺序结构
c语言中程序按从上自下的顺序运行,不会跳过。
练习题1
编程实现输入大写字母转换为小写字母
分析:要实现大写转换为小写,我们就得找到它们之间的规律,我们很难在字符型下找到规律,我们可以想到ASCII码,可以说字符都能找到对应的ASCII码。
而且字母本身存在整型和字符型两种方式,并且可以相互转换。因此我们用ASCII码来转换。我们发现大写字母 + 32是其对应的小写字母。
#include <stdio.h>
//预处理
int main()
{
//定义两个字符型变量
char letter1,letter2 ;
//输入大写字母
printf("请输入一个大写字母:\n");
scanf("%c",&letter1);
//将大写字母转换为小写字母
letter2 = letter1 +32;
//输出小写字母
printf("%c\n",letter2);
return 0;
}
注意:我们在写代码的时候,要注意两点,一是代码的结构要明了,缩进要整齐。二是要多写注释,方便其他人阅读和后续改动。
在这一道练习题中,要是我们把将大写转换为小写字母的计算式位置改变,如
#include <stdio.h>
//预处理
int main()
{
//定义两个字符型变量
char letter1,letter2 ;
//将大写字母转换为小写字母
letter2 = letter1 +32;
//输入大写字母
printf("请输入一个大写字母:\n");
scanf("%c",&letter1);
//输出小写字母
printf("%c\n",letter2);
return 0;
}
这样程序在执行时是不会输出小写字母的,因为顺序结构,该程序在输入字母前就已经执行了表达式,所以是不会输出的。
练习题2
通过键盘输入一个秒数,编程显示通话用了几分几秒
该题我用了一个中间变量来进行转换,保证了数据的精度
#include <stdio.h>
#include <math.h> //调用math库
int main()
{
//定义并输入一个通话秒数
double time1;
printf("输入一个通话秒数:");
scanf("%lf",&time1);
//把通话秒数转换为几分几秒输出
double time3;
//利用floor函数舍弃小数位
int time2 = floor(time1/60);
time3 = (time1/60 - time2)*60;
//输出
printf("通话时间为%d分%.0f秒\n",time2,time3);
return 0;
}
这题我们利用了floor函数,其作用是舍弃数字的小数位,对应的,cile函数是向上加一,及只要有小数位,就让其转换为整型并+1