C语言——简单的程序设计

目录 前言 一、顺序结构程序 1、顺序程序结构介绍 2、顺序程序举例 二、选择结构程序 1、选择结构程序介绍 2、if语句的三种形式 1)、第一

目录

前言

一、顺序结构程序

1、顺序程序结构介绍

2、顺序程序举例

二、选择结构程序

1、选择结构程序介绍

2、if语句的三种形式

1)、第一种形式的if语句

2)、第二种形式的if语句

3)、第三种形式的if语句

3、switch语句  

三、循环结构程序

1、循环结构程序介绍

2、while语句     

3、do...while语句       

4、for语句

5、break语句

6、continue语句

7、goto语句

8、嵌套循环结构

总结


前言

        介绍一下顺序程序,选择程序,循环程序。

一、顺序结构程序

1、顺序程序结构介绍

        顺序程序结构是最简单的一种程序结构,其中各个语句都是从上到下的顺序执行的,不发生流程的跳转,不会出现后面介绍的选择和循环的操作。同时若干个小的顺序结构可以构成一个大的顺序结构,甚至一个程序。

2、顺序程序举例

        求三个数的和。

#include int main()
{int a, b, c, sum;printf("输入需要求和的三个数:");scanf("%d,%d,%d", &a, &b, &c);sum = a + b + c;printf("sum = %d\n", sum);return 0;
}

从上到下依次执行,先输出  输入需要求和的三个数: ;接着从键盘输入三个数(需要求和的三个数,依次给a, b, c 三个变量赋值);完成之后进行加法运算;最后将运算后的值输出。

二、选择结构程序

1、选择结构程序介绍

大多数程序都会包含选择结构,它是程序的三种基本结构之一。选择结构的作用是根据给定的条件,从几组操作中选择其中的一组操作。

2、if语句的三种形式

1)、第一种形式的if语句

格式如下:

if(表达式)
{要执行的语句
}

如果表达式为“真”,则执行该语句;如果执行语句为“假”,则不执行该语句。

 例子:

输入变量a的值,若a>10,则输出“是”;否则什么也不做。

#define _CRT_SECURE_NO_WARNINGS
#includeint main()
{int a;scanf("%d", &a);if (a > 10)//这里注意不要;{printf("是\n");}return 0;
}

2)、第二种形式的if语句

格式如下:

if(表达式)
{语句1
}
else
{语句2
}

如果表达式为“真”,则执行语句1;如果表达式为“假”,则执行语句2。

例子:

 输入一个整数,判断能否被2整除。

#define _CRT_SECURE_NO_WARNINGS
#includeint main()
{int a;printf("请输入一个整数:\n");scanf("%d", &a);if (a % 3 == 0){printf("%d能被2整除。\n", a);}else{printf("%d不能被2整除。\n", a);}return 0;
}

3)、第三种形式的if语句

格式如下:

if(表达式1)
{语句1
}
else if(表达式2)
{语句2
}
...
else if(表达式n-1)
{语句n-1
}
else
{语句n
}

如果表达式1为“真”,则执行语句1,如果表达式1为“假”,则判断表达式2;如果表达式2为“真”,则执行语句2,如果表达式2为“假”,则判断表达式3;以此类推,如果表达式n-1为“真”,则执行语句n-1,如果表达式n-1为“假”,则执行语句n。

 例子:

用分数来给予相应的奖励。

#define _CRT_SECURE_NO_WARNINGS
#includeint main()
{int score;scanf("%d", &score);//如果表达式为真  执行{}对应的代码if (score > 100){printf("给予大奖励");}else if (score > 90){printf("给予小奖励");}else{printf("给予鼓励");}/*输入大于100的数值            结果为 给予大奖励输入大于90小于等于100的数值  结果为 给予小奖励输入小于等于90的数值         结果为 给予鼓励从上到下依次执行且只会执行一个*/return 0;
}

 注意:else子句不能作为语句单独使用,它必须与if配对使用。 

3、switch语句  

解决多种选择问题,除了使用if语句外,还可以使用switch语句。switch语句可以完成多分支选择程序的编写。

格式如下:

switch(表达式)
{
case 常量表达式1:语句1;break;
case 常量表达式2:语句2;break;
...
case 常量表达式n:语句n;break;
default:语句n+1;break;
}
//最后一个分支(default)可以不用加break语句

首先计算switch右侧的表达式的值,当该表达式的值与一个case后面的常量表达式的值相等时,就执行该case后面的语句;如果表达式的值与所有的case后的常量表达式的值都不相等,则执行default后面的语句。

例子:

输入一个分值,并区分该分值的类别。 

