江蘇省C語言二級模擬題_第1頁
江蘇省C語言二級模擬題_第2頁
江蘇省C語言二級模擬題_第3頁
江蘇省C語言二級模擬題_第4頁
江蘇省C語言二級模擬題_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、更多企業(yè)學院:中小企業(yè)管理全能版183 套講座 +89700份資料總經(jīng)理、高層管理49套講座 +16388 份資料中層管理學院46套講座 +6020 份資料國學智慧、易經(jīng)46套講座人力資源學院56套講座 +27123 份資料各階段員工培訓學院77套講座 + 324 份資料員工管理企業(yè)學院67套講座 + 8720 份資料工廠生產管理學院52套講座 + 13920 份資料財務管理學院53套講座 + 17945 份資料銷售經(jīng)理學院56套講座 + 14350 份資料銷售人員培訓學院72 套講座 + 4879 份資料模擬題 1一、選擇題 (用答題卡答題,答案依次填在2130 答題號內)A21 以下敘述中

2、正確的是21。A C 程序中注釋部分可以出現(xiàn)在程序中任何合適的地方B花括號“ ”和“ ”只能作為函數(shù)體的定界符C構成 C 程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名D分號是C 語句之間的分隔符,不是語句的一部分C22若以下選項中的變量已正確定義,則正確的賦值語句是A x1=26.8%3;B 1+2=x2;C x3=0x12;22。D x4=1+2=3;D23有以下程序段inta10 = 1,2,3,4,5,6,7,8,9,10 ,*p=&a3,b ;b=p5;b 中的值是A 523。B 6C 8D 9D24有如下定義struct personchar name9; int age;str

3、uct personclass10= Johu, 17, Paul, 19, Mary, 18, Adam,16;根據(jù)上述定義,能輸出字母M 的語句是A printf( %cn,);C printf(%cn,1);24。B printf(%cn,1);D printf(%cn,0);A B25有以下程序main(int argc, char *argv )int n, i=0; while(argv1i!=0) n=fun( ); i+; printf(%dn, n*argc);int fun( )stat

4、ic int s=0; s+=1;returns;假設程序經(jīng)編譯、 連接后生成可執(zhí)行文件exam.exe,若鍵入以下命令行exam 123則運行結果為25。A 6B 8C 3D 4C26當 c 的值不為 A c=b=a;0 時,在下列選項中能正確將 B (a=c) (b=c);c 的值賦給變量a、b 的是C (a=c)&(b=c) ;26。D a=c=b;CB27有以下程序段main( )int a=5,*b,*c;c=&b;b=&a;程序在執(zhí)行了 c=&b;b=&a; A 變量 a 的地址C變量 a 中的值語句后,表達式:*c 的值是B變量D變量27b 中的值b 的地址。A B28設有如下的

5、變量定義:int i=8 , k, a, b;unsinged long w=5 ;double x=1 .42, y=5.2;則以下符合C 語言語法的表達式是A a+=a-=(b=4)*(a=3)C a=a*3=228。B x%(-3)D y=float(i)A C29當執(zhí)行以下程序段時29。x=-1;do x=x*x;while( !x ) ;A 循環(huán)體將執(zhí)行一次B循環(huán)體將執(zhí)行兩次C循環(huán)體將執(zhí)行無限次D系統(tǒng)將提示有語法錯誤D30 fread(buf,32,2,fp) 的功能是30。A 從 fp 文件流中讀出整數(shù)32,存放在buf 中B從 fp 文件流中讀出32 個字節(jié)的字符,存放在buf

6、中C從 fp 文件流中讀出整數(shù)32 和 2,存放在buf 中D從 fp 文件流中讀出2 塊 32 個字節(jié)的字符,存放在buf 中二、填空題 (請將答案填寫在答題紙的相應答題號內,每個答案只占一行)基本概念題(共5 分)1設有以下變量定義,并已賦確定的值char w; int x;float y; double z;則表達式: w*x+z-y 所求得的數(shù)據(jù)類型為double。2 C 語言中,有符號短整型的取值范圍是-3276832767。3若有以下定義和語句:int a4=0,1,2,3, *p;p=&a2;則 * p 的值是1 。4在 C 語言中,形參的缺省存儲類型是auto。5若執(zhí)行 fop

