2025年C語(yǔ)言試題題庫(kù)_第1頁(yè)
2025年C語(yǔ)言試題題庫(kù)_第2頁(yè)
2025年C語(yǔ)言試題題庫(kù)_第3頁(yè)
2025年C語(yǔ)言試題題庫(kù)_第4頁(yè)
2025年C語(yǔ)言試題題庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一、判斷題(每題1分)

1.函數(shù)即可以嵌套定義,乂可以嵌套調(diào)用.(X)

2.unsigned和void在C中都是保留字.(J)

3.體現(xiàn)式++i表達(dá)對(duì)變量i自加1.(J)

4.C語(yǔ)言源程序的基本構(gòu)造單位是main函數(shù).(x)

5.字符常量的長(zhǎng)度肯定為1.(V)

6.charaLJ={,a,,,b,/c);charbL」={"abc〃};數(shù)組a和數(shù)組b占用的內(nèi)存空間大小不一

樣樣.(J)

7.若有inti=10,,戶2;則執(zhí)行完i*=j+8;后i的值為28.(x)

8.inti,*p=&i;是對(duì)的的C闡明。(J)

9.While循環(huán)語(yǔ)句的循環(huán)體至少執(zhí)行一次.(x)

10.有數(shù)組定義inta[2][2]={{l},⑵3}};則的值為0.(V)

11.7&3+12的值是15.(X)

12.C語(yǔ)言自身不提供輸入輸出語(yǔ)句,輸入和輸出操作是由函數(shù)來(lái)

實(shí)現(xiàn)的.(V)

13.若a=3,b=2,c=l則關(guān)系體現(xiàn)式〃(a>b)==c〃的值為”真〃.(V)

14.在C語(yǔ)言中,整型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié).(X)

15.對(duì)二維數(shù)組a來(lái)說(shuō),由于a+1與*(a+l)的值相等,因此兩者的含義是同樣的.(X)

16.break語(yǔ)句可用于循環(huán)體內(nèi),它將退出該重循環(huán).(J)

17.將一種字符串"abc"賦給字符串變量str的措施是str=〃abc"..(X)

18.參與位運(yùn)算的數(shù)據(jù)可以是任何類型的數(shù)。(X)

19.C語(yǔ)言規(guī)定:在一種源程序中,main函數(shù)的位置必須在最開(kāi)始.(X)

20.靜態(tài)外部變量只在本文獻(xiàn)內(nèi)可用.(J)

21.若有宏定義:^defineS(a,b)t=a;a=b;b=l由于變量I沒(méi)定義,因此此宏定義是錯(cuò)誤

的.(X)

22.字符串只能寄存在字符型數(shù)組中.(V)

23.若a=3,b=2,c=l則關(guān)系體現(xiàn)式〃(a>b)==c〃的值為"真〃.(V)

24.在原則C中,”二〃是判斷兩個(gè)數(shù)與否相等.(X)

25.函數(shù)調(diào)用可以出目前執(zhí)行語(yǔ)句中,但不能出目前體現(xiàn)式中.(X)

26.break語(yǔ)句可用于循環(huán)體內(nèi),它將退出該重循環(huán).(V)

27.slrcal(sl,s2)函數(shù)是將字符串si復(fù)制到字符串s2中.(X)

28.函數(shù)若無(wú)返回值,則它一定無(wú)形參。(X)

29.C語(yǔ)言是一種構(gòu)造化程序設(shè)計(jì)語(yǔ)言.(V)

30.靜態(tài)外部變量只在本文獻(xiàn)內(nèi)可用.(J)

31.關(guān)系運(yùn)算符號(hào)與==的優(yōu)先級(jí)相似.(X)

32.C語(yǔ)言中的整型常量有3種表達(dá)措施.(V)

33.C語(yǔ)言中只能逐一引用數(shù)組元素而不能一次引用整個(gè)數(shù)組.(J)

34.char*p="girl〃;的含義是定義字符型指針變量p,p的值是字符串"girl”.(X)

35.靜態(tài)變量和外部變量都是全局變量,它們的存儲(chǔ)是靜態(tài)的.(X)

36.共同體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的組員的長(zhǎng)度。(V)

37.由于主函數(shù)首部常??s寫(xiě)成main。,因此它不也許有形式參數(shù).(X)

38.通過(guò)return語(yǔ)句,函數(shù)可以帶回一種或一種以上的返回值。(X)

39.C語(yǔ)言俗稱〃低級(jí)語(yǔ)言的高級(jí)形式〃,這闡明C語(yǔ)言的功能不強(qiáng).(X)

40.程序進(jìn)行編譯時(shí),不為形式參數(shù)分派存儲(chǔ)空間.(J)

41.C語(yǔ)言的當(dāng)型循環(huán)是先執(zhí)行循環(huán)后判斷條件.(X)

42."++”運(yùn)算符的優(yōu)先級(jí)比〃+〃運(yùn)算符的優(yōu)先低.(X)

43.指針就是地址,因此一種變量的指針就是該變量的地址.(J)

44.在if語(yǔ)句中,else前一種語(yǔ)句可不加"(X)

