逻辑运算符
&&,||,!(与,或,非)
#include<stdio.h>
int main(void)
{
int i=1;
for(i;i<21;i++){
if(i%2==0&&i%3==0)
printf("%d可以同时被2和3整除\n",i);
if(i%4==0||i%6==0)
printf("%d可以被4或6整除\n",i);
if(i%2!=0||i%5!=0)
printf("%d不能同时被2和5整除\n",i);
}
return 0;
}
---------------------------------
1不能同时被2和5整除
2不能同时被2和5整除
3不能同时被2和5整除
4可以被4或6整除
4不能同时被2和5整除
5不能同时被2和5整除
6可以同时被2和3整除
6可以被4或6整除
6不能同时被2和5整除
7不能同时被2和5整除
8可以被4或6整除
8不能同时被2和5整除
9不能同时被2和5整除
11不能同时被2和5整除
12可以同时被2和3整除
12可以被4或6整除
12不能同时被2和5整除
13不能同时被2和5整除
14不能同时被2和5整除
15不能同时被2和5整除
16可以被4或6整除
16不能同时被2和5整除
17不能同时被2和5整除
18可以同时被2和3整除
18可以被4或6整除
18不能同时被2和5整除
19不能同时被2和5整除
20可以被4或6整除
getchar()和putchar()
ch = getchar();
该语句与下面的语句效果相同:
scanf("%c", &ch);
putchar(ch);
该语句与下面的语句效果相同:
printf("%c", ch);
输入字符串,在原值加一输出
#include<stdio.h>
int main(void)
{
char ch;
ch=getchar();
while(ch!='\n')
{
if(ch==' ')
putchar(ch);
else
putchar(ch + 1);
ch = getchar();
}
putchar(ch);
return 0;
}
--------------------------
abc efg
bcd fgh
条件运算符 : ?:
#include<stdio.h>
int main(void)
{
int a=5,b=6,x;
x=(a>b)?1:0;
printf("%d",x);
return 0;
}
--------------------------
0
x=(a>b)?1:0;相当于
if(a>b)x=1;
else x=0;
多重选择switch和break
#include<stdio.h>
int main(void)
{
int a;
printf("请输入一个1~7的整数:");
scanf("%d",&a);
switch(a){
case(1):printf("今天星期一");break;
case(2):printf("今天星期二");break;
case(3):printf("今天星期三");break;
case(4):printf("今天星期四");break;
case(5):printf("今天星期五");break;
case(6):printf("今天星期六");break;
case(7):printf("今天星期七");break;
}
return 0;
}
-----------------------------------------
请输入一个1~7的整数:5
今天星期五
每行printf语句后都要加break;否则它会将下面的语句也输出出来,直到遇到break而结束。
字符输入和输出验证
#include<stdio.h>
int main(void)
{
char ch;
while((ch=getchar())!='#'){
putchar(ch);
}
return 0;
}
----------------------------------------
hello,how are you?
hello,how are you?
what are you doing?#后面内容就不会显示了
what are you doing?
输入#结束程序
#include<stdio.h>
int main(void)
{
char ch;
while((ch=getchar())!=EOF){
putchar(ch);
}
return 0;
}
-------------------------------
hello
hello
nice to meet you
nice to meet you
^Z
输入[Ctrl+z]程序结束,否则继续运行
goto 语句
int main(void)
{
int n=5;
if(n=5){
goto a;
goto b;
a:printf("这是goto a\n");
b:printf("这是goto b\n");
}
else printf("不运行goto语句");
return 0;
}
---------
这是goto a
这是goto b
原则上,根本不用在C程序中使用goto语句。但是,如果你曾经学过 FORTRAN或BASIC(goto对这两种语言而言都必不可少),可能还会依赖 用goto来编程。尽量避免在C语言中使用goto语句。