循环控制结构,c入门

此处i++&++i都没有关系 死循环………… 所以此处n++是不可以的,死循环了 如果表达式一开始的结果就为0(假),那么两者会有不同答案 一般表达式二为条件判断语句 注意2) ![在这里插入图片描述](https://img-blog.img.cn/20201213163540595.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly 9ibG9nLmNzZG4ubmV0L1JvaXNh,size_16,color_FFFFFF,t_70) for循环一次, 都要检测函数getchar()的结果是否为字符c,如果不是,则i去加c, 否则,则退出for循环。在键盘上连续输入,只要不输入回车,就将所有的内容都打印出来。 因为ascii码里边,1=49,2=50;c=90 就近原则!! 1.外层判断循环条件,满足进入外层循环体 2.内层判断循环条件 3.内层循环体执行 4.内层循环变量累加,回到2执行,直到不满足内层条件 5.外层循环变量累加,回到1执行,直到不满足外层循环条件,彻底退出循环 putchar函数是单个字符输出函数。只输出一个字符。此处用printf(“*”)也可以。。。

for(i=0;i<5;i++)
for(j=0;j<100;j++)
{
          
   }
for(j=0;j<100;j++)
for(i=0;i<5;i++)
{
          
   }
这两个程序哪个执行效率高?
答:
for(i=0;i<5;i++)
for(j=0;j<100;j++)
{
          
   }
效率高
双层循环,较长的循环放在内层效率要高

break:跳出的是循环,不是跳出判断!! 两者区别在于,continue是一直执行continue上侧的语句,到continue就停止(结束本次循环),所以不会有出现printf的情况,到最后结束。 break是跳出循环,直接结束。

  1. n=1,将n赋值为整型,导致最后结果出错,,,n应该赋值为double型
  2. 没有给b赋初值,导致陷入空集,无法运行
  3. 在最开始给b赋值为1,导致b变为类似常量的一个东西
  4. 循环开始使得sum=0;,导致sum一直为0,,,

/*pow()函数用来求x的baiy次幂,x、y及函数值都是double型 , 其原型为:double pow(double x, double y)*/

    本程序输出的结果是pi=3.141594,但是只有前5位小数3,14159是准确的,因为第7位已经小于10^-6,后面的项没有累加。

类似的题目有:

#include<stdio.h>
int main(){
          
   
	int num,i,count=0;
	printf("请输入一个整数:");
	scanf("%d",&num);
	if(num==0){
          
   
		printf("%d不是一个质数!",num);	
	}
	for(i=2;i<=num/2;i++){
          
   
		if(num%i==0){
          
   
			count++;
			break;
		}
	}
	if(num!=1 && count==0){
          
   
		printf("%d是一个质数!
",num);	
	}else{
          
   
		printf("%d不是一个质数!
",num);	
	}
	return 0;	
}
#include <stdio.h>
#include <math.h>
int main()
{
          
   
    int m;  // 输入的整数
    int i;  // 循环次数
    int k;  // m 的平方根
    printf("输入一个整数:");
    scanf("%d",&m);
    // 求平方根,注意sqrt()的参数为 double 类型,这里要强制转换m的类型
    k=(int)sqrt( (double)m );
    for(i=2; i<=k; i++)
        if(m%i==0)
            break;
    // 如果完成所有循环,那么m为素数
    // 注意最后一次循环,会执行i++,此时 i=k+1,所以有i>k
    if(i>k)
        printf("%d是素数。
",m);
    else
        printf("%d不是素数。
",m);
    return 0;
}
#include <stdio.h>
int main()
{
          
   
    int a=0;  // 素数的个数
    int num=0;  // 输入的整数
    printf("输入一个整数:");
    scanf("%d",&num);
    for(int i=2; i<num; i++)
    {
          
   
        if(num%i==0)
        {
          
   
            a++;  // 素数个数加1
        }
    }
    if(a==0)
    {
          
   
        printf("%d是素数。
", num);
    }
    else
    {
          
   
        printf("%d不是素数。
", num);
    }
    return 0;
}
经验分享 程序员 微信小程序 职场和发展