45.return背面括號(hào)里的體現(xiàn)式的值即是此函數(shù)的值.(J)

46.chara[]={,a','b','c'};charb□二{“abc"};數(shù)組a和數(shù)組b占用的內(nèi)存空間大小不一

樣樣.(V)

47.構(gòu)造體類型只有一種,(X)

48.在任何狀況下,對(duì)二維數(shù)組的初始化都可以省略第一維的大小。(X)

49.構(gòu)造化程序設(shè)計(jì)所規(guī)定的三種基本控制構(gòu)造是次序、選擇、輸出.(X)

50.有數(shù)組定義inta[2][2]={{l},{2,3}};則的值為0.(V)

二、單項(xiàng)選擇題(每題2分)

1.C語(yǔ)言中運(yùn)算對(duì)象必需是整型的運(yùn)算符是

(A)

A.%B./C.!D.*

2.C程序的執(zhí)行是從(A)

A本程序的main函數(shù)開(kāi)始,到main函數(shù)結(jié)束

B本程序文獻(xiàn)的第一種函數(shù)開(kāi)始,到本程序文獻(xiàn)的最終一種函數(shù)結(jié)束

C本程序的main函數(shù)開(kāi)始,到本程序文獻(xiàn)的最終一種函數(shù)結(jié)束

D本程序文獻(xiàn)的第一種函數(shù)開(kāi)始,到本程序main函數(shù)結(jié)束

3.如下選項(xiàng)中,(D)是不對(duì)的的C語(yǔ)言字符型常量。

A.'a'B.'\x41'C.D.

4.如下程序的輸出成果是(C)

A.0B.1C.31).不確定的值

#include<stdio.h>

main()

{intx=10,y=3;

printfCt%d\n,,,y=x/y);}

5.如下對(duì)二維數(shù)組a的對(duì)的闡明是(C)

A.inta[31[]B.floata(3,4)

C.doublea[l][4]Dfloata(3)(4)

6.字符串“ABC”在內(nèi)存占用的字節(jié)數(shù)是(B)。

A.3B.4C.6D.8

7.下列運(yùn)算符中優(yōu)先級(jí)最高的運(yùn)算符是(A)

A.!B.%C.-=D.&&

8.如下程序的輸出成果是(A)

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

#include<stdio.h>

main()

{intw=4,x=3,y=2,z=l;

printC4%d\n,;(w<x?w:z<y?z:x));}

9.如下論述對(duì)的的是(D)

A.do-while語(yǔ)句構(gòu)成的循環(huán)不能用其他語(yǔ)句構(gòu)成的循環(huán)替代.

B.do-whi1c語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出

C.用do-whiIe語(yǔ)句構(gòu)成循環(huán)時(shí),只有在while后的體現(xiàn)式為非零時(shí)結(jié)束循環(huán)

D.用do-whilc語(yǔ)句構(gòu)成循環(huán)時(shí),只有在whi1c后的體現(xiàn)式為零時(shí)結(jié)束循環(huán)

10.在定義一種構(gòu)造體變曷時(shí),系統(tǒng)分派給它的內(nèi)存是(D

A.構(gòu)造體中第一種組員所需內(nèi)存量

B.構(gòu)造體中最終?種組員所需內(nèi)存量

C組員中占內(nèi)存量最大者所需容量

D.各組員所需內(nèi)存最的總和

11.若有下列定義,則對(duì)a數(shù)組元素地址的對(duì)的引用是(C).

inta[5],*p=a;

A.*(p+5)B.*p+2

C.*(a+2)I).*&a[5]

12.下列定義不對(duì)的的是[C)。

A."definePI3.141592B.?defineS345

C.intmax(x,y);intx.y;(}D.staticcharc;

13.在C語(yǔ)言中,形參的缺省存儲(chǔ)類是(A)。

A.autoB.register

C.staticD.extern

14.如下函數(shù)調(diào)用語(yǔ)句中實(shí)參的個(gè)數(shù)是(A).

exce((vl,v2),(v3,v4,v5),v6);

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

15.如下描述中,對(duì)的的是(C)

A.預(yù)處理是指完畢宏替代和文獻(xiàn)包括中指定的文獻(xiàn)的調(diào)用

B.預(yù)處理指令只能位于C源文獻(xiàn)的開(kāi)始

C.C源程序中但凡行首以#標(biāo)識(shí)的控制行都是預(yù)處理指令

D.預(yù)處理就是完畢C編譯程序?qū)源程序第一遍掃描,為編譯詞法和語(yǔ)法分析作準(zhǔn)備

16.如下字符中不是轉(zhuǎn)義字符的是(C)

A.\aB.\bC.\cD.\\

17.C語(yǔ)言程序中必須有的函數(shù)是(B)

A.#include"stdio.h"B.main

C.printfD.scanf

18.有定義:inta=8,b=5,c;,執(zhí)行語(yǔ)句L0^+0.4;后,c的值為(B)

A.1.4B.1C.2.0D.2

19.如下程序的輸出成果是(D)

A.i=2,,j=I,k=3B.i=l.,j=1,k=2C.i=4?j=2,k=4D.i=1,j=1,k=3

#include<stdio.h>

main()

