本文简介:
程序的三大结构包括:顺序结构、选择结构、循环结构。这是我们平时代码开发过程中,必须要使用到的知识点,将它们融汇贯通在我们的程序之中,来描述我们的程序世界!
本文主要整理了关于程序三大结构中,分支结构与循环结构等部分的练习题、笔试题(并附有答案解析)。
挑战开始:
1.求下列程序的输出结果是()
int score = 78;
if(score>60)
{
printf("%s", ">60");
}
if(score>70)
{
printf("%s", ">70");
}
if(score>80)
{
printf("%s", ">80");
}
if(score>90)
{
printf("%s", ">90");
}
else
{
printf("%s", "<60");
}
A:>60
B:>70
C:>60>70
D:>60>70<60
2.求变量x的结果()
int x = 5;
if(x%2==0)
++x;
x++;
printf("%d",x);
A:4
B:5
C:6
D:7
3.运行下列代码,输出结果是()
int number = 5;
if(number<=5)
{
number = number + 2;
printf("%d", number);
}
printf("%d", number+5);
A:10
B:5、10
C:7、12
D:7
4.求下列程序输出结果()
int score = 95;
if(score>=60){
printf("及格");
}else if(score >= 80){
printf("良好");
}else{
printf("优秀");
}
A:及格
B:良好
C:优秀
D:及格、良好、优秀
5.求变量c的值()
int a=1,b=2,c=3;
if(a<0)
{
if(b<0)
{
c=10;
}else
{
c=20;
}
}
printf(c);
A:10
B:20
C:3
D:30
6.执行下列代码会出现()结果
int i=1;
switch (i)
{
case 0:printf("zero");break;
case 1:printf("one");
case 2:printf("two");
default:printf("default");
}
A:one
B:onedefault
C:onetwodefault
D:default
7.求下列程序运行后,变量k的结果()
int i=1;int j=2;int k=0;
switch (j-i){
default: k=k+4;break;
case 1:k++;break;
case 2:k--;break;
}
printf("%d",k);
A:0
B:1
C:4
D:5
题目1-7解析:
第1题答案:D
题目解析:
单分支结构,只要 if 括号内的表达式结果为true,那么对应的方法体中的代码都会执行!
第2题答案:C
题目解析:
如果 if 没有方法体{},那么默认方法体内容为第一个分号前的代码语句!
第3题答案:C
题目解析:
单分支执行结束后,按程序的顺序结构继续执行!
第4题答案:A
题目解析:
多分支结构,一个分支满足要求,进入方法体,其余的分支结构则不运行!
第5题答案:C
题目解析:
分支结构嵌套,但表达式不满足要求,程序继续按顺序结构执行!
第6题答案:C
题目解析:
switch属于多分支结构,每个case都可以对应一个break,程序执行break跳出switch结构,如果没有break,则继续向下执行!
第7题答案:B
题目解析:
参考题目6。
8.变量sum表示1到10的累加之和,横线处应填的代码分别是()
int sum = 0;
int i = _____;
while(i<=_____)
{
i++;
sum += i;
}
A:1,10
B:1,9
C:0,10
D:0,9
9.下列代码输出的内容是()
int i = 2;
do
{
if(i%2==0)
{
printf("*");
}else
{
printf("#");
}
i++;
}while (i<7);
A:***
B:#*#*#
C:*#*#*
D:*
10.计算1+2+3+......+100的和,下面选项中可以得到正确的结果是()选俩项
A:
int sum = 0
for(int i=1;i<=100;i++)
{
sum += i;
}
B:
int i = 1;
int sum = 0;
do
{
sum += i;
}while(i<=100);
C:
int i = 1;
int sum = 0;
while(i<=100)
{
sum += i;
i++;
}
D:
int sum =0; int i=1; int j=100;
while(i<=j)
{
i++;
j++;
}
11.下列程序,输出结果为()
int i = 3;
do
{
i--;
if(i==2)
{
break;
}
printf(i);
}while (i>0);
A:2
B:2 、1
C:什么都不输出
D:3、2、1
12.分析下列代码,输出结果是()
int a = 100;
while(a%2==0)
{
printf(a);
a = a/4;
}
A:1002561
B:10025
C:100
D:25
13.如下代码的输出结果为()
int i = 0;
do
{
i++;
printf(i);
if(i==2)
{
break;
}
}while (i>0);
A:1、2
B:1
C:死循环
D:什么也不输出
14.下列程序正确的输出结果是()
int i =0; int sum =0;
while (i<=10) {
if(i%2 == 0)
{
sum += i++;
}
}
printf(sum);
A:20
B:30
C:40
D:死循环
15.程序中包含如下片段,则正确的结果是()
int i=3;
do
{
if(i--%2 ==0)
{
printf(i);
break;
}
printf(i);
}while (i>0);
A:3、2
B:2、1
C:3、1
D:3、3
16.如下代码的输出结果是()
for(int i=0;i<6;i++)
{
if(i>1)
{
printf(i);
continue;
}
if(i>4)
{
break;
}
}
A:34
B:345
C:2345
D:23456
17.下列代码输出结果是()
for(int i=0;i<3;i++)
{
for(int j=1;j<i;j++){
printf(i);
printf(j);
}
}
A:021
B:012
C:21
D:321
18.下列语句输出的结果是()
for(int i=0;i<6;i++)
{
for(int j=0;j<6;j++){
if(i+j>7)
{
printf(i+j);
break;
}
}
}
A:8
B:88
C:888
D:88888
题目8-18解析
第8题答案:D
题目解析:
求1-10的累加,变量 i 的取值也必须满足从1到10的覆盖。
第9题答案:C
题目解析:
while的条件为i<7,那么变量 i 的值为2、3、4、5、6,对应循环体内的分支结构条件,输出结果为*#*#*。
第10题答案:A、C
题目解析:
答案B为死循环,答案D为自增而不是累加。
第11题答案:C
题目解析:
变量 i 自减,满足分支结构的表达式,执行break语句,结束离break最近的一层循环结构。
第12题答案:C
题目解析:
100%2结果为0,符合循环的条件,进入循环体,打印变量 a 的结果为100,a=100/4的结果为25,不再满足循环的表达式要求,所以循环结束。
第13题答案:A
题目解析:
变量 i 完成两次循环累加后,值等于2,符合循环内分支结构的表达式要求,执行分支结构内的break关键字,结束循环。
第14题答案:D
题目解析:
第一次进入循环体,变量 i 的值为0,0%2的结果为0,满足分支结构的表达式,执行结构内代码,此时变量 i 的值为1,循环继续执行,1%2的结果为1,不再满足分支结构的表达式,因此产生死循环。
第15题答案:B
题目解析:
变量 i 的值为3,进入循环体,执行表达式后不满足条件,但自身完成自减操作,打印结果为2,再次执行循环操作,满足表达式,并且完自减操作,打印结果1,执行break语句,终止循环执行。
第16题答案:C
题目解析:
循环条件变量 i 的值范围为0、1、2、3、4、5,对于表达式i>1有实际意义的为2、3、4、5,执行打印后,运行continue关键字,跳过本次循环,执行下一次循环,所以下面的分支结构一直也不会运行。
第17题答案:C
题目解析:
内层循环结构能够执行的条件为,变量 i 的值为2,当这个条件满足的时候,内部循环结构会执行一次,打印结果为i=2、j=1。
第18题答案:C
题目解析:
当变量 i 的值为3、4、5,对应变量 j 的值为5、4、3时,可以满足内部循环的分支结构条件,执行结构体内的代码段。
喜欢的小伙伴可以关注我,一起交流学习!我是IT鸟叔,一位喜欢写程序、钓鱼、喝茶、玩游戏的中年大叔!