贺胖娇的编程之旅......

第三周_循环与判断

2019.09.04

本系列是学习总结:中国大学MOOC的程序设计入门C语言

计算时间差

第二周使用先计算分钟差值,然后使用了除法获取小时,取余获取分钟的方式。
采用直接计算的方式来获取,代码如下:

#include <stdio.h>

int main()
{
	int hour1, minute1;
	int hour2, minute2;
	
	printf("请输入第一个小时分钟:\n");
	scanf("%d %d", &hour1, &minute1);
	printf("请输入第二个小时分钟:\n");
	scanf("%d %d", &hour2, &minute2);
	
	int ih = hour2 - hour1;
	int im = minute2 - minute1;
	if (im < 0) {
		im += 60; 
		ih --; 
	}
	printf("时间差为:%d小时%d分钟", ih, im);
	return 0;
}

判断条件

#include <stdio.h>

int main()
{
	int a = 5;
	printf("5==3:%d\n", 5 == 3); // 0
	printf("5 >= 3:%d\n", 5 >= 3); // 1
}

所有关系运算的优先级比算术运算低,但是比赋值运算高(判断条件运算符优先级低于加减乘除运算,但高于赋值运算)。而在关系运算符中,==和!=的优先级比其他的低,而连续的关系运算是从左到右进行的。

注释

//是C99的写法。ANSI C不支持 /**/多行或者行内的注释。

else

#include <stdio.h> 

int main()
{
	int price = 0;
	int bill = 0;
	printf("请输入售价:\n");
	scanf("%d", &price);
	printf("请输入票面:\n");
	scanf("%d", &bill);
	if (bill >= price) {
		printf("找零:%d元", bill - price);		
	} else {
		printf("您的钱不够。");
	}
}

循环

while循环

计算正整数位数(注意,对于php这种弱类型的语言不适用):

#include <stdio.h>

int main()
{
	int number = 0;
	scanf("%d", &number);
	int n = 1;
	int count = number / 10;
	while (count > 0) {
		n++;
		count /=  10;
	}	
	printf("是%d位数", n);
}

do while循环

在进入循环的时候不做检查,而是先执行一轮循环体语句后再检查。

do {
    <循环体语句>
} while (<循环条件>);

for循环

发表评论