《C程序设计语言现代方法》第5章 选择语句
关系运算符的优先级低于算术运算符,关系运算符都是左结合的。
判等运算符的优先级低于关系运算符,判等运算符也是左结合的。
逻辑运算符将任何非零值操作数作为真值来处理,同时将任何零值操作数作为假值来处理。运算符&&和||都对操作数进行“短路”运算。也就是说,这些操作符首先计算出左操作数的值,然后计算右操作数;如果表达式的值可以仅由左操作数的值推导出来,那么将不计算右操作数的值。
程序:显示法定格式的日期
1 #include <stdio.h> 2 3 int main() 4 { 5 int month, day, year; 6 7 printf("Enter date (mm/dd/yy): "); 8 scanf("%d/%d/%d", &month, &day, &year); 9 10 printf("Dated this %d", day); 11 switch (day) 12 { 13 case 1: 14 case 21: 15 case 31: 16 printf("st"); break; 17 case 2: 18 case 22: 19 printf("nd"); break; 20 case 3: 21 case 23: 22 printf("rd"); break; 23 default: 24 printf("th"); break; 25 } 26 printf(" day of "); 27 28 switch (month) 29 { 30 case 1: 31 printf("January"); break; 32 case 2: 33 printf("February"); break; 34 case 3: 35 printf("March"); break; 36 case 4: 37 printf("April"); break; 38 case 5: 39 printf("May"); break; 40 case 6: 41 printf("June"); break; 42 case 7: 43 printf("July"); break; 44 case 8: 45 printf("August"); break; 46 case 9: 47 printf("September"); break; 48 case 10: 49 printf("October"); break; 50 case 11: 51 printf("November"); break; 52 case 12: 53 printf("December"); break; 54 default:break; 55 } 56 57 printf(", 20%.2d.\n", year); 58 return 0; 59 }
运行结果如下: