九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

河南理工大學(xué) 歷年C語言試卷

上傳人:二*** 文檔編號(hào):57233410 上傳時(shí)間:2022-02-23 格式:DOCX 頁數(shù):36 大?。?07.28KB
收藏 版權(quán)申訴 舉報(bào) 下載
河南理工大學(xué) 歷年C語言試卷_第1頁
第1頁 / 共36頁
河南理工大學(xué) 歷年C語言試卷_第2頁
第2頁 / 共36頁
河南理工大學(xué) 歷年C語言試卷_第3頁
第3頁 / 共36頁

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《河南理工大學(xué) 歷年C語言試卷》由會(huì)員分享,可在線閱讀,更多相關(guān)《河南理工大學(xué) 歷年C語言試卷(36頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、河南理工大學(xué) 2004~2005 學(xué)年第 2 學(xué)期 《c語言程序設(shè)計(jì)》 試卷(A卷) 考試方式:閉卷 本試卷考試分?jǐn)?shù)占學(xué)生總評(píng)成績(jī)的 70 % 總 分 題號(hào) 一 二 三 四 核分人 題分 專業(yè)班級(jí): 姓名: 學(xué)號(hào): …………………………密………………………………封………………………………線………………………… 一、單項(xiàng)選擇題(每題2分,共50分) 在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)

2、選項(xiàng)是符合題目要求的,請(qǐng)將正確選項(xiàng)前的字母填在題后的下劃線“ ”上。 1.以下敘述正確的是 A)C程序中,main函數(shù)必須位于程序的最前面 B)C程序的每一行只能寫一條語句 C)C語言本身沒有輸入輸出語句 D)對(duì)C程序進(jìn)行編譯的過程中,可以發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤 2.以下選項(xiàng)中均是合法的用戶標(biāo)識(shí)符是 A)A B) _123 C)3Dmax D) A.dat P_0 temp p-pointer la0 do INT _print int 3.在C

3、語言中,字符型(char)數(shù)據(jù)在內(nèi)存中存放的形式為 A)BCD碼 B)原碼 C)補(bǔ)碼 D)ASCII碼 4.已知char a;int b;float c;double d;執(zhí)行語句c=a+b+c+d;后,變量c 的數(shù)據(jù)類型是 A)int B)char C)float D)double 5.已知int i,a;執(zhí)行語句i=(a=2*3,a*5),a+6;后,變量i的值是 A)36 B)30 C)12

4、 D)6 6.若int x=3;且有下面的程序片斷,則輸出結(jié)果是 A)1 B)3 0 C)1 -2 D)死循環(huán) do { printf("%d ",x-=2); }while(!(--x)); 7.字符串"\\\22a,0\n"的長(zhǎng)度是 A)8 B)7 C)6 D)5 8.若w=1,x=2,y=3,z=4;則條件表達(dá)式w>x?w:y

5、 C)2 D)1 9.當(dāng)執(zhí)行下面程序時(shí),如果輸入ABC,則輸出的結(jié)果是 #include main() { char ss[10]= "12345"; gets(ss); strcat(ss,"6789"); printf("%s\n",ss); } A)ABC6789 B)ABC67 C)12345ABC6 D)ABC456789 10.設(shè)有說明語句int a=1,b=0;則執(zhí)行以下語句后,輸出結(jié)果是

6、A)**0** B)**0****2** C)**0****1****2** D)有語法錯(cuò)誤 switch(a) { case 1: switch(b) { case 0: printf("**0**"); break; case 1: printf("**1**"); break; } case 2: printf("**2**"); break; } 11.以下不是死循環(huán)的語句是 A)for(;;x+=i); B)while(1){x++;} C)

7、for(i=10;;i--) D)for(;(c=getchar())!='\n';) sum+=i; printf("%c",c); 12.下列程序的輸出結(jié)果是 A)13;1 B)14;4 C)11;1 D)10;0 main() { int a=10, b=0; if(a=12) { a=a+1; b=b+1; }else { a=a+4;b=b+4; }

8、 printf("%d,%d\n",a,b); } 13.下面關(guān)于字符串的說明中,錯(cuò)誤的是 A)char str[7]="FORTRAN"; B)char str[]="FORTRAN"; C)char *str="FORTRAN"; D)char str[]={'F','O','R','T','R','A','N'} 14.已知:int a[10];則對(duì)a數(shù)組元素的正確引用是 A)a[10] B)a[3.5] C)a(5) D)a[10-10] 15.在C語言中

