2023年新版C語言題_第1頁
2023年新版C語言題_第2頁
2023年新版C語言題_第3頁
2023年新版C語言題_第4頁
2023年新版C語言題_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、判斷題(每題1分)

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

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

3.表達式++i表達對變量i自加1.(J)

4.C語言源程序的基本結(jié)構(gòu)單位是main函數(shù).(X)

5.字符常量的長度肯定為1.(J)

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

樣.(V)

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

8.inti,*p=&i;是對的的C說明。(-J)

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

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

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

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

實現(xiàn)的.(J)

13.若a=3,b=2,c=l則關(guān)系表達式”(a>b)==c"的值為"真(V)

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

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

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

17.將一個字符串"abc"賦給字符串變量str的方法是str="abc"..(X)

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

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

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

21.若有宏定義:#defineS(a,b)1=2/=13山=1由于變量1沒定義,所以此宏定義是錯誤

的.(X)

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

23.若a=3,b=2,c=l則關(guān)系表達式"(a>b)==c"的值為"真(V)

24.在標準C中,〃="是判斷兩個數(shù)是否相等.(X)

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

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

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

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

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

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

31.關(guān)系運算符號與==的優(yōu)先級相同.(X)

32.C語言中的整型常量有3種表達方法.(V)

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

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

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

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

37.由于主函數(shù)首部經(jīng)??s寫成main。,所以它不也許有形式參數(shù).(X)

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

39.C語言俗稱"低檔語言的高級形式”,這說明C語言的功能不強.(X)

40.程序進行編譯時,不為形式參數(shù)分派存儲空間.(V)

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

42.“++”運算符的優(yōu)先級比“+〃運算符的優(yōu)先低.(X)

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

44.在if語句中,else前一個語句可不加";"(X)

45.return后面括號里的表達式的值即是此函數(shù)的值.(J)

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

樣.(V)

47.結(jié)構(gòu)體類型只有一種。(X)

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

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

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

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

1.C語言中運算對象必需是整型的運算符是

(A)

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

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

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

B本程序文獻的第一個函數(shù)開始,到本程序文獻的最后一個函數(shù)結(jié)束

C本程序的main函數(shù)開始,到本程序文獻的最后一個函數(shù)結(jié)束

D本程序文獻的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束

3.以下選項中,(D)是不對的的C語言字符型常量。

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

4.以下程序的輸出結(jié)果是(C)

A.0B.1C.3D.不擬定的值

#include<stdio.h>

main()

