C語言考試題庫及答案_第1頁
C語言考試題庫及答案_第2頁
C語言考試題庫及答案_第3頁
C語言考試題庫及答案_第4頁
C語言考試題庫及答案_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

C語言考試題庫及答案

1.以下不是C語言的特點的是(C)

A、C語言簡潔,緊湊B、能夠編制出功能復(fù)雜的程序

C、C語言可以直接對硬件進行操作D、C語言的移植性好

2.一個C程序是由()B

A、一個主程序和若干個子程序組成B、一個或多個函數(shù)組成

C、若干過程組成D、若干子程序組成

3.以下描述正確的是()C

A、由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合

語句。

B、do-while循環(huán)由do開始,用while結(jié)束,在while(表達式)后面不能寫分號。

C、在do-while循環(huán)體中,不一定要有能使while后面表達式的值變成零(“假”)的操作。

D、do-while循環(huán)中,根據(jù)情況可以省略while。

4.以下對一維整形數(shù)組a的正確說明是()D

A、inta(10);B、intn=10,a[n];

C、intn;D、inta[10];

5.以下對二維數(shù)組a的正確說明是()C

A、inta[3][];B、floata(3,4);

C、doublea[l][4];D、floata⑶⑷;

6.數(shù)組名作為實參傳給被調(diào)用的函數(shù)時,形參獲得的是()C

A、該數(shù)組第一個元素的值

B、該數(shù)組所有元素的值

C、該數(shù)組第一個元素的首地址

D、該數(shù)組所有元素的首地址

7.C程序的開始是從()A

A、main。函數(shù)開始,直到main。函數(shù)結(jié)束

B、第一個函數(shù)開始,直到最后一個函數(shù)結(jié)束

C、第一個語句開始,直到最后一個語句結(jié)束

D、main。函數(shù)開始,直到最后一個函數(shù)結(jié)束

8.在C程序中,main()函數(shù)的位置()C

A、必須作為第一個函數(shù)B、必須作為第二個函數(shù)

C、可以任意D、必須放在它所調(diào)用的函數(shù)之后

9.C編譯程序是()C

A、C語言的機器語言版本B、一組機器語言指令

C、將C源程序編譯成目標(biāo)程序的程序D、是由自己編制的

10以下敘述中錯誤的是()C

A、C程序經(jīng)過編譯、連接之后形成一個真正可執(zhí)行的二進制機器指令文件

B、用C語言編寫的程序稱為源程序,它以ASCH代碼形式存放在文件中

C、C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終被轉(zhuǎn)換成二進制的機器指令

非執(zhí)行的語句不轉(zhuǎn)換:例如〃和/**/是注釋的意思

D、C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序

1.以下不正確的C語言標(biāo)識符是()D

字母,數(shù)字,下劃線組成,但是不能以數(shù)字開頭

A、ABCB、abcC^a_bcD、ab.c

12.一個C語言程序是由()B

A、一個主程序和若干子程序組成B、函數(shù)組成

C、若干過程組成D、若干子程序組成

13似下敘述錯誤的是()C

算法可以沒有輸入輸入,但是一定不能沒有輸出

A、算法正確的程序最終一定會結(jié)束B、算法正確的程序可以有零個輸入

C、算法正確的程序可以有零個輸出

D、算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ袀€相同的結(jié)果

14.設(shè)變量a是整型,f是實型,i是雙精度型,則表達式10+%'+i*f值的數(shù)據(jù)類型為()

C

強制類型轉(zhuǎn)換

A、intB^floatC、doubleD、不確定

15.以下敘述中錯誤的是()C

A、結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成

B、C語言是一種結(jié)構(gòu)化程序設(shè)計語言

C、使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題

D、結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法

16.以下敘述中錯誤的是()C

A、算法正確的程序最終一定會結(jié)束B、算法正確的程序可以有零個輸入

C、算法正確的程序可以有零個輸出D、算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤?/p>

的結(jié)果

17.以下選項中關(guān)于程序模塊化的敘述錯誤的是()B

A、把程序分成若干相對獨立、功能單一的模塊,可便于重復(fù)使用這些模塊

B、可采用自底向上、逐步細化的設(shè)計方法把若干獨立模塊組裝成所要求的程序

C、把程序分成若干相對獨立的模塊,可便于編碼和調(diào)試

D、可采用自頂向下、逐步細化的設(shè)計方法把若干獨立模塊組裝成所要求的程序

18.關(guān)于C語言的符號常量,以下敘述中正確的是()C

A、符號常量的名是標(biāo)識符,必須大寫B(tài)、符號常量的名是標(biāo)識符,必須小寫

C、符號常量是指用一個符號名來代表一個常量

D、符號常量的符號名必須是常量

