柏虎资源网

专注编程学习,Python、Java、C++ 教程、案例及资源

软件开发工程师笔试题系列之程序结构(分支、循环)

本文简介:

程序的三大结构包括:顺序结构、选择结构、循环结构。这是我们平时代码开发过程中,必须要使用到的知识点,将它们融汇贯通在我们的程序之中,来描述我们的程序世界!

本文主要整理了关于程序三大结构中,分支结构循环结构等部分的练习题、笔试题(并附有答案解析)

挑战开始:

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鸟叔,一位喜欢写程序、钓鱼、喝茶、玩游戏的中年大叔!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言