{intx=10,y=3;

printf("%d\n”,y=x/y);}

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

A.inta[3J[JB.floata(3,4)

C.doublea[l][41D.floata(3)(4)

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

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

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

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

8.以下程序的輸出結(jié)果是(A)

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

#include<stdio.h>

main()

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

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

9.以下敘述對的的是(D)

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

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

C.用do-while語句構(gòu)成循環(huán)時,只有在while后的表達式為非零時結(jié)束循環(huán)

D.用do-while語句構(gòu)成循環(huán)時,只有在while后的表達式為零時結(jié)束循環(huán)

10.在定義一個結(jié)構(gòu)體變量時,系統(tǒng)分派給它的內(nèi)存是(D)。

A.結(jié)構(gòu)體中第一個成員所需內(nèi)存量

B.結(jié)構(gòu)體中最后一個成員所需內(nèi)存量

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

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

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

inta[5],*p=a;

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

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

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

A.#definePI3.141592B.^defineS345

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

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

A.autoB.register

C.staticD.extern

14.以下函數(shù)調(diào)用語句中實參的個數(shù)是(A).

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

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

15.以下描述中,對的的是(C)

A.預(yù)解決是指完畢宏替換和文獻包含中指定的文獻的調(diào)用

B.預(yù)解決指令只能位于C源文獻的開始

C.C源程序中凡是行首以#標記的控制行都是預(yù)解決指令

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

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

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

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

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

C.printfD.scanf

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

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

19.以下程序的輸出結(jié)果是(D)

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

#include<stdio.h>

main()

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

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

j=a++;k=b;

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

20.下列選項中對的的語句組是(D)。

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

B.char*s;s={"Beijing”};

C.chars[8];s=',BeijingH;

D.char*s;s=,,Beijing,';

21.若已定義x為int類型變量,下列語句中說

明指針變量P的對的語句是(C).

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

22.sizeof(float)是(C).

A.一種函數(shù)調(diào)用B.一個不合法的表達式

C.一個整型表達式D.一個浮點表達式

23.己知year為整型變量,不能使表達式(year%4==0&&year%l()0!=0)||year%400==0的值為

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

A.1990B.1992C.1996D.2023

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

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

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

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

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

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

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

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

26.以下能對二維數(shù)組a進行對的初始化的語句是(B)。

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

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

C.i*2][4]={{l,2,3},{4,5}J6}};

D.inta[][3]={{1,0,1}{},{M}};

27.C語言中的文獻的存儲方式有(C)。

A.只能順序存取B.只能隨機存取(或直接存取)

C.可以順序存取,也可隨機存取D.只能從文獻的開頭進行存取

28.以下只有在使用時才為該類型變量分派內(nèi)存的存儲類說明是(B)。

A.auto和staticB.auto和register

C.register和staticD.extern和register

29.關(guān)于return語句,下列對的的說法是(C).

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

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

30.以下敘述中不對的的是(C).

A.預(yù)解決命令行都必須以#號開始

B.在程序中凡是以#號開始的語句行都是預(yù)解決命令行

C.C程序在執(zhí)行過程中對預(yù)解決命令行進行解決

D.以下是對的的宏定義#defineIBM_PC

31.一個C語言程序是由(C)組成的。

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

32.判斷char型變量cl是否為小寫字母的最簡樸且對的的表達式為(D)。

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

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

C.('a'<=cl)||('z'>=cl)D.

(c1>='a')&&(c1<='z')

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

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

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

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

A.7B.8C.

9D.2

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

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

C.無擬定結(jié)果D.互換x和y中的值

36.下面標記符中,合法的用戶標記符為(D)。

A.

P#AdB.12aC.char

D._int

37.循環(huán)語句while(!E);中的表達式!E等價于(C)。

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

0D.E==l

38.設(shè)有以下語句,則(A)不是對a數(shù)組元素的對的引用,其中OWiGO。

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

int*p=a;

供選擇的答案是:

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

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

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

A.數(shù)組的首地址B.數(shù)組第一個元

素的值

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

40.在一個文獻中定義的全局變量的作用域為(D)。

A.本程序的所有范圍;B.本文獻的所有范圍:

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

始到文獻結(jié)束。

41.以下語句中,指針s所指字符串的長度為(A)。

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

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

0

42.若調(diào)用一個函數(shù),且此函數(shù)中沒有return語句,則對的的說法是:該函數(shù)(D)。

A.沒有返回值B.返回若干個系統(tǒng)默認值

C.能返回一個用戶所希望的函數(shù)值D.返回一個不擬定的值

43.以下只有在使用時才為該類型變量分派內(nèi)存的存儲類說明是(B)o

A.auto和staticB.auto和register

C.register和staticD.extern和register

44.關(guān)于return語句,下列對的的說法是(C).

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

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

45.設(shè)有下列程序段,則scanf函數(shù)調(diào)用語句中對結(jié)構(gòu)體變量成員的不對的引用為(B)。

structstudent

{charname[20];

intage;

charsex;

}stu[5],*p;

p=Stu;

A.scanf(z,%s,z,stu[0].name);B.scanf(〃%d〃,p->age);

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

age);

46.若x、y、j和k都是int型變量,則計算表達式x=(k型2,j=6,i=4)后,x的值為(C)。

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

47.C語言中標記符只能由字母、數(shù)字和下劃線組成,且第一個字符(B)。

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

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

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

標的數(shù)據(jù)類型允許是(C)O

A.整型常量B.整型表達式

C.整型常量或整型表達式D.任何類型的表達式

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

intj=-1;

if(j<=1)printf("****\nH);

elseprintf(n%%%%\nH);

A.****B.%%%%C.%%%%cD.有錯,執(zhí)行不對的

50.以下各選項企圖說明一種新的類型名,其中對的的是(C)。

A.typedefvlint;B.typedefv2=int;

C.typedefintv3;D.typedefv4:int;

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

A.c='a';B.c=Ma";C.c="97M;D.C=‘97’

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

A.非整型返回值的B.本文獻外的

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

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

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

54.下列程序段的輸出結(jié)果為(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)存申請到內(nèi)存空間存入整數(shù)123的語

句為(A)。

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

56.以下描述中對的的是(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后面表達式的值變?yōu)榱?〃假〃)的操作

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

57.在位運算中,操作數(shù)每左移一位,其結(jié)果相稱于(A)。

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

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

58.以下只有在使用時才為該類型變量分派內(nèi)存的存儲類說明是(B)o

A.auto和staticB.auto和register

C.register和staticD.extern和register

59.若char已對的定義,以下語句中不能從健盤上給a數(shù)組的所有元素輸入值的語句

是⑻.

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

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

60.設(shè)有下列程序段,則scanf函數(shù)調(diào)用語句中對結(jié)構(gòu)體變量成員的不對的引用為(B)。

structstudent

{charname[20];

intage;

charsex;

}stu[5],*p;

p=stu;

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

C.scanf(/z%c/z,&(p->sex));D.scanf("機I”,&stu[O].

age);

61.以下標記符中,不能作為合法的C用戶定義標記符的是(C).

A.answerB.toC.signedD._if

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

A.inta[2][3];B.intb[][3]={0,l,2,3};

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

63.設(shè)有說明:charw;intx;floaty;doublez;則表達式w*x+z-y值的數(shù)據(jù)類型為(D)?

A.floatB.charC.intD.double

64.下列各m的值中,能使m%3==2&&m%5==3&&m%7==2為真的是(B)。

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

65.以下對的的說法是:在C語言中(A).

A:實參和與其相應(yīng)的形參各占用獨立的存儲單元

B:實參和與其相應(yīng)的形參共占用一個存儲單元

C:只有當實參和與其相應(yīng)的形參同名時才共占用存儲單元

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

66.通過以下語句定義后,表達式z+=x>y?++x:++y的值為(C).

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

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

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

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

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

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

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

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

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

69.putchar函數(shù)可以向終端輸出一個(D)

A.整型變量表達式值B.實型變量值

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

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

A.結(jié)構(gòu)體中第一個成員所需內(nèi)存量

B.結(jié)構(gòu)體中最后一個成員所需內(nèi)存量

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

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

71.若有下列定義,則對a數(shù)組元素地址的對的引用是(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.為了避免在嵌套的條件語句if-else中產(chǎn)生二義性,C語言規(guī)定:else子句總是與

(B)配對。

A.縮排位置相同的ifB.其之前最近的if

C.其之后最近的ifD.同一行上的if

74.下列說法不對的的是(A)

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

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

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

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

75.以下描述中,對的的是(C)

A.預(yù)解決是指完畢宏替換和文獻包含中指定的文獻的調(diào)用

B.預(yù)解決指令只能位于C源文獻的開始

C.C源程序中凡是行首以#標記的控制行都是預(yù)解決指令

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

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

1.運用全局變量計算長方體的體積及三個面的面積。

intsl,s2,s3;

intvs(inta,intb,intc)

{intv;

v=(1);

sl=a*b;

s2=(2);

s3=a*c;

returnv;

)

#include<stdio.h>

main()

{intv,l,w,h;

clrscr();

printf(M\ninputlength,widthandheight:");

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

v=(4);

printf(uv=%dsl=%ds2=%d

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

getch();

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

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

voidfun(inta[],intn)

(

inti,j,t;

for(j=0;⑴」++)

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

if((3))

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

)

#include<stdio.h>

main()

(

inti,a[10]={3,7,5,1,2,8,6,4/0,9};

(4);

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

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

)

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

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

#include<stdio.h>

intmain()

(inta,b,c,max;

printf("pleaseinputa,b,c:\nM);

scanfT%d,%d,%d,(1));

if(max<b)

max=b;

if((3))

max=c;

printfC'Thelargestnumberis%d\n",(4));

return0;

)

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

4.以下程序的功能是用選擇法對10個整數(shù)進行由小到大的排序。

#include<stdio.h>

intmain()

{inti,j,min,temp,a[l1];

printf(nenterdata:\n");

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

{printf(Ha[%d]=n,i);

scanf(,)%d,\(1));

)

printf("\nH);

printf("Theorginalnumbers:\nn);

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

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

printf(n\n");

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

{(2)

for((3);i0=10;i++)

if(a[min]>a[j])min=j;

temp=a[i];

a[i]=a[min];

a[min]=temp;

)

printf(n\nThesortednumbers:\nn);

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

printf(,,%5d,;(4));

printf(H\nH);

return0;

)

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

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

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

Imre”。

ttinclude<stdio.h>

intmain()

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

cl二⑵;

c2=(3);

c3二⑷;

c4=(5);

c5二⑹;

printf("passwordis%c%c%c%c%c\n,z,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.給出一個百分制成績,規(guī)定輸出成績等級A,B,C,D,Eo90分以上為A,80~89為B,70?79

為C60、69為D,60分以下為E。

#include<stdio.h>

intmain()

{floatscore;

chargrade;

printf(”請輸入學(xué)生成績:");

scanf("%f\&score);

while(££))

{printf(n\n輸入有誤,請重輸)

scanf("%f”,&score);

)

switch((2))

{case10:

case9:grade=,A,;break;

case8:grade=,B,;break;

case7:grade=,C';break;

case6:grade=,D,;break;

(3)

printf("成績是%5.1f,相應(yīng)的等級是%c\n",score,grade);

return0;

)

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

case4:

case3:

case2:

case1:

case0:grade=*E';

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

例如,字母‘E,用'N代替,'Z,用'U'代替,字母’>用'Z,代替,字母'C

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

#include<stdio.h>

intmain()

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

cl=(l);

c2=c2_4_;

c3二⑵;

c4二⑶;

c5=(4);

printf("passwordis%c%c%c%c%c\nzz,cl,c2,c3,c4,c5);

return0;

)

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

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

#include<stdio.h>

intmain()

{intt,a,b,c,d;

printf("請輸入四個數(shù):");

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

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

if(a>b)

{CD}

if(a>c)

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

if(a>d)

{Q)}

if(b>c)

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

if(b>d)

{^3)}

if((4))

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

printf("排序結(jié)果如下:\n");

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

return0;

)

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

(4)c>d

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

方和恰好等于它自身。

#include<stdio.h>

intmain()

(

inti,j,k,n;

printf(nparcissusnumbersare*');

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

i=n/100;

⑵;

k二⑶;

if((4))

printf("%d=n);

)

printf(n\nr,);

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.以下程序的功能是:從鍵盤上輸入若干個學(xué)生的成績(用輸入負數(shù)結(jié)束輸入),記錄

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

#include"stdio.h"

main()

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

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

while(a>=0.0&&n<1000)

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

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

)

ave=(3);

print(,'Output:\nn);

printf(nave=%l\nn,ave);

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

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

四、程序改錯題(每題10分)

1.#includestdio.h

intmain

{inta,b,sum

a=123;b=456;

sum=a+b

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

return0;

)

五處錯誤,改正:#include<stdio.h>

intmain()

{inta,b,sum;

a=123;b=456;

sum=a+b;

printf("sumis%d\n'\sum);

return0;

)

2.#include<stdio.h>

intmain()

{intmax(intx,inty)

inta,b,c;

printff'inputa&b:M);

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

c=max(a,b);

printf(ttiTiax=%d\n,,,c);

return0;

intmax(intx,inty);

{intz;

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

return(z);

)

五處錯誤,改正:#include<stdio.h>

intmain()

{intmax(intx,inty);

inta,b,c;

printf(44inputa&b:");

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

c=max(a,b);

primfC'max=%d\n'',c);

return0;

)

intmax(intx,inty)

{intz;

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

return(z);

)

3.intmain()

(intcl,c2;

cl=97

c2=98;

printf(u%c%c\nuc1,c2);

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

return0

)

五處錯誤,改正:#include<stdio.h>

intmain()

{intcl,c2;

cl=197;

c2=198;

printf(u%c%c\nn,cl,c2);

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

return0;

)

4.假如我國國民生產(chǎn)總值的年增長率為9%,計算2023后我國國民生產(chǎn)總值與現(xiàn)在相比增

長多少比例。計算公式為:p=(l+r)",r為年增長率,n為年數(shù),p為與現(xiàn)在相比的倍數(shù)。

#include<stdio.h>

intmain()

{floatp,r,n;

printf(Minputr:\n");

scanf(,,r=%f,,r);

n=10;

p=pow(l+r,n);

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

return0

五處錯誤,改正:#include<stdio.h>

#include<math.h>

intmain()

{floatp,r,n;

printf(Minputr:\nn);

scanf("r=%f\&r);

n=10;

p=pow(l+r,n);

printf(up=%i\nn,p);

return0;

5.#include<stdio.h>

intmain()

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

floatpi=3.141526;

printf("請輸入圓半徑r,圓柱高h:”);

scanf(H%f,%f\r,h);〃規(guī)定輸入圓半徑r和圓柱高h

l=2*pi*r;〃計算圓周長1

s=r*r*pi;〃計算圓面積S

sq=4*pi*r*r;〃計算圓球表面積sq

vq=3.0/4.0*pi*r*r*r;〃計算圓球體積vq

vz=pi*r*r*h;〃計算圓柱體積VZ

printf(“圓周長為:l=%6.2f\n",l);

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

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

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

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

return0

五處錯誤,改正:#include<stdio.h>

inimain()

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

floatpi=3.141526;

printf("請輸入圓半徑r,圓柱高h:”);

scanf(n%f,%f;&r,&h);〃規(guī)定輸入圓半徑r和圓柱高h

l=2*pi*r;〃計算圓周長1

s=r*r*pi;〃計算圓面積s

sq=4*pi*r*r;〃計算圓球表面積sq

vq=3.0/4.0*pi*r*r*r;〃計算圓球體積vq

vz=pi*r*r*h;〃計算圓柱體積vz

printf("圓周長為:l=%6.2f\n",l);

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

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

printf("圓球體積為:v=%6.2i\n",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;

r0=0,0072

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

p2=p*(l+2*r2)*(l+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(1+r0/4,4*5);//存活期存款。活期利息每?季度結(jié)算一次

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

printfCp2=%10.2f\n,zp2);//輸出按第2方案得到的本息和

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

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

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

return0;

五處錯誤,改正:#include<stdio.h>

#include<math.h>

intmain()

{doubler5,r3,r2,rl,r0,p,p1,p2,p3,p4,p5;

p=1000;

r5=0.0585;

r3=0.054;

r2=0.0468;

rl=0.0414;

r0=0.0072;

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

p2=p*(l+2*r2)*(l+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(1+r0/4,4*5);//存活期存款?;钇诶⒚恳患径冉Y(jié)算一次

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

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

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

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

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

return0;

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

寫出以下程序運營的結(jié)果:

1.#include<stdio.h>

intmain()

(

inti,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf(“%d,%d,%d,%d”,i,j,m,n);

return0;

)

運營的結(jié)果:9,11,9,10

2.執(zhí)行程序之后,輸入2/6/,以下程序運營后的輸出結(jié)果是。(/表達回車)

#include<stdio.h>

inimain()

inta,b,c,d;

printf(”請輸入三個整數(shù):\n");

scanf(n%d%d%dM,&a,&b,&c);

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

elsed=b;

if(c>d)d=c;

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

return0;

)

運營的結(jié)果:穌

3.#include<stdio.h>

main()

{intsum=10,n=l;

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

printf("%d,%d”,n,sum);

)

運營結(jié)果為:

4.#include<stdio.h>

main()_

{chargrade=,C,;

switch(grade)

(

case'A':printfC'90-100\iT);

case'B':printfT80?90\n'');

case'C':printf(“70-80\iT);

case'D':printf(“60-70\iT);break;

caseE:printf("v60\n");

default:printf(uerror!\nn);

)

運營結(jié)果為:70-80

60-70

5.#include<stdio.h>

main()

{floata,b,c,t;

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(n%5.2f,%5.2f,%5.2f',a,b,c);

)

運營結(jié)果為:LOO,3.00,7.00

6.#include<stdio.h>

main()

{intm;

scanf(,'%dH,&m);

if(m>=0)

{if(m%2==0)printf("%disapositiveeven\n",m);

elseprintf("%disapositiveodd\nu,m);)

else

if(m%2==0)printf(u%disanegativeeven\nH,m);

elseprintf(''%disanegativeodd\n",m);}

)

若鍵入一9,則運營結(jié)果為:?9isanegativeodd

7.#include<stdio.h>

#defineN4

main()

{inti;

intxl=l,x2=2;

printf(u\nu);

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

{printf(,,%4d%4d,1,xl,x2);

if(i%2==0)

printf(',\nn);

xl=xl+x2;

x2=x2+xl;

)

}

運營結(jié)果為:

1235

8132134

8.#include<stdio.h>

main()

{intarr[]={30,25,20,15,10,5},*p=arr;

P++;

printf("%d\n'',*(p+3));

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論