C语言家教纪录(三)

[复制链接]
发表于 2026-2-9 13:00:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
导语

本次授课内容如下:选择语句、循环
辅助课本为 《C语言步伐筹划当代方法(第2版)》
选择语句

根本运算符

< > <= >=
== !=
! && ||
简单先容各自寄义
示例:
  1. a<b&&a<c;
  2. a==b||a==c;
  3. a!=b
  4. !(i<j)
复制代码
if

  1. if(a==b)
  2.         a++;
  3. if(i<0&&i>-2);
  4. if(i<0||i>3);
  5. /************************/
  6. if(a==4)
  7. {
  8.         a=b;
  9.         b=3;
  10. }
  11. /************************/
  12. if(a==b)
  13. {
  14.        
  15. }
  16. else//a!=b
  17. {
  18. }
  19. /************************/
  20. if()
  21. {
  22.         if()
  23.         {
  24.         }
  25.         else
  26.         {
  27.         }
  28. }
  29. else
  30. {
  31.         if()
  32.         {
  33.         }
  34.         else
  35.         {
  36.         }
  37. }
  38. /************************/
  39. if(a==1)
  40. {}
  41. else if(a==2)
  42. {}
  43. else if(a==3)
  44. {}
  45. else
  46. {}
  47. /************************/
  48. //悬空else
  49. if (y != 0)
  50. if (x != 0)
  51. result = x / y;
  52. else
  53. printf("Error: y is equal to 0\n");
复制代码
示例步伐
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. float commission, value;
  5. printf("Enter value of trade: ");
  6. scanf("%f", &value);
  7. if (value < 2500.00f)
  8. commission = 30.00f + .017f * value;
  9. else if (value < 6250.00f)
  10. commission = 56.00f + .0066f * value;
  11. else if (value < 20000.00f)
  12. commission = 76.00f + .0034f * value;
  13. else if (value < 50000.00f)
  14. commission = 100.00f + .0022f * value;
  15. else if (value < 500000.00f)
  16. commission = 155.00f + .0011f * value;
  17. else
  18. commission = 255.00f + .0009f * value;
  19. if (commission < 39.00f)
  20. commission = 39.00f;
  21. printf("Commission: $%.2f\n", commission);
  22. return 0;
  23. }
复制代码
条件表达式

  1. int i,j,k;
  2. i=1,j=2;
  3. k=i>j?i:j;
  4. k=(i>=0?i:0)+j;
  5. /************************/
  6. if(i>j)return i;
  7. else return j;
  8. return i>j?i:j;
复制代码
switch

  1. if (grade == 4)
  2. printf("Excellent");
  3. else if (grade == 3)
  4. printf("Good");
  5. else if (grade == 2)
  6. printf("Average");
  7. else if (grade == 1)
  8. printf("Poor");
  9. else if (grade == 0)
  10. printf("Failing");
  11. else
  12. printf("Illegal grade");
  13. switch (grade) {
  14. case 4: printf("Excellent");
  15. break;
  16. case 3: printf("Good");
  17. break;
  18. case 2: printf("Average");
  19. break;
  20. case 1: printf("Poor");
  21. break;
  22. case 0: printf("Failing");
  23. break;
  24. default: printf("Illegal grade");
  25. break;
  26. }
  27. switch (表达式) {
  28. case 常量表达式 : 语句
  29. ...
  30. case 常量表达式 : 语句
  31. default : 语句
  32. }
复制代码
break

  1. switch (grade) {
  2. case 4: printf("Excellent");
  3. case 3: printf("Good");
  4. case 2: printf("Average");
  5. case 1: printf("Poor");
  6. case 0: printf("Fai1ing");
  7. default: printf("Illegal grade");
  8. }
复制代码
循环

