C语言学习记录(四)——循环语句、go to语句

while循环

while循环中的breakcontinu的区别:
  break必须要在循环的内部(除了swicth语句以外),并且会结束当前循环语句的所有循环。
  contine结束本趟循环

有关while循环的例子:
例1、求1-10的和;求1-10之间偶数的和;求1-10之间奇数的和

#include<stdio.h>
int main(){
    int sum = 0; int sumEve = 0; int sumOdd = 0;
    //求1-10的和
    int i =i;
    while(i <= 10)
    {
        sum += i;
        i++;
    }
    printf("%d\n", sum);
    //求偶数和
    i = 2;
    while(i <= 10)
    {
          sumEve += i;
          i += 2;
    }
    printf("sumEve=%d\n", sumEve);
    //求奇数和
    i = 1;
    while(i <= 10)
    {
          sumOdd += i;
          i += 2;
    }
    printf("sumEve=%d\n", sumOdd);
    
    return 0;
}

例2、找到1-100之间既能被3整除,也能被5整除的数字

#include<stdio.h>
int i = 0;
while(i <= 99)
{
    i++;
    if(i % 15 != 0)
    {
        continue;
    }
    printf("%d\n",i);
}

例3、编写一个密码验证程序,最多输入3次:

#include<stdio.h>
#include<windows.h>
int main()
{
	int count = 3;
	char pass[10];
	while (count != 0)
	{
		printf("请输入你的密码:\n");
		scanf_s("%s",pass);//"123"
		if (  strcmp(pass, "1234") == 0  )
		{
			printf("%s\n","密码相同");
		}
		count--;
		printf("你还有 %d 次机会\n",count);
	}
}

例4:使用二分查找法,找到数组中与key值相等的值

#include<stdio.h>
int main()
{
    int arr[] = {1,2,3,4,5,6,7,8,9};
	int key = 8;
	int len = sizeof(arr) / sizeof(arr[0]);
	int left = 0;
	int right = len - 1;
	while (left <= right)
	{
		int mid = (left + right) / 2;
		if (arr[mid] < key)
		{
			left = mid + 1;
		}
		else if (arr[mid] > key)
		{
			right = mid - 1;
		}
		else
		{
			printf("%d\n", mid);
			break;
		}
	}
	if (left <= right)
	{
		printf("找到了!\n");
	}
	else
	{
		printf("没找到!\n");
	}
}

例5:将数组1的数字按照从两端向中间移动的方法依次赋给数组2。

int main()
{
    char arr1[] = "abcdefg";
    char arr2[] = "*******";
    int len= sizeof(arr1) / sizeof(arr1[0]);
    int len = strlen(arr1);
    int lef = 0;
    int right = len - 1; //字符串最右边含有'\0',需要减掉
    printf("%s\n", arr1);
    while(left <= right)
    {
        Sleep(1000); //暂停1000ms后向下执行
        arr2[left] = arr1[letf];
        arr2[rigth] = arr1[[right];
        left++;
        right--;
        printf("%s\n", arr2);
    }
}

go to 语句

举一个go to语句的例子,go to语句会直接跳转到标记处,编程中尽可能不要使用。

int main()
{

	int a = 10;
nb:
	if (a == 10)
	{
		printf("hehe\n");
	}
	goto nb;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值