1.关系运算(比较运算)符都是双目运算符,其结合性均为左结合,关系运算符的优先级低于算术运算符,高于赋值运算符。
< <= > >= == !=
|_____________| |_____|
同级 同级
高--------------------------------->低
2.关系运算结果为1或0,5>=3>=2,5>=3结果为真,返回1,1>=2结果为假返回0
3.三目运算符,条件表达式格式:e?e1:e2 e,e1,e2为表达式,法则:首先求解e的值,若e值非0(条件成立),
则取e1的值作为条件表达式的值,若e值为0(条件不成立),则取e2的值作为条件表达式的值。
例:1.输入一个字符,进行大小写转换输出
-
# include<stdio.h>
-
void main()
-
{
-
char ch;
-
ch=getchar();
-
ch=('a'<=ch&&ch<='z')?(ch-'a'+'A'):('A'<=ch&&ch<='Z')?(ch-'A'+'a'):ch;
-
putchar(ch);
-
putchar('\n');
-
}
2.输入一个字符串,进行大小写转换输出
-
# include<stdio.h>
-
void main()
-
{
-
char ch[100];
-
int a;
-
scanf("%s",&ch);
-
a=sizeof(&ch);
-
for(int i=0;i<a;i++)
-
{
-
-
ch[i]=('a'<=ch[i]&&ch[i]<='z')?(ch[i]-'a'+'A'):('A'<=ch[i]&&ch[i]<='Z')?(ch[i]-'A'+'a'):ch[i];
-
-
}
-
printf("%s",&ch);
-
putchar('\n');
4.附:笔试题,反序输出字符串,不能用标准库函数
-
# include<stdio.h>
-
void main()
-
{
-
char a[15]="i am a student";
-
int i;
-
for (i=7;i<14;i++)
-
printf("%c",a[i]);
-
for (i=4;i<7;i++)
-
printf("%c",a[i]);
-
for (i=1;i<5;i++)
-
printf("%c",a[i]);
-
printf("%c\n",a[0]);
-
}
不是嵌套循环,嵌套循环执行原理是在第一层循环的每一次,第二层循环都要整体循环一次,而且需要中括号;这个程序只是执行完一层循环后执行后面的语句或循环。
5.逻辑运算符和逻辑表达式
优先级:!>&&>||
如果一个表达式包含逻辑运算符,且逻辑运算符石所有运算符中优先级最低的,则称该表达式为逻辑表达式。
6.if语句
if
if-else
if-else if-else
if语句嵌套
例:输出最大数
-
# include<stdio.h>
-
void main()
-
{
-
int a,b,max;
-
printf("please input two number: \n");
-
scanf("%d %d",&a,&b);
-
max=a;
-
if (a<b)
-
max=b;
-
printf("max:%d\n",max);
-
}
比较三个数大小:
-
# include<stdio.h>
-
void main()
-
{
-
int a,b,c,max;
-
printf("please input three number: \n");
-
scanf("%d %d %d",&a,&b,&c);
-
max=a;
-
if (a<=b)
-
max=b;
-
if (b<=c)
-
max=c;
-
printf("max:%d\n",max);
-
}
7.switch语句:处理多路分支
switch一般格式:
switch(<表达式>)
{case 常亮表达式 1:语句序列1;
break;
.
.
.
.
default:语句n+1;
}
-
其中常量表达式的值必须是整型,字符型,枚举型,各语句序列允许多条语句,按复合语句处理,但不需要{}界定,与if的区别。
-
对于满足条件之后执行的语句,执行完后必须用break跳出
-
特殊情况下,多个case可共用一组执行语句。
例:输入年月,输出月有多少天
-
# include<stdio.h>
-
void main()
-
{
-
int y,m,d;
-
printf("please input year month: \n");
-
scanf("%d %d",&y,&m);
-
switch(m)
-
{
-
case 1:
-
case 3:
-
case 5:
-
case 7:
-
case 8:
-
case 10:
-
case 12:d=31;
-
break;
-
case 4:
-
case 6:
-
case 9:
-
case 11:d=30;
-
break;
-
case 2:
-
if(y%400==0||(y%4==0&&y%100!=0))
-
d=29;
-
else
-
d=28;
-
break;
-
default:d=-1;
-
}
-
if(d==-1)
-
printf("shu ru you wu\n");
-
else
-
printf("%d\n",d);
-
}
阅读(1325) | 评论(0) | 转发(0) |