【C语言基础考研向】08判断语句与循环语句

这篇具有很好参考价值的文章主要介绍了【C语言基础考研向】08判断语句与循环语句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.关系表达式与逻辑表达式

算术运算符的优先级高于关系运算符、关系运算符的优先级高于逻辑与和逻辑或运算符、相同优先级的运算符从左至右进行结合等,那么表达式5>3&&8<4-!0的最终值是多少?其计算过程如下图所示。
【C语言基础考研向】08判断语句与循环语句,C语言,c语言,考研


2.if-else语句

引入:在你打开衣柜拿出最上面的一件衣服时,你会判断这件衣服是不是你想穿的.如果是,那么你就会穿上;如果不是,那么你就会去找其他衣服.在计算机中,我们用 if判断语句来实现这样的效果: if判断条件(表达式)为真,就执行某个语句,反之不执行这个语句.当然,也可以if 判断条件(表达式)为真,就执行某个语句,反之用else分支执行另一个语句.

当输入值大于0时,打印“i is bigger than 0”,当输入值小于等于0时,打印 "i is not biggerthan 0”,具体代码如下例所示.注意,在这个例子中,if 后面不能加分号,因为如果有else分支语句,那么加分号会导致编译不通过;如果没有else分支语句,那么加分号会导致i无论取何值,都会打印“ i is bigger than o” .

【例】判断输入值是否大于0

