C语言(循环)单元练习

一、单项选择题   

1、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是__A____。

A. if((a>b)&&(b>c)) k=1;      B. if((a>b)||(b>c))  k=1

     else  k=0;                     else  k=0;

C. if(a<=b)  k=0;            D. if(a>b)  k=1;

    else if(b<=c)  k=1;               else  if(b>c)  k=1;

                                        else k=0;

2、C语言的do_while循环中,循环由do开始,用while结束;而且在while表达式后面的___B___不能丢,它表示do_while循环的结束。

  A. \n            B. “;”           C. “%”          D.  “,”

3、执行程序段: x=-1; do { x=x*x;} while(!x); 的结果是__C____。

A. 死循环                      B. 循环执行2次    

C. 循环执行一次                D. 有语法错误

4、下面程序段的输出结果是__D____。

int i,sum;

  for(i=1;i<=10;i++)sum+=sum;

  printf("%d\n",i);

A. 10             B. 9          C. 15                 D.不确定

5、以下叙述正确的是___C___。

A. for循环中设置for(条件)break,当条件成立时中止程序执行。

B. for循环中设置for(条件)continue,当条件成立时中止本层循环。

C. for循环中设置for(条件)break,当条件成立时中止本层循环。

D. for循环中设置for(条件)break,当条件成立时暂停本次循环。

6、下面有关for循环的正确描述是__D____。

A. for循环只能用于循环次数已经确定的情况。

B. for循环是先执行循环体语句,后判断表达式。

C. 在for循环中,不能用break语句跳出循环体。

D. for循环的循环体语句中,可以包含多条语句。

7、以下能正确计算1×2×3×4...×10的程序段是__C____。

A. do {i=1; s=1; s=s*i; i++; } while(i<=10);

B. do {i=1; s=0; s=s*i; i++; } while(i<=10);

C. i=1; s=1; do {s=s*i; i++; } while(i<=10);

D. i=1; s=0; do {s=s*i; i++; } while(i<=10);

8、有以下程序        B

  #include <stdio.h>

  void main()

  {   int  a=5,b=4,c=3,d=2;

      if (a>b>c)   printf("%d\n", d);

      else  if ( (c-1>=d) ==1)   printf("%d\n", d+1);

           else  printf("%d\n", d+2);   

}

执行后输出结果是__B____。

A. 2             B. 3           

C. 4               D. 编译时有错,无结果

9、以下程序段的输出结果是__D____。

int x,i;

for (i=1;i<=100;i++)

{ x=i; if (++x%2==0) if (++x%3==0) if (++x%7==0) printf("%d ",x); }

A. 39 81         B. 42 84         C. 26 68          D. 28 70

10、设有程序段: int k=10; while(k=0) k=k-1; ,则下面描述正确的是___C___。

A. while 循环执行10次          B.循环是无限循环

C. 循环体语句一次也不执行      D.循环体语句执行一次

11、有以下程序:

#include<stdio.h>

void main()  {  while(putchar(getchar())!='?'); }

当输入"china?"时,程序的执行结果是_D_____。

A. china        B. dijob          C. dijob?         D. china?

12、下面程序的运行结果是_B_____。

#include<stdio.h>

void main()

  {  int i,j,x=0;

for(i=0;i<2;i++)

{ x++; for(j=0;j<=3;j++) { if(j%2) continue; x++; } x++; }

     printf("x=%d\n",x);   }

A. x=4           B. x=8         C. x=6            D. x=12

13、若有条件表达式(expression) ?a++:b--,则以下表达式中能完全等价于表达式(expression)的是___B___。

A. (expression==0)     B. (expression!=0)         

C. (expression==1)     D. (expression!=1)         

14、下面循环的循环次数是___D___。

int x=3; while(x=0){printf("%d\n",x); x--;}

A. 3次           B. 2次        C. 1次          D. 0次

15、设i为整型量,执行循环语句for(i=500;i>=0;i-=100);后,i值为___D___。

  A. 500         B. 0             C. 100          D. -100

16、以下_B_____为不正确的if语句。

A. if(x<y);

B. if(x!=y) scanf("%d",&x) else scanf("%d",&y);

C. if(x==y) x+=y;

D. if(x<y) {x++;y++;}

17、下面程序段运行结果是_A_____。

  int i,j,a=0;  

for(i=0;i<2;i++)

{ for(j=0;j<4;j++){if (j%2) break; a++; } a++; } printf("%d\n",a);

  A. 4             B. 5           C. 6               D. 7