#define _CRT_SECURE_NO_WARNINGS
#includeint main()
{int score;scanf("%d", &score);switch (score/10){case 10:printf("优秀\n");break;case 9:printf("优秀\n");break;//90分以上的是优秀case 8:printf("良好\n");break;case 7:printf("良好\n");break;//70分到90分的是良好case 6:printf("及格\n");break;//60分到70分的及格default:printf("不及格\n");break;//60分以下的是不及格}//输入超过100的数也是不及格return 0;
}

三、循环结构程序

1、循环结构程序介绍

        循环结构是结构化程序设计的基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构成单元。

2、while语句     

        格式如下:

while(表达式)
{循环体语句
}

        先计算表达式的值,如果表达式为真,则执行while语句中的循环体语句,然后再次计算表达式的值;如果表达式为真,则再次执行循环体语句;依次循环,直到表达式的值为假时,结束循环。

        例子:

        用while语句输出0到9并求和。

        输出: 

#includeint main()
{int i = 0;while (i < 10){printf("%d", i);++i;}//结果为0123456789return 0;
}

        求和:

#includeint main()
{int i = 0, sum = 0;while (i < 10){sum += sum + i;i++;}printf("sum=%d\n", sum);return 0;
}

注意: 

1、如果第一次计算while后面的表达式时,结果为假,则循环体一次也不执行。

2、在循环体中要有是循环趋向于结束的语句,否则就会形成死循环。

3、do...while语句       

        格式如下:

do
{循环体语句
}while(表达式);

        先执行循环体语句,再判断循环条件是否成立。

        先执行一次循环体语句,然后计算表达式,如果表达式的值为真,则再执行一次循环体语句,如此循环,直到表达式为假,结束循环。

注意:

1、do...while语句的循环体至少可以被执行一次。

2、在循环体中一定要有趋向于结束的语句,否则会形成死循环。

4、for语句

        格式如下:

for(表达式1;表达式2;表达式3)
{语句
}

        例子:

        输出0到9

#includeint main()
{int i ;for (i = 0; i < 10; ++i){printf("%d\n", i);}//结果为0123456789return 0;
}

注意: 

1、表达式1一般为循环变量赋初值。

2、 表达式3一般为改变循环变量的值。

        猜数字游戏 :

        重点是产生随机数:

                产生随机数:
                       1、导入头文件  stdlib.h  time.h
                       2、添加随机数种子
                       3、获取随机数

#define _CRT_SECURE_NO_WARNINGS
#include
#include
#includeint main()
{srand((unsigned int)time(NULL));//每次随机数不一样/*产生随机数:1、导入头文件  stdlib.h  time.h2、添加随机数种子3、获取随机数*/int value = rand() % 100;//100以内的随机数int num;for (;;){printf("请输入一个数字:\n");scanf("%d", &num);if (num > value){printf("您输入的数字大了;\n");}else if (num < value){printf("您输入的数字小了;\n");}else{printf("恭喜您,猜对了。\n");break;}}return 0;
}

5、break语句

        结合while语句格式如下:

while(表达式)
{语句1if(条件)break;语句2
}

        break语句可提前结束循环,从循环体内跳到循环外面,接着执行循环语句后面的语句。

6、continue语句

        结合while语句格式如下:

while(表达式)
{语句块1if(条件)continue;语句块2
}

        continue的作用是结束本次循环,接着进行下一次是否执行循环的判定。

7、goto语句

        格式如下:

goto 语句标号;

        goto语句被称为无条件转向语句。

        程序流程从当前位置无条件的转到“语句标号”所指定的位置去执行。

8、嵌套循环结构

        在一个循环体内部,可以包含另一个完整的循环结构。 

        某一种循环可以自身嵌套,也可以不同种类的循环互相嵌套。

例子: 

#includeint main()
{int i, j;for (i = 0; i < 10; ++i){for (j = 0; j < 5; ++j){printf("i=%d,j=%d\n", i, j);}}//共执行了50次//外层执行一次,内层执行一周return 0;
}

 电子时钟  从00:00:00 到 23:59:59

        三个循环分别实现时针,分针,秒针。

#include
#includeint main()
{//电子时钟  从00:00:00 到 23:59:59int i, j, k;//i 表示时针,j 表示分针,k 表示秒针for (i = 0; i < 24; ++i){for (j = 0; j < 60; ++j){for (k = 0; k < 60; ++k){system("cls");//清屏printf("%02d:%02d:%02d\n", i, j, k);//不足两位数的用0补位  01:02:09Sleep(800);//降低输出速度}}}return 0;
}

 九九乘法表:

        两个循环分别实现行和列

#includeint main()
{//九九乘法表int a, b;for (a = 1; a <=9;++a){for (b = 1; b <= a; ++b){printf("%d*%d=%d\t", b, a, a*b);}printf("\n");}//外层控制行,内层控制列return 0;
}

总结

        到这里就介绍的差不多了,也结束了。总之就是要掌握好一个知识点,必要的练习还是要有的。