2006本科C語言試題1答案_第1頁
2006本科C語言試題1答案_第2頁
2006本科C語言試題1答案_第3頁
2006本科C語言試題1答案_第4頁
2006本科C語言試題1答案_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

A)a=%d,b=%f\n B)a=17,b=9.50A)a=%d,b=%f\n B)a=17,b=9.50C語言試題一填空(每空1分,共10分):1”\61”在內存中占 2 個字節。2定義:intm=5,n=3;則表達式m/=n+4的值是0 ,表達式m=(m=1,n=2,n-m)的值是 1 ,表達式m+=m-=(m=1)*(n=2)的TOC\o"1-5"\h\z值是 -2 。3若有enummycolor{red,blue=5,green,yellow=red+9};printf("%d",yellow);結果輸出為 9 .4表達式~2|(1&5八3)的值為 -1 。5若有以下說明和語句,charst叩="\"c:\\abcd.dat\"";printf("%s",str);則輸出結果是 "c:\abcd.dat" 。6設t=1,a=2,b=-1,執行if((a=b)>0)t=a++;貝Ut的值為1 7字符’A'的ASCII碼為65,則執行printf(%c”,70);輸出結果是F8若用數組名稱作為函數調用的實際參數,傳遞給形參的是數組的首地址 。二選擇題(每題1分,共15分)1若變量已正確定義并賦值,下面符合 C語言語法的表達式是(B)a:=b+1 B)a=b+=c+2C)int18.5%3 D)a=a+7=c+bC)。2若定義inta[3][4],則在內存中前三個元素正確的存放順序是 C)。a[0][1],a[0][2],a[0][3]a[1][1],a[1][2],a[1][3]a[0][1],a[0][2],a[0][3]a[1][1],a[1][2],a[1][3]D.任意D.任意0x;a[0][0],a[0][1],a[0][2]3該源程序執行后,屏幕上顯示voidmain(){inta;floatb;a=017;(八進制:0;十六進制:b=9.5;printf("a=%d,b=%4.2f\n",a,b);}

