本文主要是介绍c程序设计语言第三章 程序控制流,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
3.1 语句与程序块
在表达式之后加上一个分号(;),它们就变成了语句。
用一对花括号“{”与“}”把一组声明和语句括在一起就构成了程序块,在语法上等价于单条语句。
3.2 if-else语句
每个else与最近的前一个没有else配对的if进行匹配。
if (n > 0)
if (a > b)
z = a;
else
z = b;
程序的缩进结构明确表明了设计意图,但编译器无法获得这一信息,它会将else部分与内层的if配对。
所以最好经常把if else语句块括起来!
二分查找:
/* binsearch:在v[0]<=v[1]<=v[2]<=……<=v[n-1]中查找x */
int binsearch ( int x, int v[ ], int n )
{
int low, high, mid;
low = 0;
high = n - 1;
while ( low <= high ) {
mid = ( low + high ) / 2;
if ( x < v[mid] )
high = mid - 1;
else if ( x > v[mid] )
low = mid + 1;
else /* 找到了匹配的值 */
return mid;
}
return -1; /* 没有查到*/
}
int binsearch ( int x, int v[ ], int n )
{
int low, high, mid;
low = 0;
high = n - 1;
while ( low <= high ) {
mid = ( low + high ) / 2;
if ( x < v[mid] )
high = mid - 1;
else if ( x > v[mid] )
low = mid + 1;
else /* 找到了匹配的值 */
return mid;
}
return -1; /* 没有查到*/
}
练习3-1 上面折半查找的例子中,while循环语句内执行了两次测试。重写该函数,
使循环内部只执行一次测试。比较两种版本函数的运行时间。
答:
while (low <= high) {
mid = (low + high) / 2;
if (x < v[mid])
high = mid - 1;
else
low = mid ;
}
if (x == v[mid])
return mid;
else
return -1;
3.4 switch语句
s w i t c h语句是一种多路判定语句,它根据表达式是否与若干常量整数值中的某一个匹配来相
应地执行有关的分支动作。
switch ( 表达式) {
case 常量表达式: 语句序列
case 常量表达式: 语句序列
default: 语句序列
s w i t c h语句是一种多路判定语句,它根据表达式是否与若干常量整数值中的某一个匹配来相
应地执行有关的分支动作。
switch ( 表达式) {
case 常量表达式: 语句序列
case 常量表达式: 语句序列
default: 语句序列
}
如果没有default情形,且没有任何一个情景匹配,那么该switch语句不执行任何动作。各个cas
这篇关于c程序设计语言第三章 程序控制流的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!