栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C语言入门】笔记四

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C语言入门】笔记四

4.1 4.1.2 while语句
while(表达式){
    循环体语句;
}

当表达式为真时运行循环体语句。

练习4-3

序列求和(1-1/4+1/7-1/10+1/13...),输入一个正实数eps,精确到最后一项的绝对值小于eps,计算序列1-1/4+1/7-1/10+1/13...的值。

#include 
#include 
int main(void){
	int n;
	double eps,result,item,flag;
	n=1;
	result=0;
	flag=1.0;
	item=1;
	printf("输入eps的值:"); 
	scanf("%lf",&eps);
	while(fabs(item)>=eps){
		item=1.0/(3*n-2);
		result=flag*item+result;
		flag=-flag;
		n++;
	}
	printf("结果为%.6f",result);
	return 0;
}

4.2 4.2.2 do-while语句
do{
    循环体语句;
} while(表达式);

与for和while语句不同的是,do-while是先执行后判断,至少会执行一次循环体语句;而for和while语句是先判断后执行

练习4-4

将例4-3中do-while语句改为while语句,是否会影响程序的功能?为啥?再增加一条什么语句,就可以实现相同的功能?

答:是,因为当输入的值为0时,更改后的程序count++将不会执行,会导致count的值与源程序不一致。

增加语句:在while前加do里面包含的语句就可以。

4.3 4.3.2 break 语句和 continue 语句

break语句之前用到过,continue语句和break用法上相同

不过,不同的是break是终止循环,而continue是跳过后面语句并且继续下一个循环

且break可用于swith语句中

练习4-6

猜数字游戏,先输入2个不超过100的正整数,分别是被猜数mynumber和允许猜测的最大次数n,再输入你所猜的数yournumber,与被猜数mynumber比较,相等则猜中,不相等则显示与被猜数的大小关系,最多允许猜n次。若一次猜中则显示"Bingo!",若三次以内猜中则显示"Lucky You!",若超过三次但不超过n次猜中,则显示"Good Guess!",若超过n次都没猜中,或者在达到n次之前用户输入了一个负数,则显示"Game Over!",并结束程序。

#include 
int main(void){
	int mynumber,yournumber,n,count=1;
	printf("mynumber:");
	scanf("%d",&mynumber);
	printf("n:");
	scanf("%d",&n);
	while(count<=n){
		printf("yournumber:");
		scanf("%d",&yournumber); 
		if(yournumber<0){
			printf("Game Over!");
			break;
		}else if(yournumber==mynumber){
			if(count==1){
				printf("Bingo!");
				break;
			}else if(count<=3){
				printf("Lucky you!");
				break;
			}else{
				printf("Good Guess!");
				break;
			}
		}else{
			if(count>=n){
				printf("Game Over!");
				break;
			}else{
				if(yournumber 

4.4 4.4.2 嵌套循环

(就是循环里面套循环。通俗来说:套娃。)

练习4-7

求e的值:输入1个正整数n,计算下式的前n项之和(保留四位小数),要求使用嵌套循环。

#include 
int main(void){
	int i,j,n,temp;
	double e=1;
	printf("正整数n为:");
	scanf("%d",&n);
	for(i=1;i<=(n-1);i++){ //因为第一项是1,而不是1/1!,所以要n-1
		temp=1;
		for(j=1;j<=i;j++){
			temp=temp*j;
		}
		e=e+1.0/temp;
	}
	printf("e=%.4f",e);
	return 0;
}

这个星期先到这里吧,学习有点忙,又加上小长假(bushi),剩下的习题下个礼拜补上!

国庆快乐~~拾拾拾

整理自书籍《C语言程序设计》

如有错误,欢迎纠正!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/291644.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号