程序設計模擬及答案_第1頁
程序設計模擬及答案_第2頁
程序設計模擬及答案_第3頁
程序設計模擬及答案_第4頁
程序設計模擬及答案_第5頁
全文預覽已結束

下載本文檔

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

文檔簡介

/程序設計模擬題1一單項選擇題1.C程序的基本單位是__C____。A子程序B過程C函數(shù)D源程序文件2.若有以下說明,則__B____不是對strcpy庫函數(shù)的正確的調(diào)用charstr1=”copy”,str2[10],str3=”hijklmn”,*str4,*str5=”abcd”;Astrcpy(str2,str1);Bstrcpy(str3,str1);Cstrcpy(str4,str1);Dstrcpy(str5,str1);3.C語言中,要求運算量必需是整形數(shù)據(jù)的運算符是___A___。A%B/C*D!4.選出C語言的合法的變量名__D____。A33aBa#bCab,cDddt35.以下說法正確的是:A預處理叮囑行都必需以#號起先預處理叮囑只能位于源程序的首部對預處理叮囑的處理是在執(zhí)行過程中進行的每個C程序必需運用預處理叮囑#include<stdio.h>6.對于如下數(shù)據(jù)定義和scanf函數(shù)調(diào)用:

inti1,i2;

charc1,c2;

scanf("%d%c%d%c",&i1,&c1,&i2,&c2);

若使i1、c1、i2、c2的值分別為10、'C'、20、'D',正確的數(shù)據(jù)輸入方式是__A____A10C20D<回車>B10C20D<回車>C10C20D<回車>D10C20D<回車>

7.當定義一個結構體變量時系統(tǒng)支配給它的內(nèi)存是:__A____A各成員所需內(nèi)存量的總和B成員中占內(nèi)存量最大者所需的容量C結構中第一個成員所需內(nèi)存量D結構中最終一個成員所需內(nèi)存量8.設有以下語句,則c的值用二進制表示為:__B____chara=3,b=6,c;c=(a∧b)<<2;A00011011B00010100C00011100D00011000二填空題1.設inta=10,則執(zhí)行完語句a+=a-=a*a后,a的值是_-180_____。2.char*str;str="string";這種字符串賦值方式正確嗎?___1___(正確填1,不正確填0)3.表達式3&4的值為__0_____。4.C語言供應的構造類型的數(shù)據(jù)有:數(shù)組,結構體,__共用體____。5.表達式0?(0?3:2):(10?1:0)的值為__1____。6.C語言程序中,若對函數(shù)類型未加顯式說明,則函數(shù)的隱含類型為___int___類型。7.定義intj=1;執(zhí)行while(j++<4)后j的值為__4____。三程序填空題1.輸出由’*’組成的倒三角圖案,圖案的行數(shù)n從鍵盤輸入。

假如行數(shù)n為6,則圖案如圖所示:

******

*****

****

***

**

*

#include<stdio.h>main(){inti,j,n;printf("Pleaseinputnumberofrows:");scanf("%d",&n);for(i=___0___;i<n;i++){for(j=0;j<___n___;j++)putchar(j<i?’’:’__*____’);putchar('\n');}}2.用起泡法將10個數(shù)組元素從小到大排序。main(){inti,j,t;staticinta[10]={5,7,4,2,3,6,1,0,,9,8};for(j=0;j<9;j++){for(i=0;i__<____9-j;i++){if(a[i]>a[_i+1__]){t=a[i];a[i]=a[i+1];a[i+1]=_t_____;}}}for(i=0;i<10;i++)printf(“%2d”,a[i]);}四改錯題

1.本程序計算N×N二維整型數(shù)組全部元素的平均值(輸出時保留一位小數(shù))。

行號程序

01#include<stdio.h>

02#defineN4

03floatfun(intarr[][N]);

04main()