while

  1. while(i<2)
  2.         i*=2;
  3. while(k>0)
  4. {
  5.         printf("%d\n",k);
  6.         k--;
  7. }
  8. while(1)
  9. {
  10.         k++;
  11.         printf("%d\n",k);
  12. }
  13. i = 10;
  14. while (i > 0) {
  15. printf("T minus %d and counting\n", i);
  16. i--;
  17. }
复制代码
示例步伐
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. int i, n;
  5. printf("This program prints a table of squares.\n");
  6. printf("Enter number of entries in table: ");
  7. scanf("%d", &n);
  8. i = 1;
  9. while (i <= n) {
  10. printf("%10d%10d\n", i, i * i);
  11. i++;
  12. }
  13. return 0;
  14. }
  15. #include <stdio.h>
  16. int main(void)
  17. {
  18. int n, sum = 0;
  19. printf("This program sums a series of integers.\n");
  20. printf("Enter integers (0 to terminate): ");
  21. scanf("%d", &n);
  22. while (n != 0) {
  23. sum += n;
  24. scanf("%d", &n);
  25. }
  26. printf("The sum is: %d\n", sum);
  27. return 0;
  28. }
复制代码
do

先判断后实行,先实行后判断,偶然候会有一次实行的区别
  1. i = 10;
  2. do {
  3. printf("T minus %d and counting\n", i);
  4. --i;
  5. } while (i > 0);
  6. int i=1;
  7. while(i!=1)
  8. {
  9.         printf("%d\n",i);
  10. }
  11. printf("******************************\n");
  12. do{
  13.         printf("%d\n",i);
  14. }while(i!=1);//不加分号可能会被别的识别
  15.         i++;
复制代码
示例步伐
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. int digits = 0, n;
  5. printf("Enter a nonnegative integer: ");
  6. scanf("%d", &n);
  7. do {
  8. n /= 10;
  9. digits++;
  10. } while (n > 0);
  11. printf("The number has %d digit(s).\n", digits);
  12. return 0;
  13. }
复制代码
for

划一目标下,用for实现循环更可控
  1. for (i = 10; i > 0; i--)
  2. printf("T minus %d and counting\n",i);
  3. /**************************等价于*/
  4. i = 10;
  5. while (i > 0) {
  6. printf("T minus %d and counting\n", i);
  7. i--;
  8. }
  9. /**************************等价于*/
  10. for (i = 10; i > 0;)
  11. printf("T minus %d and counting\n", i--);
  12. /**************************等价于*/
  13. i=10;
  14. for (; i > 0;)
  15.          printf("T minus %d and counting\n", i--);
  16. for (i = 10; i > 0; --i)
  17. printf("T minus %d and counting\n",i);
  18. for(i=0;i<n;i++);
  19. for(i=1;i<=n;i++);
  20. for(i=n-1;i>=0;i--);
  21. for(i=n;i>0;i--);
  22. while(1);
  23. for(;;;);
  24. int sum=0,i=0;
  25. for(sum=0,i=1;i<=n;i++)sum+=i;//可以叠加无数变量
复制代码
退出循环

continue

只能用于循环
  1. for(i=0;i<n;i++)
  2. {
  3.         if(i%2==0)continue;
  4.         printf("%d",i);
  5. }
复制代码
break

  1. for(int i=2;i<n;i++)
  2.         if(n%i==0)break;
  3. for(int i=1;i<4;i++)
  4. {
  5.                 printf("i\n");
  6.                 for(int j=1;j<4;j++)
  7.                 {
  8.                         printf("before break\n");
  9.                         if(j==2)break;
  10.                         printf("after break\n");
  11.                 }
  12. }
  13. while()
  14. {
  15.         switch(){
  16.         case ():break;
  17.         default:break;
  18. }
  19. }
复制代码
空循环

  1. for(d=2;d<n&&n%d!=0;d++);
  2.         if(d<n)printf("%d可以被%d整除",n,d);
  3. for(i=0;i<1000;i++);
复制代码
总结和复习

本次授课报告第五章和第六章内容,关键点:选择和循环

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表