首页 > 其他分享 >【C语言二级考试】循环结构设计

【C语言二级考试】循环结构设计

时间:2024-09-19 22:55:41浏览次数:3  
标签:语句 do 循环体 C语言 while 循环 结构设计 执行 考试

C语言二级考试——循环结构程序设计

五.循环结构程序设计

1.for循环结构

2.while和do-while循环结构

3.continue语句和break语句

4.循环的嵌套

知识点参考【C语言】循环-CSDN博客

文章目录

1.for循环

第三套16题(易错)

在这里插入图片描述

该程序包含一个名为fun的函数,该函数接收两个整型变量a和b,并在一个for循环中根据a和b指向的值的大小以及getchar( )读取的字符是否为’@'来决定循环是否继续执行。在循环体内,a指向的值自增1,b指向的值自减1.具体循环结构如下:

  1. 第一次循环:初始状态:*a=0,*b=5。判断0<5为真,进入循环体,*a变为1,*b变为4
  2. 第二次循环:*a=1,*b=4。判断1<4为真,进入循环体,*a变为2,*b变为3
  3. 第三次循环:*a=2,*b=3。判断2<3为真,进入循环体,*a变为3,*b变为2
  4. 第四次循环:*a=3,*b=2。判断3<2为假,执行getchar( )读取字符’a’,继续循环,*a变为4,*b变为1
  5. 第五次循环:*a=4,*b=1。判断4<1为假,执行getchar( )读取字符’b’,继续循环,*a变为5,*b变为0
  6. 第四次循环:*a=5,*b=0。判断5<0为假,执行getchar( )读取字符’@',循环结束

最终i的值为5,j的值为0.选C。

2.while和do-while循环结构

第一套32题

在这里插入图片描述

本题考查点是while循环体

  • 对于while(条件表达式)循环体,我们是先判断,若满足条件表达式则执行循环体,若不满足则退出循环。当遇到不满足条件时,我们执行了条件表达式,并没有执行循环体。

    //while先判断后执行
    while(condition){
        statement(s);
    }
    //do while先执行一次再判断
    do{
        statement(s);
    }while(condition);
    

    故while条件表达式的执行次数总是比循环体的执行次数多一次。故本题答案为A

第一套39题(易错)

在这里插入图片描述

本题考查的是do 循环体while

  • 该循环先执行循环体内容,然后执行条件表达式,所以条件表达式的执行次数与循环体的执行次数一样。

故本题答案为D。

第二套12题

在这里插入图片描述

考查点同上。

第一个循环中:do执行n次,while条件表达式执行n次,循环体执行n-1次

第二个循环中:while条件表达式执行n次,do执行n-1次,循环体执行n-1次

第三套11题

在这里插入图片描述

本题考查for循环计算

选B。

3.continue语句和break语句

第三套13题

在这里插入图片描述

本题考查break语句continue语句

  • break语句,终止循环或switch语句,程序流将继续执行紧接着循环或switch的下一条语句。
  • continue语句,告诉一个循环立刻停止本次循环迭代,重新开始下次循环迭代。

4.循环的嵌套

第三套15题(易错)

在这里插入图片描述

本题考查的是while和for嵌套循环continue,break语句

分析:

  1. while的第一次循环:j的初始值为0,j<3成立,进入while循环。自增1后,j==1为真,执行continue语句,结束当次循环,进入下次循环
  2. while的第二次循环:j=1,j<3成立,进入while循环体。自增1后,j==1为假,执行for循环语句:
    1. for第一次循环:i=0时,a=a*10+i=0,i<1成立,b=a=0;
    2. for第二次循环:i=1时,a=a*10+i=1;
    3. for第三次循环:i=2时,i>1成立,执行break语句,跳出for循环
  3. while的第三次循环:j=2,j<3成立,进入while循环体。自增1后,j==1为假,再次执行for循环语句:
    1. for第一次循环:i=0时,a=a*10+i=10,i<1成立,b=a=10;
    2. for第二次循环:i=1时,a=a*10+i=101;
    3. for第三次循环:i=2时,i>1成立,执行break语句,跳出for循环
  4. while的第四次循环:j=3,j<3不成立,不执行while循环

最后输出a,b的值分别为101和10。

第三套17题(理解)

在这里插入图片描述

本题考查二维数组的遍历嵌套循环

  • 函数fun的功能:

    fun函数接收一个整型指针参数b,并将b指向的元素值与b之后第3个元素的值进行交换

  • 主函数main的功能:

    1. 声明并初始化一个长度为6的整型数组a,其初始值为{1,2,3,4,5,6}。
    2. 使用do…while循环调用fun函数,分别将a的第0,1,2个元素与第3,4,5个元素交换。

