软件开发工程师笔试题系列之变量、数据类型、运算符(下)

本章整理了运算符相关知识的练习题与常见的笔试题(并附有答案解析)

感觉有兴趣的小伙伴可以关注下!全对的晚上可以加鸡腿,奥利给!

1.下列程序变量 i 最终结果是()

void main()

{

int i = 8 ;

printf(” %dn” , ++i);

printf(” %dn” , –i);

printf(” %dn” , i++);

printf(” %dn” , i–);

printf(” %dn” , -i++);

printf(” %dn” , -i–);

printf(” %dn” , i);

}

A:6

B:7

C:8

D:9


2.求变量i、j的值()

int i = 6;

int j = i++;

A:i=6,j=6

B:i=6,j=7

C:i=7,j=6

D:i=7,j=7


3.下列程序,变量y的结果是()

int x = 1;

int y = ++x + x++ + x–;

A:y=3

B:y=4

C:y=6

D:y=7


4.求变量x的值()

int x = 11 % 2 + 5 * 12 / 6;

A:x=9

B:x=10

C:x=11

D:x=12


5.float x = 2.5f, y = 4.7f; int z = 7;

表达式x+z%3*(int)(x+y)%2/4

的结果是()

A:2.5

B:3.5

C:5

D:12.2


6.int i=2,求(++i)+(++i)+(i++)运行结果()

A:12

B:11

C:10

D:6


7.求下列代码,输出结果()

int num1 = 100;

int num2 = num1–;

printf(” %dn” , ++num1);

printf(” %dn” , num2);

A:100、100

B:99、101

C:100、99

D:100、101


1-4题目解析:

第1题答案:C

代码执行过程中输出结果:

void main()

{

int i = 8 ;

printf(” %dn” , ++i);//输出9,i=9

printf(” %dn” , –i);//输出8,i=8

printf(” %dn” , i++);//输出8,i=9

printf(” %dn” , i–);//输出9,i=8

printf(” %dn” , -i++);//输出-8,i=9

printf(” %dn” , -i–);//输出-9,i=8

printf(” %dn” , i);//结果8

}

第2题答案:C

题目解析:

++、–属于运算符中的算术运算符(单目),使变量的值自增或者自减1。

但是使用过程中++、–在变量前面或者后面会出现不同的运算情况:

  • 如果不参与运算,独立运行,那么在变量前后没有区别
  • 如果作为运算的一部分,在变量之前,则是先完成自增、自减操作,再参与运算。在变量之后,则是先完成运算,再进行自增、自减的操作。
  • 第3题答案:D

    题目解析:

    int y = 2+2+3;

    第4题答案:C

    题目解析:

    算术运算符执行的优先级!从左至右,先乘除后加减!

    第5题答案:A

    题目解析:

    考察算术运算符、括 运算符、值类型的转换、运算符优先级等知识点。

    执行过程:

  • 2.5+7%3*7%2/4
  • 2.5+1*7%2/4
  • 2.5+7%2/4
  • 2.5+1/4
  • 2.5+0
  • 2.5
  • 第6题答案:B

    题目解析:

    知识点参考题目2,执行过程:3+4+4 = 11。

    第7题答案:A

    题目解析:

    知识点参考题目2。


    8.下列表达式,哪个可以作为闰年的判断使用()

    A:year%4==0&&year%100!=0||year%400==0

    B:year%400==0

    C:year%4==0&&year%400==0

    D:

    year%400 ==0&&year%100==0 || year%4==0


    9.变量int a=5;

    表达式(a%2==1)?(a+1)/2:a/2的值()

    A:2

    B:3

    C:4

    D:5


    10.变量int x=3;int y=4;

    x=(y < x++) ? 1 : 0; 求变量x的值()

    A:0

    B:1

    C:2

    D:3


    11.下列代码,求变量a、b的值()

    int a=10,b=5;

    bool result=++a > 50 && ++b >1;

    A:10,5

    B:11,10

    C:10,11

    D:11,5


    12.下列代码,求变量a、b的值()

    int a = 1, b = 1;

    bool result = b++ >= 1 || –a > 5;

    A:1,2

    B:2,2

    C:2,0

    D:1,0


    13.下列代码,求变量a、b、c的值()

    int a = 0;

    int b = 1;

    int c = (a+b>3?a++:b++);

    A:a=1、b=2、c=3

    B:a=0、b=2、c=1

    C:a=1、b=2、c=2

    D:a=1、b=2、c=1


    8-13题目解析:

    第8题答案:A

    题目解析:

    闰年的判定(符合下面两个条件之一)

    1年份能够被400整除

    2.年份能够被4整除,但不能被100整除

    第9题答案:B

    题目解析:

    三目运算符,如果表达式结果为true,运行? 后面的内容,否则运行: 后面的内容。

    第10题答案:A

    题目解析:

    参考题目9。

    第11题答案:D

    题目解析:

    考察知识点逻辑运算符,逻辑短路问题。当前面的表达式确定结果后,后面的内容不再运行!

    第12题答案:A

    题目解析:

    与题目十一所考察的知识点一致,逻辑短路问题。

    第13题答案:B

    题目解析:

    考察知识点为三目运算符。

    运算符优先级总结:


    14.int i = 1; i++ > 1 || –i + 1 > 2;

    写出表达式结果_______

    15.int i = 1; i++ > 1 || i– + 1 > 2;

    写出表达式结果_______

    16.int i = 1; i++ – 1 >= 0 && i++ >=2;

    写出表达式结果_______

    17.int a = 1; int b = 2;

    a >= 1 && a + b > 2 && a– > 0;

    写出表达式结果_______

    18.int a = 3; int b = 2;

    a%b==1 || a – b > 2 && a– > 0;

    写出表达式结果_______

    19.int a = 3; int b = 2;

    a + b >= 5 && a– >= 3 || –b > a;

    写出表达式结果_______

    20.int a = 3; int b = 2;

    a / –b == 1 && –b == a || b<–a

    写出表达式结果_______


    14-20题目解析:

    第14题答案:false

    第15题答案:true

    第16题答案:true

    第17题答案:true

    第18题答案:true

    第19题答案:true

    第20题答案:true

    题目解析:

    逻辑运算符&&,两边只要任意一边为false,结果为false,两边同时为true,结果才为true。

    逻辑运算符 || ,两边只要任意一边为true,结果为true,两边同时为false,结果才为false。


    喜欢的小伙伴可以关注我,一起交流学习!我是IT鸟叔,一位喜欢写程序、钓鱼、喝茶、玩游戏的中年大叔!

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2021年3月10日
    下一篇 2021年3月10日

    相关推荐