目录
前言
一、分支语句
二、switch语句
三、循环语句
1.while循环
2.for循环
3.for循环的一些变种
4.do ... while 循环
四、简单练习题(答案下期见)
1.折半查找法(二分查找法)查找有序数组中指定元素
2.计算n的阶乘
3.计算1!+2!+、、、+n!(n<=12)
4.编写代码,演示多个字符从两端移动,向中间汇聚
5.模拟用户登录情景,并且只能登录三次,只允许输入三次密码,若输入正确,则提示登陆成功,若三次均错误则退出程序
6.给定两个数,求这两个数的最大公约数(辗转相除法)
7.打印闰年(打印1000年到2000年之间的闰年):闰年是指年数能被400整除或者年数能被4整除不能被100整除的年份
8.打印100到200之间的素数
9.编写程序数一下1-100的所有整数中出现多少个数字9
10.分数求和,计算1/1 - 1/2 + 1/3 - 1/4 +1/5 。。。。+1/99 - 1/100的值,打印出结果
11.求十个整数中最大值
12.编程输出乘法口诀表
13.二分查找(编写代码在一个整型有序数组中查找具体的某个数),要求:找到了就打印数字所在的下标,找不到就输出找不到
14.猜数字游戏(电脑生成一个1-100随机数,然后用户猜数字,猜大了提示猜大了,小了同样提示,猜正确了输出猜正确了,数字是。游戏要可重复玩,要有菜单)
总结
看过C语言预备知识前五篇的同学们看完本篇文章后可以做一做文末的练习题,来检测知识掌握的程度。下期文章也会给出练习题的答案。
C语言是一门结构化的程序设计语言:1.顺序结构。2.选择结构。3.循环结构。顺序结构很简单,从头执行到尾。本处重点介绍分支语句和循环语句。
C语言中由一个分号隔开的就是一条语句,只有一个分号时,也是一个语句,一个空语句。
语法结构:
if(表达式)
语句;
若表达式为真,则执行语句,若为假,则什么都不执行。
if(表达式)
语句1;
else
语句2;//若表达式为真,则执行语句1,若为假,则执行语句2。
if(表达式1)
语句1;
else if(表达式2)
语句2;//如果语句一为真则执行语句1,如果表达式1不成立,表达式2成立则执行语句2。
如果一个if语句要控制多条语句,则需要将语句用大括号括起来:
if(表达式)
{
语句1;
语句2;
}
注意:在系统中else会与他自己最近的if相匹配
例子
int main()
{
int a = 0;
int b = 2;
if(a == 1)
{
if(b == 2)
printf(“hehe\n”);
}//如果这里不加大括号,下面的else就会与上面第二个if自动匹配
else
printf(“haha\n”);
return 0;
}//要使else与第一个if匹配,需要把第二个if括到第一个if的代码块里
switch()括号中是整形表达式,不能为浮点型。
switch(整型表达式)//把这里的整型表达式与下方case后的整型表达式相比,和谁相同就进入谁
{
case 整型常量表达式:
语句;
break;
case 整型常量表达式:
语句;
break;
default://前面的条件都不符合,未进入任何一个case,就进入default
printf();
break;
}
循环语句中容易用到break和continue,前者是跳出循环,后者是跳过本次循环continue后面的代码。
while(表达式)
{
循环语句;//表达式为真,则循环语句重复执行,直到表达式为假。
}
这里再介绍一个while循环里常用函数getchar(),意为输入一个字符。
int ch、ch = getchar();//输入一个字符并将它存储在ch里,getchar()如果接收到一个ctrl + z,则会获得EOF-end of file,可以用到while循环中用以终止循环,如while((ch = getchar() ) != EOF)),当输入Ctrl +z时,便会跳出while循环。EOF-end of file,文件结束标志。
Putchar(ch);//输出刚才获得的字符。
for(表达式1;表达式2;表达式3)
循环语句;
表达式1为初始化部分,用于初始化循环变量的,表达式2为条件判断部分,用以判断循环时终止,表达式3为调整部分,用于循环条件的调整。
例子:
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)//将初始化、判断、调整全部集中到一块儿了,i从一开始,每循环一次则加一,直到i大于10时停止循环
{
printf("%d", i);
}
return 0;
}
for语句循环控制变量的一些建议:不可在循环体内改变循环变量,防止for循环失去控制
建议for循环的循环变量的控制采取前闭后开的写法,如:for(i=0;i<10;i++)
省略初始化、判断、调整:
int main()
{
for (;;)
{
printf("hehe\n");
}//for循环的初始化、判断、调整都可以省略,而其判断一旦被省略,其判断条件就恒为真,于是此循环便一直循环。如果不是非常熟练,建议不要随便省略代码。
return 0;
}
两个循环变量:
int main()
{
int x, y;
for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
{
printf("hehe\n");
}//有两个循环变量
return 0;
}
首先进入循环语句,然后执行第一遍后进行判断,当条件符合再继续循环。
do
{
循环语句;
}while();
接下来的文章将会给出上述练习题的详解。