3、C语言面试笔试--控制结构
文章目錄
- 背景
- 1、選擇控制結(jié)構(gòu)
- 2、面試?yán)}
- 3、循環(huán)控制語句
- 4、面試題
背景
現(xiàn)在進(jìn)入C語言的控制結(jié)構(gòu),這篇完成后,C語言的基礎(chǔ)操作也就算完結(jié)了。控制語句主要分為選擇控制語句和循環(huán)控制語句。
1、選擇控制結(jié)構(gòu)
選擇控制語句主要包括if else 結(jié)構(gòu),以及switch結(jié)構(gòu)。這里我就不再多說,下面點(diǎn)出一些容易出錯的地方。
-
if—else
-
一個if子句后面可以沒有else子句(構(gòu)成單分支if語句),也可以有else子句(構(gòu)成雙分支if語句),但所有的if-else if語句無論有幾個else if子句都應(yīng)該以else子句結(jié)尾(建議)。
-
浮點(diǎn)判斷
-
switch
switch(表達(dá)式)
{
case 值1:語句1;【break; 】
case 值2:語句2;【break; 】
[default:語句;【break;】]
}
注意switch后面圓括號內(nèi)的“表達(dá)式”的值只能是整數(shù)或字符值,不允許是實(shí)數(shù)和布爾值。
同一個switch語句的所有case的“值”必須互不相同
2、面試?yán)}
說出輸出結(jié)果
#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變量)的作用域僅僅為該符合語句,當(dāng)退出復(fù)合語句后,當(dāng)退出復(fù)合語句后,abc指的是前面值為0的abc變量,所以程序的輸出為0,40
3、循環(huán)控制語句
循環(huán)控制語句主要包括有while、do while 和for語句
do while語句是先執(zhí)行循環(huán)體,然后再判斷“表達(dá)式”的值,所以無論一開始“表達(dá)式”的值是真是假,都至少執(zhí)行循環(huán)體一次,這一點(diǎn)和while語句是有區(qū)別的。因此while語句比do while語句更加高效。
for語句一般格式如下:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
語句;
表達(dá)式1表示給變量賦予初值;可以省略;
表達(dá)式2表示條件滿足則繼續(xù)執(zhí)行;可以省略,在語句里面用break退出;
表達(dá)式3表示變量的變化;可以省略;
break能夠英語循環(huán)語句和switch語句中,它跳出所在的那一層循環(huán)語句或者switch語句
continue只能用于循環(huán)語句中,它跳出所在的那一輪循環(huán),繼續(xù)下一輪循環(huán)。
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); }
解釋:看到這種題,一定要靈活一點(diǎn),看看他想要輸出的結(jié)果,而不是像計算器一樣,一步一步地去找規(guī)律
很明顯,此題是為了求sum為1~100中的所有奇數(shù)之和,即sum=(1+99)*50/2=2500
總結(jié)
以上是生活随笔為你收集整理的3、C语言面试笔试--控制结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2、C语言面试笔试---运算符和表达式
- 下一篇: 4、C语言面试笔试--内存操作-指针