#include <stdio.h>
int main() {
int i;
while (scanf("%d",&i)){
if (i > 0)//不要在括号后加分号
{
printf("i is bigger than O\n");
} else {
printf("i is not bigger than O\n");
}
}
return O;

if语句和else 语句也可以多个同时使用(多分支语句),但是,无论有多少个if语句或else if语句,程序都只会执行其中的一个语句.下面是一个关于用电量的例子:用电量越高,电的单价越高,但最终cost只会被赋值一次.同时, if 语句也支持多层嵌套,在if 语句中又包含一个或多个if语句称为if 语句的嵌套.

if (number>500)cost=0.15;
else if(number>300)cost=0.10;
else if(number>100)cost=0.075;
else if(number>50)cost=0.05;
else cost=O;

使用if嵌套语句时,要考虑“悬空的else”问题.例如,在下面的例子中, else子句从斥于哪个if语句?

if(i>1)
	if(i<10)
		printf("i>1 and i<10in");
else
		printf("no,they are notin");

和其他绝大多数语言一样,C语言中的else子句从属于最靠近它的不完整的if语句.上.例中的else子句从属于第二个if语句,如果想让它从属于第一个if 语句,那么可以用一个花括号把第二个if 语句包含在一个单独的代码块内,如下所示.

if(1>1){
if(i<10)
printf("i>1 and i<10in");
)
else
printf( "no,they are notin");

在f语句中的语句列表前后加上花括号,可以防止不小心加了一句代码后,使实际未被包含的语句被包含在某个if语句中的错误.


3.while循环

引入:while 语句用来实现“当型”循环结构,其一般形式为“while(表达式)语句;”,当表达式的值非0时,执行while 语句中的内嵌语句.其特点是:先判断表达式,后执行语句.当表达式的值非0时,就会执行语句,从而实现语句多次执行的效果.为了避免程序进入死循环(不停地进行循环操作)﹐在语句中需要有让表达式趋近于假的操作来使程序跳出循环.

下面是用while 语句计算1到100之间所有整数之和的例子,如下例所示.注意, while后面不能加分号,否则虽然编译可以通过,但是执行程序时会发生死循环.通常我们会将while语句用花括号括起来,就算while 语句只有一句,也会用花括号括起来,这么做是因为一个程序往往会经过多次修改,使用花括号可以让程序更加清晰,避免向循环内添加语句时出错.

#include <stdio.h>
int main(){
int i=1,total=O;
while(i<=100)//不能在while后面加分号
{
	total+=i;
	i++;//循环内要有使循环趋近丁假的操作
}
	printf("%d\n",total);
	return 0;
}


4.for循环

C语言中的for循环语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while循环语句。其一般形式为

for(表达式1;表达式2;表达式3)语句;

for循环语句的执行过程如下,具体流程如下图所示.
(1)先求解表达式1.
(2)求解表达式2,若其值为真(值为非O) ,则先执行for语句中指定的内嵌语句,后执行第(3)步.若其值为假(值为O),则结束循环,转到第(5)步.
(3)求解表达式3.
(4)转回第(2)步继续执行.
(5)循环结束,执行for语句下面的语句.
【C语言基础考研向】08判断语句与循环语句,C语言,c语言,考研
下面来看一个使用for循环语句计算1到100之间的所有整数之和的例子, for循环语句中必须且只能有两个分号,用于分割表达式1、表达式2和表达式3.表达式1、表达式2、表达式3也可省略,省略写法用得较少.如下例所示,“i=1,total=0”是表达式1,即表达式1可以使用逗号初始化多个变量,表达式3的作用是使表达式2趋近于假.

【例】for循环语句实现计算1到100之间的所有整数之和

int main() {
	int i,total;
	for(i=1,total=O;i<=100;i++)//在for加分号不会死循环,会结果不对
	{
		total+=i;
	}
	printf("%d\n",total);return 0;
}

for循环的可读性要比 while 循环的好,所以能使用for循环时不要强制改为while循环.


5.continue语句

continue 语句的作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行是否执行下一次循环的判断.其一般形式为

continue

下面来看一个对1到100之间的奇数进行求和的例子,如下例所示.这个例子是对上一节中的for循环的改写,执行“continue;”语句后,执行的语句是“i++;”.当continue用于 while和do while 循环中时,注意不要跳过让循环趋近于假的语句.


【例】对1到100之间的奇数进行求和

#include cstdlo.h>
int main() {
int i,total;total=O;
for(i=1;i<=100;i++)//在for加分号不会死循环,会结果不对
{
	if(i%2==O)
	{
		continue;
	}
	total+=i;
}
	printf("%d\n";,total);
	return o;
}


5.break语句

break语句的作用是结束整个循环过程,不再判断执行循环的条件是否成立.下例是关于break语句的例子,例子从1开始累加,当累加的和大于2000时,结束 for循环,同时打印此时total的值和i 的值.一旦执行break 语句,下一句要执行的就是“printf(“total=%d,i=%d\n” ,total,i);”. break语句也可用在while 循环和do while 循环中,起结束对应循环的作用.
【例】break 语句实例文章来源地址https://www.toymoban.com/news/detail-815561.html

#include <stdio.h>
lnt main(){
int i,total;
total=O;
for(i=1;i<=100;i++)//在for加分号不会死循环,会结果不对
{
	if(total>2000)
	{
		break
	}
	total+=i;
}
printf("total=%d,I=%d\n",total,i);
return 0;
}

到了这里,关于【C语言基础考研向】08判断语句与循环语句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 滴水逆向三期笔记与作业——02C语言——05 正向基础/05 循环语句

    原理:arr[5]是ebp的位置,而arr[6]是ebp+0x4的位置,即函数的返回地址,赋值给arr[6]相当于是修改了eip寄存器。 反汇编:i等于7时,修改了rbp+0x1c-0x20即rbp-0x4位置的值,将其置为0,而该位置为i的值,所以每一轮for过后将i重新置0,就造成了不停的循环。 声明一个变量就是告诉计

    2024年02月15日
    浏览(57)
  • 【C语言基础考研向】02 数据类型-常量-变量

    文章目录: 一.数据类型 二.常量 三.变量 四. 整型数据 五.浮点型数据 六.字符型数据 七.字符串常量 数据类型分为四大类: 基本类型 整型 浮点 字符型 构造类型 数组 结构体 指针类型 空类型 常量是指在程序运行过程中,其值不发生变化的量。常量又可分为整型、实型(也称浮

    2024年01月16日
    浏览(52)
  • 【C语言基础考研向】05 scanf读取标准输入超详解

    文章目录 一.scanf函数的原理 样例 问题原因 解决方法 二.多种数据类型混合输入 错误样例 正确样例   C语言未提供输入/输出,其输入和输出是通过标准函数库来实现的。C语言通过scanf函数读取键盘输入, 键盘输入又被称为标准输入 。当scanf函数读取标准输入时,如

    2024年01月22日
    浏览(47)
  • 考研C语言刷题基础篇之数组(一)

    目录 第一题:用数组作为参数实现冒泡排序 不用函数的冒泡排序 冒泡排序原理: 错误的数值传参冒泡排序 错误的原因  就是什么是数组名 正确的数组传参的冒泡排序  数组的地址和数组首元素的地址的区别  冒泡排序原理: 一共经过n-1次排序:相邻之间两两作比较。交换

    2024年01月25日
    浏览(44)
  • 【Java基础学习打卡08】Java语言跨平台原理

    Java语言编程的一大优势便是跨平台,本文将介绍Java语言是如何实现跨平台的。 计算机高级语言按照程序的执行方式可以分为 编译型语言 和 解释型语言 。 编译型语言: 编写的程序源代码需要通过编译器生成机器语言目标文件,在计算机上直接执行目标文件。编译型语言的

    2024年02月09日
    浏览(42)
  • VHDL语言基础-基本语句

    目录 VHDL基本语句: 并行语句: 并行语句常包括以下七种: 赋值语句: 使用格式: 条件赋值语句: 使用格式: 选择信号赋值语句: 使用格式: 进程语句: 使用格式: Example:D触发器: 进程语句的特点: 元件例化语句: 元件例化语句——Example:4输入与门 生成语句:

    2023年04月25日
    浏览(43)
  • C语言基础——循环结构

    C语言的基本结构之一。在程序中有连续执行的操作可以用循环结构,简化函数,C语言中有三种循环结构,for循环,while循环,do-while循环,其中for循环最常用。 循环执行是循环结构的核心,表现为反复执行一个或一组操作。在编程中,如果想要从数据处理中发现循环执行,就

    2024年02月05日
    浏览(53)
  • Go语言基础-if语句

      原文链接:  https://www.fearlazy.com/index.php/post/288.html   在目前接触的几种语言中条件语句都是必不可少的。很难想象没有条件语句要怎么写程序。   1.if语句 Go语言的条件语句和C++的很像,使用if。 其格式如下: if 表达式为true {    执行语句 } 和C++的区别是条件表达式

    2023年04月08日
    浏览(66)
  • 【C语言基础考研向】10 字符数组初始化及传递和scanf 读取字符串

    字符数组的定义方法与前面介绍的一维数组类似.例如, 字符数组的初始化可以采用以下方式. (1)对每个字符单独赋值进行初始化.例如, (2)对整个数组进行初始化.例如, 但工作中一般不用以上两种初始化方式,因为字符数组一般用来存取字符串.通常采用的初始化方式是

    2024年01月25日
    浏览(56)
  • 【C语言基础考研向】11 gets函数与puts函数及str系列字符串操作函数

    gets函数类似于scanf函数,用于读取标准输入.前面我们已经知道scanf函数在读取字符串时遇到空格就认为读取结束,所以当输入的字符串存在空格时,我们需要使用gets 函数进行读取. gets函数的格式如下: gets函数从STDIN (标准输入)读取字符并把它们加载到str(字符串)中,直到遇

    2024年01月22日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包