版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 贛南醫(yī)學(xué)院《攝影與攝像》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛南師范大學(xué)《能源化工專業(yè)英語》2023-2024學(xué)年第一學(xué)期期末試卷
- 甘肅中醫(yī)藥大學(xué)《麻醉設(shè)備學(xué)基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2022年上半年盧姨筆試幼兒綜合教資押題(含答案)
- 三年級數(shù)學(xué)上冊第五單元倍的認識第1課時倍的認識教案新人教版
- 三年級科學(xué)下冊四植物和我們1植物和我們的生活教案新人教版
- 員工培訓(xùn)課件服從
- 禮儀常識培訓(xùn)課件
- 面部手法培訓(xùn)課件
- 《水環(huán)境公共政策》課件
- 《計算智能》課件
- 《稀土礦石選礦》課件
- 短視頻運營獲客短視頻如何打造
- 中學(xué)名著導(dǎo)讀課程設(shè)計
- 七年級第一學(xué)期地理知識點復(fù)習(xí)提綱(滬教版)
- 典范英語2a練習(xí)冊
- 汽車二級維護操作技術(shù)課件
- 視頻監(jiān)控系統(tǒng)用戶操作手冊
- 建筑與市政施工現(xiàn)場安全衛(wèi)生與職業(yè)健康通用規(guī)范培訓(xùn)課件
- 《食品安全知識》課件
- 關(guān)于化工企業(yè)崗位人才及職業(yè)能力需求的調(diào)研
評論
0/150
提交評論