版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
全國計算機等級考試《二級C語言程序設計》預測試卷一[單選題]1.設棧的順序存儲空間為S(0:49),棧底指針bottom=49,(江南博哥)棧頂指針top=30(指向棧頂元素)。則棧中的元素個數為()。A.30B.29C.20D.19參考答案:C參考解析:棧是一種特殊的線性表,它所有的插入與刪除操作都限定在表的同一端進行。入棧運算即在棧頂位置插入一個新元素,退棧運算即取出棧頂元素賦予指定變量。在內存中,棧的增大方向是地址遞減,元素依次存儲在單元30:49中,個數為:49-30+1=20個。答案選擇C選項。[單選題]3.軟件生命周期是指()。A.軟件產品從提出、實現、使用維護到停止使用退役的過程B.軟件從需求分析、設計、實現到測試完成的過程C.軟件的開發過程D.軟件的運行維護過程參考答案:A參考解析:軟件生命周期是指軟件產品從提出、實現、使用、維護到停止使用、退役的過程。答案選擇A選項。[單選題]4.層次型、網狀型和關系型數據庫的劃分原則是()。A.記錄長度B.文件的大小C.聯系的復雜程度D.數據之間的聯系方式參考答案:D參考解析:層次模型的基本結構是樹形結構,網狀模型是一個不加任何條件限制的無向圖,關系模型采用二維表來表示,因此三種數據庫的劃分原則是數據之間的聯系方式,答案選擇D選項。[單選題]5.結構化程序的三種基本控制結構是()。A.順序、選擇和重復(循環)B.過程、子程序和分程序C.順序、選擇和調用D.調用、返回和轉移參考答案:A參考解析:結構化程序設計中三種基本控制結構為順序、選擇和重復(循環)。答案選擇A選項。[單選題]6.數據庫設計中反映用戶對數據要求的模式是()。A.內模式B.概念模式C.外模式D.設計模式參考答案:C參考解析:數據庫管理系統的三級模式包括:①外模式,也稱子模式、用戶模式,是指數據庫用戶所看到的數據結構,是用戶看到的數據視圖;②模式,也稱邏輯模式,是數據庫中對全體數據的邏輯結構和特性的描述,是所有用戶所見到的數據視圖的總和;③內模式,也稱存儲模式、物理模式,是指數據在數據庫系統內的存儲介質上的表示,是對數據的物理結構和存取方式的描述。答案選擇C選項。[單選題]7.程序測試的目的是()。A.為被測程序設計正確的測試用例B.發現并改正程序中的錯誤C.發現程序中的錯誤D.改正程序中的錯誤參考答案:C參考解析:程序測試是使用人工或自動手段來運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別,即為發現錯誤而執行程序的過程,而不是改正錯誤,調試是在測試的基礎上去改正錯誤。答案選擇C選項。[單選題]8.在數據庫中,數據模型包括數據結構、數據操作和()。A.數據約束B.數據類型C.關系運算D.查詢參考答案:A參考解析:在數據庫系統中的數據模型有三個要素:數據結構、數據操作和數據的約束條件。答案選擇A選項。[單選題]9.一名工作人員可以使用多臺計算機,而一臺計算機可被多名工作人員使用,則實體工作人員與實體計算機之間的聯系是()。A.一對一B.一對多C.多對多D.多對一參考答案:C參考解析:一名工作人員可以操作多臺計算機,而一臺計算機又可以被多名工作人員使用,所以兩個實體之間是多對多的關系,答案選擇C選項。[單選題]10.有三個關系R、S和T如下:則由關系R和S得到關系T的操作是()。A.自然連接B.差C.交D.并參考答案:B參考解析:自然連接是二元運算,其結果是得到兩個關系中公共屬性名字上相等的所有元組的組合;交是指將那些同時屬性兩個關系的元素組成一個新的關系;并是指將兩個關系中的元素全部合并到一個新的關系之中;差運算,是在關系R中刪除S中存在的元組。R和S的差是由屬于R但不屬于S的元組組成的集合,運算符為“-”。記為T=R-S。根據本題關系R和關系S運算前后的變化,可以看出此處進行的是關系運算的差運算。答案選擇B選項。[單選題]11.以下敘述中正確的是()。A.不同函數的形式參數不能使用相同名稱的標識符B.用戶自己定義的函數只能調用庫函數C.實用的C語言源程序總是由一個或多個函數組成D.在C語言的函數內部,可以定義局部嵌套函數參考答案:C參考解析:一個C程序可以有一個或多個程序文件,所以也可以有一個或多個函數,選項C正確;除了main函數不能被其他函數調用之外,用戶自定義函數可以調用其他任意函數,包括庫函數和用戶自定義函數,選項B錯誤;函數是一個獨立的模塊,不同函數之間的定義相互沒有影響,所以標識符可以相同,選項A錯誤;函數體內部只可以調用但是不可以定義其他函數,選項D錯誤;答案選擇C選項。[單選題]12.以下選項中敘述正確的是()。A.C程序必須由main語句開始B.函數體必須由{開始C.C程序中的注釋可以嵌套D.C程序中的注釋必須在一行完成參考答案:B參考解析:函數體是函數首部下面的花括號內的部分,所以函數體必須由{開始,B選項正確。一個源程序文件可以包括預處理命令、全局聲明、函數定義,程序總是從main函數開始執行的,不是main語句,A選項錯誤。C程序中允許兩種注釋,以//開頭的單行注釋;以/*開始,以*/結束的塊式注釋,D選項錯誤。函數可以嵌套,注釋不能嵌套,C選項錯誤。答案選擇B選項。[單選題]13.關于C語言標識符,以下敘述錯誤的是()。A.標識符可全部由數字組成B.標識符可全部由下劃線組成C.標識符可全部由小寫字母組成D.標識符可全部由大寫字母組成參考答案:A參考解析:C語言標識符只能由字母、數字、下劃線構成,且只能以字母、下劃線開頭,故答案選擇A選項。[單選題]14.有以下程序(字母A的ASCII代碼為65)#includemain(){charc1='A',c2='Y';printf("%d,%d\n",c1,c2);}程序運行后的輸出結果是()。A.輸出格式不合法,輸出出錯信息B.A,YC.65,90D.65,89參考答案:D參考解析:考查字符型數據。字符常量與其ASCII碼值一一對應,在計算的時候,一般是字符數據對應的ASCII碼參與運算,輸出時會根據格式控制符輸出對應的字符或者ASCII碼。程序中%d表示以十進制整數形式輸出c1,c2,對應的ASCII碼為65和89。答案選擇D選項。[單選題]15.有以下程序#include
main(){int
a;a
=
(int)(-1.53*3);printf("%d\n",
a);}程序的運行結果是()。A.-3B.-4C.-5D.結果不確定參考答案:B參考解析:考查數據類型之間的強制轉換,程序中將表達式(-1.53*3)的值-4.59強制轉換成int型,然后賦值給a,處理方法是直接將小數部分舍去,保留帶有符號的整數部分,答案選擇B選項。[單選題]16.若有C語言表達式2+3*4+7/3,以下選項中敘述正確的執行順序是()。A.先執行3*4得12,再執行2+12得14,再執行7/3得2,最后執行14+2得16B.先執行3*4得12,再執行7/3得2.5,最后執行2+12+2.5得16.5C.先執行7/3得2,再執行3*4得12,再執行12+2得14,最后執行2+14得16D.先執行2+3得5,再執行5*4得20,再執行20+7得27,最后執行27/3得9參考答案:A參考解析:C語言表達式的的執行順序是從左向右,在表達式求值時,按照運算符的優先級別從高到低執行,答案選擇A選項。[單選題]17.若有定義:charc;intd;程序運行時輸入:c=1,d=2<回車>,能把字符1輸入給變量c、整數2輸入給變量d的輸入語句是()。A.scanf("c=%c,d=%d",&c,&d);B.scanf("c=%cd=%d",&c,&d);C.scanf("c=%d,d=%d",&c,&d);D.scanf("c=%dd=%d",&c,&d);參考答案:A參考解析:在scanf()函數中,格式字符串的形式必須與地址格式保持一致,BD兩項中格式控制部分缺少逗號,所以B、D選項不正確。C選項中c=%d是以數值格式存入c變量。答案選擇A選項。[單選題]18.設有定義:doublex=2.12;,以下不能完整輸出變量x值的語句是()。A.printf("x=%5.0f\n",x);B.printf("x=%f\n",x);C.printf("x=%lf\n",x);D.printf("x=%0.5f\n",x);參考答案:A參考解析:printf函數控制字符%f輸出float類型,%lf輸出double類型。格式控制%m.nf,表示數據輸出總的寬度為m位,其中小數部分占n位。當數據的小數位多于指定寬度n時,截去右邊多余的小數,并對截去的第一位小數做四舍五入處理;而當數據的小數位少于指定寬度n時,在小數的右邊補零;當m小于有效位數時,整數部分輸出所有有效數字并且自動對齊,小數部分按照n指定位數輸出。A項按照float格式輸出數據,寬度為5位,保留小數0位,輸出為2,不能完整輸出x。B項按照float格式輸出數據,輸出為2.120000。C項按照double格式輸出數據,輸出為2.120000。D項按照float格式輸出數據,保留小數位數為5,輸出為2.12000。答案選擇A選項。[單選題]19.以下敘述中正確的是()。A.C語言規定必須用main作為主函數名,程序將從此開始執行B.可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行C.C語言程序將從源程序中第一個函數開始執行D.main的各種大小寫拼寫形式都可以作為主函數名,如:MAIN,Main等參考答案:A參考解析:用戶不能指定某函數為主函數,C語言規定,程序從main函數開始執行,從main函數退出,C語言函數名區別大小寫。答案選擇A選項。[單選題]20.有以下程序#includemain(){inta,b;for(a=0;a<3;a++){scanf("%d",&b);switch(b){default:printf("%d,",++b);case1:printf("%d,",++b);case2:printf("%d,",++b);}}}執行時輸入:123<回車>,則輸出結果是()。A.2,3,3,4,5,6,B.2,3,4,C.2,2,3,4,4,4,D.2,3,4,3,4,4,參考答案:A參考解析:考查C語言中的switch-case語句。執行switch-case語句時,一定會先進行匹配,匹配成功則執行當前case語句,再根據是否有break,判斷是否繼續輸出,或是跳出判斷。程序中輸入1時,與case1匹配成功,執行后面的輸出語句,輸出2,且此時b=2,因為后面沒有break語句,繼續執行下一條輸出語句,輸出3。繼續輸入2時,與case2匹配成功,執行后面的輸出語句,輸出3。輸入3時,沒有可匹配的case語句,執行default語句,輸出4,b變為4;后面沒有break語句,繼續執行case1后的輸出語句,輸出5,b變為5;同理繼續執行case2后面的輸出語句,輸出6。答案選擇A選項。[單選題]21.以下程序段中的變量已正確定義for(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf("*");該程序段的輸出結果是()。A.********B.****C.**D.*參考答案:D參考解析:for語句在沒有"{}"說明時僅僅是跟隨其后的第一條語句,即另外一個for語句,第二個for循環有個";"結束,所以整個雙重循環將被視為空語句。然后執行下一個順序語句,即輸出語句,只輸出一個"*"。答案選擇D選項。[單選題]22.有以下程序#include
main(){int
a=-1,
b=-1;for(;
++a;)++b;printf("%d,%d\n",
a,
b);}程序運行后的輸出結果是()。A.0,-1B.0,0C.-1,-1D.結果不確定參考答案:A參考解析:這是對for循環的基本考查,C語言中for循環的形式:for(表達式1;表達式2;表達式3),本題中表達式1和表達式3為空語句。程序執行過程為:定義整型變量a、b并賦初值,執行for循環,執行控制語句++a,a先自增變為0再使用,不滿足控制條件,跳出循環。因此b并未改變,最后輸出0,-1。答案選擇A選項。[單選題]23.以下敘述中正確的是()。A.程序的算法只能使用流程圖來描述B.結構化程序的三種基本結構是循環結構、選擇結構、順序結構C.N-S流程圖只能描述簡單的順序結構的程序D.計算機可以直接處理C語言程序,不必進行任何轉換參考答案:B參考解析:程序的算法可以用流程圖、程序語句、偽代碼和流程圖以及文字進行描述,選項A錯誤;N-S能完整描述程序的所有結構,不僅僅包括簡單的順序結構,選項C錯誤;C語言的源文件需要經過編譯、鏈接生成可執行文件后才可以被計算機執行,選項D錯誤;循環結構、選擇結構、順序結構是結構化程序的三種基本結構,答案選擇B選項。[單選題]24.以下不能用于描述算法的是()。A.偽代碼和流程圖B.程序語句C.E-R圖D.文字敘述參考答案:C參考解析:E-R圖即“實體-聯系圖”,將現實世界中的要求轉化成實體、聯系、屬性等基本概念,描述的是實體之間的聯系,而不能對算法進行描述,相對而言,程序語句、偽代碼和流程圖以及文字都能描述算法的基本思想,答案選擇C選項。[單選題]25.有如下程序#include
main(){int
i,
*pdiv;int
array[5]
=
{5,3,1};for
(pdiv=array,
i=0;
i<5;
i++,
pdiv++){if
(*pdiv
==
0)putchar('X');elseputchar('A'
+
*pdiv);}printf("\n");}程序運行后的輸出結果是()。A.ABCDEB.FFFXXC.FDBBBD.FDBXX參考答案:D參考解析:對數組進行初始化時,如果在說明數組時給出了長度,但沒有給所有的元素賦予初始值,而只依次給前面的幾個數組元素賦予初值,那么C語言將自動對余下的元素賦初值,即array={5,3,1,0,0}。程序執行過程為:執行for循環,將數組首地址賦給指針ptr,依次遍歷每一個元素,如果數組元素為0則輸出'X',如果不為0則按照字母表輸出字符'A'后第array[i]個字符。程序運行后的輸出結果為:FDBXX,答案選擇D選項。[單選題]26.C語言主要是借助以下哪種手段來實現程序模塊化?()A.定義常量和外部變量B.定義函數C.使用豐富的數據類型D.使用三種基本結構語句參考答案:B參考解析:C程序的模塊化主要通過函數來實現。C語言允許對函數單獨進行編譯,從而可以實現模塊化。答案選擇B選項。[單選題]27.設有定義語句int(*f)(int);,則以下敘述中正確的是()。A.f是指向函數的指針變量,該函數具有一個int類型的形參B.f是基類型為int的指針變量C.f是指向int類型一維數組的指針變量D.f是函數名,該函數的返回值是基類型為int類型的地址參考答案:A參考解析:在C語言中函數名代表該函數的入口地址,因此可以定義一種指向函數的指針來存放這類地址,int(*f)(int);,其中f為指向函數的指針變量,指向有一個整型變量且返回值也為整型的函數,第一個int為函數返回值的類型,第二個int為函數的形參類型。答案選擇A選項。[單選題]28.下列敘述中正確的是()。A.每個C程序文件中都必須要有一個main函數B.在C程序中main函數的位置是固定的C.C程序中所有函數之間都可以相互調用D.在C程序的函數中不能定義另一個函數參考答案:D參考解析:在C程序中,main函數的位置可以任意,而且不管main函數位置怎么變化,程序都會以main函數作為入口,選項B錯誤;每個C程序(而不是每個C程序文件)必須有且只能有一個main函數,選項A錯誤;main函數不能被其他函數調用,選項C錯誤;函數的定義不能放在另一個函數體內,但是聲明可以,答案選擇D選項。[單選題]29.有以下程序#include
int
m1(int
x,int
y){return
x<=y
?
x
:y;}int
m2(int
x,int
y){return
x<=y
?
y
:x;}int
fun(int
a,int
b){return
a+b;}main(){int
x=2,y=3,z=1;printf("%d\n",
fun(m1(x,y),m2(y,z)));
}程序的運行結果是()。A.5B.6C.4D.3參考答案:A參考解析:函數m1()返回兩個參數中較小的數值,函數m2()返回兩個參數中較大的數值,函數fun()返回兩個參數之和,所以fun(m1(x,y),m2(y,z))=fun(m1(2,3),m2(3,1))=fun(2,3)=5,答案選擇A選項。[單選題]30.以下敘述中正確的是()。A.函數調用時,不必區分函數名稱的大小寫B.調用函數時,函數名必須與被調用的函數名完全一致C.函數名允許用數字開頭D.在函數體中只能出現一次return語句參考答案:B參考解析:調用函數的時候只有保證調用語句的函數名和被調函數的函數名、參數列表一致才能保證調用的正確性,B正確。C語言對大小寫敏感,選項A錯。用戶自定義的函數名需要遵循用戶標識符的命名規則,由字母、數字、下劃線組成并且第一個字符不能為數字,選項C錯。一個函數每次只能使用一個return語句,但是該函數體中可以有多個返回點,也就是有多條return語句,每次只從其中一點返回,選項D錯。答案選擇B選項。[單選題]31.若有定義:char
s[30]
=
{0};運行時輸入:This
is
a
sdiving.<回車>則以下不能正確讀入整個字符串:This
is
a
sdiving.到字符數組
s
中的語句組是()。A.scanf("%s",s);B.gets(s);C.for(i=0;(c=getchar())!='\n';i++)s[i]=c;D.i=0;while((c=getchar())!='\n')s[i++]=c;參考答案:A參考解析:scanf函數用格式控制符%s讀取字符串時,不能接受空格、制表符Tab、回車。即在讀入Thisisastring時,讀到第一個空格時結束。最后s中的內容是This。答案選擇A選項。[單選題]32.設有如下程序段:chars[20]="Bejing",*p;p=s:則執行p=s;語句后,以下敘述正確的是()。A.s和p都是指針變量B.s數組中元素的個數和p所指字符串長度相等C.可以用*p表示s[0]D.數組s中的內容和指針變量p中的內容相等參考答案:C參考解析:A項錯誤,s為字符數組名;D項,數組s中有20個元素,其中s[6]~s[19]都為0,p中只有7個元素;B項錯誤,p是字符串指針所指向的字符串為"Bejing",其長度為7,而數組a中元素的個數為20;C項正確,p=s;后,指針p指向s的首地址,*p=s[0]。答案選擇C選項。[單選題]33.以下選項中正確的語句組是()。A.char*s;s={"BOOK!"};B.char*s;s="BOOK!";C.chars[10];s="BOOK!";D.chars[];s="BOOK!";參考答案:B參考解析:CD兩項錯誤,因為字符串常量在賦值過程中給出的是這個字符串在內存中所在的一串連續存儲單元的首地址,即s是數組首地址,并非字符串變量,故錯誤;A項,字符串變量的賦值方式有char*s;s="BOOK!";。數組賦值的方式有:char*s;s={"BOOK!"};或是“chars[];s="BOOK!";。s為字符串變量,賦值方式應該是前者,故錯誤。B中先定義一個字符串變量,然后將變量指向一個字符串常量,語句正確。答案選擇B選項。[單選題]34.有以下程序#include#includevoidfun(int**s,intx[2][3]){**s=*(x[1]+1);}voidmain(){inta[2][3]={1,2,3,4,5,6},*p;p=(int*)malloc(sizeof(int));fun(&p,a);printf("%d\n",*p);}程序的運行結果是()。A.5B.2C.6D.3參考答案:A參考解析:malloc()函數的返回值是新分配的存儲區的首地址,將該地址賦值給p指針,然后取p指針的地址,調用fun函數。fun函數中對指向指針的指針s指向的內存單元賦值,其中x[1]表示二維數組x的第二行的行地址,x[1]+1表示二維數組x的第二行第二列的地址,所以fun函數的功能是將二維數組x的第二行第二列的值,即x[1][1]賦值給**s,*s為p,所以**s代表*p,*p即為a[1][1],答案選擇A選項。[單選題]35.關于地址和指針,以下說法正確的是()。A.通過強制類型轉換可以將一種類型的指針變量賦值給另一種類型的指針變量B.可以取一個常數的地址賦值給同類型的指針變量C.可以取一個表達式的地址賦值給同類型的指針變量D.可以取一個指針變量的地址賦值給基類型相同的指針變量參考答案:A參考解析:常數的地址存儲在內存的常量區,常量區存儲的都是常量,值都是不可修改的,所以直接取常量的地址賦給指針變量沒有任何意義,C語言也不允許這樣做,編譯會出錯,B項錯誤;表達式的值存儲在臨時變量中,內存中存在專門用來存儲臨時變量的區域,對這塊地址進行操作也是沒有意義的,C語言不允許這樣做,編譯會出錯,C項錯誤;可以取一個指針變量的地址,但是指針變量的地址屬于指針,只能賦值給指針類型的指針變量,D項錯誤。答案選擇A選項。[單選題]36.以下敘述中錯誤的是()。A.C程序對預處理命令行的處理是在程序執行的過程中進行的B.預處理命令行的最后不能以分號表示結束C.#defineMAX是合法的宏定義命令行D.在程序中凡是以“#”開始的語句行都是預處理命令行參考答案:A參考解析:在C語言中,編譯預處理是在編譯程序對C源程序進行編譯前執行的,選項A錯誤。以“#”開頭的行都稱為“編譯預處理命令行”,其中的末尾不得用“;”結束,區別語句的定義和說明語句,選項B、D正確。C項中的宏定義為不帶參數的宏命令行,宏名之后可以有替換文本,也可以沒有,選項C正確。答案選擇A選項。[單選題]37.若要使用C數學庫中的sin函數,需要在源程序的頭部加上#include關于引用數學庫,以下敘述正確的是()。A.將數學庫中sin函數的源程序插入到引用處,以便進行編譯鏈接B.將數學庫中sin函數鏈接到編譯生成的可執行文件中,以便能正確運行C.通過引用math.h文件,說明sin函數的參數個數和類型,以及函數返回值類型D.實際上,不引用math.h文件也能正確調用sin函數參考答案:C參考解析:考查文件包含處理。文件包含命令的功能是把指定的文件添加到預處理部分,從而把指定的文件和當前的源程序文件連接起來,該文件則包含了程序要調用的函數的聲明。由此,選項A、B、D表述錯誤。答案選擇C選項。[單選題]38.下面結構體的定義語句中,錯誤的是()。A.sdivuctord{intx;inty;intz;}sdivuctorda;B.sdivuctord{intx;inty;intz;};sdivuctorda;C.sdivuctord{intx;inty;intz;}a;D.sdivuct{intx;inty;intz;}a;參考答案:A參考解析:C語言中結構體變量的定義有三種方法:①定義結構體類型的同時定義結構體變量,如C項;②使用無名結構體類型定義結構體變量,如D項;③先定義結構體類型,后定義結構體變量,如B項,A項錯在分別定義結構體類型與結構體變量時需要用“;”隔開。故答案選擇A選項。[單選題]39.有以下程序#include#includesdivuctS{charname[10];};voidchange(sdivuctS*data,intvalue){sdivcpy(data->name,"#");value=6;}main(){sdivuctSinput;intnum=3;sdivcpy(,"OK");change(&input,num);printf("%s,%d\n",,num);}程序運行后的輸出結果是()。A.#,3B.#,6C.OK,3D.OK,6參考答案:A參考解析:考察結構體成員的引用規則。聲明結構類型S中有一個字符數組name,在main函數中,定義了一個結構變量input,為input中成員name初始化“OK”后,調用change函數。chang函數執行功能是把“#”賦值給name,由于change函數的形參為結構體指針,因此change函數改變形參指針data指向的name值的同時,也改變了實參input的成員name值;而形參value為整型變量,是num的一個副本,修改了nnm的副本,對num本身不產生影響,所以輸出為#,3。答案選擇A選項。[單選題]40.有以下程序#include
typedef
sdivuct
{int
b,
p;}
A;void
f(A
c){int
j;c.b+=1;
c.p+=2;}void
main(){int
i;A
a={1,2};f(a);printf("%d,%d\n",
a.b,
a.p);}程序運行后的輸出結果是()。A.2,4B.1,2C.1,4D.2,3參考答案:B參考解析:考查結構體變量作為函數實參整體傳遞,也是一種值傳參,形參的變化不能影響到實參,所以調用函數f(a)對a中的數據沒有影響,輸出結果為1,2,答案選擇B選項。[問答題]1.給定程序中,函數fun的功能是:將形參n所指變量中,各位上為偶數的數去除,剩余的數按原來從高位到低位的順序組成一個新的數.并通過形參指針n傳回所指變量。例如輸入一個數:27638496,新的數:為739。請在程序的下劃線處填八正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANKl.C中。不得增行或刪行,也不得更改程序的結構!/**********code.c**********/#include
void
fun(unsigned
long
*n){unsigned
long
x=0,
i;int
t;i=1;while(*n){/**********found**********/t=*n
%
①______;/**********found**********/if(t%2!=
②______){x=x+t*i;i=i*10;}*n
=*n
/10;}/**********found**********/*n=③______;}main(){unsigned
long
n=-1;while(n>99999999||n<0){printf("Please
input(0<n<100000000):
");scanf("%ld",&n);}fun(&n);printf("\nThe
result
is:
%ld\n",n);}/**********-code.c**********/參考答案:①10②0③x參考解析:填空1:通過t對10求余,取出該數值的個位上的數。填空2:通過if條件語句實現奇偶數的判定。如果條件表達式對2求余為0即是偶數,反之是奇數。填空3:最后將剩余的數賦給n指向的元素。[問答題]2.給定程序MODI1.C中函數fun的功能是:計算n!。例如,給
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 探討對2025年證券從業資格證考試的遞延策略試題及答案
- 現代審計與風險控制的結合試題及答案
- 財務決策應對策略試題及答案2025
- 江蘇省泰州市本年度(2025)小學一年級數學部編版隨堂測試(下學期)試卷及答案
- 財務分析工具金融理財師考試試題及答案
- 證券市場信息不對稱現象試題及答案
- 常見財務報表分析方法試題及答案
- 考前沖刺微生物檢驗試題及答案
- 微生物同時檢驗技術相關試題
- 項目管理技能檢驗試題及答案
- 第二屆全國物流設計大賽一等獎作品:北京交通大學一隊全國決賽作品
- ABB變頻器ACS510說明書
- 全國青年教師觀摩大賽數學賽課一等獎作品教學設計模板(三)
- 汽車4S店維修結算清單
- 校園網站設計論文
- GB/T 17213.4-2015工業過程控制閥第4部分:檢驗和例行試驗
- 磷酸鐵鋰生產配方及工藝
- 電工電子技術及應用全套課件
- DB33T 1233-2021 基坑工程地下連續墻技術規程
- 《新農技推廣法解讀》ppt課件
- 社區家庭病床護理記錄文本匯總
評論
0/150
提交評論