欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > C语言家教记录(三)

C语言家教记录(三)

2024/10/24 15:17:11 来源:https://blog.csdn.net/C_eeking/article/details/140859485  浏览:    关键词:C语言家教记录(三)

C语言家教记录(二)

  • 导语
  • 选择语句
    • 基本运算符
    • if
    • 条件表达式
    • switch
    • break
  • 循环
    • while
    • do
    • for
    • 退出循环
      • continue
      • break
    • 空循环
  • 总结和复习

导语

本次授课内容如下:选择语句、循环

辅助教材为 《C语言程序设计现代方法(第2版)》

选择语句

基本运算符

< > <= >=
== !=
! && ||

简单介绍各自含义

示例:

a<b&&a<c;
a==b||a==c;
a!=b
!(i<j)

if

if(a==b)a++;
if(i<0&&i>-2);
if(i<0||i>3);
/************************/
if(a==4)
{a=b;b=3;
}
/************************/
if(a==b)
{}
else//a!=b
{}
/************************/
if()
{if(){}else{}
}
else
{if(){}else{}
}
/************************/
if(a==1)
{}
else if(a==2)
{}
else if(a==3)
{}
else
{}
/************************/
//悬空else
if (y != 0)if (x != 0)result = x / y;
elseprintf("Error: y is equal to 0\n");

示例程序

#include <stdio.h>
int main(void)
{float commission, value;printf("Enter value of trade: ");scanf("%f", &value);if (value < 2500.00f)commission = 30.00f + .017f * value;else if (value < 6250.00f)commission = 56.00f + .0066f * value;else if (value < 20000.00f)commission = 76.00f + .0034f * value;else if (value < 50000.00f)commission = 100.00f + .0022f * value;else if (value < 500000.00f)commission = 155.00f + .0011f * value;elsecommission = 255.00f + .0009f * value;if (commission < 39.00f)commission = 39.00f;printf("Commission: $%.2f\n", commission);return 0;
}

条件表达式

int i,j,k;
i=1,j=2;
k=i>j?i:j;
k=(i>=0?i:0)+j;
/************************/
if(i>j)return i;
else return j;return i>j?i:j;

switch

if (grade == 4)printf("Excellent");
else if (grade == 3)printf("Good");
else if (grade == 2)printf("Average");
else if (grade == 1)printf("Poor");
else if (grade == 0)printf("Failing");
elseprintf("Illegal grade");switch (grade) {case 4: printf("Excellent");break;case 3: printf("Good");break;case 2: printf("Average");break;case 1: printf("Poor");break;case 0: printf("Failing");break;default: printf("Illegal grade");break;
}switch (表达式) {case 常量表达式 : 语句...case 常量表达式 : 语句default : 语句}

break

switch (grade) {case 4: printf("Excellent");case 3: printf("Good");case 2: printf("Average");case 1: printf("Poor");case 0: printf("Fai1ing");default: printf("Illegal grade");
}

循环

while

while(i<2)i*=2;while(k>0)
{printf("%d\n",k);k--;
}while(1)
{k++;printf("%d\n",k);
}i = 10;
while (i > 0) {printf("T minus %d and counting\n", i);i--;
}

示例程序

#include <stdio.h>
int main(void)
{int i, n;printf("This program prints a table of squares.\n");printf("Enter number of entries in table: ");scanf("%d", &n);i = 1;while (i <= n) {printf("%10d%10d\n", i, i * i);i++;}return 0;
}#include <stdio.h>
int main(void)
{int n, sum = 0;printf("This program sums a series of integers.\n");printf("Enter integers (0 to terminate): ");scanf("%d", &n);while (n != 0) {sum += n;scanf("%d", &n);}printf("The sum is: %d\n", sum);return 0;
}

do

先判断后执行,先执行后判断,有时候会有一次执行的区别

i = 10;
do {printf("T minus %d and counting\n", i);--i;
} while (i > 0);int i=1;
while(i!=1)
{printf("%d\n",i);
}
printf("******************************\n");do{printf("%d\n",i);
}while(i!=1);//不加分号可能会被别的识别i++;

示例程序

#include <stdio.h>
int main(void)
{int digits = 0, n;printf("Enter a nonnegative integer: ");scanf("%d", &n);do {n /= 10;digits++;} while (n > 0);printf("The number has %d digit(s).\n", digits);return 0;
}

for

同等目标下,用for实现循环更可控

for (i = 10; i > 0; i--)printf("T minus %d and counting\n",i);/**************************等价于*/i = 10;
while (i > 0) {printf("T minus %d and counting\n", i);i--;
}/**************************等价于*/for (i = 10; i > 0;)printf("T minus %d and counting\n", i--);/**************************等价于*/i=10;for (; i > 0;)printf("T minus %d and counting\n", i--); for (i = 10; i > 0; --i)printf("T minus %d and counting\n",i);for(i=0;i<n;i++);
for(i=1;i<=n;i++);
for(i=n-1;i>=0;i--);
for(i=n;i>0;i--);while(1);
for(;;;);int sum=0,i=0;
for(sum=0,i=1;i<=n;i++)sum+=i;//可以叠加无数变量

退出循环

continue

只能用于循环

for(i=0;i<n;i++)
{if(i%2==0)continue;printf("%d",i);
}

break

for(int i=2;i<n;i++)if(n%i==0)break;for(int i=1;i<4;i++)
{printf("i\n");for(int j=1;j<4;j++){printf("before break\n");if(j==2)break;printf("after break\n");}
}while()
{switch(){case ():break;default:break;
}
}

空循环

for(d=2;d<n&&n%d!=0;d++);if(d<n)printf("%d可以被%d整除",n,d);for(i=0;i<1000;i++);

总结和复习

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com