c語言程序設計基礎考試題庫,C語言程序設計考試題庫

本文目錄一覽:

《C語言程序設計》練習題

一、選擇題

1、C語言規定,在一個源程序中,main()函數的位置(C )。

A) 必須在最開始 B)必須在最後

C) 可以任意 D) 必須在系統調用的庫函數後面

這題你死記就行,你看看這個

任何一個C++程序都必須定義一個main函數,它的返回類型總是int類型。這個函數由操作系統來調用,在main函

數執行完以後,程序也就終止了。 main也可以使用return向操作系統返回一個值,使用操作系統的命令可以檢測

main的返回值。一般約定在main返回0時,表示程序運行過程中沒有出現錯誤,其它非零值表示程序出現異常情況。

若沒有為main指定返回值,這樣返回值是任意的。

2、若x和y都是int 型變數,x=100,y=200,且有以下程序段,printf(「%d」,(x,y));則其輸出結果是( A)。

A) 200 B) 100 C) 100 200 D) 輸出不確定值

(x,y)這是個逗號表達式,表達式的值為最後一個逗號後面表達式的值,因為前面有一個%d,所以輸出 的是y的

3、合法的C語法字元常量是(C )。

A) 「A」 B) 65 C) 『\t』 D) A

字元都是由兩個單引號括起來的,死記, a)為字元串

4、表達式「3!=4」的值是(A )。

A) 1 B) 0 C) T D) F

!=是c語言的邏輯運算符,3!=4為真,多以得1, 3=4為假,值為0

5、 int a=1,b=2,c=3,d=4,執行下列程序後x的值為( C)。

if(ab) x=1;else if (cd) x=2;else x=3;

A) 1 B) 2 C) 3 D) 4

如果ab,12為假,不執行x=1,執行else if(cd),判斷:34為假,不執行x=2,執行=3,完

6、以下程序的輸出結果是(D)。

Int x=10,y=3,z;printf(「%d\n」,z=(x%y,x/y));

A)1 B) 0 C) 4 D) 3

逗號表達式,x%y,10%3,商3餘1,模取餘數1,x/y,10/3,商3餘1,除法取商3,逗號表達式,表達式的值為最後一

個逗號後面表達式的值

7、為表示x≥y≥z,應使用C語言表達式(A )。

A) (x=y)(y=z) B) (x=y) AND (y=z)

C) (x=y=z) D) (x=y) (y=z)

關係運算符,x=y與y=z必須是同時成立的,因此要用邏輯運算符,與的意思

8、合法的數組定義是( a )。

A) int a[ ]=」string」; B) int a[5]={0,1,2,3,4,5};

C) char a=」string」; D) char a[ ]={「01234」};

a不指定數組長度定義,正確

b數組長度為5,就是裡面有5個數組元素,多了一個數組元素

c定義a不是數組而是一個變數,素組應該是a[]

d是錯的,字元串是這樣定義的:char a[ ]={‘0′,’1′,’2′,’3′,’4′,’\0’};

[4]中數字是數組長度,說明裡面有幾個元素

9、設x和y均為int型變數,則語句「x+=y;y=x-y;x-=y;」的功能是(D)。

A) 把x和y按從小到大排列 B)把x和y按從大到小排列

C)無確定結果 D)交換x和y中的值

x+=y等同於x=x+y,把x加y的值賦給x,x現在存的是x與y的和

y=x-y把x減y的值賦給y,x現在存的是x與y的和 (x+y)-y=x,把x的值給y,y存x的值

x-=y等同於x=x-y,把x減y的值賦給x,(x+y)-y=x,現在的後面的y存的是x的值,做完後x里存的值是y,完成交換

10、若已定義x和y為double類型,則表達式「x=1,y=x+3/2」的值是(C)。

A) 1 B)2 C) 2.0 D) 1.0

逗號表達式,先讓x=1在算y=x+3/2,得2,因為是double類型,所以有小數點

11、下列條件語句中,功能與其他語句不同的是 (D)

A) if(a) printf(“%d\n”,x); else printf(“%d\n”,y);

B) if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);

C) if (a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);

D) if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);

a 如果a為真輸出x,如果a為假輸出y

b 如果a==0,也就是為假,輸出y,a為真輸出x,同a

c 如果a!=0為真,輸出x,a為假輸出y同上

d 如果a為假輸出x,如果a為真輸出y,與以上的都不同

12、以下能正確定義二維數組的是 (C)

A) int a[][3]; B) int a[][3]=2{2*3};

C) int a[][3]={0}; D) int a[2][3]={{1},{2},{3,4}};

a 沒有給數組賦初值

b {}里不能有*

c 正確,記住第一個[]中可以為空,第二個[]不能為空,死記