分析:do…while循环执行3次,分别是i=0,i=1,i=2,每次将a+i的值传给fun函数,将a+i指向的元素与a+i后第三个元素的值进行交换,a[2]与a[5]交换。执行完do…while循环后,数组a中的元素依次是:4,5,6,1,2,3.选B

第三套18题(易错)

在这里插入图片描述

同上。

  • 外层循环for(i=0;i<4;i+=2)表示i从0开始,每次增加2,直到i小于4为止,即i的取值为0和2.
  • 内层循环for(j=1;i+j<5;j++;j++)表示j从1开始,每次增加2,直到i+j小于5为止。

故答案为D

第三套19题

在这里插入图片描述

同上。选A

第三套20题

在这里插入图片描述

本题考查无限循环

  • 如果条件永远不为假,则循环将变成无限循环。当条件表达式不存在时,它被假设为真。

选A

标签:语句,do,循环体,C语言,while,循环,结构设计,执行,考试
From: https://blog.csdn.net/2301_79279099/article/details/142371480

相关文章

  • C语言程序设计(进阶)
    肆意张扬的我们都不会是烂尾的诗集。2.整型在内存中的存储我们之前讲过一个变量的创建是要在内存中开辟空间的。空间的大小是根据不同类型而决定的。2.1原码、反码、补码数值有不同的表现形式:2进制、8进制、10进制、16进制其中整数的2进制表示也有三种形式:原码、反码、......
  • C语言程序设计(进阶)
    行到水穷处,坐看云起时。中秋快乐呀!数据在内存中的存储1.数据类型的介绍(1)基本的内置类型:·char       //字符数据类型·short     //短整型·int        //整型·long       //长整型·longlong  //更长的整......
  • c语言 宏的一些深层应用(##,#,宏函数)
    "##"宏拼接#defineCONCATENATE(a,b)a##bCONCATENATE(student_,1) //将a和b拼接起来变成一个新的变量->student_1#defineCONS(a,b)int(a##e##b)CONS(2,3) //将aeb拼接起来->2e3==2000"#"转换为字符串#defineCONCATENATE(a,b)a##b#defineSTR......
  • 【C语言】联合体&&枚举的讲解
    目录✨声明!!!:联合体与结构体只有一个区别,那就是内存存储方式不同......
  • C语言指针进阶笔试题(含解析)
    笔试题1:intmain(){ inta[5]={1,2,3,4,5}; int*ptr=(int*)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); return0;} 解析:*(a+1),a是首元素的地址,加1之后就是第二个元素的地址,解引用就是2。ptr是&a+1,取出的是整个数组的地址,加1跳过整个数组:强转为int......
  • c语言学习---指针
    1.计算机内存划分为一个个内存单元,每个内存单元占1字节,而每个内存单元都有一个特点的编号,称为地址,也称为指针,通过指针可以找到对应的内存单元并调用内存单元内存放的数据.2.指针变量:存放指针的变量称为指针变量,表示形式如下:指向数据类型*变量名,通过*(解引用操作符)操作指针变......
  • c语言学习---操作符
    1.算术操作符:+ -  *  /  %,加减乘与数学上的算法相同,但 / 在运算两个整型数据时,算的是整数除法,不会四舍五入,只取整数部分,要算小数运算两个操作数至少要有一个浮点型数据.2.%(整型取模操作符)算的是两个整型操作符的余数,浮点数不能计算.3.单双目操作符:定义操作......
  • Oracle 19c OCP 认证考试 082 题库(第23题)- 2024年修正版
    【优技教育】Oracle19cOCP082题库(Q23题)-2024年修正版考试科目:1Z0-082考试题量:90通过分数:60%考试时间:150min本文为(CUUG原创)整理并解析,转发请注明出处,禁止抄袭及未经注明出处的转载。原文地址:http://www.cuug.com/index.php?s=/home/article/detail/id/3407.html第......
  • 宝塔Linux面板搭建开源考试系统phpems
    一、安装宝塔linux面板1、宝塔linux面板官网:https://baota.yingxunszcm.cn/2、安装宝塔linux面板,使用万能安装脚本if[-f/usr/bin/curl];thencurl-sSOdownload.cnnbt.net/install_panel.sh;elsewget-Oinstall_panel.shdownload.cnnbt.net/install_panel.sh;fi;bash......
  • 备战软考01——软设考试介绍
    一、什么是软考?软考的全称是:计算机技术与软件专业技术资格(水平)考试。学计算机专业的多少应该都听说过。称呼上说是职业资格水平考试,但其实也能当做职称去用,不少人也是奔着这个去考的。二、软考的含金量1、评中/高级职称。考软考证书还有一大群体就是计算机行业在职工作者,为了职称......