{inti,j,k,a=3,b=2;

i=(--a==b++)?--a:++b;

j=a++;k=b;

printf("i=%d,j=%d,k=%d\n',,i,j,k);

I

20.下列選項(xiàng)中對(duì)的的語(yǔ)句組是(D)。

A.chars[8];s={"Beijing"};

B.char*s;s={"Beijing");

C.chars[8];s="Bcijing";

D.char*s;s="Beijing";

21.若已定義x為int類型變量,下列語(yǔ)句中說(shuō)

明指針變量P的對(duì)的語(yǔ)句是(C).

A.intp=&x;B.int*p=x;C.int*p=&x;D.*p=*x;

22.sizcof(float)是(C).

A.一種函數(shù)調(diào)用B.一種不合法的體現(xiàn)式

C.一種整型體現(xiàn)式D.一種浮點(diǎn)體現(xiàn)式

23.已知year為整型變量,不能使體現(xiàn)式(year%4==0&&year%100!=0)||year%400==0的值為

〃真”的數(shù)據(jù)是(A).

A.1990B.1992C.1996I).

24.下面有關(guān)for循環(huán)的對(duì)的描述是(D)

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

B.for循環(huán)是先執(zhí)行循環(huán)體語(yǔ)句,后判斷體現(xiàn)式

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

D.for循環(huán)的循環(huán)體語(yǔ)句中,可以包括多條語(yǔ)句,但必須用花括號(hào)括起來(lái)

25.在位運(yùn)算中,操作數(shù)每右移一位,其成果相稱于(B).

A.操作數(shù)乘以2B.操作數(shù)除以2

C.操作數(shù)乘以16D.操作數(shù)除以16

26.如下能對(duì)二維數(shù)組a進(jìn)行對(duì)的初始化的語(yǔ)句是(B).

A.inta⑵口={{1,0,1},{5,2,3}};

B.inta[Jl3]={{l,2,3},{4,5,6}};

C.inta[2][4]={{l,2,3},{4.5},{6});

D.inta[][3]={{l,0,l){),{Ll}};

27.C語(yǔ)言中的文獻(xiàn)的存儲(chǔ)方式有(C)o

A.只能次序存取B.只能隨機(jī)存取i或直接存?。?/p>

C.可以次序存取,也可隨機(jī)存取D.只能從文獻(xiàn)的開(kāi)頭進(jìn)行存取

28.如下只有在使用時(shí)才為該類型變量分派內(nèi)存的存儲(chǔ)類闡明是(B)。

A.auto和staticB.auto和register

C.register和staticD.extern和register

29.有關(guān)return語(yǔ)句,下列對(duì)的的說(shuō)法是(C).

A.在主函數(shù)和其他函數(shù)中均可出現(xiàn)B.必須在每個(gè)函數(shù)中出現(xiàn)

C.可以在同一種函數(shù)中出現(xiàn)多次D.只能在除主函數(shù)之外的函數(shù)中出現(xiàn)一次

30.如下論述中不對(duì)的的是(C).

A.預(yù)處理命令行都必須以#號(hào)開(kāi)始

B.在程序中但凡以#號(hào)開(kāi)始的語(yǔ)句行都是預(yù)處理命令行

C.C程序在執(zhí)行過(guò)程中對(duì)預(yù)處理命令行進(jìn)行處理

I).如下是對(duì)的的宏定義#defineIBM_PC

31.一種C語(yǔ)言程序是由(C)構(gòu)成的。

A.主程序B.子程序C.函數(shù)D.過(guò)程

32.判斷ch”型變量cl與否為小寫(xiě)宇母的最簡(jiǎn)樸且對(duì)H勺的體現(xiàn)式為(D)。

A.'a'<二cl<='z'B.

(cl>=a)&&(cl<=z)

C.('a'<=cl)||('z'〉二cl)I).

(cl>=,a')&&(cl<=,z)

33.為了判斷兩個(gè)字符串si和s2與否相等,應(yīng)當(dāng)使用(D)。

A.if(sl==s2)B.if(sl=s2)

C.if(strcpy(sl,s2))D.if(strcmp(sl,s2)==0)

34.設(shè)a,b都是int型變量,則體現(xiàn)式:(a=2,b=5,a>b?a++:b++,a+b)的值為(B)。

A.7B.8C.

91).2

35.設(shè)x、y和t均為ini型變量,則如下語(yǔ)句:t=x;x=y;y=t;的功能是(D)。

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

C.無(wú)確定成果D.互換x和y中的值

36.下面標(biāo)識(shí)符中,合法的顧客標(biāo)識(shí)符為(D)。

A.

P#AdB.12aC.char

D._int

37.循環(huán)語(yǔ)句while(!E:;中的體現(xiàn)式!E等價(jià)于(C)。

A.E!=0B.E!=lC.E==

0D.E==l

38.設(shè)有如下語(yǔ)句,則(A)不是對(duì)a數(shù)組元素的對(duì)的引用,其中0Wi<10。

inta[10]={0,1,2,3,4,5,6,7,8,9}:

int*p=a;

供選擇的答案是:

A.a[p-5]B.*(&&[i])

C.p[i]D.*(a+i)

39.若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是(A)

A.數(shù)組的首地址B.數(shù)組第?種元

素的值

C.數(shù)組中所有元素的值I).數(shù)組元素的個(gè)數(shù)

