南京信息工程大學(xué)試卷2011-2012(2)C語言程序設(shè)計(jì)試卷(文科)-B_第1頁
南京信息工程大學(xué)試卷2011-2012(2)C語言程序設(shè)計(jì)試卷(文科)-B_第2頁
南京信息工程大學(xué)試卷2011-2012(2)C語言程序設(shè)計(jì)試卷(文科)-B_第3頁
南京信息工程大學(xué)試卷2011-2012(2)C語言程序設(shè)計(jì)試卷(文科)-B_第4頁
南京信息工程大學(xué)試卷2011-2012(2)C語言程序設(shè)計(jì)試卷(文科)-B_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1頁/共3頁南京信息工程大學(xué)試卷(文科)2011-2012學(xué)年第2學(xué)期C語言程序設(shè)計(jì)課程試卷(B卷)本試卷共8頁;考試時(shí)間120分鐘;任課教師課程組;出卷時(shí)間2012年6月學(xué)院專業(yè)2011年級班學(xué)號姓名得分一、單項(xiàng)選擇題(每小題1分,共15分)1.以下敘述不正確的是A)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B)一個(gè)C源程序必須包含一個(gè)main函數(shù)C)C程序的基本組成單位是函數(shù)D)在C程序中,注釋說明只能位于一條語句的后面2.下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)的是A)A

p_o

do

B)float

lao

_AC)b-a

goto

intD)_123

temp

INT3.判斷字符型變量c1是否為大寫字母的正確表達(dá)式為A)’A’<=c1<=’Z’B)(c1>=A)&&(c1<=Z)C)(‘A’>=c1)||(‘Z’<=c1)D)(c1>=’A’)&&(c1<=’Z’)4.設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為A)float

B)char

C)double

D)不確定5.在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是A)/B)++C)!=D)%6.下列的語句中定義了一個(gè)能存儲(chǔ)20個(gè)字符的數(shù)組A)inta[21]; B)charb[20];C)charc[21]; D)intd[20];7.若定義x為雙精度型變量,則能正確輸入x值的語句是。A)scanf(“%f”,x);B)scanf(“%f”,&x);C)scanf(“%lf”,&x);D)scanf(“%lf”,x);8.以下不正確的說法是。A)實(shí)參可以是常量,變量或表達(dá)式B)形參可以是常量,變量或表達(dá)式C)實(shí)參可以為任意類型D)如果形參和實(shí)參的類型不一致,以形參類型為準(zhǔn)9.已有定義intk=2;int*ptr1,*ptr2;且ptr1和ptr2均已指向變量k,下面不能正確執(zhí)行的賦值語句是。A)k=*ptr1+*ptr2 B)ptr2=kC)ptr1=ptr2 D)k=*ptr1*(*ptr2)10.下面程序段intk=2;while(k!=0){printf(“%d”,k);k--;}則下面描述中正確的是。A)while循環(huán)執(zhí)行2次B)循環(huán)是無限循環(huán)C)循環(huán)題語句一次也不執(zhí)行D)循環(huán)體語句執(zhí)行一次11.已知一個(gè)函數(shù)的定義如下:doublefun(intx,doubley){……}則該函數(shù)正確的函數(shù)原型聲明為:A)doublefun(intx,doubley)B)fun(intx,doubley)C)doublefun(int,double);D)fun(x,y);12.若調(diào)用一個(gè)非void類型的函數(shù),且此函數(shù)中沒有return語句,則正確的說法是。A)該函數(shù)沒有返回值B)該函數(shù)返回若干個(gè)系統(tǒng)默認(rèn)值C)能返回一個(gè)用戶所希望的函數(shù)值D)返回一個(gè)不確定的值13.若已定義chars[10];則在下面表達(dá)式中不表示s[1]的地址是。A)s+1 B)s++C)&s[0]+1 D)&s[1]14.當(dāng)定義一個(gè)結(jié)構(gòu)體變量時(shí),系統(tǒng)分配給它的內(nèi)存是。A)各成員所需內(nèi)存量的總和 B)結(jié)構(gòu)中第一個(gè)成員所需內(nèi)存量C)成員中占內(nèi)存量最大的容量 D)結(jié)構(gòu)中最后一個(gè)成員所需內(nèi)存量15.若執(zhí)行fopen()函數(shù)時(shí)發(fā)生錯(cuò)誤,則函數(shù)的返回值是。A)地址值B)0C)1D)EOF二、基礎(chǔ)知識(shí)填空(每空2分,共20分)1.在C語言中,沒有專門的輸入輸出的語句,其輸入輸出都是用函數(shù)來完成的,格式化輸入操作是由庫函數(shù)[1]完成的。2.三種基本程序結(jié)構(gòu)是循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)和[2]。3.?dāng)?shù)學(xué)表達(dá)式的C語言表達(dá)式是[3]4.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組strlen(array)為[4]5.y是整型變量,寫出y是非負(fù)數(shù)的邏輯表達(dá)式是:[5]。6.continue語句的作用是結(jié)束[6]循環(huán)。7.函數(shù)調(diào)用語句:fun((a,b),(c,d,e))實(shí)參個(gè)數(shù)為[7]。8.若有#defineADD(x)x+xintm=1,n=2,k=3,sum;sum=ADD(m+n)*k;則sum的值為[8]9.若有定義:structnum{inta;intb;floatf;}n={1,3,5.0};structnum*pn=&n;則表達(dá)式(*pn).a+pn->f的值是[9]。10.C語言流式文件的兩種形式是文本形式和[10]。三、程序閱讀題(每題3分,共24分)1.輸入10,20回車后,下面程序執(zhí)行結(jié)果是#include<stdio.h>voidswap(int*,int*);intmain(){inta,b;scanf(“%d,%d”,&a,&b);swap(&a,&b);printf(“a=%d,b=%d\n”,a,b);return0;}voidswap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}2.以下程序輸出結(jié)果是。#include<stdio.h>intmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf(“a=%d,b=%d”,a,b);return0;}3.輸入6,下面程序的執(zhí)行結(jié)果是:#include<stdio.h>unsignedintfact(unsignedint);intmain(){unsignedintn,fac;scanf("%u",&n);fac=fact(n);printf("%u\n",fac);return0;}unsignedintfact(unsignedintn){unsignedintresult;if(n==1||n==2) result=1;elseresult=fact(n-1)+fact(n-2);returnresult;}4.下面程序的輸出結(jié)果是。#include<stdio.h>intfun(int);intmain(){ inti,a=5,sum; for(i=0;i<2;i++) printf("%d%d\n",i,sum);return0;}intfun(inta){ intb=0; staticintc=3; b++; c++; return(a+b+c);}5.下面程序運(yùn)行的結(jié)果是#include<stdio.h>voidcopy_string(char[],char[]);intmain(){chara[]="Iamateacher.";charb[]="Youareastudent.";copy_string(a,b);printf("%s\n%s\n",a,b);return0