9、 A)不能使用do-while語句構(gòu)成的循環(huán) B)do-while語句構(gòu)成的循環(huán)必須用break語句才能退出 C)do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為非零時(shí)結(jié)束循環(huán) D)do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為零時(shí)結(jié)束循環(huán) 16.下列程序的輸出結(jié)果是 A)13 B)15 C)11 D)12 #define FUDGE(y) 1.2+y #define PR(a) printf("%d",(int)(a)) main() { in

10、t x=2; PR(FUDGE(5)*x); } 17.C語言中的函數(shù) A)可以嵌套定義 B)不可以嵌套調(diào)用 C)可以嵌套調(diào)用,但不能遞歸調(diào)用 D)嵌套調(diào)用和遞歸調(diào)用均可 18.若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|<10的是 A) abs(x-y)<10?? B) x-y>-10&& x-y<10 C) @(x-y)<-10||!(y-x)>10?? D) (x-y)*(x-y)<100 19.已知int a[4][3]={1,2,3,4,5,6,7,8

11、,9,10,11,12};int (*ptr)[3]=a,*p=a[0]; 則以下不能夠正確表示數(shù)組元素a[1][2]的表達(dá)式是 A)*((ptr+1)[2] ) B)*(*(p+5)) C)(*ptr+1)+2 D)*(*(a+1)+2) 20.以下函數(shù)的功能是? void fun(char?*p2,?char?*p1) { ?while((*p2=*p1)!='\0') { ?p1++;p2++;? }? } A)將p1所指字符串復(fù)制到p2所指內(nèi)存空間 B)將p1所指字符串的地址賦給指針p2 C

12、)對(duì)p1和p2兩個(gè)指針?biāo)缸址M(jìn)行比較 D)檢查p1和p2兩個(gè)指針?biāo)缸址惺欠裼?\0' 21.寫字符到磁盤文件的fputc(ch,fp)函數(shù)(ch表示字符,fp表示文件指針),其函數(shù)原型(頭)正確的是 A) FILE *fputc(char) B) int fputc(FILE *) C) int fputc(char, FILE *) D) int fputc(FILE *,char) 22. 設(shè)有如下定義: struct sk { int a;float b; }data,*p; 若有p=&data;,則對(duì)data中的a域的正確引

13、用是 A)(*p).data.a B)(*p).a C)p->data.a D)p.data.a 23.已知函數(shù)原型為: struct tree *func(int x1,int *x2,struct tree x3,struct tree *x4) 其中 tree 為已定義過的結(jié)構(gòu),且有下列變量定義: struct tree pt,*p; int i; 請(qǐng)選擇正確的函數(shù)調(diào)用語句 A) &pt=func(10,&i,pt,p) B) p=func(i++,&i,pt,&pt); C) p=func(i+1,&(i+

14、2),*p,p); D) func(i+1,&i,p,p); 24.下列程序的輸出結(jié)果是 A)AB B)BA C)AA D)BB void sub(char *a, char *b) { char c; c=*a; *a=*b; *b=c; } main() { char a, b; a='A'; b='B'; sub(a,b); printf("%c%c\n", a,b); } 25. 在Turbo C集成環(huán)境中,若一個(gè)源程序輸入

15、后沒有錯(cuò)誤,則按Ctrl+F9后 A)將源程序存到當(dāng)前目錄 B)依次產(chǎn)生.OBJ和.EXE文件,但不運(yùn)行程序 C)依次產(chǎn)生.EXE和.OBJ文件,并運(yùn)行程序 D)依次產(chǎn)生.OBJ和.EXE文件,并運(yùn)行程序 得分 評(píng)卷人 二、程序填空題(每空2分,共20分)下面給出了若干個(gè)程序,請(qǐng)按照題意將下劃線處缺少的部分補(bǔ)上,使其能正確運(yùn)行。 26.以下程序統(tǒng)計(jì)從終端輸入的字符中每個(gè)大寫字母的個(gè)數(shù)。用#號(hào)作為輸入結(jié)束標(biāo)志,請(qǐng)?zhí)羁铡? main( ) { int num[26],i; char c; for(i=0; i<26; i++) num[i]=0;

