分支和循环语句(2)

本文通过一系列C语言代码示例,涵盖了数组的ASCII存储、格式化输入输出、数值打印、找最大值、浮点数处理、循环控制等基本编程概念。示例包括使用%d和%lf进行格式化输出,找数组中的最大值,以及计算阶乘等,旨在帮助初学者理解C语言的基础操作。
摘要由CSDN通过智能技术生成

# 一、关于数组 数组中的十进制数以ASCⅡ的形式存储、

## 二、关于识别和打印几个字符,就在%和d中间加数字,,,以及0的意思

### 三、打印字符型数字时,在%和f中加.和型对应的数字,就是打印小数点后的数字

#### 四、找最大值,

##### 五、一个小练习,  关于float 和double 的细节  还有打印上的 %f和%lf

###### 六、for循环

#include<stdio.h>
int main()
{
	int i = 0;
	int asc[12] = {73,32,99,97,110,32,100,111,32,105,116,33};
	//char asc[] = { '73','32','99','97','110','32','100','111','32','105','116','33'};
	int sz = sizeof(asc) / sizeof(asc[0]);
	for(i=0;i<=sz;i++)
	{
		printf("%c  ", asc);
	}
	return 0;
}

## 二、关于识别和打印几个字符,就在%和d中间加数字,,,以及0的意思

int main()
{
	int y = 0;
	int m = 0;
	int d = 0;
	scanf_s("%4d%2d%2d",&y,&m,&d);
	printf("year=%4d\n",y);
	printf("month=%02d\n",m);//%02d的意思是 %d打印整数,0不够的话就补零,2打印两位数
	printf("date=%02d",d);
	return 0;
}

打印字符型数字时,在%和f中加.和型对应的数字,就是打印小数点后的数字

int main()
{

	int x = 0;
	float c = 0;
	float m = 0;
	float y = 0;

	scanf("%8d;%f,%f,%f",&x,&c,&m,&y);
	printf("The each subject score of No. %d is %.2f,%.2f,%.2f.",x,c,m,y);
	return 0;
}

小练习 

关于printf打印字符所有的返回值的

int main()
{

	int x = 0;
	float c = 0;
	float m = 0;
	float y = 0;

	scanf("%8d;%f,%f,%f",&x,&c,&m,&y);
	printf("The each subject score of No. %d is %.2f,%.2f,%.2f.",x,c,m,y);
	return 0;
}


转义字符小练习   \"和\\
//int main()
//{
//    printf("printf(\"Hello world\\n\");\n");
//    printf("cout << \"Hello worle !\" << endl;");
//    return 0;
//}

找最大值,①可以把要输入的值存起来放到数组里
          ②假设我们输入的第一个值就是最大值,并且让这个(假)最大值与我们输入的值一一比较,
          ③如果后面输入的值大,就把这个值赋给(真)最大值,这样最后输出的值就是最大值

int main()
{
	int arr[4] = {0};
	int i = 0;
	while(i<4)
	{
		scanf("%d", &arr[i]);
		i++;
	}
	//找最大值
	//假设第一个元素就是最大值
	int max = arr[0];
	i = 1;
	while (i<4)
	{
		if (arr[i]>max)
		{
			max = arr[i];
		}
		else
		{
			;
		}
		i++;
	}
	printf("%d",max);
	return 0;
 }

 另一个版本

int main()
{
	int i = 1;
	//假设输入的第一个值就是最大值
	int max = 0;
	int n = 0;
	scanf("%d",&max);
	//我输入的值都与上一个max比较,若大则代替之,若小则不改
	while(i<4)
	{
		scanf("%d",&n);
		if (n>max)
		{
			max = n;
		}
		i++;
	}
	printf("%d\n",max);
	return 0;
}

一个小练习,  关于float 和double 的细节  还有打印上的 %f和%lf

int main()
{
	double r = 0.0;//float =0.0f;f表明为浮点数   0.0默认为double类型
	double v = 0.0;
	scanf("%lf",&r);//若为float则此处为%f
	v = 4.0 / 3 * 3.1415926 * r * r * r;
	printf("%.3lf\n",v);
	return 0;
}

小练习

int main()
{
    int h = 0;
    int w = 0;
    //float bmi = 0;
    scanf("%d %d",&h,&w);
    float bmi = w /(h / 100.0)/( h / 100.0);
    printf("%.2f",bmi);
    return 0;
}

循环语句最重要的三元素

while 中有三个(初始化,判断,调整)很重要,影响循环的三要素
int main ()
{
	int i = 0;//初始化
	while (i<=10)//判断
	{
		printf("%d",i);
		i++;//调整
	}
}


for循环
for (表达式一初始化; 表达式二判断条件; 表达式三调整部分)
{
//    循环语句
}

for循环
for (表达式一初始化; 表达式二判断条件; 表达式三调整部分)
{
	循环语句
}
int main()
{
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		//printf("%d",i);
		//printf("hh\n");
		if (i == 5)
		{
			//continue;//0-10但是没有5  //continue是此次循环结束下面的代码五十,直接去i++处
			//break;//打印01234 //break是直接跳出本次循环(并且只能跳出一次循环)
		}
		printf("%d", i);
	}
}

for循环的变种
for循环的循环部分省意味着这部分判断会恒成立

int main()
{
	for  (;;)
	{
		printf("");
	}
	return 0;

int main()
{
	int i = 1;
	do
	{
		if(i==5)
		break;
		printf("%d ",i);
		i++;
		;//循环语句;
	} 
	while (i <= 10);
}

计算n的阶乘  (用for语句的循环,把计算的值赋予一个值,然后循环起来,每次想加,就能把和总结起来)

int main()
{
	int i = 1;
	int n = 0;
	int ret = 1;
	scanf("%d",&n);
	for ( i = 1; i <=n; i++)
	{
		ret = ret * i;
	}
	printf("%d", ret);

	return 0;
}
int main()
{
	int i = 0;
	int a = 0;
	int b = 1;
	//每个的阶乘算出来放到r里
	int c = 0;
	for (i = 1; i <= 3; i++)
	{
		int b = 1;
		for (a = 1; a <= i; a++)
		{
			b = b * a;
		}//这个for循环是用来计算可控i的阶乘
		c = b + c;这个for循环是把比如说把一的阶乘和二的阶乘相加,然后把三的阶乘和前两次的阶乘相加
	}
	printf("%d", c);
	return 0;
}

精简版

int main()
{
	int a = 1;
	int b = 0;
	int i = 0;
	int c = 0;
	for (i=1;i<=3;i++)
	{
		a = a * i;//这个式子计算了前几次的阶乘的结果(和里面那个for作用一样,但是不需要再计算了,因为已经记下结果),用三举例,i=1时,(n1*n2)*(n3)
		b = a + b;
	}
	printf("%d",b);
	return 0;
}

                                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值