;}voidcopy_string(charfrom[],charto[]){inti=0,j=0;for(;from[i]!='\0';i++,j++)to[j]=from[i];to[j]='\0';}6.下面程序執(zhí)行的結(jié)果是#include<stdio.h>#defineM10voidsort(intx[],int);intmain(){inti,a[10]={3,7,9,11,0,6,7,5,4,2};sort(a,M);for(i=0;i<M;i++)printf("%d,",a[i]);printf("\n");return0;}voidsort(intx[],intn){inti,j,t;for(i=0;i<n;i++)for(j=i;j<=n-1-i;j++)if(x[j]<x[j+1]){t=x[j];x[j]=x[j+1];x[j+1]=t;}}}7.下面函數(shù)的功能是intstrcmp(char*s,char*t){while(*s&&*t&&(*s==*t)){s++;t++;}return*s-*t;}8.若輸入253,則下面程序運(yùn)行的結(jié)果是。#include<stdio.h>longfun(long);intmain(){ longx; scanf("%ld",&x); printf("\n%ld\n",fun(x)); return0;}longfun(longdata){ longk=1; do { k*=data%10; data/=10; }while(data); return(k);}四、程序填空題(每空2分,共20分)1.以下程序輸出a,b,c三個(gè)整數(shù),并按從大到小排序,請完善程序。#include<stdio.h>intmain(){inta,b,c,t;scanf("%d%d%d",&a,&b,&c);if([1]){t=a;a=b;b=t;}if(a<c){[2];a=c;c=t;}if(b<c){t=b;[3];c=t;}printf("%d,%d,%d\n",a,b,c);return0;}2.下面程序是實(shí)現(xiàn)矩陣的轉(zhuǎn)置,請完善程序。#include<stdio.h>#defineM3#defineN4voidtran(intx[][N],inty[][M]);intmain(){ inti,j,a[M][N],[4]; for(i=0;i<M;i++) for(j=0;j<N;j++) scanf("%d",&a[i][j]); tran(a,b); for(i=0;i<N;i++) { for(j=0;j<M;j++) printf("%4d",b[i][j]); printf("\n"); } return0;}voidtran(intx[][N],inty[][M]){ inti,j; for(i=0;i<M;i++) for(j=0;j<N;j++) [5];}3.以下程序是用來輸入M個(gè)整數(shù),并存放在數(shù)組中,找出最大數(shù)與最小數(shù)所在的下標(biāo)位置,并把兩者對調(diào),然后輸出調(diào)整后的5個(gè)數(shù)。#include<stdio.h>#defineM10intmain(){inta[M],t,i,maxi,mini;for(i=0;i<M;i++)scanf("%d",&a[i]);mini=maxi=0;for(i=1;i<M;i++)

溫馨提示

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

評論

0/150

提交評論