16、 while( !='#') /*統(tǒng)計(jì)從終端輸入的大寫字母?jìng)€(gè)數(shù)*/ if(c>=’A’&& c<=’Z’) num[c-65]+=1;/* ’A’的ASCII是65*/ for(i=0; i<26; i++) /*輸出大寫字母和該字母的個(gè)數(shù)*/ if(num[i]) printf("%c:%d\n",i , num[i]); } 27.將n個(gè)字符串按字母順序(由小到大)排序。 void sort(char *str[],int n) { char *t; int i,j,k; for(i=0; i

17、i++) { ; for(j=i+1; j0) ; if(k!=i) { t=str[i]; str[i]=str[k]; str[k]=t; } } } 28.以下程序的功能是將字符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符 串。例如,輸入字符串:abc123edf456gh,執(zhí)行程序后輸出:123456。請(qǐng)?zhí)羁铡? #include?<

18、ctype.h> main() {? char?s[80],?d[80];?int?i,j; gets(s); for(i=j=0; s[i]!='\0'; i++) if( )?{? d[j]=s[i];? j++;? } ; puts(d); } 29.以下fun函數(shù)的功能是將一個(gè)字符串的內(nèi)容顛倒過來,如:int str[ ]="12345",則調(diào)用該函數(shù)后,str數(shù)組中的內(nèi)容變?yōu)椋?5432

19、1"。請(qǐng)?zhí)羁铡? #include "string.h" void fun(int str[ ]) { int i,j,k; for(i=0,j= ; i

20、ing1:”); scanf(“%s”,s1); printf(“\nInput string2:”); scanf(“%s”,s2); while(s1[i]!=’\0’) ; while(s2[j]!=’\0’) ; s1[i]=’\0’; printf(“The new string is %s\n”,s1); } 得分 評(píng)卷人 三、修改下列程序的錯(cuò)誤(共5處,每處3分,共15分) 請(qǐng)改正下列程序中的錯(cuò)誤,使之能得出正確的

21、結(jié)果。 注意:不得增行或減行,也不得更改程序的結(jié)構(gòu)。 31.給定程序中函數(shù)fun的功能 是:計(jì)算n!。 例如:給n輸入5,則輸出120.000000。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。 #include /*********found*********/ double fun(int *n) { double result=1.0; if( n==0 || n==1) return 1.0; while(n>1) /**********found**********/ resul

22、t*=--n; return result; } main() { int n; scanf("%d",&n); printf("\n\n%d!=%lf\n\n",n,fun(n)); } 32.下述程序中函數(shù)calc的功能是對(duì)傳送過來的兩個(gè)實(shí)數(shù)求出和值與差值,并通過兩個(gè)指針形參分別將這兩個(gè)值傳送回調(diào)用函數(shù)。 ? void calc(float x,float y,float *add,float *sub) ? {??? *add=x+y; /**********found*********/ sub=x-y; ?? } ?? m

23、ain() ?? {? float x,y,add,sub; ???? printf("Enter x,y:"); ???? /**********found*********/ scanf("%f%f",x,y); ???? /**********found*********/ calc(&x,&y,add,sub); ???? printf("x+y=%f,x-y=%f\n",add,sub); } 得分 評(píng)卷人 四、程序設(shè)計(jì)(共2題,第一題5分,第二題10分,共15分) 33.輸入三個(gè)整數(shù),求其中的最大值并輸出。(5分) 3

24、4.下面的程序是求數(shù)組中的最小元素,輸出最小元素的下標(biāo)及最小元素值。 注意:部分源程序已給出。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)findmin的花括號(hào)中填入你編寫的若干語句。 #include int findmin(int *s,int n) /* s表示數(shù)組的首地址,n是數(shù)組大小 */ ? { } ? main() { int a[10],i,k; ??? for (i=0; i<10; i++) ????? scanf("%d",&a[i]); ??? k=findmi

