文章目录

  • 背景
  • 1、选择控制结构
  • 2、面试例题
  • 3、循环控制语句
  • 4、面试题

背景

现在进入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、C语言面试笔试--控制结构相关推荐

  1. 2、C语言面试笔试---运算符和表达式

    文章目录 背景 1.运算符和表达式 1.1自增自减运算符++与-- 1.2 C语言符号的优先级 1.3 类型转换 1.4 顺序点的概念 1.5 贪心法 2.面试笔试例题 背景 1.运算符和表达式 1. ...

  2. 1、C语言面试笔试---变量定义和声明

    文章目录 1.背景 2.变量定义和声明 1.局部变量和全局变量 2.变量的存储类别 3.例题 4.内存泄漏 1.背景 2019秋招马上开始了,今天已经是7月30号了,赶紧刷刷C语言,争取在8月中旬刷完 ...

  3. 4、C语言面试笔试--内存操作-指针

    文章目录 1.指针变量 1.1 基本概念 1.2 指针运算 1.3 面试题 2. 常量和常量指针 2.1 字面常量和符号常量 2.2 const指针常量 2.2.1 常量指针 2.2.2 常量指针变量 ...

  4. c语言关于内存笔试,4、C语言面试笔试--内存操作-指针

    文章目录1.指针变量1.1 基本概念1.2 指针运算1.3 面试题2. 常量和常量指针2.1 字面常量和符号常量2.2 const指针常量2.2.1 常量指针2.2.2 常量指针变量2.2.3 指针常 ...

  5. 5、C语言面试笔试--数据组织--数组

    文章目录 1.一维数组 2.一维数组和指针的区别 3.sizeof的使用 4.二维数组 5.用一级指针访问二维数组元素 6.字符数组和字符串数组 7.strlen函数与sizeof运算符号的差别 8. ...

  6. 单片机c语言面试笔试,c语言面试题集(单片机)..doc

    c语言面试题集(单片机). c语言面试题集(单片机) 1.预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define S ...

  7. 直击招聘程序员面试笔试C语言深度解析,直击招聘 程序员面试笔试C++语言深度解析(直击招聘) pdf epub mobi txt 下载...

    直击招聘 程序员面试笔试C++语言深度解析(直击招聘) pdf epub mobi txt 下载 图书介绍 ☆☆☆☆☆ 李春葆,李筱驰 著 下载链接在页面底部 发表于2021-05-18 类似图书 点 ...

  8. 中软国际python机试题_【中软国际c语言开发笔试试题及答案】 - 面试网

    中软国际c语言开发笔试试题及答案: 一 选择 1.在一个C程序中( ) [A] main函数必须出现在所有函数之前 [B] main函数可以在任何地方出现 [C] main函数必须出现在所有函数之后 ...

  9. 《PHP程序员面试笔试宝典》——如何应对面试官的“激将法”语言?

    如何巧妙地回答面试官的问题? 本文摘自<PHP程序员面试笔试宝典> "激将法"是面试官用以淘汰求职者的一种惯用方法,它是指面试官采用怀疑.尖锐或咄咄逼人的交流方式来对求 ...

最新文章

  1. python解析json
  2. Windows 编程[3] - 学习窗体生成的过程三
  3. 问题用户小米科技CEO雷军:千万别把用户当上帝
  4. Spring Boot使用缓存功能
  5. 【题意+分析】1071 Speech Patterns (25 分)_27行代码AC
  6. Eclipse项目左上角出现大红色感叹号怎么办?
  7. 统计整数n的二进制表示中1的个数
  8. 魔法少女小Scarlet(洛谷P4924题题解,C++语言描述)
  9. windows桌面远程连接ubuntu xrdp成功显示
  10. python解析json多行_用Python将JSON单行解析为多行CSV
  11. Windows PE 背景知识
  12. JUC学习之CountDownLatch入门
  13. web前端网页设计作业—个人网页(游戏主题)(html+css+js)
  14. 指定vtp为服务器命令,VTP与单臂路由
  15. 使用Weka进行数据挖掘(Weka教程三)Weka数据之Instances和Instance
  16. 《Objective-C 程序设计(第4版)》图书信息
  17. win7网络不显示共享计算机,Win7电脑已开启共享却找不到设备 局域网显示空白该怎么解决...
  18. javadoc 创建html,javadoc html标签
  19. SmartWin++笔记
  20. SQL SERVER IO request 超时

热门文章

  1. JUnit单元测试--IntelliJ IDEA
  2. java day07第七课静态的和单例设计模式
  3. WPF bitmap转bitmapimage 使用 CreateBitmapSourceFromHBitmap内存泄漏
  4. SmartImageView框架的使用
  5. POJ-3241 Object Clustering 曼哈顿最小生成树
  6. Flash/Flex学习笔记(2):捕获摄像头
  7. ASP.NET中 分析器错误:发现不明确的匹配
  8. UA PHYS515A 电磁理论V 电磁波与辐射5 电磁波在介质中的传播
  9. VC++简单实现工具软件随鼠标移动画线的功能
  10. jQuery调试学习总结