![c語言課件 c1學(xué)習(xí)資料_第1頁](http://file4.renrendoc.com/view14/M07/06/20/wKhkGWemngWAXl3lAAFder2Jni0997.jpg)
![c語言課件 c1學(xué)習(xí)資料_第2頁](http://file4.renrendoc.com/view14/M07/06/20/wKhkGWemngWAXl3lAAFder2Jni09972.jpg)
![c語言課件 c1學(xué)習(xí)資料_第3頁](http://file4.renrendoc.com/view14/M07/06/20/wKhkGWemngWAXl3lAAFder2Jni09973.jpg)
![c語言課件 c1學(xué)習(xí)資料_第4頁](http://file4.renrendoc.com/view14/M07/06/20/wKhkGWemngWAXl3lAAFder2Jni09974.jpg)
![c語言課件 c1學(xué)習(xí)資料_第5頁](http://file4.renrendoc.com/view14/M07/06/20/wKhkGWemngWAXl3lAAFder2Jni09975.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
一一、單項(xiàng)選擇題(共20小題;每小題1分,共20分)1、下列選項(xiàng)可以正確表示字符型常量的是()。A.’\n’B.”a”C.”\897”D.2962、下列變量名中不合法的是()。A.J2_KEYB.DoubleC.4dD._8_3、若要求從鍵盤讀入含有空格字符的字符串,應(yīng)使用函數(shù)()。A.getc()B.gets()C.getchar()D.scanf()4、表達(dá)式3.6-5/2+1.2+5%2的值是()。A.4.3B.4.8C.3.3D.3.85、若有說明:int*p,m=5,n;,則以下正確的程序段是()。A.p=&n;scanf("%d",&p);B.p=&n;scanf("%d",*p);C.scanf("%d",&n);*p=n;D.p=&n;*p=m;6、已知字母A的ASCⅡ代碼值為65,若變量ch為char型,以下不能正確判斷出ch中的值為大寫字母的表達(dá)式是()。A.ch>='A'&&ch<='Z'B.!(ch>='A'‖ch<='Z')
C.(ch+32)>='a'&&(ch+32)<='z'D.isupper(ch)7、下列各語句序列判別變量a、b的大小,若a>b則交換它們的值,其中正確的是()。A.if(a>b){a=b;b=a;}
B.if(a>b)a=b;b=a;
C.if(a>b){t=a;a=b;b=t;}
D.if(a>b)t=a;a=b;b=t;8、設(shè)有以下說明語句,則下面的敘述中不正確的是()。typedefstructex{intx;floaty;charz;}EXAMPLE;
A.typedef是給類型起別名
B.EXAMPLE是結(jié)構(gòu)變量名
C.x,y,z都是結(jié)構(gòu)體成員名
D.structex是結(jié)構(gòu)體類型名
9、有函數(shù)定義:voidfun(intn,doublex){},若以下選項(xiàng)中的變量都已正確定義并賦值,則對函數(shù)fun的正確調(diào)用語句是()。A.fun(inty,doublem);B.k=fun(y,m);C.fun(y,m);D.voidfun(y,m);10、C語言中函數(shù)返回值的類型是由()決定的。A.傳遞給函數(shù)的實(shí)參類型B.return語句中的表達(dá)式類型C.調(diào)用該函數(shù)的主調(diào)函數(shù)類型D.定義函數(shù)時所指定的函數(shù)返回值類型11、若有宏定義:#definef(x)x*x,則表達(dá)式f(1+2)的值為()。A.9B.5C.3D.不能確定12、語句for(inti=1;i<=10&&i%2;i++)printf("*");能輸出()個*。A.0 B.1C13、有說明inta[][3]={7,6,5,4,3,2,1};則數(shù)組a的第一維的大小是()。A.1B.3C.4D.不能確定14、以下對二維數(shù)組a的定義正確的是()。A.inta[3][]={1,2,3};B.inta[][2]={{1,2,3},{4,5,6}};C.inta[3][2]={0};D.inta[3][2]={1,2,3,4,5,6,7,8};15、為判斷字符串s1是否大于s2,正確的語句是()。A.if(s1>s2)B.if(strlen(s1)>strlen(s2))C.if(strcmp(sl,s2)>0)D.if(!strcmp(s1,s2))16、有定義inti=10,j=20,*p,*q;p=&i;q=&j;p=q;則printf("%d%d",*p,*q)結(jié)果是()。A.1020B.2020C.1010D.201017、已知有定義inta[8],*p;,則與p=a;等價的語句是()。A.p=&a[0];B.p=a[0];C.p=*a;D.*p=&a;18、有定義如下:structstudent{intno;intscore[2];}s[3]={{1,90,80},{2,70,60},{3,50,40}};則s[1].score[0]的值是()。A.90B.80C.70D.6019、C語言中可以處理的文件類型是()。A.文本文件和數(shù)據(jù)文件B.文本文件和二進(jìn)制文件C.?dāng)?shù)據(jù)文件和二進(jìn)制文件D.任何類型文件20、若有定義:inta[3][2]={1,2,3,4,5,6},*p=a[1];則*(p+2)的值是()。A.2B.3C.4D.5二、閱讀程序題,寫出下列程序的運(yùn)行結(jié)果。(本題10小題,每小題3分,共30分)1、main(){inti;for(i=0;i<3;i++)switch(i){case0:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}輸出結(jié)果為:______________________________。2、main(){ inti=1,s=3; do{ s+=i++; if(s%7==0) continue; else i++; }while(s<15); printf(“%d%d\n”,i,s);}輸出結(jié)果為:______________________________。3、#include<string.h>main(){ chars[]="Hello2011!";intlen=strlen(s);inti; for(i=0;i<len/2;i++) {chart=s[i];s[i]=s[len-i-1]; s[len-i-1]=t; } printf("%s\n",s);}輸出結(jié)果為:______________________________。4、intfun(intm,intn){ if(m%n!=0) returnfun(n,m%n); else returnn;}main(){ intm=56,n=35; printf("%d\n",fun(m,n));}輸出結(jié)果為:______________________________。5、main(){char*p[4]={"GOOD","HELLO","KITTY","WELCOME"};char**pp=p;for(inti=0;i<4;i++,pp++)printf("%c",*(*pp+1));}輸出結(jié)果為:______________________________。6、inta=1;voidf(inta){staticintb=5;a++;b++;printf("%d%d",a,b);}main(){f(a);f(a);printf(“%d”,a);}輸出結(jié)果為:______________________________。7、main(){ FILE*fp;inti,a[6]={1,2,3,4,5,6}; fp=fopen("d3.dat","w+b"); fwrite(a,sizeof(int),6,fp); fseek(fp,sizeof(int)*3,SEEK_SET); fread(a,sizeof(int),3,fp);fclose(fp); for(i=0;i<6;i++)printf("%d",a[i]);}輸出結(jié)果為:______________________________。8、voidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={1,2,3,4,5},i;f(a); for(i=0;i<5;i++)printf("%d",a[i]);} 輸出結(jié)果為:______________________________。9、main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j];j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s);}輸出結(jié)果為:______________________________。10、#include<stdlib.h>structNODE{intnum;structNODE*next;};main(){structNODE*p,*q,*r;p=(structNODE*)malloc(sizeof(structNODE));q=(structNODE*)malloc(sizeof(structNODE));r=(structNODE*)malloc(sizeof(structNODE));p->num=1;q->num=2;r->num=3;p->next=q;q->next=r;r->next=NULL;printf("%d\n",p->next->next->num);}輸出結(jié)果為:______________________________。三、程序填空題(共7小題,每空2分,共20分)1、以下程序的功能是:輸入一個整數(shù),判斷它的奇偶性,請?zhí)羁?。main(){intn;scanf(“%d”,&n);if(_______________)printf(“%d是奇數(shù)”,n);elseprintf(“%d是偶數(shù)”,n);}2、用公式+…求的近似值,直到最后一項(xiàng)的值小于0.00001。main(){ floati=1,t=1,pi=0,p=1; while(p>=0.00001) { pi+=p; p=_______________; i++; } pi=pi*2; printf("%9.7f\n",pi);}3、將一串?dāng)?shù)字字符串中的數(shù)字累加,如字符串“1236”main(){char*str="1236"
,*p,s=0;p=str;while(_______________){s+=_______________;p++;}printf("字符串中的數(shù)字累加和為:%d\n",s);}4、下列程序的功能是從鍵盤輸入兩個int型數(shù)據(jù)給變量x和y,然后在main()函數(shù)中調(diào)用exchange()函數(shù)將變量x和y的內(nèi)容對調(diào)。voidexchange(int*a,int*b){intt; t=*a;*a=*b;*b=t;}main(){intx,y; scanf("%d%d",&x,&y); printf("x=%dy=%d\n",x,y); exchange(_______________); printf("x=%dy=%d\n",x,y);}5、以下程序中函數(shù)fun的功能是:統(tǒng)計person所指結(jié)構(gòu)體數(shù)組中所有性別(sex)為M的記錄的個數(shù),存入變量n中,并做為函數(shù)值返回。#defineN3typedefstruct{intnum;charnam[10];charsex;}SS;intfun(SSperson[]){inti,n=0;for(i=0;i<N;i++)if(_______________)n++;returnn;}main(){SSW[N]={{1,"AA",'F'},{2,"BB",'M'},{3,"CC",'M'}};intn;n=fun(W);printf("n=%d\n",n);}6.建立一個鏈表,將存儲在字符數(shù)組中的字符依次轉(zhuǎn)儲到鏈表的各個結(jié)點(diǎn)中。structnode{chardata;structnode*next;};structnode*CreatList(chars[]){structnode*head,*p,*last=NULL;while(*s!='\0'){p=(structnode*)malloc(sizeof(structnode));p->data=*s++; p->next=NULL; if(last!=NULL) last->next=_______________; else head=p; last=_______________;}returnhead;}main(){charstr[]="linklist";structnode*head;head=CreatList(str);}7.將有N個元素的數(shù)組a中的數(shù)據(jù)逐個后移,最后一個元素移到最前面。如有數(shù)組:12345678移動后的結(jié)果為:81234567#defineN8main(){inta[N]={1,2,3,4,5,6,7,8},i,t;t=_______________;for(i=N-1;i>0;i--) _______________; a[0]=t;for(i=0;i<N;i++) printf("%d",a[i]);}四、編程題(共3小題,每小題10分,共30分)1、找出100以內(nèi)的所有素數(shù),并將它們按每行五個打印出來。2、從鍵盤輸入10個整數(shù)建立一個數(shù)組,請將該數(shù)組按從小到大順序排序。3、對兩個字符串內(nèi)容比較大小,不得使用string.h中的庫函數(shù)。函數(shù)原型如下,請完成該函數(shù),并寫出主函數(shù)予以測試。intmystrcmp(char*s,char*t);//當(dāng)s大于t時,返回1;相等時返回0;小于時返回-115.已知函數(shù)abc的定義為:voidabc(){……},則()。A.執(zhí)行函數(shù)abc后,函數(shù)沒有返回值B.執(zhí)行函數(shù)abc后,函數(shù)不再返回C.執(zhí)行函數(shù)abc后,可以返回任意類型D.執(zhí)行函數(shù)abc后,可以返回整型值16.若要在程序中定義一個計算兩個整數(shù)相加的函數(shù),則下面定義()是正確的。A.intadd(inta,b){returna+b;}
B.add(inta,intb){returna+b;}C.intadd(inta,intb){returna+b;}D.intadd(inta,intb){returna+b}(34)有以下語句,則對a數(shù)組元素的引用不正確的是(0≤i≤9)inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A)a[p-a]B)*(&a[i])C)p[i]D)*(*(a+i))考生答案:正確答案:D(33)以下不正確的定義語句是A)doublex[5]={2.0,4.0,6.0,8.0,10.0};B)inty[5.3]={0,1,3,5,7,9};C)charc1[]={′1′,′2′,′3′,′4′,′5′};D)charc2[]={′\x10′,′\xa′,′\x8′};考生答案:正確答案:B18.下面數(shù)組定義中正確的是()。A.inta[2][3]={1,2,3,4,5,6,7};B.intb[][3]={0,1,2,3};C.intcase[10][5]={0};D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};18.以下對二維數(shù)組a定義正確的是()。A.inta[3][];B.floata(3,4);C.doublea[1][4];D.floata(3)(4);20.若有定義charb[5],*p=b;,則正確的賦值語句是()。A.b="abcd" B.*b="abcd"C.p="abcd"D.*p="abcd"21.若有定義inta[]={1,4,7,10,13},*p=a;,則下列不表示數(shù)組元素a[3]的值的是()。A.*(p+3)B.*&a[3]C.*(a+3)D.*p+321.有語句chars[]="ACEG",*p=s;則printf("%c",*p+3);的輸出結(jié)果是()。A.CB.DC.ED.G21.已知 inta[]={1,2,3,4,5},b[]={6,7,8,9,10};int*p=a,*q=b+4;則*q-*p的值是()。A.3B.5C.7D.923.有結(jié)構(gòu)定義structstudent{charname[10];longstu_no;floatscore[3];}s1={"Li",830021,89,78,44};則s1.score[0]的值是()。A.78B.44C.89D.8322.有結(jié)構(gòu)定義如下:structstudent{intstu_num;charname[10];charsex;intscore;}*p;則p對成員變量sex的引用正確的是()。A.p->sexB.(*p)->sexC.p.sexD.(&p)->sex23.下列關(guān)于鏈表結(jié)點(diǎn)的定義,正確的是()。A.structnode{B.structnode{intdata;floatdata;int*next);};structnode*link;};C.structnode{D.structnode{floatdata;floatdata;structnode*link;}structnodepp;};23.若有結(jié)構(gòu)定義:structdate{intday,month,year;};structstudent{char*name;charsex;structdatebirthday;}myday;則結(jié)構(gòu)變量myday對于成員year的表示方法是()。A.myday.yearB.myday.birthday.yearC.myday.date.yearD.myday.birthday.date.year填空題(41)以下程序中函數(shù)sort的功能是對a數(shù)組中的數(shù)據(jù)進(jìn)行由大到小的排序voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序運(yùn)行后的輸出結(jié)果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,考生答案:正確答案:C(18)以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。例如,若一維數(shù)組中的數(shù)據(jù)是:2223445666677899101010刪除后,數(shù)組中的內(nèi)容應(yīng)該是:2345678910。請?zhí)羁铡?include<stdio.h>#defineN80intfun(inta[],intn){inti,j=1;for(i=1;i<n;i++)if(a[j-1]【19】a[i])a[j++]=a[i];【20】;}main(){inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;printf("Theoriginaldata:\n");for(i=0;i<n;i++)printf("%3d",a[i]);n=fun(a,n);printf("\nThedataafterdeleted:\n");for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\n");}A考生答案:正確答案:!=B考生答案:正確答案:returnjintb=2;intfunc(int*a){b+=*a;return(b);}main(){inta=2,res=2;res+=func(&a);printf("%d\n",res);}A)4B)6C)8D)10考生答案:正確答案:B填空編程題(20分,每空2分)1.求兩點(diǎn)之間的距離1.以下程序的功能是:輸入一個整數(shù),輸出這個數(shù)的絕對值,請?zhí)羁?。main(){intx;scanf("%d",&x);if(x>=0)printf("%d\n",x);elseprintf("%d\n",__________);}1.以下程序的功能是:輸入一個整數(shù),判斷它的奇偶性,請?zhí)羁?。main(){inti;scanf("%d",&i);if()printf("%d是奇數(shù)",i);elseprintf("%d是偶數(shù)",i);}2.下面的程序是判斷一個數(shù)是否為素數(shù)的程序。main(){ intx;scanf("%d",&x); for(inti=2;i<x;i++) if(x%i==0) { printf("不是素數(shù)"); break; } if(__________) printf("是素數(shù)");}2.下面程序用于輸出九九乘法表的下三角,即:1×1=12×1=22×2=4……………9×1=49×2=89×3=129×4=16……………9×9=81請完善程序。main(){inti,j;for(i=1;i<=9;i++){for(j=1;_____________;j++)printf("%d×%d=%d",i,j,i*j);printf("\n");}}(25)下面程序的功能是將從鍵盤輸入的一對數(shù),由小到大排序輸出,當(dāng)輸入一對相等數(shù)時結(jié)束循環(huán),請選擇填空。#include<stdio.h>main(){inta,b,t;scanf("%d%d",&a,&b);while(_______){if(a>b){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}A)!a=bB)a!=bC)a==bD)a=b考生答案:正確答案:B3.下列程序的功能是從鍵盤輸入兩個double型數(shù)據(jù)給變量x和y,然后在main()函數(shù)中調(diào)用exchange()函數(shù)將變量x和y的內(nèi)容對調(diào)。voidexchange(double*x,double*y){doublet; t=*x;*x=*y;*y=t;}main(){doublex,y; scanf("%lf%lf",&x,&y); printf("x=%lfy=%lf\n",x,y); exchange(_____________); printf("x=%lfy=%lf\n",x,y);}3.下列程序的功能是將字符串t復(fù)制到字符串s中,并將s顯示出來。voidmystrcpy(char*str1,char*str2){inti=0;while(*str2) {*str1=*str2; str1++;str2++; } *str1=____________;}main(){ chars[20],t[20]; printf("Enterastring:"); scanf("%s",t);mystrcpy(s,t); printf("%s\n",s);}main()4.定義一個結(jié)構(gòu)類型,要求輸入一個學(xué)生的數(shù)學(xué)和計算機(jī)兩門課的成績,然后計算并輸出其平均成績.main(){structstudent{intmath,computer;}stu;printf("pleaseinputscore:");scanf("%d%d",&stu.math,&put
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代人營養(yǎng)知識普及及健康飲食習(xí)慣培養(yǎng)計劃
- 生涯規(guī)劃教育理論框架與實(shí)施策略
- 電子化政府服務(wù)在醫(yī)療領(lǐng)域的應(yīng)用及挑戰(zhàn)
- 珠寶行業(yè)的資金管理與成本控制
- 綿陽四川綿陽市特種設(shè)備監(jiān)督檢驗(yàn)所招聘5人筆試歷年參考題庫附帶答案詳解
- 生產(chǎn)過程中的AI應(yīng)用與技術(shù)革新
- 現(xiàn)代物流技術(shù)的普及與應(yīng)用對生活方式的深刻影響
- 電商物流與供應(yīng)鏈管理的協(xié)同優(yōu)化
- 公交車駕駛員心理健康與壓力管理考核試卷
- 現(xiàn)代醫(yī)療空間設(shè)計與建設(shè)分享
- 中國氫內(nèi)燃機(jī)行業(yè)發(fā)展環(huán)境、市場運(yùn)行格局及前景研究報告-智研咨詢(2024版)
- 《自然保護(hù)區(qū)劃分》課件
- 2025年普通卷釘項(xiàng)目可行性研究報告
- 2025年建筑施工春節(jié)節(jié)后復(fù)工復(fù)產(chǎn)工作專項(xiàng)方案
- 學(xué)校食堂餐廳管理者食堂安全考試題附答案
- 《商用車預(yù)見性巡航系統(tǒng)技術(shù)規(guī)范》
- 春季安全開學(xué)第一課
- 陜鼓集團(tuán)招聘筆試題目
- 煤礦掘進(jìn)隊機(jī)電管理制度匯編
- 國家公務(wù)員考試(面試)試題及解答參考(2024年)
- 幼學(xué)紀(jì)事獲獎?wù)n件
評論
0/150
提交評論