25、n(a,10); printf("%d,%d\n",k,a[k]); } 河南理工大學(xué) 2004~2005 學(xué)年第 2 學(xué)期 專業(yè)班級(jí): 姓名: 學(xué)號(hào): …………………………密………………………………封………………………………線………………………… 《c語言程序設(shè)計(jì)》 試卷(B卷) 考試方式:閉卷 本試卷考試分?jǐn)?shù)占學(xué)生總評(píng)成績(jī)的 70 % 總 分 題號(hào) 一 二 三 四 核分人 題分 復(fù)

26、查人 得分 評(píng)卷人 一、單項(xiàng)選擇題(每題2分,共50分) 在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請(qǐng)將正確選項(xiàng)前的字母填在題后的下劃線“ ”上。 1.以下非法的賦值語句是 A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0; 2.下列符號(hào)串中,合法的C語言標(biāo)識(shí)將是 A) _235    B) 235_    C) a.235    D) #121 3.設(shè)有int x=8,y,z;,則執(zhí)行“y=

27、z=x++,x=y==z;”后,變量x的值是 A)0?????? B)1????? C)8?????? ? D)9 4.以下選項(xiàng)中均是合法的用戶標(biāo)識(shí)符是 A)A B) _123 C)3Dmax D) A.dat P_0 temp p-pointer la0 do INT _print int 5.設(shè)float a;,并且a已賦值,則能將a的值四舍五入保留兩位小數(shù)的選項(xiàng)是 A)a=(a*100+0.5)/1

28、00; B)a=(int)(a*100+0.5)/100.0; C)a=(int)(a*100+0.5)/100; D)a=(int)(a*100)/100+0.5; 6.在以下數(shù)組定義中,正確的是 A)int a[3+3]; B)int a[3,3]; C)int a[]; D)int a[3][]; 7.設(shè)有int a=1,b=1;,執(zhí)行printf("%d,%d",(a++,--b),b-1);的輸出結(jié)果是 A)1,-1???? B)1,0????? C)0,-1?????? D)0,0

29、8.以下程序的輸出結(jié)果是 A)0,0,6 B)1,0,7 C)1,1,7 D)0,1,7 main( ) { int i=0,j=0,k=6; if ((++i>0) || (++j>0)) k++; printf("%d, %d , %d \n",i,j,k); } 9.有以下程序: int fff(int a) { int b=0; static int c=3; b=b+1; c=c+1; return(a+b+c); } main() { int a=2,i;

30、 for(i=0; i<3; i++) printf("%d ",fff(a)); } 執(zhí)行后輸出結(jié)果是 A)7 9 11 B)7 8 9 C)7 7 7 D)7 9 10 10.字符串"m\x43\\\np\102q"的長(zhǎng)度是 ? A)7????? B)9??? C)15??? D)16 11.計(jì)算平方數(shù)時(shí)不可能引起二義性的宏定義是 A)#define SOR(x) x*x?????? B)#define SQR(x) (x)*(x) C)#define SQR(x) (x*x)???

31、D)# define SQR(x) ((x)*(x)) 12.執(zhí)行下述程序的輸出結(jié)果是 ? #include ? main() ? {????? static int i,j; ????? for (j=9;i=j-1) ????? printf("%d\n",j); } } A)11??? B)10??? C)9???? D)1011 13.函數(shù)調(diào)用時(shí),下列說法中不正確

32、的是 A)在傳遞數(shù)值時(shí),形式參數(shù)不予分配內(nèi)存 B)實(shí)際參數(shù)和形式參數(shù)可以同名 C)主調(diào)函數(shù)和被調(diào)用函數(shù)可以不在同一個(gè)文件中 D)函數(shù)間傳送數(shù)據(jù)可以使用外部全局變量 14.函數(shù)原型是void fun(int *a,int *b),且int x[10],y;,則下列調(diào)用中正確的是 A)fun(*x,&y); B)fun(&x,*y); C)fun(x,y); D)fun(x,&y); 15.已知指針變量p、q分別指向圖中所示結(jié)點(diǎn),則下列語句組中,可將p所指向的結(jié)點(diǎn)指向q所指向的結(jié)點(diǎn)的語句是 數(shù)據(jù)類型: str

