首页 > 其他分享 >C语言中的while循环结构

C语言中的while循环结构

时间:2023-07-27 16:36:57浏览次数:32  
标签:语句 10 int C语言 while 循环 printf

C语言中的while循环结构

C语言提供了3中循环语句,while就是其中的一种,接下来就介绍一下while语句。
while语句的语法结构和if语句非常相似。

1.1 if和while的对比

if(表达式)
    语句;

while(表达式)
    语句;//如果循环体想包含更多的语句,可以加上大括号

写代码对比下:

#include <stdio.h>

int main()
{
    if(1)
        printf("北方\n");//if后面条件满足,打印一次北方
    return 0;
}
#include <stdio.h>

int main()
{
    while(1)
        printf("北方\n");//while后面的条件满足,死循环的打印北方
    return 0;
}

这就是他们的区别,while语句是可以实现死循环效果的。

1.2 while语句的执行流程

image
首先上来就是执行判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执行循环语句,语句执行完后再继续判断,是否进行下一次判断。

1.3 while循环的实践

练习:在屏幕上打印1~10的值
参考代码:

#include <stdio.h>

int main()
{
	int count = 0;
	while (count < 10)
	{
		count += 1;
		printf("%d\n", count);
	}
	return 0;
}

1.4 练习

输入一个正的正数,逆序打印这个整数的每一位
例如:
输入:1234 输出:4 3 2 1
输入:521 输出 1 2 5

题目解析

  1. 要想得到n的最低位,可以使用n%10的运算,得到的余数就是最低位,如:1234%10得到4
  2. 要想去掉n的最低位,找出倒数第二位,则使用n%n/10操作可以去掉最低位的,如:n=1234/10得到123,123相较于1234就去掉了最低位,123%10就得到倒数第二位
  3. 循环1和2两个步骤,在n变成0之前,就能得到所有的位。

参考代码:

#include <stdio.h>

int main()
{
	printf("请输入一个正整数:");
	int n = 0;
	scanf("%d", &n);
	while (n)
	{
		printf("%d ", n % 10);
		n /= 10;
	}
	return 0;
}

标签:语句,10,int,C语言,while,循环,printf
From: https://www.cnblogs.com/bjx2020/p/17585286.html

相关文章

  • 16迭代器/for循环本质/异常处理
    常见内置函数(补充)1.help()查看注释信息help(len)2.id()返回一串相当于内存地址的数字print(id('jason'))3.int()类型转换、机制转换4.isinstance()判断数据类型print(type('jason')isstr)#类型判断别扭的很不推荐print(isinstance('jason',str......
  • C语言中enum类型的全面解析,让你彻底掌握!
    一、枚举类型在实际情况中,有一些变量的取值范围是有限的。打个比方,一周只有七天,一年有十二个月,一个班每星期有六门课程等等。将这些变量定义为整型、字符型或其他类型是不合适的。为此,C语言引入了一种称为“枚举”的类型。在“枚举”类型的定义中,列出了所有可能的取值,而该“枚举......
  • C语言中的二进制数、八进制数和十六进制数
    C语言是一门使用数字的编程语言,其中包括了8进制和16进制的数字表示方法。这两种表示方法都可以用于整数和字符类型。8进制表示法8进制数字以数字0(零)和前缀0开头表示。例如,八进制数012表示为十进制的10。以下是一些示例:intx=012;//八进制的12,等价于十进制的10inty=0......
  • for...in 循环和 for...of 循环的区别
    JavaScript中的for...in循环和for...of循环是两种不同的迭代方式,用于遍历数据结构中的元素。它们具有一些区别:for...in循环:用于遍历对象的可枚举属性(包括原型链上的属性)。迭代的是键(属性名),而非值。不保证迭代顺序,因为对象的属性顺序在规范中并未定义。比较适合用于遍......
  • C语言中的关系操作符
    C语言中的关系操作符C语言用于比较的表达式,称为关系表达式(relationalexpression),里面使用的运算符就称为"关系运算符"(relationaloperator),主要有下面6个。>大于运算符>=大于等于运算符<小于运算符<=小于等于运算符==相等运算符!=不相等运算符下面是一些例子。a==b;......
  • C语言中的逻辑操作符
    C语言中的逻辑操作符逻辑操作符提供逻辑判断功能,用于构建更复杂的表达式,主要有下面三个运算符。!:逻辑取反运算符(改变单个表达式的真假)。&&:与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)。||:或运算符,就是或者的意思(两侧至少有一个表达式为真,则为真,否则为假)。注:C......
  • C语言基础
    主函数1.1main函数main函数参数一共有三个:1.intargc整型变量2.char*argv[]字符指针的数组,通俗一点就是字符串数组,每个元素都是字符串3.char*envp[]字符串数组intmain(void)//无参数形式{return0;}intmain(intargc,char*argv[])//带形式参数{return0;}C语言程......
  • c语言学习9
    一、字符串字符:人能看得懂的符号或图案,在内存中以整数形式存储,根据ASCII码表中的对应关系显示出相应的符号或图案'\0'0空字符'0'48'A'65'a'97串:是一种数据结构,存储类型相同的若干个数据对于串型结构的处理是批量性的,会从头开始直到遇到结束标志......
  • 基于C语言的P2P软件实现
    完整资料进入【数字空间】查看——搜索"writebug"摘要Peer-to-Peer网络毫无疑问是当今的热点技术主题。Napster和Gnutella的广泛使用证明了peer-to-peer应用的强大潜力。P2P(或者说peer-to-peer)网络是一种基于操作上下文的网络模型,任何一个节点都同时作为客户机和服务器。J......
  • Java中代码Bug记录--泛型失效、数组删除、HashMap死循环
    最近在工作的过程中,遇到了不少奇怪自己或者同事的Bug,都是一些出乎意料的,不太容易发现的,记录一下来帮助可能也遇到了这些Bug的人1.编译时泛型校验失效Map<String,String>nameToType=newHashMap<>();nameToType.put("testName",123);//java:不兼容的类型:int无法转......