19.關(guān)于C語言的變量,以下敘述中錯誤的是()B

A、所謂變量是指在程序運行過程中其值可以被改變的量

B、變量所占的存儲單元地址可以隨時改變

C、程序中用到的所有變量都必須先定義后使用

D、由三條下劃線構(gòu)成的符號名是合法的變量名

20以下選項中合法的變量名是()C

A、5aB、A%C、_10_D、sizeof

21.在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是()D

A、補碼B、反碼C、源碼D、ASCII碼

22.有如下程序,輸入數(shù)據(jù):12345M678<cR>后(<CR>表示回車),x的值是(

B

#include<stdio.h>

main(){

intx;

floaty;

scanf("%d%f"/&x,&y);

A、123B、12345C、45D、345

23.C語言中,不合法的字符常量是()?B

雙引號””包括起來的整體是字符串

A.'\t'B."a"C.'a'D.'\x32'

24.在C語言中,數(shù)字0x32是一個()。D

A.非法數(shù)B.八進制數(shù)C.十進制數(shù)D.十六進制數(shù)

25.已知字母A的ASCII碼是65,以下程序的執(zhí)行結(jié)果是()D

#include<stdio.h>

main()

,'

charcl=A'zc2=C;

()

printf"%d,%d\n"zcl,c2;

A、A,YB、65,65C、65,90D、65,67

26.下列運算符中優(yōu)先級最高的是()C

A、VB、+C、!D>=

27.若變量均己正確定義并賦值,以下合法的C語言賦值語句是()D

賦值語句=左邊必須為變量,不能為常量。B選項等式兩邊均為變量

A、x=m%2.5;B、x+n=i;C、x=5=4+l;D^x=y==5;

28.若有定義語句inta=3,b=2,c=l;以下選項中錯誤的賦值表達式是()B

A、a=b=c+l;B、a=(b=4)=3;C、a=(b=4)+3;D^a=l+(b=c=4);

29.有以下程序

main()

{intx=lzy=0;

if(岡y++;

elseif(x==O)

if(x)y+=2;

elsey+=3;

printf("%d\n,y);}

程序運行后的輸出結(jié)果是()B

#include<stdio.h>

intmain(void)

(

intx=l,y=O;

if(!x)

y++;

elseif(x==O)〃這里不滿足,直接就結(jié)束了

if(x)

y+=2;

else〃這個else只和最近的if生效

y+=3;

printf("%d\n",y);

return0;

A、2B、0C、1D、3

30.有以下程序段,程序的運行結(jié)果是()D

main()

{intx=l,y=0/a=0,b=0;

switch(x)

{casel:a++;b++;a++;break;

case2:a++;b++;break;

case3:a++;b++;}

printf("a=%d,b=%d\n",a,b);}

A、a=2,b=2B、a=l,b=lC、a=l,b=0D、a=2,b=l

31.下列敘述中正確的是()C

A、在switch語句中必須使用default

B^break語句必須與switch語句中的case配對使用

C、在switch語句中,不一定使用break語句

D,break語句只能用于switch語句

32.以下敘述中正確的是()A

可以自己調(diào)用自己:eg:遞歸函數(shù)

A、函數(shù)名代表該函數(shù)入口地址B,所有函數(shù)不能接受函數(shù)名作為實參傳入

C、函數(shù)體中的語句不能對自己的調(diào)用D、如果函數(shù)帶有參數(shù),就不能調(diào)用自己

33.下列定義數(shù)組的語句中,正確的是()。B

ANintN=10;intx[N];B、#defineN10intx[N];C>int[0..10];D、intx[];

34.下面程序的運行結(jié)果是()A

這是結(jié)構(gòu)體,就是看著有點復(fù)雜

#include<stdio.h>

#include<string.h>

voidmain()

{tructstudent

{intxh;

charxm[20];

}studl={1001;'LiMing"};

printf("xh=%d,xm=%s\n",studl.xh,studl.xm);}

A、xh=1001,xm=LiMingB、xh=1001,xm=

C、xh=,xm=D、xh=lxm=L

35.設(shè)x、y和z是int型變量,且x=3,y=4,z=5,則下面表達式中值為0是()。

D

A、A'&&

B、x<=y

C、x11y+z&&y-z

D、!((x<y)&&!z||1)

36.判斷char型變量cl是否為小寫字母的正確表達式為()D

A、'a'<=cl<=f,zB、(cl>=a)&&(cl<=z)

C、('a'>=cl)(<z,<=cl)D、(cl>=,a')&&(clV='z')

37.字符串"a"在內(nèi)存中占據(jù)的字節(jié)個數(shù)為()C

字符串以\0結(jié)束,占用一個字節(jié),但是如果計算機的話不會算\0,后面有題

A、0B、1C、2D、3

38.下面有關(guān)for循環(huán)的正確描述是()D

A、for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況

大多數(shù)用于循環(huán)次數(shù)已知的

B、for循環(huán)是先執(zhí)行循環(huán)體語句,后判定表達式

先判定,后循環(huán)

C、在for循環(huán)中,不能用break語句跳出循環(huán)體

D、for循環(huán)體語句中,可以包含多條語句,但要用花括號括起來

39.下面程序的運行結(jié)果是()C

#include<stdio.h>

main()

{intnum=0;

while(num<=2)

{num++;

printf(u%d,num);}

}

A、1B、12C、123D、1234

40.C程序是由函數(shù)構(gòu)成,C程序總是由(main)函數(shù)開始執(zhí)行。

41.C程序書寫自由,(;)是C程序語句結(jié)束的標(biāo)志。

42.結(jié)構(gòu)化程序設(shè)計的三種基本機構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)(分支結(jié)構(gòu))和循環(huán)結(jié)構(gòu)

43.程序中注釋采用(〃或者/**/)標(biāo)識作為對程序進行解釋說明。

44.在C語言中的實型變量分為兩種類型,它們是—float和double。

45.當(dāng)a=5,b=4,c=2時,表達式a>b!=c的值是1。左結(jié)合

,下列程序片段運行后的輸出結(jié)果是

46—0124—0

for(k=0;k<5;k++)

if(k==3)continue;

(H)

printf"%dzk;

K=3的時候不輸出直接continue,開始下一個k=4,然后輸出k=4

47.實型變量分為單精度和雙精度,定義雙精度變量的類型說明符為(double)o

48.表達式a+=a-=a=9的值是(0)。

a=9;a=a-9;a=0;a=a+0;a=0

49.若有以下程序,則程序的輸出結(jié)果是(5,-2)o

#include<stdio.h>

main()

{inta=-ll/b=10;

a/=b/=-4

printf("%d,%d\n",a,b);}

50.表示關(guān)系式xWyWz的C語言表達式為((y>=x)&&(y<二z))。

51.設(shè)1山\/\/二1小二2,丫二32二41二5力二6;則執(zhí)行語句(2二\/\/")&&(13二丫>2);后6二()

邏輯與運算符&&,當(dāng)左邊不成立時,右邊直接不看,b的賦值直接不執(zhí)行,還是b=6;

52.執(zhí)行程序中printf("%d”,strlen("good"));的輸出結(jié)果為(4)。

計算機并不會加上\0

53.數(shù)學(xué)表達式0<x<10在C語言中正確的表達方式是(0<x)&&(x>10)o

54.在C語言中,二維數(shù)組元素的內(nèi)存中的存放順序是_按行存放o

55.在C語言中,表達式后加;構(gòu)成C語言語句。

分號一定要是英文的哦

56.C語言中文件的存取方式可以順序存取,也可以隨機存取。()T

57.系統(tǒng)分配給一個結(jié)構(gòu)體變量的內(nèi)存空間字節(jié)數(shù)是各成員所需內(nèi)存字節(jié)數(shù)的總和。()

T

58.C語言程序的變量必須先定義再使用。()T

59.C語言中一行可以寫多個語句,一個語句也可以寫多行。()T

60.C語言是屬于高級語言。()T

這個高級的意思并不是優(yōu)先級高(并不是等級高的意思),而是相較機器語言那一種低級語

言語言來說是高級語言。

61.C語言程序的變量必須符合標(biāo)識符的命名格式。()T

62.同一結(jié)構(gòu)體類型中的各成員項數(shù)據(jù)類型可以不相同。()T

數(shù)組中必須要求是同一類型

63.C語言程序中,switch語句可以使用break。()T

64.關(guān)系表達式或邏輯表達式用1代表邏輯“真”,0代表邏輯“假”。()T

65.同一結(jié)構(gòu)體類型中的各成員項數(shù)據(jù)類型可以不相同。()T

66.C語言程序中,switch語句不一定使用default。()T

67.條件表達式只能是關(guān)系表達式或邏輯表達式.()F

還有算數(shù)表達式

68.運算符/和%要求參加運算的對象均為整型數(shù)據(jù)。()F

69.Abs100是合法的標(biāo)識符。()T

70.函數(shù)的調(diào)用次數(shù)可以是多次的。()T

71.函數(shù)的類型可以是整型、實型、字符型,但不可以是指針型。()F

72.使用#define可以為常量定義一個名字,該名字在程序中可以再賦另外的值。F

程序設(shè)計題

1.輸入圓的半徑,輸出圓的周長、面積,編寫程序的要求如下:

(1)定義符號常量:#definePI3.1415926。

(2)定義雙精度變量:圓半徑r,圓周長I,圓面積s。

(3)輸出10位寬度,其中兩位小數(shù),輸出數(shù)字左對齊。

(?]圓的周長與面積<

1#include<stdio.h>

2#definepi3.1415926

3intmain(void)

4E){

5doubler,1,s;

6printf("pleaseinputr:N*)[//4示輸入陶的¥汴

7scanf("%lf",&r);〃管人掰的//戶

8l=2*pi*r;////^/y/v

9s=pi*r*r;〃〃奴/切族

10printf(”網(wǎng)的冏長是%//輸入周氏

11printf("|M|的血枳是%10.2f",s);//赧/〃闌次

12return0;

13L

Printf里面的%f改為%10.2f

10表示寬度,2表示兩位小數(shù),若沒有限制寬度只限制二位小數(shù)則把%f改為%0.2f

2.輸入矩形的長a,寬b、求出矩形的周長L和面積S,編寫程序的要求如下:

(1)定義雙精度變量:長a,寬b、周長L和面積S。

(3)從鍵盤上輸入a、b的值,計算周長L和面積S并輸出,保留兩位小數(shù)。

[?]長方形的周長和面積工

1#include<stdio.h>

2intmain(void)

3早{

4double雙精度變量

5printf(Hinputa,b\nM);

6scanf(M%lf,%lf",&a,ab);

7l=2*(a+b);//Z/W/v

8s=a*b;///7

9printf(“周長是%0?2八門:1);//?崎〃"J界進仃小腹心上3\

10printf("周長是%。?2八rf,s);

11return0;

12L)

Printf里面的%f改為%.2f

3.輸出100-999之間所有的水仙花數(shù)。水仙花數(shù)指的是:各位數(shù)字立方和等于該數(shù)本身例

如:153=l*l*l+5*5*5+3*3*3o

[?]水仙花數(shù)<

1#include<stdio.h>

2intmain(void)

3早(

4inti,be,bl,b2;//足*。一八交/々小戶/,

5intcount=0;〃依。untZ仙花個墳.川始化為9

6for(i=106;i<1000;i++)//^-W100-1000//;^/

7A{

8b0=i/100;////7/Z?^

9bl=(i-b0*100)/10;////?/A/i>'

10b2=i%ie;//〃r/個管

11if(i==((be*be*be)+(bl*bl*bl)+(b2*b2*b2)))〃/〃M'/7/""^^Z:.&/C

120(

13count++;〃累加.如果滿足進行加

14printf("%d\n",i);

15-)

16-}

17printf("水仙花個數(shù)是%d”,count);//,:“、100-1000<//774'^1'.!

18return0;

19L

1D:\c語言習(xí)題'水仙花數(shù).exe

153

370

371

407

水仙花個數(shù)是4

Processexitedafter0.03544secondswithreturnvalue0

隆粕仟意犍繼續(xù)______________________________________

4.從鍵盤輸入三個整數(shù),輸出其中最大整數(shù)

1*1三個整數(shù)輸出最大整數(shù).c

1#include<stdio.h>

2intmain(void)

3早{

4inta,b,c,max;

5printf("請輸入三個整數(shù)啊a,b,c:\n");

6scanf("%d,%d,%d",&a,&b,&c);

7eax=a>b?a;〃付ab.進行比較,二的值賦給max

8max=c>max?c:max;//.-max,、俏賦鄉(xiāng)fimax

9printf("二個整數(shù)中最大的整數(shù)是%d",max);

10return0;

11

12L}

同樣也可以使用兩次if-else語句,先將a的值賦給max,然后依次與b,c比較,最后將最

大的值賦給max,如何輸出

5.輸出Fibonacci(斐波那契)數(shù)列的前20個數(shù)。這個數(shù)列有如下特點。第1、2個數(shù)為1,

從第3個數(shù)開始,該數(shù)是其前面兩個數(shù)之和,。即該數(shù)列為1,1,2,3,5,8,13,21,

34OOOOOO

「斐波颼2.C

1#include<stdio.h>

2intmain(void)

3S(

4inta[2e],i;〃第乂?個數(shù)組長度為靖的禽聯(lián)

5a?\=g//因為前兩個兀素沒有規(guī)律.可.以單獨賦值汴且輸

6a[l]=l;//過數(shù)組唱面前兩外元素進行賦值

7printf("%d\n",a[0]);//^7卜標(biāo)從。開始

8printf("%d\n",a[l]);

9for(i=2;i<=20;i++)

100(

11a[i]=a[i-l]+a[i-2];//V?竹。r循環(huán),依次對數(shù)組里向的值進行賦值

12printf(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論