C程序设计语言
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

习题4

4.1 已知a=10,b=5,请写出下列表达式的运行结果。

(1)!(a+b)

(2)a%b||1

(3)a&&b

(4)a>=5&&b<5

(5)b||a&&0a%3-1

(6)a&&(a++)/(++b)

4.2 写出下列表达式的值

(1)1<100&&4<7||60>=5

(2)!(12<3==3)

(3)!(100<=300)||(1!=2)

(4)!(5>3)&&(30<=90)

4.3 选择题

(1)逻辑运算符两侧的运算对象的数据类型为( )。

A.只能是0和1

B.只能是0或非0正数

C.只能是整型或字符型数据

D.可以是任何类型的数据

(2)判断char型变量ch是否为大写字母的正确表达式是( )。

A.'A'<=ch<='Z'

B.(ch>='A')||(ch<='Z')

C.(ch>='A')&&(ch<='Z')

D.('A'<=ch)AND('Z'>=ch)

(3)若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( )。

A.A%2==1

B.!(A%2==0)

C.!(A%2)

D.A%2

(4)设有int a=1, b=2, c=3, d=4, m=2, n=2,执行(m=a>b)&&(n=c>d)后n的值为( )。

A.1

B.2

C.3

D.4

(5)以下程序的运行结果是( )。

            void main()
            {   int a,b,d=241;
                a=d/100%9;
                b=(-1)&&(-1);
                printf("%d,%d",a,b);
            }

A.6,1

B.2,1

C.6,0

D.2,0

(6)已知int x=10, y=20, z=30,以下语句执行后x, y, z的值是( )。

            if(x>y)z=x;x=y;y=z;

A.x=10, y=20, z=30

B.x=20, y=30, z=30

C.x=20, y=30, z=10

D.x=20, y=30, z=20

(7)以下程序的运行结果是( )。

            void main()
            {   int m=5;
                if(m++>5)
                    printf("%d\n",m);
                else
                    printf("%d\n",m--);
            }

A.4

B.5

C.6

D.7

(8)若运行时给变量x输入12,则以下程序的运行结果是( )。

            void main()
            {   int x,y;
                scanf("%d",&x);
                y=x>12?x+10:x-12;
                printf("%d\n",y);
            }

A.12

B.22

C.1

4.4 编程计算下面的函数,其中,x由键盘输入。

D.0

4.5 编程实现:输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出a、b之和。

4.6 编程实现以下功能,读入两个数(d1,d2)和一个运算符(op),计算d1 op d2的值。例如,若输入15、5和“/”,则计算“15 / 5”,结果为3。

4.7 从键盘输入两个整数,输出较大数(用条件表达式求解)。

4.8 输入一个正整数,编程判断其是否既是5又是7的倍数。若是,则输出“yes”;否则输出“no”。

4.9 输入一个正整数,判断其是否能被3、5、7整除,并输出能同时被几个数整除。

4.10 从键盘输入4个整数a、b、c、d,找出其中的最大值。

4.11 从键盘输入一个字符,如果是大写字母或者是小写字母,就输出其对应的ASCII码。

4.12 对于给定的一个百分制成绩,输出相应的五分制成绩。提示:90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。要求,必须使用switch语句,并且只用一个输出语句输出计算结果。

4.13 企业发放奖金是根据利润提成的,提成的办法如下。

(1)利润(用I表示)≤10万元时,可提成10%;

(2)超过10万元时:

● 10万<I≤20万的部分,可提成7.5%,低的部分同上(下同);

● 20万<I≤40万的部分,可提成5%;

● 40万<I≤60万的部分,可提成3%;

● 60万<I≤100万的部分,可提成1.5%;

● 超过100万的部分,可提成1%。从键盘输入当月利润I,输出可发放的奖金总额。

4.14 给出一个不超过5位的正整数,编程完成下面的功能:

(1)判断它是几位数;

(2)计算其各位数字的和;

(3)将其各位数字按逆序排列组成一个新数,并比较其与原数的大小,然后按从大到小的顺序输出。