7、en 函數(shù)時發(fā)生錯誤,則函數(shù)的返回值是0 。閱讀程序題(共13 分)6下列程序執(zhí)行后的輸出結果的第一行是a=6 ,第二行是b5=10 。#includevoid func(int *a, int b ) int i; for(i=0;i=5;i+)*(b+i)+=*a+i;*a=*(b+i);main() int a, b10, i; a=0; for(i=0;i10;i+) bi=i;func(&a, b);printf(“ a=%dn” a);printf(“b n” ,b5);7以下程序執(zhí)行后輸出結果的第一個數(shù)是6 ,第三個數(shù)是4 ,最后一個數(shù)是1 。void fun(int *a, i

8、nt i, int j) int t;if(ij) t=ai; ai=aj; aj=t;fun(a, +i, -j);main() int a =1,2,3,4,5,6, i;fun(a,0,5);for(i=0;i6;i+)printf(“ %d” , ai);8以下程序程序運行后的輸出結果1 65 1.5 6.5 。#includemain( )char str 20=Hello,Beijing,*p=str; printf(%dn,strlen(p+20);9以下程序運行后,輸出結果是1711717。#include fun(char *w , int n) chart, *s1 , *

9、s2;s1=w;s2=w+n-1;while(s1s2) t=*s1+; *s1=*s2-;*s2=t;main( ) char *p;p=1234567 ;fun(p ,strlen(p); puts(p);10以下程序的輸出結果是5,3,3,5。voidswap1(intc )intt;t=c0; c0= c1; c1=t;voidswap2(intintt;t=c0;c0, int c0=cl;cl)cl=t;main( )inta2= 3,5 ,b2= 3,5 ;swapl(a);swap2(b0 , b1);printf(%d, %d ,%d, %dn, a0 , a1 , b0 ,

10、 b1);11以下程序的輸出結果是6 。int fun(char *s) char *p=s;while(*p!=0) p+;return (p-s);main() int len=0; len=fun(hello!); printf(%dn,len);12以下程序運行時輸出結果第一行是*ptr1=7,*ptr2=5,第二行是a=7,b=5。swap (int *p1, *p2)int p;p=*p1;*p1=*p2;*p2=p;main() int a=5, b=7, *ptr1, *ptr2;ptr1=&a, ptr2=&b;swap (ptr1,ptr2);printf(“ *ptr1=

11、%d,*ptr2=%dn” ,*ptr1,*ptr2);printf(“ a=%d,b=%dn” ,a,b);13以下程序運行后輸出結果的第一行是1,4,7,10,22 ,第二行是1,3,9,27,40 。extern intm1, m2;void fun(int n, int *p1, int *p2)int i;*p1=1; *p2=1;for(i=1;i=n;i+)*p1+=3;*p2*=3;m1+=*p1; m2+=*p2;int m1, m2;main()inti, k14, k24;for(i=0;i4;i+)fun(i, &k1i,&k2i);for (i=0;i4;i+)pri

12、ntf(“ %d,” ,k1i;printf(“n%d”,m1);for(i=0;i4;i+)printf(“ %d,” ,k2i);printf(“ %d” ,m2);12 分)完善程序題(共14以下程序中函數(shù)maxmin 的功能為對于x 中存儲的一個任意的四位整數(shù),求出(1)組成以這個整的四個數(shù)字由大到小排列后構成的最大的四位數(shù),( 2)組成以這個整數(shù)的四個數(shù)字由小到大排列后構成的最小的四位數(shù)。程序段如下:#include void maxmin(int x,int *pmax,int *pmin) int num4,i,j,k,temp; *pmax=0;*pmin=0; for(i=0

13、;i4;i+) numI=x%10;x= x/10 ; for(i0;i3;i+)k=i;for(j=i+1;j4;j+)if (numknumj)k=j;if (k!=i)temp=numI;numI=numk;numk=temp;for(i=0;i4;i+)*pmax=*pmax*10+*(num+i) 或 numi;/* 生成最大的四位數(shù)*/*pmin=*pmin*10+*(num+3-i)或num3-i;* 生成最小的四位數(shù)*/main()int n=3169,max=0,min=0;maxmin(n,&max,&min);printf(n%d%d“” ,max,min);15給定程序

14、中,函數(shù)的行下標, 作為函數(shù)值返回,fun 的功能是:求 ss 所指字符串數(shù)組中長度最長的字符串所在并把其串長放在形參 n 所指變量中。 ss 所指字符串數(shù)組中共有M 個字符串,且串長N。請在程序的下劃線處填上正確的內容,使程序得到正確的結果。#include#defineM5#defineN20int fun(char(*ss) N, int*n)inti, k=0, len=0;for(i=0; i*n) *n=len ;k=i;return(k);main() char ssMN=shanghai,guangzhou,beijing,tianjing,nanjing; int n,k,i

15、;printf(nThe original strings are :n);for(i=0;iM;i+)puts(ssi);k=fun(ss,&n);printf(nThe length of longest string is :%dn,n);printf(nThe longest string is :%sn,ssk);16給定程序MODI1.C中函數(shù) fun 的功能是:求出字符串中最后一次出現(xiàn)的子字符串的地址,通過函數(shù)值返回,在主函數(shù)中輸入從此地址開始的字符串;若未找到,則函數(shù)值為NULL 。例如,當字符串中的內容為:“ abcdabfacdx“, t 中的內容為: ” ab“時,輸出結

16、果應是 abfacdx,當字符串中的內容為:“ abcdabfabcdx”, t 中的內容為: ” abd“時,則程序的輸出信息: not be found!#include#include#includechar *fun(char *s,char *t) char *p,*r,*a; a=NULL;while(*s)p=s ;r=t; while(*r)if(*r= =*p)elsebreak;if(*r= =0s+;r+ )a=s;p+; return a;main( ) char s100,t100,*p; clrscr( );printf(nPlease enter string S

17、 :);scanf(%s,s);printf(nPlease enter substring t :);scanf(%s,t);p=fun(s,t);if(p) printf(nThe result is :%sn,p);else printf(nNot found !n);17給定程序 MODI1.C 是建立一個帶頭結點的單向鏈表,并用隨機函數(shù)為各結點數(shù)據(jù)域賦值。函數(shù) fun 的作用是求出單向鏈表結點(不包括頭結點)數(shù)據(jù)域中的最大值,并且作為函數(shù)值返回。#include #include #include typedefstructaaintdata;structaa*next; NODE;