d a[2][3] 的意思是有兩個一維數組,每個一維數組裡有3個元素,{{1},{2},{3,4}}; 她的意思是三個數組,{}中的每一個{}代表一個數組,裡邊的數為數組元素

13、用C語言編寫的代碼程序 (B)

A)可立即執行 B)是一個源程序

C)經過編譯即可執行 D)經過編譯解釋才能執行

死記

計算機二級c語言程序設計有哪些題型?

全國計算機二級C語言程序設計包括40個單選題(每題一分)和三道操作題(60分)。

單選題中1~10題為二級公共基礎知識,單選題的11~40題是C語言的內容。

操作題包括程序填空(18分)、程序改錯(18分)和編程題(24分)各一題。

程序填空是將一個完整的程序,扣掉兩到三處,讓考生將它填寫完整。由於每位考生具體抽到的題目不同,程序填空有2到3個空要填。

程序改錯也是一個完整的程序,其中有2~3處錯誤要求考生將他們改正。

編程題是要求考生編寫一個程序,然後運行出題干要求的結果。題目中主函數main()會完整給出,在主函數中將調用fun()函數,fun函數由考生自己編寫。編程題以運行結果給分,所編寫完成後必須運行,否則沒分。

二級C語言程序設計考試涉及公共基礎知識和C語言兩塊。公共基礎知識內容包括數據結構與演算法、程序設計基礎、軟體工程基礎、資料庫設計基礎四部分。考10個單選每個1分。

C語言有基礎知識(C語言概述、常量與變數、數據類型、運算符和表達式),編程三大結構(順序結構、選擇結構、循環結構),數組、函數和指針,其他內容(預處理命令、結構體和共用體、位運算、文件)四大部分內容。重點是第二、三部分。

誰有大一C語言考試題?快考試了,跪求題庫··

單項選擇題(每小題2分,共50分)

1、一個C程序的執行是從___A__。

A、本程序的main函數開始,到main函數結束

B、本程序的main函數開始,到本程序文件的最後一個函數結束

C、本程序文件的第一個函數開始,到本程序文件的最後一個函數結束

D、本程序文件的第一個函數開始,到本程序main函數結束

2、C語言程序的基本單位是___C___。

A、程序行 B、語句

C、函數 D、字元

3、請選出可用作C語言用戶標識符的一組標識符___B___。

A、void B、a3_b3 C、For D、2a

define _123 -abc DO

WORD IF ase sizeof

主要特點

C語言是一種結構化語言,它有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。

以上內容參考:百度百科-c語言

求:C語言程序設計試卷及答案一份

一、選擇題(1~40題每題1分,41~50題每題2分,共60分)下列各題A、B、C、D四個選項中,只有一個選項是正確的。請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。

1.微型計算機的運算器、控制器及內存儲器組合在一起,稱之為()(本題分值:1分)

【正確答案】D

A.ALU

B.CPU

C.MPU

D.主機

2.下列存儲器中,存取速度最快的是()(本題分值:1分)

【正確答案】D

A.軟盤

B.硬碟

C.光碟

D.內存

3.系統軟體中最重要的是()(本題分值:1分)

【正確答案】A

A.操作系統

B.語言處理程序

C.工具軟體

D.資料庫管理系統

4、CPU處理的數據基本單位為字,一個字的字長()(本題分值:1分)

【正確答案】D

A.為8個二進位位

B.為16個二進位位

C.為32個二進位位

D.與CPU晶元的型號有關

5.列印當前屏幕內容應使用的控制鍵是()(本題分值:1分)

【正確答案】D

A.Scroll-Lock

B.Num-Lock

C.PgDn

D.PrtSc(Print Screen)

6.能將高級語言源程序轉換成目標程序的是()(本題分值:1分)

【正確答案】C

A.調試程序

B.解釋程序

C.編譯程序

D.編輯程序

7.二進位數1110111.11轉換成十進位數是()(本題分值:1分)

【正確答案】B

A.119.375

B.119.75

C.119.125

D.119.3

8.十六進位數FF.1轉換成十進位數是()(本題分值:1分)

【正確答案】A

A.255.0625

B.255.125

C.127.0625

D.127.125

9.中國國家計算機網路設施是()(本題分值:1分)

【正確答案】A

A.NCFC

B.CERNET

C.ISDN

D.Internet

10.控制鍵^C的功能為()(本題分值:1分)

【正確答案】A

A.終止當前操作

B.系統複位

C.暫停標準輸出設備的輸出

D.結束命令行

11.COMMAND.COM為命令處理程序,DOS系統啟動後,它()(本題分值:1分)

【正確答案】B

A.駐留在外存,需要時裝入內存

B.常駐內存,包含所有內部命令

C.不能處理外部命令

D.不能處理後綴為.EXE的可執行文件

12.為了將所有擴展名為.PAS的文件改成擴展名為.P,應使用命令()(本題分值:1分)

