3、C语言面试笔试--控制结构

背景

现在进入C语言的控制结构,这篇完成后,C语言的基础操作也就算完结了。控制语句主要分为选择控制语句和循环控制语句。

1、选择控制结构

选择控制语句主要包括if else 结构,以及switch结构。这里我就不再多说,下面点出一些容易出错的地方。

  • if—else

  • 一个if子句后面可以没有else子句(构成单分支if语句),也可以有else子句(构成双分支if语句),但所有的if-else if语句无论有几个else if子句都应该以else子句结尾(建议)。

  • 浮点判断

  • switch

    switch(表达式)
    {
    case 值1:语句1;【break; 】
    case 值2:语句2;【break; 】
    [default:语句;【break;】]
    }

注意switch后面圆括号内的“表达式”的值只能是整数或字符值,不允许是实数和布尔值。
同一个switch语句的所有case的“值”必须互不相同

2、面试例题

说出输出结果

#include <stdio.h>


int main()
{
int a,b,c,abc=0;
a=b=c=40;
	if(c)
	{
		int abc;
		abc=a*b+c;
	}
	printf("%d,%d\n",abc,c);
	return 0;
}

在这里插入图片描述
注意在符合语句中定义的abc变量(不同于前面的abc变量)的作用域仅仅为该符合语句,当退出复合语句后,当退出复合语句后,abc指的是前面值为0的abc变量,所以程序的输出为0,40

3、循环控制语句

循环控制语句主要包括有while、do while 和for语句
do while语句是先执行循环体,然后再判断“表达式”的值,所以无论一开始“表达式”的值是真是假,都至少执行循环体一次,这一点和while语句是有区别的。因此while语句比do while语句更加高效。

for语句一般格式如下:
for(表达式1;表达式2;表达式3)
语句;

表达式1表示给变量赋予初值;可以省略;
表达式2表示条件满足则继续执行;可以省略,在语句里面用break退出;
表达式3表示变量的变化;可以省略;

break能够英语循环语句和switch语句中,它跳出所在的那一层循环语句或者switch语句
continue只能用于循环语句中,它跳出所在的那一轮循环,继续下一轮循环。

4、面试题

以下程序的输出的是()

#include<stdio.h>
#define A 100
void main()
{
	int i=0,sum=0;
	do
	{
		if(i==(i/2)*2) continue;
		sum+=i;
	}while(++i<A);
	printf("%d\nn",sum);
}

在这里插入图片描述
解释:看到这种题,一定要灵活一点,看看他想要输出的结果,而不是像计算器一样,一步一步地去找规律
很明显,此题是为了求sum为1~100中的所有奇数之和,即sum=(1+99)*50/2=2500

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值