33、uct typ { int data; struct typ *next; }; A)p->next=q;????????????B)p->next=q.next; ??? C)p=q;???????????????? D) p=q->data; 16.設(shè)有int a[]={2,4,6,8,10},*p=a;,則值為8的表達(dá)式是 A)*p+3?????? B)*p+4????????? C)*(p+4)?????? D)*(a+3) 17.若有int a[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}},(*

34、p)[3]; p=a; 則*(*(p+1)+2)的值是 A) 5 B) 6 C) 7 D) 有語法錯(cuò)誤 18.執(zhí)行下面程序段后,c的二進(jìn)制值為 ? int a=3,b=6; ? char c; ?? c=(a^b)<<2; A)00011100??? B)00000111??? C)00000001??? D)00010100 19.設(shè)有int a[3][4],*p=a[1];,則指針變量p指向的元素是 A)a[1][0] B)a[0]

35、[1] C)a[1][1] D)a[1][3] 20.以“只讀”方式打開文本文件a:\aa.dat,下列語句中哪一個(gè)是正確的 A)fp=fopen("a:\\aa.dat","ab"); B)fp=fopen("a:\aa.dat","a"); C)fp=fopen("a:\aa.dat","wb"); D)fp=fopen("a:\\aa.dat","r"); 21.若要執(zhí)行p=fopen("a1", "r"); 則p必須事先進(jìn)行定義 A)int p; B)int *p;

36、C)FILE p; D)FILE *p; 22. 在Turbo C環(huán)境下,已完成一個(gè)C源文件編輯后,則下列正確的敘述是 A)先連接,再編譯可生成.EXE文件 B)先編譯,再連接可生成.EXE文件 C)先編譯,再連接、編譯可生成.EXE文件 D)生成的.EXE文件不能在DOS下運(yùn)行 23.在下面選項(xiàng)中,指出一個(gè)源程序有兩個(gè)main()函數(shù)的出錯(cuò)信息是 A)Undefined symbol 'a' in function main B)Code has no effct in function main C)Redecla

37、ration of 'main' D)Statement missing ; in function main 24.在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的程序段是 A) int i=100; B) for( ; ;); C) int k=10000; D) int s=36; while(1) do{++k;} while(s);--s; { i=i%100+1; while(k>=10000); if

38、(i>100)break; } 25. 設(shè)有char string1[20]="ABCDE",string2[10]="xyz";,則執(zhí)行printf("%d",strlen(strcat(string1,string2)));后的輸出結(jié)果是 ? A)9??? B)8?? ? C)5? ?? D)3 得分 評(píng)卷人 二、程序填空題(每空2分,共20分)下面給出了若干個(gè)程序,請(qǐng)按照題意將下劃線處缺少的部分補(bǔ)上,使其能正確運(yùn)行。 26.下面函數(shù)的功能是返回形參p所指向的、長(zhǎng)度為n的整型數(shù)組中最小值所在的下標(biāo)(下標(biāo)從0開始計(jì)算)。