05{06staticintaa[][N]={07{1,2,3,4},{4,5,6,7},08{10,11,12,13},{20,21,22,23}};09floatavr;10avr=fun(&aa);11printf("avr=%.1f",avr);12}13floatfun(intarr[][N])14{15inti,j;16ints;17floatav;18for(i=1;i<N;i++)19for(j=0;j<=N-1;j++)20s+=arr[i][j];21av=s/(N*N);22returnav;23}可能出錯的程序語句的行號為:03、06、10、13、16、18、19、20,錯誤依次為:行號__10____應改為__avr=fun(aa);_____________________________________________。行號__16____應改為____floats=0;_____________________________________________。行號___18___應改為_____for(i=0;i<N;i++)____________________________________________。2.從鍵盤輸入一行字符,然后刪除字符串中的全部空格。例如,假如輸入"abcdefgh",則輸出為"abcdefgh"。行號程序01#include<stdio.h>02main()03{04chars[81];05char*p1,p2;06printf("Pleaseenterastring:");07scanf(“%s”,s);08p1=p2=s;09while(*p1!='\0')10{11if(*p1!=’’)12{13*p2=*p1;14p2++;15}16p2++;17}18*p2='\0';19printf("Stringwithoutleadingblank:%s\n",s);20}可能出錯的程序語句的行號為:05、07、08、09、11、13、16,錯誤依次為:行號__05____應改為___char*p1,*p2;______________________。行號__07____應改為___gets(s);_______________________。行號__16____應改為___p1++;___________________________。五閱讀理解1.下面程序的輸出結果為:__12,6____。main(){intx=1,i=1;for(;x<50;i++){if(x>10) break;if(x%2!=0){x+=3;continue;}x-=-1;}printf(“%d,%d\n”,x,i);}六程序設計題1.統(tǒng)計全部的三位整數(shù)中有多少個數(shù)的各位數(shù)字之積等于各位數(shù)字之和,并輸出這些整數(shù)。1main(){intn,a,b,c,sum=0;for(n=100;n<1000;n++){a=n/100;b=(n-a*100)/10;/*該語句換成b=n/10-a*10;亦可*/c=n%10;if(a*b*c==a+b+c)printf(“Thenumberis%d\n”,n);sum++;}printf(“Thetotalnumberis%d”,sum);}2..編寫一函數(shù),由實參傳來一個字符串,統(tǒng)計此字符串中字母、數(shù)字、空格和其它字符的個數(shù),在主函數(shù)中輸入字符串以及輸出上述的結果。見C程序設計題解和上機指導8.9解:intletter,digit,space,others;/*定義全局變量*/main(){intcount(charstr[]);/*函數(shù)聲明*/chartext[80];gets(text);letter=0;digit=0;space=0;others=0;count(text);printf(“l(fā)etter:%d,digit:%d,space:%d,others:%d\n”,letter,digit,space,others);}intcount(charstr[]){inti;for(i=0;str[i]!=’\0’if((str[i]>=’a’&&str[i]<=’z’||(str[i]>=’A’str[i]<=’Z’))letter++;elseif(str[i]>=’0’&&str[i]<=’9digit++;elseif(str[i]==’’)space++;elseothers++;}3.輸入3個整數(shù),按由小到大的依次輸出。(注:要求用指針方法處理)。見C程序設計題解和上機指導10.1解:main(){intn1,n2,n3;int*p1,*p2,*p3;scanf(“%d,%d,%d”,&n1,&n2,&n3);p1=&n1;p2=&n2;p3=&n3;if(n1>n2)swap(p1,p2);if(n1>n3)swap(p1,p3);if(n2>n3)swap(p2,p3);printf(“Theorderis:%d,%d,%d\n”,n1,n2,n3);}swap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}程序設計模擬題2一單項選擇題1.選出C語言的合法常量__D___。A0fdB0xfdaLCe8D.e-4

2.選出合法的變量名__C____。AautoB2_endsCTURBO_CD.month3.選出合法的字符串常量__D___。A’String’B”It\’saboy”C”C:\\x.txt”D”Hesaid,’Sorry!’”4.若a為一維整型數(shù)組的數(shù)組名,則對指針變量p的正確說明和初始化為B。A.int*p=a[0];B.int*p=&a[0];C.int*p=*a;D.int*p=&a;

5.對兩個靜態(tài)數(shù)組A和B進行如下初始化.staticcharA[]=”ABCDEF”;staticcharB[]={’A’,’B’,’C’,’D’,’E’,’F’};則下列敘述正確的是__D____。A.A和B完全相同B.A和B只是長度相同C.A和B不相同,A是指針數(shù)組D.A數(shù)組長度比B數(shù)組長6.以下說法錯誤的是BA.宏替換只是字符替換B.宏名必需用大寫字C.宏替換是在預處理時進行的D.程序中引用帶參數(shù)的宏時,對參數(shù)的數(shù)據(jù)類型沒有限制

