内容正文:
专题四 运算符与表达式(一)
1、 选择题
1.数字字符0 的ASCII值为48,则以下程序运行后的输出结果是( )。
#include <stdio.h>
main()
{ char a='1',b='2';
printf("%c,",b++);
printf("%d
",b-a);
}
A.3,2
B.50,2
C.2,2
D.2,50
2.以下程序运行后的输出结果是( )。
#include <stdio.h>
main()
{ int m=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d
",n++,++m);
}
A.12353514
B.12353513
C.12343514
D.12343513
3.若整型变量a、b、c、d 中的值依次为1、2、3、4。则表达式a+b/d*c的值是( )。
A.1
B.2.5
C.0.25
D.2
4.以下程序运行后的输出结果是( )。
#include <stdio.h>
main()
{ int a,b,c;
a=10;
b=20;
c= a%b+a/b;
printf("%d %d %d
",a,b,c);
}
A.10200
B.10 20 10
C.102011
D.10 20 1
5.表达式3.6-5/2+1.2+5%2的值是( )。
A.3.3
B.3.8
C.4.3
D.4.8
6.以下程序运行后的输出结果是( )。
#include <stdio.h>
main()
{ int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d
",x,y,z);
}
A.2,3,3
B.2,3,2
C.2,3,1
D.2,2,1
7.设有定义:int k=0; ,以下选项的_______与其他三个表达式的值不相同。
A.k++
B.k+=1
C.++k
D.k+1
8.若变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。
A.x=y=5;
B.x=n%2.5;
C.x+n=i;
D.x=5=4+1;
9.以下程序的输出结果( )
#include<stdio.h>
main()
{
int i=0x10,j=10;
printf("%d,%d
",++i,j--);
}
A.17,10
B.16,10
C.10,9
D.11,9
2、 填空题
1.若有定义int a=11; float x=2.8,y=5.7;则表达式x+a%3*(int)(x+y)%2/4的值是:_ 。
2.设变量a是int 型,f是float型,i是 double型,则表达式10+'a'+i*f值的数据类型为:_ 。
3.若有定义句语: int s=6;则表达式s%2+(s+1)%2的值为_ 。
4.若有定义: int a=8,b=5,c;执行语句: c=a/b+0.4;后,c的值是:_ 。
5.已有定义:int x=3;则表达式: x=x+1.78的值是_ 。
三、读程序写结果
1、以下程序运行后输出的结果是:
#include <stdio.h>
void main()
{ int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d
",i,j,m,n);
}
2.分析下面程序:
main()
{ int x,y;
x=16;y=(x++)+x; printf(“%d
”,y);
x=15;printf(“%d,%d
”,++x,x);
x=20;y=x--+x; printf(“%d
”,y);
x=13;printf(“%d,%d”,x++,x);
}
其输出结果是:
原创精品资源学科网独家享有版权,侵权必究!
$$
专题四 运算符与表达式(一)
1、 选择题
1.数字字符0 的ASCII值为48,则以下程序运行后的输出结果是( )。
#include <stdio.h>
main()
{ char a='1',b='2';
printf("%c,",b++);
printf("%d
",b-a);
}
A.3,2
B.50,2
C.2,2
D.2,50
答案:C
解析:本题考察自增运算符的运算规则,第一次输出表达式b++执行时先输出b的值,字符2,然后b=b+1,b=‘3’;故第二次输出表达式b-