39、int fun(int *p,int n) { int i,j=0; ????? for(i=0;i<n;i++) ????? if(p[i]<p[j]) _______________ return(________); } 27.將數(shù)組中的n個(gè)數(shù)據(jù)按逆序存放。 void reverse(int a[],int n) { int i,j,t; i=0; j= ; while(i

40、} 28.以下程序用遞歸法求解,當(dāng)最后一項(xiàng)的值小于0.00001時(shí),累加結(jié)束。 main() { double s,x; double sum(double,double,double *); scanf("%lf",&x); s=1.0; if(x>1.0) { printf("s=%10.5lf\n",sum(1.0,x,&s); ) else printf("data error!\n"); } double sum(double t,double p, ) { t=t/p;

41、 if(t>=0.00001) sum(t,p,a); *a+= ; return(*a); } 29.以下程序是將字符串a(chǎn)復(fù)制為字符串b,請(qǐng)將程序補(bǔ)充完整。 main() { char a[]="I am a boy.",b[20],*p1,*p2; p1=a; p2=b; while( ) { *p2=*p1; p1++,p2++; } ; printf("string a is:%s\n",a); printf(

42、"string b is:%s\n",b); } 30.將n個(gè)字符串按字母順序(由小到大)排序。 void sort(char *str[],int n) { char *t; int i,j,k; for(i=0; i0) ; if(k!=i) { t=str[i]; str[i]str[k]; str[k]=t;

43、 } } } 得分 評(píng)卷人 三、修改下列程序的錯(cuò)誤(共5處,每處3分,共15分) 請(qǐng)改正下列程序中的錯(cuò)誤,使之能得出正確的結(jié)果。 注意:不得增行或減行,也不得更改程序的結(jié)構(gòu)。 31.給定程序中功能是:從鍵盤上輸入2個(gè)整數(shù),按從小到大的順序輸出這2個(gè)數(shù)。 /******found*******/ fun(int x, int y) { int temp; temp=*x;*x=*y; * y=temp; } main() { int a,b; /*******found******/ scanf("%d

44、,%d",&a,&b); if(a

45、 found ******/ m=100*k+10*j+i; if(m==i*i*i+j*j*j+k*k*k) printf("%d ",m); } } 得分 評(píng)卷人 四、程序設(shè)計(jì)(共2題,第一題5分,第二題10分,共15分) 33.用多分支語句實(shí)現(xiàn)下列功能:從鍵盤上輸入a op b(其中a,b為數(shù)值,op僅為字符+、 -、*、 / ),計(jì)算表達(dá)式a op b并輸出結(jié)果。例如輸入3+5〈回車〉,則輸出8(5分)。 34.主函數(shù)輸入50個(gè)學(xué)生的學(xué)號(hào)、姓名、3門課程的成績(jī)存入一個(gè)結(jié)構(gòu)型的數(shù)組,編寫函數(shù)統(tǒng)計(jì)每個(gè)學(xué)生的總分,在主函數(shù)中輸出學(xué)生的

46、學(xué)號(hào)、姓名、總分(10分)。 struct student { int num; char name[20]; float score[3]; float sum; /* 總分 */ }; void total(struct student *p,int n) { } main() { struct student stu[50]; int i; for(i=0; i<50; i++) { scanf("%d",&stu[i].num); gets(stu[i].name); scanf("%f",&s

47、tu[i].score[0]); scanf("%f",&stu[i].score[1]); scanf("%f",&stu[i].score[2]); } total(stu,50); for(i=0; i<50; i++) printf("%d %s %f\n",stu[i].num,stu[i].name,stu[i].sum); } 焦作工學(xué)院 2004~2005 學(xué)年第 2 學(xué)期 高級(jí)語言程序設(shè)計(jì) 試卷(A卷) 標(biāo)準(zhǔn)答案及評(píng)分標(biāo)準(zhǔn) 一、單項(xiàng)選擇題(每題2分,共50分) 1.C 2.B

48、 3.D 4.C 5.B 6.C 7.C 8.B 9.A 10.B 11.D 12.A 13.A/D 14.D 15.D 16.C 17.D 18.C 19.D 20. A 21.C 22.B 23.B 24.B 25.D 二、程序填空題(每空2分,共20分) 26.c=getchar() /* 字母拼寫錯(cuò)或缺少字母不扣分 */

49、 +65或+'A' 27.k=i k=j 28.s[i]<='9' && s[i]>='0' /* 數(shù)字未加單撇不扣分 */ d[i]='\0' 或d[i]=0 29.strlen(str)-1 /* 沒有減1扣1分 */ j-- 30.i++ s1[i++]=s2[j++] 或 s1[i]=s2[j];i++;j++ 三、修改程序題(共有5處錯(cuò)誤,每處3分,共15分) 31.double fun(int n) result*=n-- 32.*sub=x-y scanf("%f%f",&x,&y) /* 改對(duì)一個(gè)得1分,多改但未改錯(cuò)不扣

50、分 */ calc(x,y,&add,&sub) /* 改對(duì)一個(gè)得1分,得夠3分為止 */ 四、程序設(shè)計(jì)題(共2題,第一題5分,第二題10分,共15分) 注意:編程方法不唯一,以下為參考答案。另外,主要測(cè)試編程方法,語法錯(cuò)誤在不影響閱讀情況下可不扣分,如少寫分號(hào)。 33. 方法一: main() { int a,b,c,d,max; scanf("%d,%d,%d",&a,&b,&c); /* 輸入1分 */ d=a>b?a:b; /* 比較占3分 */ max=d>c?d:c; print

51、f("%d\n",max); /* 輸出1分 */ } 方法二: main() { int a, b, c ; scanf("%d,%d,%d",&a,&b,&c); printf("%d\n",a>b?a>c?a:c:b>c?b:c); } 方法三:使用if語句 main() { int a,b,c,d,max; scanf("%d,%d,%d",&a,&b,&c); max=a; if(b>max) max=b; if(c>max) max=c;

52、 printf("%d\n",max); } 34. 方法一: int isprime(int n) { int k,i; k=sqrt(n); /* 寫成sqr不扣分 */ for(i=2; i<=k; i++) /* 8分*/ if(n%i==0) break; if(i>k) return 1; /* 返回值 2分 */ else return 0; } 方法二: int isprime(int n) { int i; for(i=2; i

53、%i==0) break; if(i>=n) return 1; /* 寫成i≥n不扣分,主要測(cè)試編程方法 */ else return 0; } 焦作工學(xué)院 2004~2005 學(xué)年第 2 學(xué)期 高級(jí)語言程序設(shè)計(jì) 試卷(B卷) 標(biāo)準(zhǔn)答案及評(píng)分標(biāo)準(zhǔn) 一、單項(xiàng)選擇題(每題2分,共50分) 1、C 2、A 3、B 4、B 5、B 6、A 7、D 8、B 9、B 10、A 11、D 12、C 13、A 14、D 15、A 16、D 17、B 18、D 19、A 20、

54、D 21、D 22、B 23、C 24、C 25、B 二、程序填空題(每空2分,共20分) 26、 j=i; j 27、n-1 j-- 28、double *a t 29、*p1!='\0' *p2='\0' 30、k=i k=j 三、修改程序題(共有5處錯(cuò)誤,每處3分,共15分) 31、fun(int *x,int *y) if(a>b) fun(&a,&b); 32、j<=9 m=100*i+10*j+k 四、程序設(shè)計(jì)題(共2題,第一題5分,第二題10分,共15分) 注

55、意:編程方法不唯一,以下為參考答案。另外,主要測(cè)試編程方法,語法錯(cuò)誤在不影響閱讀情況下可不扣分,如少寫分號(hào)。 33、main() { int a,b; char s; printf("input a op b:"); scanf("%d %c %d",&a,&s,&b); switch(s) { case '+' : printf("%d",a+b);break; case '-' : printf("%d",a-b);break; case '*' : printf("%d",a*b);break; case '/' : pr

56、intf("%d",a/b);break; default :break; } } 34、void total(struct student *p,int n) { int i,j; for(i=0; isum=0.0; for(j=0;j<3;j++) p->sum +=p->score[j];} } 河南理工大學(xué) 2005~2006 學(xué)年第 2 學(xué)期 專業(yè)班級(jí): 姓名:

57、學(xué)號(hào): …………………………密………………………………封………………………………線………………………… 《C語言程序設(shè)計(jì)》 試卷(A卷) 考試方式:閉卷 本試卷考試分?jǐn)?shù)占學(xué)生總評(píng)成績(jī)的 70 % 總 分 題號(hào) 一 二 三 四 核分人 題分 復(fù)查人 得分 評(píng)卷人 一、單項(xiàng)選擇題(每題2分,共50分) 在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請(qǐng)將正確選項(xiàng)前的字母填在題后的下劃線“ ”上。 1.根據(jù)C語言的特點(diǎn)以下選項(xiàng)中不