【正確答案】C

A.REN *.PAS .?AS

B.REN PAS P

C.REN *.PAS *.P

D.REN *.PAS *.P??

13.設當前盤中文件XY.C的路徑為\A\B\XU,當前目錄為\A\B。為了查看文件XY.C的內容,應使用命令()(本題分值:1分)

【正確答案】A

A.TYPE XU\XY.C

B.TYPE \XU\XY.C

C.DIR XU\XY.C

D.DIR \A\B\XU\XY.C

14.要將提示符改成當前盤當前目錄後加一個大於號「>」,應使用命令()(本題分值:1分)

【正確答案】B

A.PROMPT

B.PROMPT $ p $ g

C.PROMPT $ $

D.PROMPT C\>

15.在多媒體計算機系統中,CD-ROM屬於()(本題分值:1分)

【正確答案】D

A.感覺媒體

B.表示媒體

C.表現媒體

D.存儲媒體

16.設當前盤為C盤,將A盤根目錄下的文件目錄信息存放到當前盤當前目錄下的文件AB中,應使用命令()(本題分值:1分)

【正確答案】C

A.TYPE A:\>AB

B.DIR >AB

C.DIR A:\>AB

D.DIR \>AB

17.在位運算中,操作數每右移一位,其結果相當於()(本題分值:1分)

【正確答案】B

A.操作數乘以2

B.操作數除以2

C.操作數除以16

D.操作數乘以16

18.在當前盤當前目錄下有一個文件A.BAT,其內容為

CD \

MD \XYZ\AB\B\C

CD XYZ\AB\B

在正確執行上述文件後,接著執行下列命令時,不會發生錯誤的是()(本題分值:1分)

【正確答案】C

A.MD C

B.RD \XYZ

C.RD C

D.RD B

19.下列命令組中兩個DOS命令互相等價的是()(本題分值:1分)

【正確答案】D

A.TYPE AB.TXT與DIR AB.TXT

B.DISKCOMP A:B:與COMP A:.* B:*.

C.TYPE AB.TXT>>XY.TXT與COPY AB.TXT XY.TXT

D.TYPE AB.TXT>XY.TXT與COPY AB.TXT XY.TXT

20.設A盤為啟動盤,其目錄結構為

根目錄

DOS子目錄 COMAND.COM

USER子目錄 AUTOEXEC.BAT

其文件AUTOEXEC.BAT的內容如下:

MD \XYZ

CD \DOS\USER

則由A盤啟動成功後,A盤的當前目錄是()(本題分值:2分)

【正確答案】C

A.\DOS\USER

B.\XYZ

C.根目錄

D.\DOS

21.C語言提供的合法關鍵字是()(本題分值:1分)

【正確答案】C

A.switch

B.cher

C.case

D.default

22.在C語言中,合法的字元常量是()(本題分值:1分)

【正確答案】B

A.′\084′

B.′\x43′

C.′ab′

D.′\0′

23.若已定義x和y為double類型,則表達式: x=1,y=x+3/2的值是()(本題分值:1分)

【正確答案】C

A.1

B.2

C.2.0

D.2.5

24.合法的數組定義是()(本題分值:1分)

【正確答案】D

A.int a[]=〃string〃;

B.int a[5]={0,1,2,3,4,5};

C.char a=〃string〃;

D.char a[]={0,1,2,3,4,5};

25.設a為整型變數,不能正確表達數學關係10<a<15的C語言表達式是()(本題分值:1分)

【正確答案】A

A.10<a<15

B.a==11||a==12||a==13||a==14

C.a>10&&a<15

D.!(a<=10)&&!(a>=15)

26.若t為double類型,表達式t=1,t+5,t++的值是()(本題分值:1分)

【正確答案】C

A.1

B.6.0

C.2.0

D.1.0

27.若有定義和語句:

char s[10];s=〃abcd〃;printf(〃%s\n〃,s);

則結果是(以下μ代表空格)()(本題分值:1分)

【正確答案】D

A.輸出abcd

B.輸出a

C.輸出abcdμμμμμ

D.編譯不通過

28.若有定義和語句:

int **pp,*p,a=10,b=20;

pp=&p;p=&a;p=&b;printf(〃%d,%d\n〃,*p,**pp);

則輸出結果是()(本題分值:1分)

【正確答案】D

A.10,10

B.10,20

C.20,10

D.20,20

29.若有以下定義和語句:

int u=010,v=0x10,w=10;

printf(〃%d,%d,%d\n〃,u,v,w);

則輸出結果是()(本題分值:1分)

【正確答案】A

A.8,16,10

B.10,10,10

C.8,8,10

D.8,10,10

30.若有以下定義和語句:

char c1=′b′,c2=′e′;

printf(〃%d,%c\n〃,c2-c1,c2-′a′+′A′);

