首页 » 软件优化 » 软件开发工程师笔试题系列之程序结构(分支、循环)(结构循环分支题目解析)

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

乖囧猫 2024-11-10 12:10:18 0

扫一扫用手机浏览

文章目录 [+]

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

挑战开始:

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

标签:

相关文章