C程序設(shè)計811章測試題答案版本_第1頁
C程序設(shè)計811章測試題答案版本_第2頁
C程序設(shè)計811章測試題答案版本_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、C程序設(shè)計8-11章測試題(04級)姓名一、選擇題:(每題3分,共45分)1、以下說法正確的是(b )。建立函數(shù)的目的之一是A)提高程序的執(zhí)行效率。B )提高程序的可讀性。C)減少程序的篇幅。D )減少程序文件所占內(nèi)存。2、以下正確的函數(shù)的定義形式是(a )A) double fun (i nt x , inty)B) double fun (i nt x ; int y)C) double fun (i nt x ,int y);D) double fun (i ntx ; int y);3、C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是(A)float 型B)int 型C)long

2、 型D)double 型4、 關(guān)于C語言的函數(shù),下面說法錯誤的是(c )A)一個源程序文件由一個或多個函數(shù)組成B)函數(shù)之間可以互相調(diào)用,但不能調(diào)用main函數(shù)C)函數(shù)可以嵌套定義D)一個C語言程序是由函數(shù)組成的5、 C語言規(guī)定,簡單變量做實參時候,他和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是(b )A )地址傳遞B)單向值傳遞C)由實參傳給形參,再由形參傳回給實參D )由用戶指定傳遞方式6、在 #define PI 3.14159 中,用宏名代替一個( d )a)常量b )單精度數(shù)c)雙精度數(shù)d)字符串7、 以下有關(guān)宏替換的敘述不正確的實(d )a)宏替換不占用運行時間b)宏名無類型c) 宏替換只是字符替

3、換d) 宏名必須用大寫字母表示8、 若有以下定義,則對a數(shù)組元素地址的正確引用是(b )int a5; int *p=a;A)&a5B)p+2 C)a+ D)&a9、 若有以下定義,則對a數(shù)組元素的正確引用是(d )int a5; int *p=a;A)*&a5B)a+2 C)*(p+5)D)*(a+2)10、若有說明: int *p,m=5,n ;以下正確的程序段是( c )A) p=&n;scanf( “ %d” ,&pB); ) p=&n;scanf( “ %d” ,*p);C) scanf( “ %d” ,&n);*p=n; D)

4、 p=&n;*p=m;11、 變量的指針,其含義使指該變量的(b )a)值b)地址c)名 d) 一個標(biāo)志12、若有語句 int *point,a=4; 和 point+&a; 下面均代表地址的一組選項( d )a) a, point , &a b) &*a, &a,*point c) * &point ,point,&ad) &a,&*point,point13、若有定義:int a23;則對a數(shù)組的第i行第j列(假設(shè)i,j已正確說明并賦值)元素值 的正確引用為( a )d) *(a+i)+ja) *(*(a+i)+j)

5、b) (a+i)j c)*(a+i+j) 14、設(shè)有如下結(jié)構(gòu)定義:struct addr char name30; char street40;char city20; char office30;char phone10; int age; stud;若用printf(“”,訪問該結(jié)構(gòu)中name值的正確方法是_ ( d ),用scanf( “%d ,)訪問結(jié)構(gòu)元素age的地址的正確方法是 一( b )。 (A) stud->name(B) &(C) stud.&name(D) (A) stud.&age(B) &st

6、ud.age(C) stud.age(D) stud->age填空題與簡答:(共 25 分)1、一個變量的地址稱為該變量的 ( 指針 ),如果有一個變量專門存放另一個 變量的地址,則它稱為( 指針變量 )2、通過指針變量輸出 a 數(shù)組的 10 個元素。有人編寫了如下程序:#include <stdio.h>void main() int *p,i,a10;p=a;for(i=0;i<10;i+)scanf("%d",p+);printf("n");for(i=0;i<10;i+,p+)printf("%d &quo

7、t;,*p);你知道問題出在哪里嗎?( 經(jīng)過第2個循環(huán)后,p指針的位置已經(jīng)變了 ,不再 指向a數(shù)組的首地址 。怎么改呢?(在第2個for循環(huán)前加個p=a;就可以了, 這樣使變了的指針又指向了叔組a的首地址。)請簡單敘述。3、*(p+)和*(+p)作用不同,具體有什么區(qū)別?請簡單敘述。答:(p+)先取*p的值,后使p加1,*(+p)先使p加1,再取*p.4、將字符串 a 復(fù)制為字符串 b。#include <stdio.h>void main() char a="I am a boy.",b20;int i;for(i=0;*(a+i)!='0'i

8、+)(*(b+i)=*(a+i); /這里應(yīng)該填什么?*(b+i)='0'printf("string a is :%sn",a);printf("string b is:");for(i=0;bi!='0'i+)printf("%c",bi);printf("n");5、下面程序是對 10 個整數(shù)排序。#include <stdio.h>sort(int x ,int n)/ 函數(shù) sort 中用數(shù)組名做為形參,也可以用指針變量 , int i,j,k,t; / 如果用

9、指針變量 函數(shù)的首部可以改成 ( sort(int *x,int n) ) for(i=0;i<n-1;i+) k=i;for(j=i+1;j<n;j+)if(xj>xk) k=j;if(k!=i)t=xi;xi=xk;xk=t;void main() int *p,i,a10;p=a;for(i=0;i<10;i+)scanf("%d",p+);p=a; sort(p,10); for(p=a,i=0;i<10;i+) printf("%d ",*p); p+; 這里是用的( 選擇法)對 10個整數(shù)排序的 (選擇法還是起泡

10、法 ) 編程題 (30 分,每題 10 分 ):1、寫一個判斷素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否素數(shù) 的信息。#include <stdio.h>#include <math.h>void main() int prime(int);/ 函數(shù)原型聲明int m;printf("nInput an integer:");scanf("%d",&m);if(prime(m)printf("n%d is a prime.",m);elseprintf("n%d is not a prime.

11、",m);int prime(int n) int flag=1,i;for(i=2;i<sqrt(n)&&flag=1;i+)if(n%i=0)flag=0;return(flag);2、輸入 a、 b 兩個整數(shù),按先大后小順序輸出。用指針方法處理。 #include <stdio.h> void main()int *p1,*p2,*p,a,b;scanf("%d,%d",&a,&b); p1=&a;p2=&b;if(a<b)p=p1;p1=p2;p2=p; printf("na

12、=%d,b=%dnn",a,b);printf("max=%d,min=%dn",*p1,*p2);3、假設(shè)有一個 a 數(shù)組,整型,有 10 個元素。用至少以下一種方法輸出各元素。( 1、下標(biāo)法 2 通過數(shù)組名計算數(shù)組元素地址,找出元素的值 3 用指針變量指向數(shù)組元素 。)1 下標(biāo)法#include <stdio.h>void main() int a10;int i; for(i=0;i<10;i+) scanf("%d",&ai);printf("n"); for(i=0;i<10;i+)printf("%d ",ai);2 通過數(shù)組名計算數(shù)組元素地址,找出元素的值 #include <stdio.h> void main() int a10;int i; for(i=0;i<10;i+) scanf("%d",&ai);printf("n"); for(i=0;i<10;i+)printf("%d

溫馨提示

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

評論

0/150

提交評論