C語言函數練習題及答案_第1頁
C語言函數練習題及答案_第2頁
C語言函數練習題及答案_第3頁
C語言函數練習題及答案_第4頁
C語言函數練習題及答案_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1【單選題】在下列關于C函數定義的敘述中,正確的是?A、函數可以嵌套定義,但不可以嵌套調用;B、函數不可以嵌套定義,但可以嵌套調用;C、函數不可以嵌套定義,也不可以嵌套調用;D、函數可以嵌套定義,也可以嵌套調用;我的答案:B得分:2.5分2【單選題】下面函數調用語句含有實參的個數為?nc(exp1,exp2),(exp3,exp4,exp5);A、 1B、2C、4D、5我的答案:B得分:2.5分3【單選題】C語言中函數返回值的類型是由以下哪個選項決定的?A、函數定義時指定的類型;B、return語句中的表達式類型;C、調用該函數時的實參的數據類型;D、形參的數據類型;我的答案:A得分:2.5分

2、以下關于函數敘述中,錯誤的是?A、函數未被調用時,系統(tǒng)將不為形參分配內存單元;B、實參與形參的個數必須相等,且實參與形參的類型必須對應一致;C、當形參是變量時,實參可以是常量、變量或表達式;D、如函數調用時,實參與形參都為變量,則這兩個變量不可能共享同一內存空間;我的答案:B得分:2.5分5【單選題】若函數調用時參數為基本數據類型的變量,以下敘述正確的是?A、實參與其對應的形參共享內存存儲單元;B、只有當實參與其對應的形參同名時才共享內存存儲單元;C、實參與對應的形參分別占用不同的內存存儲單元;D、實參將數據傳遞給形參后,立即釋放原先占用的內存存儲單元;我的答案:C得分:2.5分【單選題】 函

3、數調用時,實參和形參都是簡單變量,它們之間數據傳遞的過程描述正確的是?A、實參將地址傳遞給形參,并釋放原先占用的存儲單元;B、實參將地址傳遞給形參,調用結束時形參再將此地址回傳給實參;C、實參將值傳遞給形參,調用結束時形參再將其值回傳給實參;D、實參將值傳遞給形參,調用結束時形參并不將其值回傳給實參;我的答案:D得分:2.5分7【單選題】若用數組名作為函數調用的實參,則傳遞給形參的是?A、數組第一個元素的地址;B、數組的第一個元素的值;C、數組中所有元素的值;D、數組元素的個數;我的答案:A得分:2.5分8【單選題】C語言規(guī)定了程序中各函數之間調用關系,以下說法正確的是?A、既允許直接遞歸調用

4、也允許間接遞歸調用;B、不允許直接遞歸調用也不允許間接遞歸調用;C、允許直接遞歸調用不允許間接遞歸調用;D、不允許直接遞歸調用允許間接遞歸調用;我的答案:A得分:2.5分9【單選題】遞歸函數f(n尸f(n-1)+n (n>1) 的遞歸體是?A、f(1)=0B、f(0)=1C、f(n)=f(n-1)+nD、f(n)=n我的答案:C得分:2.5分10【單選題】若函數的形參為一維數組,則下列說法中正確的是()。A、使用函數時的對應實參必為數組名。B、形參數組可以不指定大小。C、形參數組的元素個數必須等于實參數組的元素個數。D、形參數組的元素個數必須多于實參數組的元素個數。我的答案:B得分:2.

5、5分【單選題】在函數調用過程中,如果函數fun A調用了函數fun B,函數fun B又調用了函數()。A、為函數的直接遞歸調用B、稱為函數的間接遞歸調用C、為函數的循環(huán)調用D、C語言中不允許這樣的遞歸調用我的答案:B得分:2.5分11【單選題】有以下函數定義:void fun(int n,double x) 下選項中的變量都已正確定義并賦值,則對函數fun的正確調用語句是()。A、fun(int y,double m);B、k=fun(10,12.5);C、fun(x,n);D、void fun(n,x);我的答案:C得分:2.5分13【單選題】已有以下數組定義和f函數調用語句,則在f函數的

6、說明中,對形參數組array的正確定義方式為int a34;f(a);A、f(intarray口6)B、f(int array3)C、f(intarray口4)f(int array25)我的答案:C得分:2.5分14【單選題】若程序中定義函數float fadd(float a, float b)return a+b;以下說明中錯誤并將其放在調用語句之后,則在調用之前應對該函數進行說明的是?A、floatfadd(floata,b);B、floatfadd(floatb, floata);C、float fadd(float, float) ;D、float fadd(float a, fl

7、oat b);我的答案:A得分:2.5分15【單選題】下面程序段運行后的輸出結果是?(假設程序運行時輸入5, 3回車)int a, b;void swap()int t;t=a;a=b;b=t;void main()int a,b;scanf("%d,%d",&a, &b);swap();printf ("a=%d,b=%dn",a,b);A、a=5,b=3B、a=3,b=5C、5,3D、3,5我的答案:A得分:2.5分16【單選題】以下程序運行后的輸出結果是?int fun (int x, int y)if(x>y)return

8、x;elsereturn y;void main()int x=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf("%dn",r);)A、B、D、12我的答案:D得分:2.5分17【單選題】下列程序的輸出結果是()。#include "stdio.h"void fun(int a,int b,int c)c = a * b;int main()int c;fun(2,3,c);printf("%dn", c);return 0;A、0B、1C、6D、無法確定我的答案:D得分:2.5分18【單選題】有以下程序

