C程序設(shè)計811章測試題答案版本_第1頁
C程序設(shè)計811章測試題答案版本_第2頁
C程序設(shè)計811章測試題答案版本_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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)doublefun(intx,inty)B)doublefun(intx;inty)C)doublefun(intx,inty);D)doublefun(intx;inty);3、C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是(b)A)float型B)int型C)long型D)double型4、關(guān)于C語言的函數(shù),下面說法錯誤的是(c)A

2、)一個源程序文件由一個或多個函數(shù)組成B)函數(shù)之間可以互相調(diào)用,但不能調(diào)用main函數(shù)C)函數(shù)可以嵌套定義D)一個C語言程序是由函數(shù)組成的5、C語言規(guī)定,簡單變量做實參時候,他和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是(bA)地址傳遞B)單向值傳遞C)由實參傳給形參,再由形參傳回給實參D)由用戶指定傳遞方式6、在#definePI3.14159中,用宏名代替一個(d)a)常量b)單精度數(shù)c)雙精度數(shù)d)字符串7、以下有關(guān)宏替換的敘述不正確的實(d)a)宏替換不占用運行時間b)宏名無類型c)宏替換只是字符替換d)宏名必須用大寫字母表示8、若有以下定義,則對a數(shù)組元素地址的正確引用是(b)inta5;int*p

3、=a;A)&a5B)p+2C)a+D)&a9、若有以下定義,則對a數(shù)組元素的正確引用是(d)inta5;int*p=a;A)*&a5B)a+2C)*(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)p=&n;*p=m;11、變量的指針,其含義使指該變量的(b)a)值b)地址c)名d)一個標志12、若有語句int*poi

4、nt,a=4;和point+&a;下面均代表地址的一組選項(d)a)a,point,&ab)&*a,&a,*pointc)*&point,point,&ad)&a,&*point,point13、若有定義:inta23;則對a數(shù)組的第i行第j列(假設(shè)i,j已正確說明并賦值)元素值的正確引用為(a)d)*(a+i)+ja)*(*(a+i)+j)b)(a+i)jc)*(a+i+j)14、設(shè)有如下結(jié)構(gòu)定義:structaddr(charname30;charstreet40;charcity20;charoffice30;charpho

5、ne10;intage;stud;若用printf("%s,訪問該結(jié)構(gòu)中name值的正確方法是_(d),用scanf("%d,)訪問結(jié)構(gòu)元素age的地址的正確方法是(b)。(A)stud->name(B)&(C)stud.&name(D)(A)stud.&age(B)&stud.age(C)stud.age(D)stud->age二、填空題與簡答:(共25分)1、一個變量的地址稱為該變量的(指針),如果有一個變量專門存放另一個變量的地址,則它稱為(指針變量)2、通過指針變量輸出a數(shù)組的10個元素

6、。有人編寫了如下程序:#include<stdio.h>voidmain()(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",*p);你知道問題出在哪里嗎?(經(jīng)過第2個循環(huán)后,p指針的位置已經(jīng)變了,不再指向a數(shù)組的首地址。)怎么改呢?(在第2個for循環(huán)前加個p=a;就可以了,這樣使變了的指針乂指向了叔組a的首地址。)請簡單敘述。3、*(p+)和*(+p)作用不同,具體有什么區(qū)別?

7、請簡單敘述。答:(p+)先取*p的值,后使p加1,*(+p)先使p加1,再M*p.4、將字符申a復(fù)制為字符申bo#include<stdio.h>voidmain()chara="Iamaboy.”,b20;inti;for(i=0;*(a+i)!='0'i+)(*(b+i)=*(a+i);這里應(yīng)該填什么?*(b+i)='0'printf("stringais:%sn",a);printf("stringbis:");for(i=0;bi!='0'i+)printf("%c&

8、quot;,bi);printf("n");5、下面程序是對10個整數(shù)排序。#include<stdio.h>sort(intx,intn)/函數(shù)sort中用數(shù)組名做為形參,也可以用指針變量,inti,j,k,t;/如果用指針變量函數(shù)的首部可以改成(sort(int*x,intn)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;voidmain()int*p,i,a10;p=a;for(i=0;i<10;i+)scanf("%d

9、”,p+);p=a;sort(p,10);for(p=a,i=0;i<10;i+)(printf("%d",*p);p+;這里是用的(選擇法)對10個整數(shù)排序的(選擇法還是起泡法)編程題(30分,每題10分):1、寫一個判斷素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否素數(shù)的信息。#include<stdio.h>#include<math.h>voidmain()(intprime(int);函數(shù)原型聲明intm;printf("nInputaninteger:");scanf("%d",&m);i

10、f(prime(m)printf("n%disaprime.",m);elseprintf("n%disnotaprime.",m);intprime(intn)(intflag=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>voidmain()int*p1,*p2,*p,a,b;scanf("%d,%d",&a,&

11、b);p1=&a;p2=&b;if(a<b)p=p1;p1=p2;p2=p;printf("na=%d,b=%dnn”,a,b);printf("max=%d,min=%dn”,*p1,*p2);3、假設(shè)有一個a數(shù)組,整型,有10個元素。用至少以下一種方法輸出各元素。(1、下標法2通過數(shù)組名計算數(shù)組元素地址,找出元素的值3用指針變量指向數(shù)組元素0)1下標法#include<stdio.h>voidmain()inta10;inti;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>voidmain()inta10;inti;for(i=0;i<10;i+)scanf("%d",&ai);printf("n");for(i=0;i<

溫馨提示

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

評論

0/150

提交評論