則輸出結果是()(本題分值:1分)

【正確答案】B

A.2,M

B.3,E

C.2,E

D.輸出項與對應的格式控制不一致,輸出結果不確定

31.若有定義:int a[3][4];,()不能表示數組元素a[1][1]。(本題分值:1分)

【正確答案】D

A.*(a[1]+1)

B.*(a[1][1])

C.(*(a+1))[1]

D.*(a+5)

32.若i、j已定義為int型,則以下程序段中內循環體的總的執行次數是()(本題分值:1分)

for(i=5;i>0;i–)

for(j=0;j<4;j++){…}

【正確答案】A

A.20

B.24

C.25

D.30

33.若有以下定義和語句:

char *s1=〃12345〃,*s2=〃1234〃;

printf(〃%d\n〃,strlen(strcpy(s1,s2)));

則輸出結果是()(本題分值:1分)

【正確答案】A

A.4

B.5

C.9

D.10

34.若有以下定義和語句:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

則不能表示a數組元素的表達式是()(本題分值:1分)

【正確答案】B

A.*p

B.a[10]

C.*a

D.a[p-a]

35.下面程序的輸出結果是()(本題分值:2分)

【正確答案】C

A.k=3 a=2 b=3

B.k=3 a=3 b=2

C.k=2 a=3 b=2

D.k=2 a=2 b=3

36.下面程序的輸出結果是()(本題分值:1分)

main()

{unsigned a=32768;

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

【正確答案】C

A.a=32768

B.a=32767

C.a=-32768

D.a=-1

37.執行下面語句後的輸出結果為()(本題分值:1分)

int i=-1;

if(i<=0) printf(〃****\n〃);

else printf(〃%%%%\n〃)

【正確答案】D

A.****

B.%%%%

C.%%%%c

D.有語法錯誤,不能正確執行

38.對於條件表達式(M)?(a++):(a–),其中的表達式M等價於()(本題分值:1分)

【正確答案】C

A.M==0

B.M==1

C.M!=0

D.M!=1

39.下述程序段的輸出結果是()(本題分值:1分)

int x=10;

int7nbspy=x++;

printf(〃%d,%d〃,(x++,y),y++);

【正確答案】A

A.11,10

B.11,11

C.10,10

D.10,11

40.若有以下的定義:

int a[]={1,2,3,4,5,6,7,8,9,10},*p=a

則值為3的表達式是()(本題分值:1分)

【正確答案】A

A.p+=2,*(p++)

B.p+=2,*++p

C.p+=3,*p++

D.p+=2,++*p

41.假定所有變數均已正確說明,下列是程序段運行後x的值是()(本題分值:2分)

a=b=c=0;x=35;

if(!a) x–;

else if(b);

if(c) x=3;

else x=4;

【正確答案】B

A.34

B.4

C.35

D.3

42.在以下一組運算中,優先順序最高的運算符是()(本題分值:2分)

【正確答案】C

A.<=

B.=

C.%

D.&&

43.若有以下定義和語句:

int w[2][3],(*pw)[3];pw=w;

則對w數組元素的非法引用是()(本題分值:2分)

【正確答案】A

A.*(w[0]+2)

B.*(pw+1)[2]

C.pw[0][0]

D.*(pw[1]+2)

44.若有以下程序片段: char str[ ]=〃ab\n\012\\\\〃; printf(〃%d〃,strlen(str));

上面程序片段的輸出結果是()(本題分值:2分)

【正確答案】C

A.3

B.4

C.6

D.12

45.函數調用:strcat(strcpy(str1,str2),str3)的功能是()(本題分值:2分)

【正確答案】C

A.將串str1複製到串str2中後再連接到串str3之後

B.將串str1連接到串str2之後再複製到串str3之後

C.將串str2複製到串str1中後再將串str3連接到串str1之後

D.將串str2連接到串str1之後再將串str1複製到串str3中

46.以下對C語言函數的有關描述中,正確的是()(本題分值:2分)

【正確答案】A

A.在C中,調用函數時,只能把實參的值傳送給形參,形參的值不能傳送給實參

B.C函數既可以嵌套定義又可以遞歸調用

C.函數必須有返回值,否則不能使用函數

D.C程序中有調用關係的所有函數必須放在同一個源程序文件中

47.以下敘述中不正確的是()(本題分值:2分)

【正確答案】C

A.在C中,函數中的自動變數可以賦初值,每調用一次,賦一次初值

B.在C中,在調用函數時,實參和對應形參在類型上只需賦值兼容

C.在C中,外部變數的隱含類別是自動存儲類別

D.在C中,函數形參可以說明為register變數

48.設有以下定義或語句,則輸出的結果是(用small模式編譯,指針變數佔2個位元組)()(本題分值:2分)

struct date

{long *cat;

struct date *next;

double dog;

}too;

printf(〃%d〃,sizeof(too));

【正確答案】D

A.20

B.16

C.14

D.12

49.設有定義:struct sk

{int a;float b;}data,*p;

若有p=&data;,則對data中的a域的正確引用是()(本題分值:2分)

【正確答案】B

A.(*p).data.a

B.(*p).a

C.p->data.a

D.p.data.a

50.以下對枚舉類型名的定義中正確的是()(本題分值:2分)

【正確答案】B

A.enum a={one,two,three};

B.enum a{one=9,two=-1,three};

C.enum a={〃one〃,〃two〃,〃three〃};

D.enum a{〃one〃,〃two〃,〃three〃};

二、填空題(每空2分,共40分)請將答案分別寫在答題卡中序號【1】至【20】的橫線上,答在試卷上不得分。

1、與十進位數101等值的二進位數為。(本題分值:2分)

【正確答案】

【1】1100101

2、DOS命令分為內部命令與外部命令,XCOPY命令屬於命令。(本題分值:2分)

【正確答案】

【2】外部

3、設當前盤為A盤,當前系統提示符為「」,在不改變當前盤的情況下,顯示C盤的當前目錄路徑,應使用命令。 (本題分值:2分)

【正確答案】

【3】CD C:

4、自動批處理文件名必須是。(本題分值:2分)

【正確答案】

【4】AUTOEXEC.BAT

5、設在當前盤當前目錄下有兩個文件W.TXT與P.TXT,現要將文件P.TXT連接到文件W.TXT的後面,若使用COPY命令,則完整的命令為。(本題分值:2分)

【正確答案】

【5】COPY W.TXT+P.TXT W.TXT

6、表示條件10<x<100或x<0的C語言表達式是。(本題分值:2分)

【正確答案】

【6】(x>10 x<100)||x<0

或(10<xx<100)||x<0

或x<0 ||(x>10x<100)

或0>x ||(10<xx<100)

7、以下程序中,主函數調用了LineMax函數,實現在N行M列的二維數組中,找出每一行上的最籩怠G胩羈鍘?br #define N 3

#define M 4

void LineMax(int x[N][M])

{ int i,j,p;

for(i=0;i<N;i++)

{p=0;

for(j=1;j<M;j++)

if(x[i][p]<x[i][j]) ;

printf(〃The max value in line is %d\n〃,);

}

}

main()

{ int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};

;

}

