3、C语言面试笔试--控制结构
文章目錄
- 背景
- 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语言面试笔试--控制结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2、C语言面试笔试---运算符和表达式
- 下一篇: 4、C语言面试笔试--内存操作-指针