9、,運行后的輸出結果是(#include<stdio.h>float fun(int x, int y)return(x+y);void main()int a=2,b=5,c=8;printf( " %n.0f, fun(int)fun(a+c, b), a -c);A、編譯出錯B、9C、21D、9.0我的答案:A得分:0.0分19【單選題】以下描述正確的是?A、調用函數時的實參只能是有確定值的變量;B、return()語句的括號中,可以是變量、常量或有確定值的表達式;C、C語言中,函數調用時實參和形參間的參數傳遞方式不都是值傳遞;D、實參和形參若類型不匹配,編譯時將報錯

10、;我的答案:B得分:2.5分20【單選題】已有以下代碼#include<stdio.h>int a=6,b=3;int main() int a=8;printf("%dn",(a>b?a:b);則程序的輸出結果是()?A、3B、6C、8D、36我的答案:C得分:2.5分21【單選題】已有以下代碼#include<stdio.h>f()static int x = 1;x -= 1;printf("%d,", x);int main()int i;for (i = 0; i<4; i+)f();return 0;則程序

11、的輸出是:()?A、1, 2,3,4B、0,1,2,3,C、0,-1,-2,-3,D、-1,-2,-3,-4,我的答案:C得分:2.5分22【單選題】C語言程序的基本單位是?A、函數B、過程C、子程序D、源程序文件我的答案:A得分:2.5分23【單選題】以下說法中正確的是?A、C語言程序總是從第一個定義的函數開始執(zhí)行B、C語言程序中,要調用的函數必須在 main()函數中定義;C、總是從main()函數開始執(zhí)行;D、main()函數必須放在程序的開始部分;我的答案:C得分:2.5分24【單選題】 在函數調用時,以下說法正確的是?A、函數調用后必須帶回返回值;B、實際參數和形式參數可以同名;C、

12、函數間的數據傳遞不可以使用全局變量;D、主調函數和被調函數總是在同一個文件里;我的答案:B得分:2.5分25卜面程序段運行后的輸出結果是:(假設程序運行時輸入5, 3回車)void swap( int a, int b)int t;t=a;a=b;b=t;void main()int a,b;scanf("%d,%d",&a, &b);swap(a,b );printf ("a=%d,b=%dn",a,b);我的答案:得分:0.0分第一空:a=3,b=5批語26【填空題】以下程序的功能是用遞歸方法計算工資,已知第一位員工工資最少,為 31

13、00元,其余員工工資一個比一個多 500元,求第5位員工的工資。請?zhí)羁?。salary(int n)int s ;if (n=1 )s=3100 ;elses=salary(n-1)+500 ;return s ;void main ()int n=5 ;printf ( " sarary n” , ;我的答案:得分:2.5分第一空:salary(5)批語27【填空題】分析以下程序的運行結果是 #include “ stdio.h "func(int a ,int b)int c;c=a+b;return c;int main()int x=6,y,r;y=x+2;r=fun

14、c(x+,y);printf("%d %d %dn",x,y,r);return 0;我的答案:得分:2.5分第一空:7 8 14批語28【填空題】有如下程序long fib(int n)if(n>2)return(fib(n-1)+fib(n-2)elsereturn 2 ;int main()printf("%dn" , fib(3);該程序的輸出結果是 。我的答案:得分:2.5分第一空:4批語29【填空題】以下程序的輸出結果是。f(int b , int m , int n)int i , s=0 ;for(i=m ; i<n ; i=

15、i+2)s=s+bi;returns ;int main()int x, a尸1 , 2, 3, 4, 5, 6, 7, 8, 9;x=f(a , 3, 7);printf("%dn" , x);我的答案:得分:2.5分第一空:10批語30【填空題】以下程序的輸出結果是。#include<stdio.h>int fac_sum(int n)static int f=1,t=1,s=0;int i;if(n>t)for(i=t+1; i<=n; i+) f=f*i; 一|elsef=1; |for(i=1; i<=n; i+)f=f*i;t=n;

16、 s=s+f;return(s);void main()int a=3,5,2,i,sum;for(i=0; i<3; i+)sum=fac_sum(ai);printf ( "sum=%dn” ,sum);我的答案:得分:2.5分第一空:sum=128批語31【填空題】以下程序的運行結果是#include <stdio.h>int n=1;void main() static int x=5;void func();int y; y=n;printf("MAIN: x=%2d y=%2d n=%2dn",x,y,n);func();printf

17、("MAIN: x=%2d y=%2d n=%2dn",x,y,n);func();void func() static int x=4;int y=10;x=x+2;n=n+10;y=y+n;printf("FUNC: x=%2d y=%2d n=%2dn",x,y,n);我的答案:得分:2.5分第一空:MAIN: x= 5 y= 1 n= 1FUNC: x= 6 y=21 n=11MAIN: x= 5 y= 1 n=11FUNC: x= 8 y=31 n=21批語32【填空題】輸入一個整數io,以下程序的運行結果是#include<stdio.

18、h>void main()int sub(int);int a,e10,c,i=0;printf("輸入一個整數n");scanf("%d",&a);while(a!=0)c=sub(a);a=a/2;ei=c;i+;for(; i>0; i-)printf("%d",ei-1);int sub(int a)int c;c=a%2;return c;我的答案:得分:2.5分第一空:1010批語33【填空題】以下程序的運行結果是#include <stdio.h>int main()int i;void fun();for (i=0;i<3;i+)fun();return 0;void fun()static int x=0;x+=1;printf("%3d",x);我的答案:得分:2.5分第一空:1 2 3批語34以下程序的運行結果是#include <stdio.h>int workover(int i);int reset(int i);int i=0;int mai

溫馨提示

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

評論

0/150

提交評論