(本題分值:6分)

【正確答案】

【7】p=j

【8】x[i][p]

【9】LineMax(x)

8、以下程序的功能是:從鍵盤上輸入若干個學生的成績,統計計算出平均成績,並輸出低於平均分的學生成績,用輸入負數結束輸入。請填空。

main()

{float x[1000],sum=0.0,ave,a;

int n=0,i;

printf(〃Enter mark:\n〃);scanf(〃%f〃,a);

while(a>= 0.0 n<1000)

{sum+=;x[n]=;

n++; scanf(〃%f〃,a);

}

ave= ;

printf(〃Output:\n〃);

printf(〃ave=%f\n〃,ave);

for(i=0;i<n;i++)

if() printf(〃%f\n〃,x[i]);

}

(本題分值:8分)

【正確答案】

【10】a

【11】a

【12】sum/n或sum/(float)n或sum/(double)n

【13】x[i]<ave或!(x[i]>=ave)或ave>x[i]

9、執行以下程序,輸入-10的結果是,輸入5的結果是,輸入10的結果是,輸入30的結果是。

(本題分值:8分)

【正確答案】

【14】0

【15】5

【16】10

【17】5

10、以下程序的功能是。

main()

{int num[10]={10,1,-20,-203,-21,2,-2,-2,11,-21};

int sum=0,i;

for(i=0;i<10;i++)

if(num[i]>0)

sum=num[i]+sum;

printf(〃sum=%6d〃,sum);

}

(本題分值:2分)

【正確答案】

【18】計算數組num中大於零的數據之和

11、以下程序可以把從鍵盤上輸入十進位數(long型)以二到十六進位數的形式輸出,請填空。

#include

main()

{char

b[16]={′0′,′1′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′,′A′,′B′,′C′,′D′,′E′,′F′};

int c[64],d,i=0,base;

long n;

printf(〃Enter a number:\n〃); scanf(〃%1d〃,n);

printf(〃Enter new base:\n〃); scanf(〃%1d〃,base);

do

{c[i]=;

i++;

n=n/base;

}while(n!=0);

printf(〃The result is:\n〃);

for(–i;i>=0;–i)

{?d=c[i];

printf(〃%c〃,b);

}

}

(本題分值:4分)

【正確答案】

【19】n%base

【20】 [d]

C語言題庫,求發一份

單選題

1. 以下敘述中正確的是(1)。

 A.若e1、e2為變數,e為表達式,則