18、下面程序段的输出结果是___A___。

int i,j,k;

  for(i=2;i<6;i++,i++)

  { k=1;   for(j=i;j<6;j++)  k+=j;}

   printf("%d\n",k);

A. 10             B. 9 C. 8             D. 11

19、循环语句for(i=0,x=0;!x&&i<=5;i++);的执行次数为__B____。

A. 5次           B. 6次        C. 1次            D. 无限

20、以下描述正确的是__C____。

A. goto语句只能用于退出多层循环

B. switch语句中不能出现continue语句

C. 只能用continue语句来终止本次循环

D. 在循环中break语句不能独立出现

21、对于for(表达式;;表达式3)可理解为___B___。

A. for(表达式;0;表达式3)

B. for(表达式;1;表达式3)

C. for(表达式;表达式1;表达式3)

D. for(表达式;表达式3;表达式3)

22、以下不正确的描述是__B____。

A. break 语句不能用于循环语句和switch语句外的任何其他语句

  B. 在switch语句中使用break语句或continue语句的作用相同

C. 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行

D. 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环

23、下面程序段的输出结果是__D____。

int x=3;

  do{printf("%3d",x-=2);} while(!(--x));

  A. 1 2            B. 3 2            C. 2 3           D. 1 -2

24、请阅读以下程序:

#include <stdio.h>

void main ()

{ char c;   c=getchar();   

  if ((c>='A'&&c<='Z')||(c>='a'&&c<='z'))

   printf("input character is letter\n");

  else if (c>='0'&&c<='9')

  printf("input character is digit\n");

  else

  printf("other character\n");

}

若运行时输入大写字母A,则上面程序的输出结果是__A____。

   A. input character is letter

   B. input character is digit

   C. other character;}

   D. A

25、有如下语句 int x=3; do { printf("%d\n",x-=2);} while(!(--x)); 则上面程序段___B___。

A. 输出的是1                  B. 输出的是1和-2

C. 输出的是3和0              D. 是死循环

二、判断题

1、C语言的循环语句for,while,do_while中,其中用于直接中断最内层循环的语句是break。T

2、for循环语句比while循环语句功能更强,凡是用while循环能完成的,用for循环都能实 现。T

3、while循环和do-while循环的while()后一定要有一个分号。F

4、if语句后面的表达式并不限于是关系表达式或逻辑表达式,而可以是任意表达式。if语         句中可以再嵌套if语句。T

5、一个if语句中可以嵌套一个switch语句。T

6、若a、b均为int型变量,且a=100,则以下的for循环是死循环.

    for (b=100;a!=b;++a,b++) printf("----\n"); 。F

7、if (x=y)&&(x!=0) x+=y; 语句语法是错误的。T

8、for(i=0,j=10;i<=j;i++,j--) k=i+j;执行完后,k的值为50。F

9、以下程序段的输出结果是987。

   int n=10; while (n>7) { n--;printf("%d ",n);}T

10、if(a=5) 语句;if(b) 语句;都是非法的。F

11、for循环可以在表达式3中包含使循环趋于结束的操作,但必须是一条表达式语句。F

12、while语句do-while语句无论什么情况下,二者的执行结果都一样。F

13、一个if语句中可以嵌套另一个if语句。T

14、if (x>y) 语句语法是正确的。F

15、要使for(表达式1;表达式2;表达式3){循环体}不形成死循环,表达式2一定不能为空。

F

三、填空题

1、鸡兔共有30只,脚共有90个,下面程序是计算鸡兔各有多少只。

#include<stdio.h>

void main()

{  int x,y;

for(x=1;x<=29;x++)

{  y=30-x; if (___________)printf("%d,%d\n",x,y); } }       1 x*2+y*4==90

2、下面程序的功能是从键盘输入的一组字符中分别统计出大写和小写字母的个数,当输入换行符时结束输入。

#include<stdio.h>

void main()

{  int m=0,n=0; char c;

    while ( (___________)!='\n')

{  if (c>='A' && c<='Z') m++;

 if (c>='a' && c<='z') n++; }

    printf("m=%d,n=%d\n",m,n);}                         1 c=getchar()

3、以下程序输出结果为___________。

#include<stdio.h>

void main()

{ int x,y;

   for(x=30,y=0;x>=10,y<20;x--,y++)  x/=2,y+=2;

   printf("x=%d,y=%d\n",x,y);}                          x=-1,y=21

