Linux下面畫流程圖的工具:Dia,類似於windows下的viso
編程習慣:先畫流程圖,後coding
wesley@wesley-VirtualBox:~/c/CH03$ cat if.c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 9,b = 10;
if(b++ < a) // compare b and a, not b++ and a
{
printf("1\n");
}
printf("a = %d,b = %d\n",a,b);
printf("%d\n",(++b < a, ++a, b++));
printf("a = %d,b = %d\n",a,b);
exit(0);
}
wesley@wesley-VirtualBox:~/c/CH03$ make if
cc if.c -o if
wesley@wesley-VirtualBox:~/c/CH03$ ./if
a = 9,b = 11
12
a = 10,b = 13
wesley@wesley-VirtualBox:~/c/CH03$ cat if1.c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 1,b = 1,c = 2;
if(a == b)
{
if(b == c)
printf("a == b == c\n");
else
printf("a != b\n");
}
exit(0);
}
wesley@wesley-VirtualBox:~/c/CH03$ make if1
cc if1.c -o if1
wesley@wesley-VirtualBox:~/c/CH03$ ./if1
a != b
else僅與最近的if匹配
wesley@wesley-VirtualBox:~/c/CH03$ cat if2.c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int score;
printf("Enter a score:[0:100]:");
scanf("%d",&score);
if(score < 0 || score > 100)
{
fprintf(stderr,"Input Error!\n");
exit(1);
}
if(score <= 100 && score >= 90)
puts("A");
if(score < 90 && score >= 80)
puts("B");
if(score < 80 && score >= 70)
puts("C");
if(score < 70 && score >= 60)
puts("D");
if(score < 60 && score >= 0)
puts("E");
exit(0);
}
wesley@wesley-VirtualBox:~/c/CH03$ make if2
cc if2.c -o if2
wesley@wesley-VirtualBox:~/c/CH03$ ./if2
Enter a score:[0:100]:100
A
wesley@wesley-VirtualBox:~/c/CH03$ ./if2
Enter a score:[0:100]:90
A
wesley@wesley-VirtualBox:~/c/CH03$ ./if2
Enter a score:[0:100]:23
E
wesley@wesley-VirtualBox:~/c/CH03$ cat if3.c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int score;
printf("Enter a score:[0:100]:");
scanf("%d",&score);
if(score < 0 || score > 100)
{
fprintf(stderr,"Input Error!\n");
exit(1);
}
if(score >= 90)
puts("A");
else if(score >=80)
puts("B");
else if(score >= 70)
puts("C");
else if(score >= 60)
puts("D");
else if(score >= 0)
puts("E");
exit(0);
}
wesley@wesley-VirtualBox:~/c/CH03$ make if3
cc if3.c -o if3
wesley@wesley-VirtualBox:~/c/CH03$ ./if3
Enter a score:[0:100]:90
A
wesley@wesley-VirtualBox:~/c/CH03$ ./if3
Enter a score:[0:100]:50
E
wesley@wesley-VirtualBox:~/c/CH03$ cat if4.c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int year;
printf("Enter a year:");
scanf("%d",&year);
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
printf("%d is leap year\n",year);
else
printf("%d is not leap year\n",year);
exit(0);
}
wesley@wesley-VirtualBox:~/c/CH03$ make if4
cc if4.c -o if4
wesley@wesley-VirtualBox:~/c/CH03$ ./if4
Enter a year:2020
2020 is leap year
wesley@wesley-VirtualBox:~/c/CH03$ ./if4
Enter a year:2019
2019 is not leap year