e1=e2=e使得e1、e2都具有表達式e的值 。

 B.程序中不能定義與庫函數名同名的變數。

 C.一個C源程序可放在多個文件中,但

一個函數不能跨放在兩個不同的文件中。

 D.C語言編譯系統以函數為單位編譯源程序。

2. 若a,b,c都是實型變數,則下列語句中除 (2)  之外,都可能得不到正確的計算結果。

A.if(b*b-4*a*c==0) x1=x2=-b/(2*a);

else x1=(-b+sqrt(b*b-4*a*c))/(2*a), x2=(-b-sqrt(b*b-4*a*c))/(2*a);

B.b=2.0e38+1.0-2.0e38;

C.a=456*768/2;

D.double define=1.0;

3. 以下正確的常量是(3 )。

A.『077』 B.『\0x89』 C.3.14u D.『\012』

4. 若已有聲明「float x= -1234.5678; int m,n=4;」則執行「m=printf(「\n%8.3f\n」,x)/n;」語句後,

變數m的值是 (4) 。

A. 2 B. 3 C. 4 D. 5

5. 若已有聲明「int x1; float x2; long x3; char x4;」,且以下選項均出現在switch語句中,其中正確

的是 (5) 。

A. case 1.1: scanf(“%d”,x1);break;

B. case 1+2: scanf(“%f”,x2); break;

 C. case ‘x’: 

case ‘y’-1: scanf(“%ld”,x3); break;

D. case x4: scanf(“%c”,x4); break;

6. 33.以下表達式中,能夠作為「if(e) 語句」中判斷條件表達式e 的是 (6) 。

 A. x==++(x+1) B. x+=++x||x++ C. x+1=z D. x%2.0!=0

7. 以下局部變數聲明中,正確的是 (7) 。

A.int x=0, void=1;   B.int x=1,y=2x;

C.int x=2,y=sqrt(x);   D.int x=sqrt(y),y=4;

8. 在以下語句中,正確的是 (8) 。

 A.if(ab)m=a;n=b;else m=b;n=a;

 B.if(ab){m=a;n=b;else m=b;n=a;}

 C.if(ab)m=a,n=b;else m=b,n=a;

 D.if(ab){m=a;n=b;}else(a=b){m=b;n=a;}

9.24.已知有聲明:「char c=『1』 ; int x=300 ; float t=35000 ; double d=3.1234567e10 ;」,則以下表達式

求值時除 (9 ) 外,其結果都可能是不準確的。

A. x=t/c B. t=d/x C. t=d/1e5f D. t=x+c

10.若有聲明「int i,k=1; unsigned j;」,則下列語句執行時會出現無限循環的語句

是 (10) 。

A.for(j=15;j0;j-=2) k++;

B.for(j=0;j15;j+=2) k++;

C.for(i=0;i15;i+=2) k++;

D.for(i=15;i0;i-=2) k++;

11.已有聲明「int x=2,y=1,z=0;」,以下表達式的值不為0的是 (11) 。

A. x==(x=0,y=1,z=2)

B. zyx

C. xy==1

D. x(y=2)

12.若e1、e2和e3是表達式,以下選項中與語句while(e1){e2,e3;}功能等價的語句是 (12 ) 。

A. for( ;e1;e3)e2; B. for( ;e1;e2)e3; C. for(e1;e2;e3); D. for(e1; e2, e3; );

13.已有聲明「int x=3;」,以下選項中與「x+=x =x+1」功能不等價的表達式是 (13 ) 。

A.x=x+(x=xx+1) B.x=x+(x=x(x+1)) C.x=x+(x=xx1) D.x=x(x+1), x=x+x

14.若已有聲明「int a=2; 」,則執行語句「printf(“%d”, a, a+1 );」後的輸出結果是 (14) 。

A.語法錯 B. 2,3 C. 2 D. 3

15.語句「if (!n) n++;」中的「!n」等價於如下 (15) 條件的判定。

A.n==0   B.n!=0   C.n0   D.n0

16.若已有聲明「int a=1; 」,則以下表達式中錯誤的是 (16 ) 。

A.-a++ B.+a– C.–a D.++-a

17.下列 (17) C語言表達式能正確表達數學計算式1÷× 2xy。

A. 1/sqrt(2*3.14)*2*pow(x,y) B.1.0/sqrt(2)*2*x**y

C. 1.0/sqrt(6.28)*2x^y  D.1/6.28^0.5*2*pow(x,y)

18. 已有聲明「int a=3,b=3,c=2;」,以下表達式中值為0的是 (18) 。

A. !a!bc B. !a || !b || c C. a==b b=c D. a=b bc

19.

36.若有: int w=1 , x=2 , y=3 , z=4; 則表達式 wx?x–:yz?y–:++z 的值為 (19 ) 。

 A. 4   B. 3     C. 2   D. 1

