C语言一共有34个运算符,记这些运算符时从以下几个方面记:
运算符的书写形式;
运算符的运算规则;(两个整数相除,结果为整数)
所能进行的操作数;(取余运算符%,操作数只能是整数)
优先级和结合性;
a+b*c //要考虑优先级问题
int x,y,z;//定义
x= y=z=3;//赋值
int x=y=z=3; X //定义要逐个定义逐个赋值
带数据类型的叫做定义
不带数据类型的叫做 使用
4、区分赋值运算和逗号运算:x=3,y=5; x=(3,y=50);
5、复合赋值运算符:y+=y*=3+6;等价于y = y* (3+6);
++(--)只能是变量,不能是常量,表达式 可以是混合运算
2019 .已知int y=10:则执行y+=y-=y-y;后y的值是()
A.10 B.20 C.30 D.40
#include
void main()
{
int a = 10;
a +=a -= a-a;
printf("a = %d", a);
}
2018. 设有语句 int a=3; 则执行了 a*=a+=a-2; 后为()
A.3 B.4 C.16 D.9
#include
void main()
{
int a = 3;
a *=a += a-2;
printf("a = %d", a);
}
int x=4,y; y=2
#include
void main()
{
int x=4,y;
y=2
2)若变量c为char型,能正确判断c为大写字母的表达式写法:
#include
void main()
{
char c;
scanf("%c",&c);
if (c >= 'A' && c <= 'Z') {
printf("你输入的是大写字母");
}else{
printf("你输入的是小写字母");
}
}
判断c为小写的程序段
#include
void main()
{
char c;
scanf("%c",&c);
if ((c >= 'a') && (c <= 'z')) {
printf("你输入的是小写字母");
}else{
printf("你输入的不是小写字母");
}
}
2019.以下关于逻辑运算符两侧运算对象的叙述正确的是( )
A.只能是整数0或1
B.只能是整数0或非0
C.只能是整数0或正整数
D.可以是任意合法表达式
2019 .若有int x=1,y=2,z;则表达式z=(x==y)的值是
A.0 B.1 C.true D.flase
#include
void main()
{
int x=1,y=2;
int z=(x==y);
printf("%d",z);
}
若a=3,b=1;执行a++1l--b后,a,b的值?
#include
void main()
{
int a=3,b=1;
if(a++||--b){
printf("%d%d",a,b);
}
}
例:a = 2; b = 3; c = 4a>1|| b++ >2 ||c--!=0
#include
void main()
{
int a=2, b=3,c=4;
if(a>1||b++>2||c--!=0){ //遇真则真 全假才假 a>1 成立为1 不继续往下执行
printf("a=%d \nb=%d\nc=%d",a,b,c);
}
}
例: a=1,b=2,c=3,d=4,m=1,n=1(m=a>b)&&(n=c>d) m=?,n=?
已知整型变量m,n,a,b,c,d的值都是0,则执行(m=a==b) || (n=c==d);后m与n的值分别为()。
#include
void main()
{
int m=0, n=0,a=0,b=0,c=0,d=0;
if((m=a==b)||(n=c==d)){
printf("m=%d \nn=%d",m,n);
}
}
已知w=1,x=2,y=3,z=4,a=5,b=6;则执行语句(a=w>x)&&(b=y>z)后, a,b的值为( )。
#include
void main()
{
int w=1,x=2,y=3,z=4,a=5,b=6;
if((a=w>x)&&(b=y==z)){
printf("a=%d \nb=%d",a,b);
}
}
若x=1,y=2;则表达式x++>=y?1:2的值为( )。
#include
void main()
{
int x=1,y=2;
if(x++>=y?1:2){
printf("x=%d \ny=%d",x,y);
}
}
2018,已知a=1,b=2,c=3,d=4,x=5,则语句x=(a>b?a:c
#include
void main()
{
int a=1,b=2,c=3,d=4,x=5;
if(x=(a>b?a:c