7.對于如下數(shù)據(jù)定義floatx,y;為了使x和y分別為1.23和4.56,輸入如下內(nèi)容:x=1.23,y=4.56<回車>則正確的scanf調(diào)用是DA.scanf("%f%f",&x,&y);B.scanf("%f,%f",&x,&y);C.scanf("x=%fy=%f",&x,&y);D.scanf("x=%f,y=%f",&x,&y);8.以下共用體類型和變量的定義,正確的是__C____。A.unionstudentB.union{intnumber,{intnumber,charname[20],charname[20],}s;};s;C.unionstudentD.unionstudent{intnumber;{intnumber;charname[20];charname[20];}s;};s;二填空題定義intx=10,y,z;執(zhí)行y=z=x;x=y==z;后,變量x的值為____1___。2.charstr[20];str="string";這種字符串賦值方式正確嗎?___0___(正確填1,不正確填0)。3.設x為整型量,則表達式x∧x的值為__0_____。4.若有以下說明和語句inta[]={1,2,3,4,5};則a++是對數(shù)組元素地址的正確表示嗎____0__(正確填1,不正確填0)。5.表達式(1/2)*10.0的值為__0____。6.將一維數(shù)組x的第i個元素的地址賦給指針變量p的語句是__p=x+i-1_。7.定義inti=1;執(zhí)行while(i++<5)后i的值為__6____。8.設a=7,b=6,c=5;寫出表達式(a+b)>(c*c)&&b的值是___0___。三程序填空題1.輸出由數(shù)字組成的三角圖案,圖案的行數(shù)n從鍵盤輸入。

假如行數(shù)n為6,則圖案如圖所示:

AAAAAA

BBBBB

CCCC

DDD

EE

F

#include<stdio.h>main(){inti,j,n;printf("Pleaseinputnumberofrows:");scanf("%d",&n);for(i=0;i__(1)<n__;i++){for(j=__(2)n_;j>i;j--)putchar(’A’+__(3)i_);putchar(’\n’);}}2.數(shù)組a中存放N個由小到大排列的有序整數(shù)。從鍵盤輸入一整數(shù)x,運用二分法在數(shù)組中查找是否有此整數(shù)。二分查找法的思路是:將待查數(shù)據(jù)和全部數(shù)組元素中位于中間下標位置的元素相比較,假如待查數(shù)據(jù)大于中間元素,則縮小查找范圍,在中點之后的數(shù)組元素中接著查找;否則在在中點之前接著查找。#include<stdio.h>#defineN10main(){intx,mid,lo,hi;staticinta[N]={3,5,7,9,11,13,15,17,19,21};scanf("%d",&x);lo=___(1)_0__;hi=N-1;while(lo<=hi){mid=(lo+hi)/2;if(x==a[mid])___(2)_break__;elseif(x>a[mid])lo=mid+1;elsehi=__(3)_mid-1_;}if(lo<=hi)printf("Found%dat%d\n",x,mid);elseprintf("%dnotfound\n",x);}四改錯題1.本程序計算N×N二維整型數(shù)組中元素值為負數(shù)的元素個數(shù)占全部元素個數(shù)的百分比(輸出時保留一位小數(shù))。

行號程序

01#include<stdio.h>

02#defineN4

03floatfun(intarr[][N]);

04main()

05{06staticintaa[][N]={07{1,2,3,4},{4,5,6,7},08{10,11,12,13},{20,21,22,23}};09floatp;10p=fun(&aa);11printf("p=%.1f%%",p*100);12}13voidfun(intarr[][N])14{15inti,j;16ints;17for(i=0;i<N;i++)18for(j=0;j<N;j++)19if(arr[i][j]<0)20s++;21return(float)s/(N*N);22}可能出錯的程序語句的行號為:03、06、10、11、13、16、17、19、21,錯誤依次為:行號__10____應改為___p=fun(aa);___________________________。行號__13___應改為___floatfun(intarr[][N])__________________。行號__16____應改為___ints=0;___________________________________。2.從鍵盤輸入一行字符,查找字符串中是否有大寫字母’A’。若有則輸出"Found",若無則輸出"NotFound"。行號程序01#include<stdio.h>02main()03{04chara[81],*p=a;charmessage[10];message="NotFound";07printf("Pleaseenterastring:");08gets(&a);09while(*p)10{11if(p==’A’)12{13message="Found";14break;15}16p++;17}18puts(message);19}可能出錯的程序語句的行號為:05、06、08、09、11、14、18,錯誤依次為:行號___05___應改為___char*message;________________________________________。行號___08___應改為___gets(a);________________________________________。行號___11___應改為___if(*p==’A’)________________________________________。五閱讀理解1.下面程序的輸出結果為:_7,8,4,4,5__。inti=2;main(){inti=5;sub1();sub1();sub2();sub2();printf(”%d”,i);}sub1(){staticinti=6;i++;printf(”%d,”,i);}sub2(){inti=3;i++;printf(”%d,”,i);}2.下面程序的輸出結果為:___2800________。main(){staticintx[]={10,7,5,8};ints,i,*p;s=1;p=x;for(i=0;i<4;i++)s*=*(p+i);

溫馨提示

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

評論

0/150

提交評論