20. 已知某程序中有以下片斷:

#define p 2.5

main( )

{ float x=p;

}

則main函數中標識符p代表一個 (20)  。

A. float型變數  B. double 型變數 C. float型常量 D. double 型常量

20.

填空題

1.21.設有如下程序段:

int a=2, b, c=5 ;

scanf( 「%d」 , b) ;

b = c– || scanf (「%d」 , c ) a++;

執行該程序段時,若從鍵盤上輸入的數據是 4ƀ3 (ƀ代表空格鍵) , 則變數c 的值為 (21) 。

2. signed和unsigned只能用於聲明int型變數和 (22) 型變數。

3.代數式「||」的C語言表達式是 (23) 。

4.已有聲明「int a=-13,n=7;」,表達式「a%=n%=4」求值後變數a的值為 (24) 。

5.已有聲明「unsigned int a=30; 」 ,那麼 –a 的值為___(25)____。

6.

如下程序執行後的輸出是____(26)____。

#includestdio.h

main ( )

{

int i=1,m=0;

 switch ( i )

{  

 case 1 :

 case 2 : m++;

 case 3 : m++;

}

 printf ( 「%d」 ,m);

}

7.C語言的三個邏輯運算符(!、、||)中,優先順序高於算術運算符的是

  (27) 。

8.已知sizeof(int)的值為2,執行如下程序後輸出結果為 (28) 。

main()

{ int a,b;

a=65536;

b=32767+1;

printf(“%d %d\n”,a,b);

}

9.若有聲明「int a=3,b=0,c=5;」, 則表達式 !a+b+c-1b+c/2 的值是 (29) 。

10.若有聲明「int x=1,y=2;」 ,則表達式 ++x, x+y++ 的值是 (30) 。

三、閱讀程序題

1.在PC機的TC中執行以下程序後的輸出是: (31) 。

main()

{

unsigned x=0x7f39;

int y;

char c;

c=x;

x+=0307;

y=x;

printf(「%d,%x,%c」,x,y,c);

}

2.以下程序運行後的輸出結果是 (32) 。

#includestdio.h

main ( )

{ int x=30, y=45;

while(x!=y)

if(xy)x-=y;

else y-=x;

printf(“%d”, x);

}

3.

以下程序運行後輸出結果的第一行是 (33) ,第二行是 (34) 。

#includestdio.h

#includemath.h

void main()

{ int a=0x65,b,c,count=0;

b=a;

while(b0)

{ b=b/8;

count++;

}

printf(“%d\n”,count);

while(count0)

{ c=pow(8,count-1);

printf(“%d”,a/c);

a=a%c;

count–;

}

}

4.以下程序運行時輸出結果是 (35) 。

#include stdio.h

main()

{

  int i,x=3,y=5;

for(i=0;i3;i++)

switch(y%x)

{

  case 0: printf(“%d”,y);

case 1: printf(“%d”,y–);break;

case 2: printf(“%d”,–y);break;

}

}

5.以下程序執行後,輸出結果的第一行是 (36) ,第二行是 _(37)______。

#define N 100

main()

{ int i=0,sum=0;

do

{ if(i==(i/2)*2)

continue;

sum++;

if(sum3)

break;

}while(++iN);

printf(“%d \n %d”, sum,i);

}

四、完善程序題

1.下列程序的功能是按從鍵盤上輸入的整數m,判斷2m -1是否為素數,若為素數再求2m -1的反序數。例如:m為17,217 –1(131071)是素數,其反序數是170131。

#include stdio.h

(38)

main()

{

int m,j;

long q,k1,k2=0,k3;

scanf(“%d”,m);

k3=k1=pow(2,m)-1;

q=sqrt(k1);

for(j=2;j=q;j++)

if( (39) ) break;

if(jq)

{ while(k30)

{ k2=k2*10+ (40)  ;

k3/=10;

}

printf(“m=%d\npow(2,m)-1=%ld is a prime.\nreverse order %ld\n”,m,k1,k2);

}

else

printf(“m=%d isn’t a prime.\n”,m);

}

2. 以下程序找到並輸出所有滿足給定條件的四位十進位表示的正整數:該數是某個數的平方、該數的後二位是25、組成該整數的各位數字中有兩位是2。例如:1225是滿足所給條件的四位正整數(352=1225)。

#includestdio.h

#includemath.h

main()

{ long i,j,s,d=0;

for(i=1000;i10000;i++)

{ (41) ;

j= (42) ;

if(i==j*j i%100==25)

{ s=i;

while(s0)

{ if( (43) )d++;

s=s/10;

}

if(d==2) printf(“\n %d”,i);

}

}

}

3..下列程序計算下列數學函數展開式的近似值,累加運算在最後一項的絕對值小於10-6時停止。