58、正確的選項(xiàng)是 B A)習(xí)慣用小寫字母,大小寫字母有區(qū)別。 B)C語言主要由語句構(gòu)成,語句是C程序的基本單位。 C)C語言本身沒有輸入輸出語句。 D)用C語言寫的程序可移植性好。 2.C語言中運(yùn)算對(duì)象必須是整型數(shù)據(jù)的運(yùn)算符是 A A)% B)/ C)! D)&& 3.若變量已正確定義并賦值,符合C語言語法的表達(dá)式正確的是 B A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 4.下列可以正確表示字符型常量的是 B

59、A)"a" B)'\t' C)'\028' D)'xy' 5.已知int x=1,y=2,z;執(zhí)行語句z=x>y?++x:++y;后,z的值是 C A)1 B)2 C)3 D)4 6.若變量已正確定義,要將a和b中的數(shù)據(jù)進(jìn)行交換,下面選項(xiàng)中不正確的是 C A)a=a+b,b=a-b,a=a-b; B)t=a,a=b,b=t; C)a=t;t=b;b=a; D)t=b;b=a;a=t; 7.已知int x=6;則執(zhí)行x

60、+=x-=x*x;語句后,x的值為 B A)36 B)-60 C)60 D)-24 8.以下程序的輸出結(jié)果是 C A)0 B)1 C)2 D)3 main() { int a=2,b=-1,c=2; if(a

61、語句后,a,b,c的值分別為 B A)2,2,1 B)2,1,1 C)2,2,2 D)2,1,2 10.若變量已正確定義,以下語句的輸出結(jié)果是 A A)%# B)*%$ C)% D)%$* x=0;y=2;z=3; switch(x) { case 0:switch(y) { case 1: printf("*");break; case 2: printf("%");break; } case 1: switch(z