4、下面程序使循环结束的条件是___________。

#include<stdio.h>

void main()

{ int k;

   for(k=250;i;i-=5);

   printf("%d\n",i);  }                                i=0

5、若从键盘输入68,则以下程序输出的结果是___________。

  #include<stdio. h>

void main()

  {  int  a;    scanf("%d",&a);

     if(a>50)  printf("%d",a);

     if(a>40)  printf("%d",a);

     if(a>30)  printf("%d",a);   }                       686868

6、#include <stdio.h>

void main()

{int p, a=5;

 if (p=a != 0 )   printf("%d\n", p);

 else   printf("%d\n", p+2);   }执行后输出结果是___________。  1

7、#include<stdio.h>

void main()

{ char ch;

    while((ch=getchar( ))!='\n')

{ if(ch>='A' && ch<='Z') ch=ch+32;

else if(ch>='a'&&ch<'z') ch=ch-32;

          printf("%c",ch);}

printf("\n"); }                             abcDEF

8、下面程序的运行结果是___________。

#include<stdio.h>

void main()

{ int i;

   for(i=100;i>=0;i-=10);

   printf("%d\n",i);  }                                 -10

9、以下程序运行后的输出结果是___________。

#include <stdio.h>

void main( )

 { int a=2, b=1, c=2;

   if  (a)  

      if ( b<0 ) c=0;

      else  c++ ;

   printf("%d\n",c);

  }                                             3

10、下面程序的运行结果是___________。

#include<stdio.h>

void main()

{ int a,i;

for( a=1,i=-1;-1<=i<1;i++) { a++; printf("%2d",a); }

printf("%2d",i);}                              -1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/744359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年1月粮油调味行业分析(TOP品牌/店铺/商品销售数据分析)

鲸参谋监测的某东1月份粮油调味市场销售数据已出炉&#xff01; 根据鲸参谋电商数据分析平台显示&#xff0c;今年1月份&#xff0c;某东平台上粮油调味品的销量约6200万件&#xff0c;环比上个月增长45%&#xff0c;同比去年下滑15%&#xff1b;销售额约25亿元&#xff0c;环…

Android 监听卫星导航系统状态及卫星测量数据变化

源码 package com.android.circlescalebar;import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import android.Manifest; import android.conte…

后渗透--利用ebpf隐藏后门用户

原理 首先我们要搞清楚ssh登陆的流程 先获取到ssh的pid 然后利用strace strace -f -p 830可以看到他打开了/etc/passwd去读取内容 那么我们的思路就很简单&#xff0c;hook ssh进程的read syscall exit,然后篡改返回内容 代码 ebpf // build ignore#include "my…

LeetCode2115. 从给定原材料中找到所有可以做出的菜

拓扑排序 题面 题目链接&#xff1a;2115. 从给定原材料中找到所有可以做出的菜 - 力扣&#xff08;LeetCode&#xff09; 你有 n 道不同菜的信息。给你一个字符串数组 recipes 和一个二维字符串数组 ingredients 。第 i 道菜的名字为 recipes[i] &#xff0c;如果你有它 所有…

Linux Centos7 服务器局域网集群使用 NTP 同步时间

服务器环境&#xff1a;Centos7 IP域名192.168.1.101node1192.168.1.102node2192.168.1.103node3 下载 ntp 依赖包 包名驱动网站下载百度云下载autogen-liboptsautogen-libopts-5.18-5.el7.x86_64.rpm提取码&#xff1a;1234 autogen-libopts-5.18-5.el7.x86_64.rpmntpdatentpd…

html5cssjs代码 018颜色表

html5&css&js代码 018颜色表 一、代码二、效果三、解释 这段代码展示了一个基本的颜色表&#xff0c;方便参考使用&#xff0c;同时也应用了各种样式应用方式。 一、代码 <!DOCTYPE html> <html lang"zh-cn"> <head><title>编程笔记…

速卖通安全测评补单技术提升运营安全性

对于一个新品来说&#xff0c;最大的问题就是评论。没有评论&#xff0c;你的广告就不能打的很靠前&#xff0c;那样你的转化率就会非常低&#xff0c;数据也很差。新品运气不好的来两个一星差评&#xff0c;链接可能就此废掉&#xff0c;做不上去了。所以虽然平台管的非常的严…

智能工厂核心功能系统-MES生产管理系统

