2.11作业

运算符

1、选择题

1.1若有以下程序

main()

{   char  a='1',b='2';

    printf("%c,",b++);

    printf("%d\n",b-a);   }

程序运行后的输出结果是 C

A)3,2     B)50,2

C)2,2     D)2,50

1.2有以下程序

main()

{

   int  a,b,d=25;

   a=d/10%9;  

   b=a&&(-1);  

   printf("%d,%d\n",a,b);

}

程序运行后的输出结果是 _____B_________

A)6,1    B)2,1

C)6,0    D)2,0

1.3若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a

   A)1  B)2  c)3  D)4

1.4、若给定条件表达式(m)?(a++): (a--),则其中表达式m 。C

A. 和(m= =0)等价 B. 和(m= =1)等价  

C. 和(m!=0)等价  D. 和(m!=1)等价

1.5、以下选项中,当x为大于1的奇数时,值为0的表达式_____D_______

A. x%2==1      B. x/2      C. x%2!=0       D. x%2==0

1.6 有如下程序段,输出结果为___C_____

int i = 1;

int j = i++;

if( (i>j++) || (i++ == j) i+=j;

printf(%d\n , i );

A.   2      B.  3      C. 4       D. 5

1.7 int a=12; 表达式a+=a-=a*=a的值是_____C_____

 A 12      B 144      C 0      D 132

  1.8若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a>b?a:c

A)1  B)2  c)3  D)4

1.9 有以下程序

main()

{    int  i=1,j=2,k=3;

     if(i++==1&&(++j==3||k++==3))

        printf("%d  %d  %d\n",i,j,k);

}

程序运行后的输出结果是 ____D______

A)1  2  3    B)2  3  4

C)2  2  3    D)2  3  3

1.10 

2、填空题

2.1设a=12,n=5,则计算了表达式a%=(n%=2)后,a的值为__0____,计算了表达式a+=a-=a*=a后,a的值为__0____

2.2 设x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4的值为__2.5___。

    2.3 设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y的值为___3.5___。

2.4以下程序运行后的输出结果是___10 20 0_______

main()

{

   int  a,b,c

   a=10;b=20;c=(a%b<1)||(a/b>1);   

   printf("%d %d %d\n",a,b,c);

}

2.5以下程序运行时若从键盘输入:B33<回车>.输出结果是   1 B

#include "stdio.h"

main()

{

   char a;

        int   b;

   a=getchar();   

 scanf("%d",&b);   

   a = a - 'A' + '0';

   b = b * 2;

   printf("%c  %c\n",a,b);

}

2.6设a、b、c均为int型变量且a=7.5, b=2,c=3.6, 则表达式a>b  && c>a  || ab 的值是0

2.7设a、b、c均为int型变量且a=6, b=4,c=2, 则表达式!(a-b)+c-1  && b+c/2的值是 1

2.8设a、b均为int型变量且a=2, b=4, 则表达式!(x=a) || (y=b)  && 0的值是 0

2.9设a、b、c均为int型变量且a=1, b=4,c=3, 则表达式!(a 0

2.10 若有条件“22&&x<3||x<-10

3、填空题

3.1、 编写程序,从标准输入读取字符,并把它们写到标准的输出中。除了大写字母变换成小写字母外,所有字符的输出形式与它们的输入形式相同。

#include 

int main()

{
    char ch;

    while ((ch = getchar()) != EOF)

        {
                if (ch >= 'A' && ch <= 'Z')

                        {
                                ch = ch - 'A' + 'a';

                        }
        }
        putchar(ch); 
    }

    return 0;
}
 

4、分析题

4.1、  思考一下,有两个整形变量ab,如何在不使用第3个变量的情况下,实现ab变量值的交换

   方法一:   a = a + b;

                  b = a - b;

                  a = a - b;

你可能感兴趣的:(算法)