18、fun (NODE*h ) int max=-1; NODE *p; p=h-next; while(p) if(p-datamax ) max=p-data;p=p-next;returnmax;outresult(ints, FILE *pf)fprintf(pf,nThe max in link:%dn,s);NODE*creatlink(intn, intm)NODE*h, *p, *s, *q;inti, x;h=p=(NODE *)malloc(sizeof(NODE);h-data=9999;for(i=1; idata=rand()%m; s-next=p-next;p-nex

19、t=s; p=p-next;p-next=NULL;returnh;outlink(NODE*h, FILE*pf)NODE*p;p=h-next;fprintf(pf,nTHELIST :nnwhile(p)HEAD); fprintf(pf,-%d ,p-data); p=p-next;fprintf(pf,n);main( ) NODE *head; int m; clrscr(); head=creatlink(12,100); outlink(head,stdout);m=fun(head);printf(nTHERESULT :n);outresult(m, stdout);模擬題

20、 2一、選擇題 (用答題卡答題,答案依次填在2130 答題號內)21若調用一個函數(shù),且此函數(shù)中沒有A 該函數(shù)沒有返回值C能返回一個用戶所希望的函數(shù)值return 語句,則正確的說法是 21 B返回若干個系統(tǒng)默認值D返回一個不確定的值。22設有以下宏定義:#define W 5#define L W+2則執(zhí)行賦值語句A 6p=L*2;(p 為 intB 7型變量)后,p 的值為C 822。D 923若有以下定義和語句#includeinta=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;則以下選項中錯誤的語句是23。A *q=0;B w=p ;C *p=a;D *

21、p=*w;24若希望當num 的值為奇數(shù)時,表達式的值為“真”,num 的值為偶數(shù)時,表達式的值為“假”。則以下不能滿足要求的表達式是A num%2=1B !(num%2=0)24。C !(num%2)D num%225若有以下的說明和語句,則在執(zhí)行for語句后,*(*(pt+1)+2)表示的數(shù)組元素是25。int t33,*pt3,k;for (k=0; ksex);28設有如下的變量定義:int i=8 , k, a, b;unsinged long w=5 ;double x=1 .42, y=5.2;則以下符合C 語言語法的表達式是A a+=a-=(b=4)*(a=3)28。B x%(

22、-3)C a=a*3=2D y=float(i)29能正確表示a 和 b 同時為正或同時為負的邏輯表達式是29。A (a=0 b=0)&(a0 b =0&b=0)&(a0&b 0)&(a+b030若fp已正確定義并指向某個文件,當未遇到該文件結束標志時函數(shù)feof(fp) 的值為30。A 0C -1B 1D一個非0 值二、填空題 (請將答案填寫在答題紙的相應答題號內,每個答案只占一行)基本概念題(共5 分)1在 C 語言中大部分執(zhí)行語句都含有關鍵字,除這些語句外不含關鍵字的非空操作語句是 表達式語句 。2若有說明:int x 3 = 1,3,5,7,9,11,13;則 x 數(shù)組的行數(shù)為3。3有

23、以下程序main( )char *s =one,two,three,*p; p=s1; printf(%c,%sn,*(p+1),s0);執(zhí)行后輸出結果是w,one。4 C 程序中,文件可以用ASCII 碼和二進制兩種代碼形式存放。5若 x 為 int 類型,請以最簡單的形式寫出與邏輯表達式!x 等價的 C 語言關系表達式x=0|x= =1閱讀程序題(共13 分)6下面程序的輸出結果是54。fun(int b ,int n) static int i,r=0; for(i=0;i=n;i+) r+=bi;return r;main( ) int x,a =2,3,4,5,6,7,8,9; x=

24、fun(a,3); x+=fun(a+3,3);printf(%dn,x);7下列程序的執(zhí)行結果是- 12。#include long fun(char s ) long n;int sn;for(;*s= = ;s+);/* 去掉字符串前空格*/sn=(*s= =-)? -1:1;if(*s= =+|*s=-) s+;for(n=0;*s=0&*s=9);s+)n=10*n+(*s-0);return sn*n;main( ) printf(%ld,fun(-12x3y4);8以下程序執(zhí)行后輸出的第一個數(shù)是3,第二個數(shù)是5。main( ) int x=5,n=3,s,j; for(j=0;j

25、k=0x123456;printf(%x,%xn,s-d.x,s-d.y);10以下程序運行時輸出的第一個數(shù)是1,第二個數(shù)是2,第三個數(shù)是3。main()static int a33, i, j;for(i=0;i3;i+)for(j=0;j3;j+) switch(abs(i-j) case 0: if(i= =0|i= =2)aij+=3;else aij+; break;case 1: aij+=2; break;case 2: aij+=3;printf(“ %d,%d,%d” ,a11, a12, a20);11以下程序執(zhí)行后,輸出結果是5,4,3,2,1 。void f (int

26、a ,int i,int j)intt;if (ij) t=ai; ai= aj; aj=t;f(a,i+1,j-1);main( )inti, aa5= 1,2,3,4,5 ;f (aa,0,4);for(i=0;i5;i+) printf(%d,aai);printf( n);12有以下程序,main( )int a;char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf( %d %d %3.1f %3.1fn,a,c,f,x);程序運行后的輸出結果是1 65 1.5 6.5 。13以下程序運行后,輸出結果的第一個數(shù)為1,最后一個數(shù)

27、為5。#includefun(char *w, int n) char t, *s1, *s2;s1=w;s2=w+n-1;while(s1s2) t=*s1+;*s1=*s2-;*s2=t;main() char *p;p=” 12345 ”;fun(s,strlen(p);puts(p);完善程序題(共12 分)14函數(shù) fun 的功能是:移動一維數(shù)組中的內容,若數(shù)組中有n 個整數(shù),要求把下標從0 到 p(含 p,p 小于 n-1)的數(shù)組元素平移到數(shù)組的最后。例如:一維數(shù)組中的原始內容為:1, 2,3,4,5,6, 7,8, 9,10;p 的值為 3。移動后,一維數(shù)組中的內容應為:5,6,

28、 7,8, 9, 10,1, 2, 3, 4。void#include #defineN80fun(int *w,int p,int n) int i,j;int aN;for(i=0;i=p;i+)ai=wi ;for(i=p+1,j=0;in;i+,j+)wj=wi;for(i=0;i=p;i+)wn-p-1+i=ai;;main( ) intaN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;inti,p,n=15;printf(The original data:n);for(i=0;in;i+)printf(%3d,ai);printf(nEnter p:)

29、;scanf(%d,&p);fun(a,p,n);printf(nThe data after moving:n);for(i=0;in;i+)printf(%3d,ai);15函數(shù) fun 的功能是:將M 行 N 列的矩陣中的數(shù)據(jù),按行的順序依次放在一維數(shù)組中,一維數(shù)組中的元素的個數(shù)存放在形參 n 所指的存儲單元中。例如:矩陣中的數(shù)據(jù)為,則一維數(shù)組中各元素的值分別是23、 24、 31、 32、 33、 34。11、 12、13、 14、21、 22、voidfun(int (*s)10,int *b,int *n,int mm,int nn) int i,j; for(i=0;imm;s+

30、,i+)for(j=0;jnn;j+)*(b+i*nn+j)= (*s)j; ; *n=mm*nn; ;main( ) int w1010=11,12,13,14,21,22,23,24,31,32,33,34,i,j;int a100=0,n=0;printf(The matrix:n) ;for(i=0;i3;i+) for(j=0;j4;j+) printf(%3d,wij) ; printf(n) ;fun(w,a,&n,3,4);printf(The A array:n) ;for(i=0;in;i+)printf(%3d,ai);printf(nn) ;16函數(shù) fun 的功能是:

31、將帶頭結點單向鏈按data 域由大到小排序(排序時不考慮頭結點) ,主函數(shù)用隨機函數(shù)為各結點data 域賦值,頭結點data 域賦值為0。#include #include structaa int data;struct aa *next;void fun(struct aa *p) int temp; struct aa *lst;for(p=p-next;p-next!=NULL;p=p-next)for(lst=p-next;lst!=NULL;lst=lst-next)if(lst-datap-data)temp=lst-data; ;lst-data=p-data;p-data=t

32、emp ;main( ) int i,n,m=100;struct aa *h=NULL,*s=NULL,*p=NULL;clrscr( );s=(struct aa *)malloc(sizeof(struct aa);h=s;h-data=0;h-next=NULL;printf(please input n:);scanf(%d,&n);for(i=1;idata=rand()%m;p-next=NULL;;printf(%d ,p-data);s-next=p; s=s-next;fun(h);printf(n);for(h=h-next;h!=NULL;h=h-next)printf

33、(%d ,h-data);17函數(shù) fun 的功能是:求任意兩個正整數(shù)的最小公倍數(shù)和最大公約數(shù),最小公倍數(shù)放在指針變量bei所指的變量中,最大公約數(shù)放在指針變量yue 所指的變量中。void fun(int m,int n,int *bei,int *yue) int s=1,i;if(mn)s=m; m=n; n=s; for(i=2,s=1;i0) ;23。B a=0,b=0,c=0;D if(b=0)m=l;n=2;24有以下程序main( )int i=l,j=1,k=2;if(j+|k+)&i+)printf(%d,%d,%dn,i,j,k);執(zhí)行后輸出結果是24。A 1,1,2B

34、2,2,1C 2,2,2D 2,2,325設有說明語句: char a=72; 則變量 a25。A 包含 1 個字符B包含 2 個字符C包含 3 個字符D說明不合法26若已經(jīng)定義的函數(shù)有返回值,則以下關于該函數(shù)調用的敘述中錯誤的是26 。A 函數(shù)調用可以作為獨立的語句存在B函數(shù)調用可以作為一個函數(shù)的實參C函數(shù)調用可以出現(xiàn)在表達式中D函數(shù)調用可以作為一個函數(shù)的形參27已定義以下函數(shù)fun(char *p2,char *p1)while(*p2=*p1)!= 0) p1+;p2+;函數(shù)的功能是27。A 將 p1 所指字符串復制到p2 所指內存空間B將 p1 所指字符串的地址賦給指針p2C對 p1 和 p2 兩個指針所指字符串進行比較D檢查 p1 和 p2 兩個指針所指字符串中是否有028以下敘述中不正確的是28。A 函數(shù)中的自動變量可以賦初值,每調用一次,賦一次初值B在調用函數(shù)時,實在參數(shù)和對應形參在類型上只需賦值兼容 D 函數(shù)形參可以說明為 register 變量29有如下程序#defineN2#defineMN+1#defineNUM 2*M+1main( ) int i;for(i=1;i=NUM;i+) printf(%dn,i);該

溫馨提示

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

評論

0/150

提交評論