MES在未来智能制造中扮演着至关重要的角色&#xff0c;通过其在生产管理中的应用&#xff0c;将帮助企业实现智能化转型&#xff0c;提升生产效率和产品质量&#xff0c;推动整个制造业向着更加智能、高效、可持续的方向发展。 通过对MES在未来智能制造发展趋势中的地位进行深…

分布式系统互斥性与幂等性问题的分析解决

前言 随着互联网信息技术的飞速发展&#xff0c;数据量不断增大&#xff0c;业务逻辑也日趋复杂&#xff0c;对系统的高并发访问、海量数据处理的场景也越来越多。 如何用较低成本实现系统的高可用、易伸缩、可扩展等目标就显得越发重要。为了解决这一系列问题&#xff0c;系…

Redis持久化和集群

redis持久化 RDB方式 Redis Database Backup file (redis数据备份文件), 也被叫做redis数据快照. 简单来说就是把内存中的所有数据记录到磁盘中. 快照文件称为RDB文件, 默认是保存在当前运行目录. [rootcentos-zyw ~]# docker exec -it redis redis-cli 127.0.0.1:6379> sav…

一个八年工作经验老程序员的分享

作为一个 Java 程序员&#xff0c;我在这个行业中工作了多年。在这个过程中&#xff0c;我经历了许多挑战和机遇&#xff0c;也学到了很多宝贵的经验和教训。在这篇文章中&#xff0c;我想分享一些我的感想和思考&#xff0c;希望能够对其他 Java 程序员有所帮助。 一、技术的…

Go语言简介

一.Go语言简介 1.1 优点 自带gc静态编译&#xff0c;编译好后&#xff0c;扔服务器直接运行简单思想&#xff0c;没有继承&#xff0c;多态和类等丰富的库和详细开发文档语法层支持并发&#xff0c;和拥有同步并发的channel类型&#xff0c;使并发开发变得非常方便简洁语法&am…

JAVA 服务可观测性最佳实践

前言 本次实践主要是介绍 Java 服务通过无侵入的方式接入观测云进行全面的可观测。 环境信息 系统环境&#xff1a;Ubuntu&#xff08;主机环境&#xff09;开发语言&#xff1a;JDK 11.0.18Web 框架&#xff1a;SpringBoot日志框架&#xff1a;LogbackAPM 探针&#xff1a;…

【linux深入剖析】操作系统与用户之间的接口:自定义简易shell制作全过程

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 1.shell2.自定义shell的准…

定时任务执行语法

# ┌───────────── 分钟 (0 - 59) # │ ┌───────────── 小时 (0 - 23) # │ │ ┌───────────── 日期 (1 - 31) # │ │ │ ┌───────────── 月份 (1 - 12) # │ │ │ │ ┌───────────── 星期 (0 - 6) (0…

x86_64架构栈帧以及帧指针FP

文章目录 一、x86_64架构寄存器简介二、x86_64架构帧指针FP三、示例四、保存帧指针参考资料 一、x86_64架构寄存器简介 在x86架构中&#xff0c;有8个通用寄存器可用&#xff1a;eax、ebx、ecx、edx、ebp、esp、esi和edi。在x86_64&#xff08;x64&#xff09;扩展中&#xff…

第八届蓝桥杯省赛 分巧克力(二分)

题目描述&#xff1a; 思路&#xff1a; 给出N个长方形的长和宽&#xff0c;可以分别看长能被分成多少块&#xff0c;宽能被分为多少块&#xff0c; 也就是 (h/mid) * (w/mid),使其大于等于K 所以我们可以通过二分去找&#xff0c;最大的边长是多少 AC代码&#xff1a; #inc…

深度学习技巧总结

1、监控GPU使用情况 pip install nvitopnvitop -m fullhttps://zhuanlan.zhihu.com/p/577533593 2、本地拉取服务器上tensorboard数据并进行可视化显示 https://blog.csdn.net/Thebest_jack/article/details/125609849 3、服务器打不开pycharm软件 这个是已经有一个软件在运…

SD-WAN解决企业云网融合问题

随着市场竞争不断加剧&#xff0c;企业在提升业务的同时也面临着新兴业务需求的涌现。数字化发展的关键路径包括上云、跨云、云迁移&#xff0c;而广域网连接已不再仅限于总部和分支机构之间。为应对企业云转型对网络架构提出的更高要求&#xff0c;SD-WAN成为企业解决云网融合…

【SpringBoot】自定义工具类实现Excel数据新建表存入MySQL数据库

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 …