62、) { case 1: printf("$"); case 2: printf("*");break; default: printf("#"); } } 11.若有以下宏定義 #define N 2 #define Y(n) ((N+1)*n) 則執(zhí)行語句z=2*(N+Y(5));后的結(jié)果為 B A)語句有錯(cuò)誤 B)z=34 C)z=70 D)z值不確定 12.以下不是死循環(huán)的語句為

63、 D A)for(;;x+=i); B)while(1){x++;} C)for(i=10;;i--)sum+=i D)for(;(c=getchar())!='\n';)printf("%c",c); 13.以下程序段的輸出結(jié)果是D A)9 B)1 C)11 D)10 int k,j,s; for(k=2; k<6;k++,k++) { s=1; for(j=k;j<6;j++) s+=j; } printf("%d\n",s); 14.已知:int a[3][

64、4];則對(duì)數(shù)組元素引用正確的是 C A) a[2][4] B)a[1,3] C)a[1+1][0] D)a(2)(1) 15.已知:char str[]="ab\n\018\\\"";則執(zhí)行語句:printf("%d\n",strlen(str)); 的結(jié)果是 B A)3 B)7 C)6 D)12 16.以下不能對(duì)二維數(shù)組a進(jìn)行正確初始化的語句是 C A)int a[2][3]={0}; B)int a[][3]={{1,2}{0}}; C)

65、int a[2][3]={{1,2},{3,4},{5,6}}; D)int a[][3]={1,2,3,4,5,6}; 17.下面對(duì)C語言的描述中,正確的是 A A)在C語言中調(diào)用函數(shù)時(shí),只能將實(shí)參的值傳遞給形參,形參的值不能傳遞給實(shí)參。 B)C語言函數(shù)既可以嵌套定義又可以遞歸調(diào)用。 C)函數(shù)必須有返回值,否則不能使用函數(shù)。 D)C語言程序中有調(diào)用關(guān)系的所有函數(shù)都必須放在同一源程序文件中。 18.已知int *p();這里的p是 C A)指向int類型的指針變量。 B)int 類型的指針數(shù)組。 C)一個(gè)

66、函數(shù),該函數(shù)的返回值是指向int類型的指針變量。 D)一個(gè)指向函數(shù)的指針變量,該函數(shù)的返回值是int類型。 19.已知int a[3][4],*p=a;p+=6;那么*p和 D 的值相同。 A)*(a+6) B)*(&a[0]+6) C)*(a[1]+3) D)*(&a[0][0]+6) 20.已知函數(shù)定義如下: abcd(char *s1,char *s2) { while(*s2++=*s1++); } 函數(shù)abcd的功能是 A A)串復(fù)制 B)求串長(zhǎng) C) 串比較 D)串反向 21.標(biāo)準(zhǔn)庫函數(shù)fgets(s,n,f)的功能是 B A)從文件f中讀取長(zhǎng)度為n的字符串存入指針s所指的內(nèi)存 B) 從文件f中讀取長(zhǎng)度不超過n-1的字符串存入指針s所指的內(nèi)存 C) 從文件f中讀取n個(gè)字符串存入指針s所指的內(nèi)存 D)從文件f中讀取長(zhǎng)度為n-1的字符串存入指針s所指的內(nèi)存 22. 以下程序的輸出結(jié)果是 D A)100 B)16

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!