C)a=15,b=9.50 D)a=15,b=9.54有如下程序段inta=14,b=15,x;charc='A';x=(a&&b)&&(cv'B');執行該程序段后,x的值為( D)A)tureB)false C)0D)155下述表達式中,(DA)(x>=1)&&(xv=0)C)x>=1.OR.x<=0)可以正確表示x^0或x_1的關系。x>=1|x<=0D)x>=1||x<=06打開一個已經存在的非空文本文件,A)FILE*fp;fp=fopen(A,r);FILE*fp;fp=fopen( A”,”rb”);名字為A,正確的打開語句是(B )。B)FILE*fp;fp=fopen( A",”””);FILE*fp;fp=fopen(A,rb);7有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<2.0)y=0.5/x;elseif(x<10.0)y=1.0/x;elsey=1.0;printf(“%”,y);}該程序的輸出結果是(C)A)0.000000B)0.250000C)0.500000 D)1.0000008下述程序片段中,執行A)inti=1,j=0;i=j=((i=3)++);C)inti=1,j=1;i+=j+=2;(C)后變量i的值為4。B)inti=0,j=0;(i=2,i+(j=2));D)inti=0,j=1;(j==1)?i+=3:i=2;9關于C語言中的while表達式){語句序列}”,以下敘述正確的是(D)。A?不能構成循環結構BB?構成的循環必須用 break才能結束循環D)13D)13D)15C.當while語句中的表達式的值為非 0時結束循環D.當while語句中的表達式的值為0時結束循環10下述程序片段的輸出是(A)。inta[3][4]={{1,2,3},{4,5,6}};intx,*p=a[0];x=(*p)*(*p+2)*(*p+4);printf(”%d”,x);A)15B)14 C)1611有如下程序intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%nd”,r);}該程序的輸出的結果是(D)A)12 B)13 C)1412下述程序的輸出結果是(#include<stdio.h>intm=13;intfun(intx,inty){intm=3;returnx*y-m;}voidmain(){intk=7,n=5;printf( ”%d”,fun(k,n)/m);}A)1 B)2B)。C)7D)101313C編譯系統對文件包含命令 #include”file的處理時機是(A)。A)通常的編譯處理之前B)通常的編譯處理過程之中C)程序連接時D)C)程序連接時14下述程序的輸出結果是(B#include<stdio.h>voidmain(){union{unsignedcharc;unsignedinti[4];}z;z.i[0]=0x39;z.i[1]=0x36;printf("%d",z.c);D)28}A)39 B)57 C)015設有charstr[20];則從鍵盤為該數組輸入一個字符串的正確語句是D)28(A ).A.scanf(“%s”,str);C.getchar(str);三判斷題(每題1分,共5分)B.scanf(“%s”,&str);str=gets();正確畫V,錯誤畫xTOC\o"1-5"\h\z'A'和“A”都可以賦給字符型變量。 (X)C語言中引用數組元素時下標可以是變量。 (V)有參函數的實參在函數沒有被調用時不占存儲空間。 (X)局部變量的生存期僅限于本函數的內部。 (X)5?指針變量中只能存放數組的首地址。 (X)四、寫出以下各程序的輸出結果(每題4分,共20分)1下述程序的輸出結果是#include<stdio.h>voidmain(){intx=-1,y=4;intk;k=x++<=0&&!(--y<=0);printf(”%d,%d,%d”,k,x,y);}輸出結果:1,0,32若執行程序時輸入”AbcDok#”以,下程序的輸出結果是#include<stdio.h>voidmain(){charc;intv0=0,v1=0,v2=0;doswitch(c=getchar()){case'a':case'A':case'e':case'E':default:v0++;v2++;break;case'i':case'I':case'o':case'O':case'u':case'U':v1++;}while(c!='#');printf("\nv0=%d,v1=%d,v2=%d,%c",v0,v1,v2,c);}輸出結果:v0=6,v1=1,v2=6,#3下述程序的執行結果是#include<stdio.h>intx=1;voidfun(inty){intx=5;x+=y++;printf(”%d,”,x);}voidmain(){inta=3;fun(a);x+=a++;printf(”%d”,x);}輸出結果:8,44#defineN5structstud{intnum;charname[10];intscore[3];}st1={1001, “Wang”,90,48};6,8main(){intj,s=0;printf("%5d%s",st1.num,);for(j=0;j<3;j++)s=s+st1.score[j];printf("\n%d"s);}輸出結果:1001Wang2605、有以下程序intfmax(intx,inty){intz;return(z=x>y?x:y);}main(){inta=5,b=7,c;c=(a=6,b=8);printf("%d,%d,%d,%d”,fmax(fmax(a+c,b),a-c),a,b,c);}輸出結果:14,6,8,8五、 完善程序(每空1分,共15分)1、從鍵盤輸入a、b、c三個整數,按大小順序輸出。swap(int*pt1,int*pt2){intp;p=*pt1;(1)*pt1=*pt2 ;*pt2=p;}exchange(int*q1,int*q2,int*q3){if(*q1v*q2)swap(q1,q2);if(*q1v*q3)swap(q1,q3);if(*q2v*q3) (2)swap(q2,q3);}main(){inta,b,c,*p1,*p2,*p3;scanf(”%%d%c”,&a.&b.&c):p仁&a;p2=&b;p3=&c;exchange(p1,p2,p3);printf("\n%d,%d,%d\n",a,b,c);2下述程序從鍵盤輸入文本(用 Esc作為文本結束標志)復制到一個名為input.txt的新文件中。 Esc的鍵值為27,請填空。#include<stdio.h>voidmain(){FILE*fp;charcx;if((fp=fopen((6)"input.txt","w" ))==NULL)return;while((cx=getchar())!=(7)27 )fputc(cx,fp);(8)fclose(fp) ;}3、下述程序要求用戶輸入一個整數,調用函數進行判斷,若是質數函數返回1,否則返回0。輸出是否是素數的信息#includevstdio.h>intPrime(intn){inti;for(i=2;ivn;i++)if((9)n%i==0)return0;return(10) 1;}voidmain(){intk;scanf(“%d',&k);if((11) Prime(k))printf( “%d質數n”,k);else(12) printf(“%B是質數n”,k;)}4 將一個具有10個元素的字符數組的元素首尾倒置并輸出。#include<stdio.h>#defineM10voidmain(){chara[M];intk;for(k=0;k<M;k++)scanf(%c",&a[k]);for(k=0;kvM/2;k++){chart=a[k];(13)a[k]=a[10-k-1] a[k]=a[M-k-1]

(14) a[10-k-1]=t}for(k=0;kvM;k++)printf(%c",(15) a[k]);}六編寫程序(35分)1、(10分)由用戶從鍵盤輸入兩個 3X4矩陣的值存放于數組中,主函數中通過函數調用實現兩個矩陣相加的計算,主函數中輸出結果矩陣。2、(1

溫馨提示

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

評論

0/150

提交評論