程序運行時從鍵盤上分別三個實數-1.0、0.5、1.0,作為x的值。

#include stdio.h

#include math.h

#define EPS 1.0e-6

main()

{ double x,n,tn,ft,sn,xn;

int i;

for(i=0;i3;i++)

{ (44) ;  

ft=1.0;

scanf(“%lf”,x);

sn=xn=x;

do{

xn=xn*x*x;

ft=ft*(2*n-3)/(2*n-2);  

tn=ft*xn/ (45) ;

sn=sn+tn;

n=n+1;

}while( (46) );

printf(“f(%lf)=%0.6lf\n”,x,sn);

}

}

《C語言程序設計》試卷答題紙

(本試卷滿分100分)

系科_____________學號_____________姓名_____________成績____________

單項選擇題得分 填空題得分 閱讀程序題得分 完善程序題得分 總分

一 、單項選擇題

(1) (2) (3) (4) (5)

(6) (7) (8) (9) (10)

(11) (12) (13) (14) (15)

(16) (17) (18) (19) (20)

二、填空題

(21) (22)

(23) (24)

(25) (26)

(27) (28)

(29) (30)

三、閱讀程序題

(31) (32)

(33) (34)

(35) (36)

(37

四、完善程序題

(38) (39)

(40) (41)

(42) (43)

(44) (45)

(46)

《C語言程序設計》試卷參考答案

(本試卷滿分100分)

一 、單項選擇題

(1)C (2)D (3)D (4)A (5) B

(6)B (7)C (8)C (9)D (10)A

(11)C (12)A (13)A (14)C (15)A

(16)D (17)A (18)A (19)B (20)D

二、填空題

(21) 4 (22) char

(23) fabs(exp(sqrt(1+sin(x)))) (24) -1

(25) 65506 (26) 2

(27) ! (28) 0 -32768

(29) 1 (30) 4

三、閱讀程序題

(31) -32768, 8000, 9 (32) 15

(33) 3 (34) 145

(35) 4433 (36) 4

(37) 7

四、完善程序題

(38) #include math.h (39) k1%j==0

(40) k3%10 (41) d=0

(42) sqrt(i) (43) s%10==2

(44) n=2.0 (45) (2*n-1)

(46) fabs(tn)EPS

C語言程序設計考試題

main函數

scanf函數,printf函數

-60

6 ,4, 2

 , || , !

B   66

2   1

6

main

5

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/311562.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-05 13:23
下一篇 2025-01-05 13:24

相關推薦

  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • 數據結構與演算法基礎青島大學PPT解析

    本文將從多個方面對數據結構與演算法基礎青島大學PPT進行詳細的闡述,包括數據類型、集合類型、排序演算法、字元串匹配和動態規劃等內容。通過對這些內容的解析,讀者可以更好地了解數據結構與算…

    編程 2025-04-29
  • Python零基礎PDF下載

    本文將為大家介紹如何使用Python下載PDF文件,適合初學者上手實踐。 一、安裝必要的庫 在Python中,我們需要使用urllib和requests庫來獲取PDF文件的鏈接,並…

    編程 2025-04-29
  • 樹莓派DIY無人機一:製作基礎

    本文將介紹如何使用樹莓派製作一個可飛行的小型無人機。本文將介紹樹莓派的選型、比例積木的使用、無線電通信以及如何控制飛行器的基本運動。 一、樹莓派的選型 在DIY無人機中,樹莓派是必…

    編程 2025-04-29
  • Polyphone音頻編輯器基礎入門教程

    Polyphone是一款免費的音頻編輯器,可用於編輯.sf2和.sfz格式的音色庫。本文將詳細介紹Polyphone的基礎操作及使用方法。 一、安裝和簡介 首先,我們需要下載並安裝…

    編程 2025-04-29
  • 學堂雲Python語言程序設計答案

    學堂雲Python語言程序設計是一門重要的計算機專業課程。它涵蓋了Python語言及其應用,包括基礎語法、函數、文件處理、數據結構、圖形界面和網路編程等內容。在學習中,我們經常會需…

    編程 2025-04-29
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28
  • 計算機二級Python語言程序設計難嗎?

    計算機二級Python語言程序設計並不難,只需要掌握好基礎知識,多練習,多思考,就能輕鬆掌握。 一、Python基礎知識 Python語言相對於其他編程語言來說,語法簡介明了,易於…

    編程 2025-04-28
  • 鍵值存儲(kvs):從基礎概念到實戰應用

    本文將從基礎概念入手,介紹鍵值存儲(kvs)的概念、原理以及實戰應用,並給出代碼實現。通過閱讀本文,您將了解鍵值存儲的優缺點,如何選擇最適合的鍵值存儲方案,以及如何使用鍵值存儲解決…

    編程 2025-04-28

發表回復

登錄後才能評論