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

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(条件表达式)循环体,我们是先判断,若满足条件表达式则执行循环体,若不满足则退出循环。当遇到不满足条件时,我们执行了条件表达式,并没有执行循环体。

    c 复制代码
    //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后第三个元素的值进行交换,a2与a5交换。执行完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

相关推荐
水饺编程4 分钟前
第1章,[Win32 章节]:编程环境与 MSDN
c语言·c++·windows·visual studio
zjxtxdy6 分钟前
R语言数据统计入门
开发语言·r语言
安卓机器9 分钟前
rom定制系列------小米8 安卓16线刷原生固件 体验新版本
android·小米8安卓16
cyy29813 分钟前
小米电视安装tts引擎
android·tv
汤姆yu13 分钟前
基于springboot+vue的企业OA办公系统
java·spring boot·后端·oa办公
南归北隐18 分钟前
Spring AI Alibaba Graph框架实现RAG私有知识库问答
java·后端·spring·spring ai·java rag实现
小锋学长生活大爆炸19 分钟前
【工具】在 Android 手机上运行 Docker
android·docker·智能手机
cleble19 分钟前
怎么用用 PowerShell 下载文件
开发语言·php
w2sfot27 分钟前
AI时代,JS加密还有效吗?
开发语言·前端·javascript
Carson带你学Android29 分钟前
OpenAI Dots 登陆手机端:手机上派任务,AI 在云端写代码
android·ios