运算符
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____
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<回车>.输出结果是
#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);
}
1 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 若有条件“2
3、填空题
3.1、 编写程序,从标准输入读取字符,并把它们写到标准的输出中。除了大写字母变换成小写字母外,所有字符的输出形式与它们的输入形式相同。
#include
int main() {
char c;
printf("Enter characters (press Ctrl + Z or Ctrl + D to exit):\n");
while ((c = getchar()) != EOF) {
if (c >= 'A' && c <= 'Z') {
c = c + 32; // 转换为小写字母
}
putchar(c);
}
return 0;
}
4、分析题
4.1、 思考一下,有两个整形变量a与b,如何在不使用第3个变量的情况下,实现a与b变量值的交换
方法一: 利用异或操作符取反交换,