40.在一種文獻(xiàn)中定義的全局變量的作用域?yàn)?D)。

A.本程序的所有范圍;B.本文獻(xiàn)的所有范斷

C.函數(shù)內(nèi)的所有范圍;D.從定義該變量的位置開(kāi)

始到文獻(xiàn)結(jié)束。

41.如下語(yǔ)句中,指針s所指字符串的長(zhǎng)度為(A)o

char*s="\\Hello\tWorld\n";

A.13B.12C.14D.1

0

42.若調(diào)用--種函數(shù),且此函數(shù)中沒(méi)有return語(yǔ)句,則對(duì)的的說(shuō)法是:該函數(shù)(D)。

A.沒(méi)有返回值B.返回若干個(gè)系統(tǒng)默認(rèn)值

C.能返回一種顧客所但愿的函數(shù)值D.返回一種不確定的值

43.如下只有在使用時(shí)才為該類型變量分派內(nèi)存的存儲(chǔ)類闡明是(B)。

A.auto和staticB.auto和register

C.register和staticD.extem和register

44.有關(guān)return語(yǔ)句,下列對(duì)的的說(shuō)法是(C).

A.在主函數(shù)和其他函數(shù)中均可出現(xiàn)B.必須在每個(gè)函數(shù)中出現(xiàn)

C.可以在同一種函數(shù)中出現(xiàn)多次D.只能在除主函數(shù)之外的函數(shù)中出現(xiàn)一次

45.設(shè)有下列程序段,則scanf函數(shù)調(diào)用語(yǔ)句中對(duì)構(gòu)造體變量組員的不對(duì)的引用為(R)。

structstudent

charname[20];

intage;

charsex;

}stu[5],*p;

p=stu;

A.scanf(飛s”,stu[O].name);B.scanf(“為d”,p->age);

C.scanf(v%cz,,&(p->sex));i).scanf("%d”,&stu[O].

age);

46.若x、y、j和k都是int型變量,則計(jì)算體現(xiàn)式x=(k=32,j=6,i=4)后,x的值為(C

A.4B.16C.32D.52

47.C語(yǔ)言中標(biāo)識(shí)符只能由字母、數(shù)字和下劃線構(gòu)成,且第一種字符(B)。

A.必須為字母B.必須為字母或下劃線

C.必須為下劃線D.可以是字母、數(shù)字和下劃線中任一種字符

48.在C語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下

標(biāo)的數(shù)據(jù)類型容許是(C)O

A.整型常量B.整型體現(xiàn)式

C.整型常量或整型體現(xiàn)式D.任何類型的體現(xiàn)式

49.執(zhí)行下列語(yǔ)句后的輸出為(A)。

intj=-1;

if(j<=1)printfC*****\n");

elseprintf("%%%%\n");

A.*…B.%%%%C.%%%%cD.有錯(cuò),執(zhí)行不對(duì)的

50.如下各選項(xiàng)企圖闡明一種新的類型名,其中對(duì)的的是(C)。

A.typcdefvlint;B.typcdefv2=int;

C.typedefintv3;D.typedefv4:int;

51.先用語(yǔ)句定義字符型變量c,然后要將字符a賦給c,則下列語(yǔ)句中對(duì)的的是(A).

A.c='a,;B.c="a";C.c="97";D.C='97'

52.顧客定義的函數(shù)不可以調(diào)用的函數(shù)是(C)。

A.非整型返回值的B.本文獻(xiàn)外的

C.main函數(shù)D.本函數(shù)下面定義的

53.與實(shí)際參數(shù)為實(shí)型數(shù)組名相對(duì)應(yīng)的形式參數(shù)不可以定義為(C).

A.floata[];B.float*a;C.floata;D.float(*a)[3J;

54.下列程序段的輸出成果為(C).

inta=7,b=9,t;

t=a*=a>b?a:b;

printf("%d",t);

A.7B.9C.63D.49

55.若有int*p=(int*)malloc(sizeof(int));則向內(nèi)存申請(qǐng)到內(nèi)存空間存入整數(shù)123的語(yǔ)

句為(A)。

A.scanf("%d'\p);B.scanf("%d",&p);C.scanf(,'%d,,,*p);D.scanf("%d",**p);

56.如下描述中對(duì)的的是(C).

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

B.do-while循環(huán)由do開(kāi)始,用while結(jié)束,在while(體現(xiàn)式)背面不能寫(xiě)分號(hào)

C.在do-while循環(huán)體也一定要有能使while背面體現(xiàn)式的值變?yōu)榱?〃假”)的操作

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

57.在位運(yùn)算中,操作數(shù)每左移一位,其成果相稱于(A).

A.操作數(shù)乘以2B.操作數(shù)除以2

C.操作數(shù)除以4D.操作數(shù)乘以4

58.如下只有在使用時(shí)才為該類型變量分派內(nèi)存的存儲(chǔ)類闡明是(B)。

A.auto和staticB.auto和register

C.register和staticD.extern和register

59.若char已對(duì)的定義,如下語(yǔ)句中不能從鍵盤(pán)上給a數(shù)組的所有元素輸入值的語(yǔ)句

是⑻.

A.gets(a);B.scanf("%s",a);

C.for(i=0;i<10;i++)a[i]=getchar();D.a=getchar();

60.設(shè)有下列程序段,則scanf函數(shù)調(diào)用語(yǔ)句中對(duì)構(gòu)造體變量組員的不對(duì)的引用為(E)。

structstudent

{charname[20];

intage;

charsex;

)stu[5],*p;

p=stu;

A.scanfstu[0].name);B.scanfp->age);

C.scanf(*%cz,,&(p->sex));D.scanf("%d”,&stu[0].

age);

61.如下標(biāo)識(shí)符中,不能作為合法的C顧客定義標(biāo)識(shí)符的是(C).

A.answerB.toC.signedD._if

62.如下數(shù)組定義中不對(duì)的的是(D).

A.intal2][3J;B.int[引={0」23);

C.intc[100][100]={0};D.intd[3][]={{1,2},{1,2,3},{1,2,3,4));

63.設(shè)有闡明:charw;intx;floaty;doublez;則體現(xiàn)式w*x+z-y值的數(shù)據(jù)類型為(D)。

A.floatB.charC.intD.double

64.下列各m的值中,能使碘3二二2&&哦5=3&&n儆"二二2為真的是(B)。

A.8B.23C.17D.6

65.如下對(duì)的的說(shuō)法是:在C語(yǔ)言中(A).

A:實(shí)參和與其對(duì)應(yīng)的形參各占用獨(dú)立的存儲(chǔ)單元

B:實(shí)參和與其對(duì)應(yīng)的形參共占用一種存儲(chǔ)單元

C:只有當(dāng)文參和與其對(duì)應(yīng)均形參同名時(shí)才共占用存儲(chǔ)單元

D:形參是虛擬的,不占用存儲(chǔ)單元

66.通過(guò)如下語(yǔ)句定義后,體現(xiàn)式z+=x>y?++x:++y的值為(C).

intx=l,y=2,z=3;

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

67.若有闡明:inta[][4]={0,0};則下面不對(duì)的的論述是(D).

A.數(shù)組a的每個(gè)元素都可得到初值0B.二維數(shù)組a的第一維大小為1

C.由于二維數(shù)組a中第二維大小的值除經(jīng)初值個(gè)數(shù)的商為1,故數(shù)組a的行數(shù)為1

D.有元素a[0][0]和a[0][1]可得到初值0,其他元素均得不到初值()

68.如下對(duì)枚舉類型名的定義中對(duì)的的是(B)。

A.enuma={sum,mon,tue};B.enuma{sum=9,mon=-1,tue);

C.enuma={"sum,',"mon","tue"};D.enuma{,,sumM,"mon","tue");

69.putchar函數(shù)可以向終端輸出一種(I))。

A.整型變量體現(xiàn)式值B.實(shí)型變量值

C.字符串D.字符或字符型變量值

70.在定義一種構(gòu)造體變量時(shí),系統(tǒng)分派給它的內(nèi)存是(D)。

A.構(gòu)造體中第一種組員所需內(nèi)存量

B.構(gòu)造體中最終?種組員所需內(nèi)存量

C.組員中占內(nèi)存量最大者所需容量

D.各組員所需內(nèi)存量的總和

71.若有下列定義,則對(duì)a數(shù)組元素地址的對(duì)的引用是(C).

inta[5],*p=a;

A.*(p+5)B.*p+2

C.*(a+2)D.*&a[5]

72.若a=1,b=2則a|b的值是(D)。

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

73.為了防止在嵌套的條件語(yǔ)句if-ols。中產(chǎn)生二義性,C語(yǔ)言規(guī)定:else子句總是弓

(B)配對(duì)。

A.縮排位置相似的ifB.其之前近來(lái)的if

C.其之后近來(lái)的ifD.同一行上的if

74.下列說(shuō)法不對(duì)的的是(A)

A.主函數(shù)main中定義的變量在整個(gè)文獻(xiàn)或程序中有效

B.不一樣函數(shù)中,可以使用相似名字的變量

C.形式參數(shù)是局部變量

D.在一種函數(shù)內(nèi)部,可以在復(fù)合語(yǔ)句中定義變量,這些變量只在復(fù)合語(yǔ)句中有效

75.如下描述中,對(duì)的的是(C)

A.預(yù)處理是指完畢宏替代和文獻(xiàn)包括中指定的文獻(xiàn)的調(diào)用

B.預(yù)處理指令只能位于C源文獻(xiàn)的開(kāi)始

C.C源程序中但凡行首以#標(biāo)識(shí)的控制行都是預(yù)處理指令

D.預(yù)處理就是完畢C編譯程序?qū)源程序第一遍掃描,為編譯詞法和語(yǔ)法分析作準(zhǔn)備

三、程序填空題(每題8分)

1.運(yùn)用全局變量計(jì)算長(zhǎng)方體的體積及三個(gè)面的面積。

intsl,s2,s3;

intvs(inta,intbuntc)

{intv;

v=(1);

sl=a*b;

s2=(2);

s3=a*c;

returnv;

)

#include<stdio.h>

main()

{intv,l.w,h;

clrscr();

printf("\ninputlength.widthandheight:");

scanf(',%d%d%d>\(3),&w,&h);

v=(4);

printf("v=%dsl=%ds2=%d

s3=%d\n",v,sI,s2,s3);

getch();

1

答案:(l)a*b*c(2)b*c(3)&i(4)vs(l,w,h)

2.如下程序的功能是用冒泡法對(duì)數(shù)組a進(jìn)行由小到大的排序。

voidfun(inta[],intn)

(

inti,j,t;

for(j=0;⑴:i++)

for(i=0;⑵:i++)

if((3))

{t=a[i];a[i]=a[i+l];a[i+l]=t:}

1

#include<stdio.h>

main()

{

inti,a[l0]={3,7,5,1,2,8,6410,9};

(4);

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

printf(n%3d",a[i]);

)

答案:(2)i<n-1-j(3)a[i]>a[i+1](4)fun(a,10)

3.輸入a,b,c三個(gè)值,輸出其中最大者。

#include<stdio.h>

intmain()

{inta,b,c,max;

printf("plcaseinputa,b,c:\n");

scanfr%d,%d,%d”,(1));

(2)

if(max<b)

max=b;

if((3))

max=c;

printf("Thclargestnumberis%d\n",(4));

return0;

}

答案:(1)&a,&b,&c(2)max=a;(3)max<c(4)max

4.如下程序的功能是用選擇法對(duì)10個(gè)整數(shù)進(jìn)行由小到大的排序。

#inckide<stdio.h>

intmain()

{intij,min,temp,a[l1];

printf("enterdata:\n");

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

{printf("a[%d]=",i);

scanfC%^,(1)):

)

printf("\n");

printf("Theorginalnumbers:\n");

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

printf("%5d';a[i]);

printf("\n");

for(i=l;i<=9;i++)

I(2)

for((3);j<=10:j++)

if(a[minl>a[jj)min=j;

tcmp=alij;

a[i]=a[min];

a[minj=temp;

)

printf("\nThesortednumbers:\n");

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

DrintfT%5d”,(4));

printfC^n");

return0;

)

答案:⑴&a[i](2)min=i;(3)j=i+l(4)a[i]

5.要將“China”譯成密碼,密碼規(guī)律是:用本來(lái)的字母背面第4個(gè)字母替代本來(lái)的字母。

例如,字母“A”背面第4個(gè)字母是“E”,用“E”替代“A”.因此,“China”應(yīng)譯為“G

Imre”。

#include<stdio.h>

intmain()

{charcl=(l),c2=,h,,c3=,i,,c4=,n',c5=,a,;

cl=(2);

c2=(3);

c3=(4);

c4二⑸;

c5=(6):

z,

printf(^passwordis%c%c%c%c%c\n>cl,c2,c3,c4,c5);

putchar(cl);putchar(c2);(7);putchar(c4);(8);putchar(;\n);

return0;

)

答案:(1)'C'(2)cl+4(3)c2+4(4)c3+4(5)c4+4(6)c5+4

(7)putchar(c3)(8)putchar(c5)

6.給出一種百分制成績(jī),規(guī)定輸出成績(jī)等級(jí)A,B,C,D,E。90分以上為A,80~89為B,70~79

為C60~69為D,60分如下為E。

#include<sldio.h>

intmain()

{floatscore;

chargrade;

printf(”請(qǐng)輸入學(xué)生成饋:");

scanf("%r',&score);

while(fjj)

{printfC'Xn輸入有誤,請(qǐng)重輸”);

scanf("%f',&score);

I

switch((2))

{case10:

case9:grade='A';break;

case8:grade-B';break;

case7:grade='C,;break;

case6:grade='D,;break;

(3)

)

printf("成績(jī)是對(duì)應(yīng)的等級(jí)是%c\n",score,grad2);

return0:

1

答案:(1)score>100||score<0(2)(int)(score/10)(3)case5:

case4:

case3:

case2:

case1:

case0:grade='E,;

7.要將“China”譯成密碼,密碼規(guī)律是:用本來(lái)的字母前面第4個(gè)字母替代本來(lái)的字母。

例如,字母'E,用'A,替代,1用'W替代,字母'D,用'U替代,字母'C

用'Y'替代,'B'用'X'替代,'A'用'曠替代。

#include<stdio.h>

intmain()

{charcl=c2=,h',c3=,i*,c4=,n',c5=,a,;

cl=(l);

c2=c2-4_;

c3=(2);

c4=(3);

c5=(4);

printf(^passwordis%c%c%c%c%c\n,cl,c2,c3,c4,c5);

return0;

)

答案:(1)cl+22(2)c3-4(3)c4-4(4)c5+22

8.輸入4個(gè)整數(shù),規(guī)定按由小到大次序輸出。

#include<stdio.h>

inimain()

{intt,a,b,c,d;

printf("請(qǐng)輸入四個(gè)數(shù):"):

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

primf("a=%d,b=%d,c=%d.d=%d\n,,,a,b,c,d);

if(a>b)

((1)1

if(a>c)

{t=a;a=c;c=t;}

if(a>d)

{(2)}

if(b>c)

{t=b;b=c;c=t;}

if(b>d)

{<3)}

if((4))

{t=c;c=d;d=t;}

printf("排序成果如下:\r「);

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

return0;

)

答案:(1)t=a;a=b;b=i;(2)t=a;a=d;d=t;(3)t=b;b=d;d=i;

(4)c>d

9.下面的程序用來(lái)求出所有的水仙花數(shù)。所謂水仙花數(shù)是指一種3位數(shù),它的各位數(shù)字的立

方和恰好等于它自身。

#include<stdio.h>

intmain()

{

inti,j,k,n;

printf("parcissusnumbersare");

for(n=100;(1):n++)

{

i=n/100;

(2);

k=(3);

if((4))

printf("%d",n);

)

prinlf("\nH);

return0;

}

答案:(1)n<1000(2)j=n/10-i*10(3)n%10(4)n==i*i*i+j*j*j+k*k*k

10.如下程序的功能是:從鍵盤(pán)上輸入若干個(gè)學(xué)生的成績(jī)(用輸入負(fù)數(shù)結(jié)束輸入),記錄

出平均成績(jī),并輸出低于平均分的學(xué)生成績(jī)。請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

main()

{intn=0,i;floatx[1000],sum=0.0,ave,a;

printf("Entermark:\n");scanf("%f',&a);

while(a>=().()&&n<l()(X))

{sum+=(1);x[n]=⑵:

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

}

ave=(3):

print("Output:\nM);

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

for(i=0;i<n;i++)if((4))printf("%f\n",x[i]);

)

答案:⑴a(2)a(3)sum/n(4)x[i]<ave

四、程序改錯(cuò)題(每題1C分)

1.#includestdio.h

intmain

{inta,b,sum

a=123;b=456;

sum=a+b

print(4tsumis%d\n”,sum);

return0;

)

五處錯(cuò)誤,改正:#include<stdio.h>

intniain()

{inta,b,sum;

a=123;b=456;

sum=a+b;

prinlf("sumis%d\n",sum);

return0;

}

2.#include<stdio.h>

intmain()

{intmax(in(x,in(y)

inta,b,c;

printfCinputa&b:^^);

scanfft%d,%d,,,a,b);

c=max(a,b);

printR''max=%d\n”,c);

return0;

)

intrnax(intx,inty);

{intz;

if(x>y)z=xelsez=y;

rcturn(z);

)

五處錯(cuò)誤,改正:#include<sldio.h>

intmain()

{intmax(inty);

inta,b,c;

printff'inputa&b:^^);

scanf("%d,%d”,&a,&b);

c=max(a,b);

printfCtinax=%d\n,,,c);

return0;

)

in(max(intx,inty)

{intz;

if(x>y)z=x;elsez=y;

return(z);

3.intmain()

{intcl,c2;

cl=97

c2=98;

printf("%c%c\n"cl,c2);

printf("%d%d\n"cl,c2);

return0

)

五處錯(cuò)誤,改正:#include<stdio.h>

intmain()

{intcl,c2;

cl=197;

c2=198;

printf("%c%c\n",cl,c2);

printf("%d%d\n",cl,c2);

return0;

1

4.假如我國(guó)國(guó)民生產(chǎn)總值的年增長(zhǎng)率為9%,計(jì)算后我國(guó)國(guó)民生產(chǎn)總值與目前相比增長(zhǎng)多少

比例。計(jì)算公式為:p=(l+r),r為年增長(zhǎng)率,n為年數(shù),p為與目前相比的倍數(shù)。

#include<stdio.h>

intmain()

{floatp,r,n;

printf("inputr:\n");

scanf("r=%f,r);

n=10;

p=pow(I+r,n);

print("p=%f\n,p);

return0

)

五處錯(cuò)誤,改正:#include<stdio.h>

#include<math.h>

intmain()

{floatp,r,n;

printf("inputr:\n");

scanf("r=%f',&r);

n=10;

p=pow(l+r,n);

printf("p=%iAn'\p);

return0;

5.#include<stdio.h>

intmain()

{inth,r,l,s,sq.vq,vz;

floatpi=3.141526;

printf("請(qǐng)輸入圓半徑r,圓柱高h(yuǎn):");

scanf("%f,%f;r,h);〃規(guī)定輸入圓半徑i■和圓柱高h(yuǎn)

l=2*pi*r;〃計(jì)算圓周長(zhǎng)1

s=r*r*pi;〃計(jì)算圓面積s

sq=4*pi*r*r;〃計(jì)算圓球表面積sq

vq=3.0/4.0*pi*r*r*r;//計(jì)算圓球體積vq

vz=pi*r*r*h;〃計(jì)算圓柱體積vz

printf("圓周長(zhǎng)為:l=%6.2f\n';l);

prinlf("圓面積為:s=%6.2f\n",s);

prinlf("圓球表面積為:sq=%6.2f\n",sq);

prinif("圓球體積為:v=%6.2f\n",vq);

printf("圓柱體積為:vz=%6.2f\n,vz);

return0

五處錯(cuò)誤,改正:#include<stdio.h>

intmain()

{floath,r,l,s,sq,vq,vz;

floatpi=3.141526;

prinlf("請(qǐng)輸入圓半徑r,圓柱高h(yuǎn):");

scanfC%f,%f;&r,&h);〃規(guī)定輸入圓半徑r和圓柱i§jh

]=2*pi*r;〃計(jì)算圓周長(zhǎng)I

s=r*r*pi;〃計(jì)算圓面積s

sq=4*pi*r*r;〃計(jì)算圓球表面積sq

vq=3.0/4.0*pi*r*r*r;//計(jì)算圓球體積vq

vz=pi*r*r*h;〃計(jì)算圓柱體積

printf("圓周長(zhǎng)為:l=%6.2f\n';l);

printf("圓面積為:s=%6.2f\n'\s);

prinlf(M圓球表面積為:sq=%6.2f\n",sq);

printf("圓球體枳為:v=%6.2f\nM,vq);

printf("圓柱體積為:vz=%6.2f\n",vz);

return0;

}

6.#include<stdio.h>

intmain()

{intr5,r3,r2,rl,rO,p,pl,p2,p3,p4,p5;

p=1000;

r5=0.0585;

r3=0.054;

r2=0.0468;

rl=O.0414;

rO=O.0072

pl=p*((l+r5)*5);//一次存5年期

p2=p*(1+2*r2)*(1+3*r3);//先存2年期,到期后將本息再存3年期

p3=p*(l+3*r3)*(l+2*r2);//先存3年期,到期后將本息再存2年期

p4-p*pow(l+rl,5);//存1年期,到期后招本息存再存1年期,持續(xù)存5次

p5=p*pow(l+r0/4,4*5);//存活期存款?;钇诶⒚恳患径冉Y(jié)算一次

printf("pl=%10.2f\n",pl);//輸出按第1方案得到的本息和

printf(z,p2=%10.2f\n"p2);//輸出按第2方案得到的本息和

printf("p3=%10.2f\n”,p3);//輸出按第3方案得到的本息和

printfCp4=10.2f\n”,p4);//輸出按第4方案得到的本息和

printf("p5=%10.2f\n”,p5);//輸出按第5方案得到的本息和

return0;

)

五處錯(cuò)誤,改正:#include<stdio.h>

#include<math.h>

intmain()

{doubler5,r3,r2,r1,rO,p,pI.p2,p3,p4,p5:

p=1000;

r5=0.0585;

r3=0.054;

r2=0.0468;

r1=0.0414;

r0=0.0072;

pl=p*((l+r5)*5);//一次存5年期

p2=p*(l+2*r2)*(l+3*r3);//先存2年期,到期后將本息再存3年期

p3=p*(14-3*r3)*(1+2*r2);//先存3年期,到期后將本息再存2年期

p4=p*pow(l+rl,5);//存1年期,到期后將本息存再存1年期,持續(xù)存5次

p5=p*pow(1+r0/4,4*5);//存活期存款?;钇诶⒚恳患径冉Y(jié)算一次

printf("p1=%10.2f\n",p1);//輸出按第1方案得到的本息和

printf("p2=%10.2f\n'\p2);//輸出按第2方案得到的本息和

printf("p3=%10.2f\n",p3);〃輸出按第3方案得到的本息和

printf("p4=%10.2f\n",p4);//輸出按第4方案得到的本息和

printf("p5=%10.2t\n'\p5);//輸出按第5方案得到的本息和

return0;

五、閱讀程序題(每題5分)

寫(xiě)出如下程序運(yùn)行的成果:

1.#include<stdio.h>

intmain()

(

int

i=8;

j=IO;

m=++i;

n=j++;

printf(u%d,%d,%d,%d'\i,j,m,n);

return0;

I

運(yùn)行的成果:9,11,9,10

2.執(zhí)行程序之后,輸入2/6/3/,如下程序運(yùn)行后的輸出成果是。(/表達(dá)回車(chē))

#include<stdio.h>

intmain()

inta,b,c,d;

printf("請(qǐng)輸入三個(gè)整數(shù):\n");

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

if(a>b)d=a;//d=2

elsed=b;

if(c>d)d=c;

printf("D=%d\nH,d);

return0;

}

運(yùn)行的成果:D-6

3.#includc<stdio.h>

main()

{intsum=10,n=l;

while(n<3){suni=sum-n;n++;}

printR"%d,%d”,n,sum);

)

運(yùn)行成果為:

4.#includc<stdio.h>

main()_

{chargrade=,C,;

switch(gradc)

(

case'A':printfV'90-100\n'');

case'B':priMfr80-90\n");

case'C':prinM“70-80\n");

case'D':printfT60-70\n");break;

caseE:print,“<60\n");

default:printfCerror!\n");

}

}

運(yùn)行成果為:70-80

60-70

5.#include<stdio.h>

main()

{floata.b,c,l;

a=3;

b=7;

c=l;

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(b>c)

{t=b;b=c;c=t;}

printf("%5.2f,%5.2f,%5.2f',a,b,c);

I

運(yùn)行成果為:1.00,3.00,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論