模擬試題集6套答案.docx_第1頁
模擬試題集6套答案.docx_第2頁
模擬試題集6套答案.docx_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

模擬試卷1第一部分:基礎(chǔ)知識(20題,共40分)1. 若有定義:int a=8,b=5,C;,執(zhí)行語句C=a/b+0.4;后,c的值為 B 。A) 1.4 B) 1 C) 2.0 D) 22. 若變量a是int類型,并執(zhí)行了語句:a=A+1.6;,則正確的敘述是 D 。A)a的值是字符C B) a的值是浮點(diǎn)型C)不允許字符型和浮點(diǎn)型相加 D) a的值是字符A的ASCII值加上1。3. 不合法的main函數(shù)命令行參數(shù)表示形式是 C 。A) main(int a,char *c) B) main(int arc,char *arv)C) main(int argc,char *argv) D) main(int argv,char *argc)4. 以下選項(xiàng)中不屬于C語言的類型的是 D 。A) signed short int B) unsigned long intC) unsigned int D) long short5. 若有說明語句:int a,b,c,*d=&c;,則能正確從鍵盤讀入三個整數(shù)分別賦給變量a、b、c的語句是 A 。A)scanf(%d%d%d,&a,&b,d); B)scanf(%d%d%d,&a,&b,&d);C)scanf(%d%d%d,a,b,d); D)scanf(%d%d%d,a,b,*d);6. 在16位C編譯系統(tǒng)上,若定義long a; ,則能給a賦40000的正確語句是 D 。A) a=20000+20000; B) a=4000*10;C) a=30000+10000; D) a=4000L*10L;(長整數(shù)常量后面要加L。 沒有加L,則默認(rèn)為int類型,在16位系統(tǒng)下,int是16位的,占2個字節(jié),有效范圍是-32768到+32767,A、B、C的選項(xiàng)都會超出這個范圍)7. 以下敘述正確的是 B 。A) 可以把define和if定義為用戶標(biāo)識符B) 可以把define定義為用戶標(biāo)識符,但不能把if定義為用戶標(biāo)識符C) 可以把if定義為用戶標(biāo)識符,但不能把define定義為用戶標(biāo)識符D) define和if都不能定義為用戶標(biāo)識符(標(biāo)識符是指常量、 變量、語句標(biāo)號以及用戶自定義函數(shù)的名稱)8. 若定義:int a=511,*b=&a;, 則printf(%dn,*b);的輸出結(jié)果為 D 。A) 無確定值 B) a的地址 C) 512 D) 5119. 以下程序的輸出結(jié)果是 C 。A) 5B) 4 C) 6 D) 不確定main() int a=5,b=4,c=6,d; printf(%dn,d=ab?(ac?a:c):(b);10. 以下程序中,while循環(huán)的循環(huán)次數(shù)是 D 。main()int i=0;while(i10) if(iname chouB、(*P)-name+2 hC、 *P-name+2 eD、 *(P-name+2) O14. 若有以下程序#include void f(int n);main() void f(int n); f(5);void f(int n) printf(%dn,n); 則以下敘述中不正確的是 C 。A) 若只在主函數(shù)中對函數(shù)f進(jìn)行說明,則只能在主函數(shù)中正確調(diào)用函數(shù)fB) 若在主函數(shù)前對函數(shù)f進(jìn)行說明,則在主函數(shù)和其后的其它函數(shù)中都可以正確調(diào)用函數(shù)fC) 對于以上程序,編譯時(shí)系統(tǒng)會提示出錯信息:提示對對f函數(shù)重復(fù)說明D) 函數(shù)f無返回值,所以可用void將其類型定義為無值型15. 若有以下定義和語句:int s45,(*ps)5; ps=s;則對s數(shù)組元素的正確引用形式是 C 。A) ps+1 B) *(ps+3) C) ps02 D) *(ps+1)+316. 在C語言中,形參的缺省存儲類是 A 。(定義的變量默認(rèn)是auto類型)A) auto B) register C) static D) extern17. 若指針p已正確定義,要使p指向兩個連續(xù)的整型動態(tài)存儲單元,不正確的語句是 A 。A) p=2*(int*)malloc(sizeof(int);B) p=(int*)malloc(2*sizeof(int);C) p=(int*)malloc(2*2);D) p=(int*)calloc(2,sizeof(int);18. 在說明語句:int* f();中,標(biāo)識符f代表的是 D 。A) 一個用于指向整型數(shù)據(jù)的指針變量B) 一個用于指向一維數(shù)組的行指針C) 一個用于指向函數(shù)的指針變量D) 一個返回值為指針型的函數(shù)名19. 若要打開A盤上user子目錄下名為abc.txt的文本文件進(jìn)行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是 B 。(復(fù)習(xí)fopen)A)fopen(A:userabc.txt,r) B)fopen(A:userabc.txt,r+)C)fopen(A:userabc.txt,rb) D)fopen(A:userabc.txt,w)20. 以下不能正確進(jìn)行字符串賦初值的語句是 D 。A)char str5=good!; B) char str=good!;C)char *str=good!; D) char str5=g,o,o,d;21. 若有下面的說明和定義:(sizeof “對齊”處理, union取最大變量,struct成員字節(jié)數(shù)相加)struct test int ml;(2) char m2;(1) float m3;(4)union uu char ul5; int u22; ua;(5) myaa;則sizeof(struct test)的值是 A 。A) 12B) 16C) 14D) 9(13)22. 若有定義:int aa 8;。則以下表達(dá)式中不能代表數(shù)組元aa1的地址的是 C 。A) &aa0+1 B) &aa1 C) &aa0+ D) aa+1第二部分:簡單程序(12題,共30分)23. 以下程序的輸出結(jié)果是 A 。A) 1 B) 0 C) 非0的數(shù) D) -1main() int a=4,b=5,c=0,d;d=!a&!b|!c; (& | 判斷返回0或者1)printf(%dn,d); 24. 以下程序的輸出結(jié)果是 B 。A) 3B) 4C) 1D) 9main() int b33=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0;i3;i+) for(j=i;j=i;j+) t=t+bibjj; printf(%dn,t);0 1 2 t=00 1 2 t=20 1 2 t=425. 以下程序的輸出結(jié)果是 D 。A) 8 B) 3C) 1 D) 7#include #include main() char b18=abcdefg,b28,*pb=b1+3;while (-pb=b1) strcpy(b2,pb); /循環(huán)3次,最后一次把“abcdefg”拷給b2。printf(%dn,strlen(b2);26. 以下程序的輸出結(jié)果是 A 。A) 10 B) 18 C) 8 D) 15f(int b,int m,int n) int i,s=0;for(i=m;in;i=i+2) s=s+bi;return s;main()int x,a=1,2,3,4,5,6,7,8,9;x=f(a,3,7);printf(%dn,x);27. 以下程序的輸出結(jié)果是 B 。A) AAAA B) BBBC) BBBCC D) CCmain() char ch35=AAAA,BBB,CC;printf(%sn,ch1);它表示一個3行5列二維數(shù)組。第一行的數(shù)據(jù)是AAAA0第二行的數(shù)據(jù)是BBB00。第三行的數(shù)據(jù)是CC00028. 以下程序的輸出結(jié)果是 A 。A) 31B) 13C) 10D) 20main() int a=0,i;for(i=1;i5;i+) switch(i) case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;printf(%dn,a);(沒有break語句,case不會中斷)17. 以下程序的輸出結(jié)果是( B ) A)4 2 1 1 B)0 0 0 8 C)4 6 7 8 D)8 8 8 8 main( ) char *s=12134211; int v4=0,0,0,0,k,i; for(k=0;sk;k+) switch(sk) case 1:i=0; case 2:i=1; case 3:i=2; case 4:i=3; vi+; for(k=0;k4;k+) printf(%d ,vk); 29. 以下程序的輸出結(jié)果是 B 。A) 21 B) 32 C) 33 D) 11#include main() int i=0,a=0;while(i=A&ch=Z) ch=ch-A+a;return ch;main() char s=ABC+abc=defDEF,*p=s;while(*p) *p=cchar(*p);p+;printf(%sn,s);A) abc+ABC=DEFdef B) abc+abc=defdefC) abcaABCDEFdef D) abcabcdefdef31. 以下程序的輸出結(jié)果是 D 。A) 20B) 24C) 25D) 15int f() static int i=0; int s=1; s+=i; i+; return s; main() int i,a=0;for(i=0;i5;i+) a+=f();printf(%dn,a);s=1 i=1 a=1s=1+1 i=2 a=1+2s=1+2 i=3a=3+3s=1+3 i=4a=6+4s=1+4 i=5a=10+532. 以下程序的輸出結(jié)果是 D 。A) 4B) 5C) 6D) 0union myun struct int x, y, z; u;int k; a;main() a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf(“%dn”,a.u.x);(這個是結(jié)構(gòu)體和共用體的嵌套,共用體中套著結(jié)構(gòu)體。對于a這個共用體變量,它的域要么為a.u要么為.k這兩個是不同時(shí)存在的,因?yàn)樗麄児灿靡粋€存儲空間(雖然空間大小不同)。共用體的域是并行的關(guān)系。對于a.u這個結(jié)構(gòu)體來說,它有3個域,分別是a.u.x、 a.u.y和 a.u.z。他們是串行的關(guān)系,彼此互不影響。故這個題目在輸出的時(shí)候前面雖然給a.u的各個域都給了值,但是后面有給a.k賦值,就會把前面的覆蓋掉。最后x的會變成0。當(dāng)然因?yàn)閍的這兩個域的大小不同,所以a.k只覆蓋了a.u.x,而a.u.y和a.u.z還是有值的)33. 下列程序執(zhí)行后的輸出結(jié)果是 C 。A) hello B) hel C) hlo D) hlm void func1(int i); void func2(int i); char st=hello,friend!; void func1(int i) printf(%c,sti); h o if(i3)i+=2;func2(i); i=2 void func2(int i) printf(%c,sti); l if(i3)i+=2;func1(i); i=4 main() int i=0; func1(i); printf(n); 34. 下列程序執(zhí)行后的輸出結(jié)果是 C 。A)14B) 15C)1 6D) 13#include int a=0,1,2,3,4,5,6,7,8,9;float f(int n) if(n=1) return a0; elsereturn(float)(n*f(n-1)+an)/n+1); 1/10 main() int n=9;printf(“f(%d)=%fn”,n+1,f(n); 模擬試卷2第一部分:基礎(chǔ)知識(20題,共40分)1. 以下敘述中正確的是 B 。A) C語言的源程序不必通過編譯就可以直接運(yùn)行B) C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令C) C源程序經(jīng)編譯形成的二進(jìn)制代碼可以直接運(yùn)行D) C語言中的函數(shù)不可以單獨(dú)進(jìn)行編譯2. 以下選項(xiàng)中不正確的實(shí)型常量是 C 。A) 2.6E-1 B) 0.8324e C) -78.8745D) 456e-2(在C語言中可以用兩種形式表示一個實(shí)型常量, 小數(shù)形式表示的實(shí)型常量必須要有小數(shù)點(diǎn), C語言語法規(guī)定,字母e或E之前必須要有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。如e3、5e3.6、.e、e等都是非法的指數(shù)形式。注意:在字母e或E的前后以及數(shù)字之間不得插入空格 )3. 若以下選項(xiàng)中的變量x1、x2、x3、x4已正確定義,則正確的賦值語句是 C 。A) x1=26.8%3 B) 1+2=x2 C) x3=0x12 D) x4=1+2=3;4. 有定義語句:int x, y;,若變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入要通過scanf(%d,%d,&x,&y);語句使變量x得到數(shù)形式中,錯誤的是 D 。A)11 12 B)11, 12C)11,12 D)11, 125. 設(shè)有以下定義int a=0; double b=1.25;char c=A;#define d 2則下面語句中錯誤的是 D 。A)a+; B)b+ C)c+; D)d+;6. 有以下程序main( )int x=102,y=012; y是八進(jìn)制數(shù)printf(%2d,%2dn,x,y); 執(zhí)行后輸出結(jié)果是 C 。A)10,01 B)002,12 C)102,10 D)02,107. 設(shè)有如下程序段:int x=2002, y=2003;printf(%dn,(x,y);則以下敘述中正確的是 D 。A)輸出語句中格式說明符的個數(shù)少于輸出項(xiàng)的個數(shù),不能正確輸出B)運(yùn)行時(shí)產(chǎn)生出錯信息C)輸出值為2002D)輸出值為2003 /逗號表達(dá)式(逗號表達(dá)式的要領(lǐng):(1) 逗號表達(dá)式的運(yùn)算過程為:從左往右逐個計(jì)算表達(dá)式。(2) 逗號表達(dá)式作為一個整體,它的值為最后一個表達(dá)式(也即表達(dá)式n)的值。(3) 逗號運(yùn)算符的優(yōu)先級別在所有運(yùn)算符中最低)8. 設(shè)有定義:int a,*pa=&a; 以下scanf語句中能正確為變量a讀入數(shù)據(jù)的是(A)A)scanf(%d,pa); B)scanf(%d,&a);C)scanf(%d,&pa); D)scanf(%d,*pa);9. 以下程序段中與語句k=ab?(bc?1:0):0;功能等價(jià)的是 A 。A)if(ab)&(bc) k=1; B) if(ab)|(bc) k=1else k=0; else k=0;C)if(ab) k=1;else if(bc) k=1; else k=0;10. 有以下程序main( ) int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(%dn,s); 程序執(zhí)行后的輸出結(jié)果是 D 。A)自然數(shù)19的累加和 B)自然數(shù)110的累加和C)自然數(shù)19中的奇數(shù)之和 D)自然數(shù)110中的偶數(shù)之和11. 若程序中定義了以下函數(shù) double myadd(double a,double b) return (a+b);并將其放在調(diào)用語句之后,則在調(diào)用之前應(yīng)該對該函數(shù)進(jìn)行說明,以下選項(xiàng)中錯誤的說明是 A 。A)double myadd(double a,b); B)double myadd(double,double);C)double myadd(double b,double a); D)double myadd(double x,double y);12. 有以下函數(shù)定義:void fun(int n, double x) 若以下選項(xiàng)中的變量都已正確定義并賦值,則對函數(shù)fun的正確調(diào)用語句是 C 。A)fun(int y,double m); B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);13. 有以下程序段int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b;b=p5;b中的值是 D 。A)5 B)6 C)8 D)914. 有以下程序main( ) char a=abcdefg,b10=abcdefg; printf(%d %dn,sizeof(a),sizeof(b);(尾巴有0) 執(zhí)行后輸出結(jié)果是 C 。A)7 7 B)8 8 C)8 10 D)10 1015. 有以下定義#include char a10,*b=a;不能給數(shù)組a輸入字符串的語句是 B 。A)gets(a) B)gets(a0) C)gets(&a0); D)gets(b);16. 下列選項(xiàng)中正確的語句組是 D A)char s8; s=Beijing; B)char *s; s=Beijing;C)char s8; s=Beijing; D)char *s; s=Beijing;17. 有以下程序main( ) unsigned char a,b; a=4|3; b=4&3; printf(%d %dn,a,b) ;執(zhí)行后輸出結(jié)果是 A 。A) 7 0 B0 7 C)1 1 D)43 0| & 是按位運(yùn)算 4|3= 0000 0100|0000 0011=0000 0111 =74&3=0000 0100&0000 0011 =0000 0000=018. 若有定義:int *p3;,則以下敘述中正確的是 B 。A)定義了一個基類型為int的指針變量p,該變量具有三個指針B)定義了一個指針數(shù)組p,該數(shù)組含有三個元素,每個元素都是基類型為int的指針C)定義了一個名為*p的整型數(shù)組,該數(shù)組含有三個int類型元素D)定義了一個可指向一維數(shù)組的指針變量p,所指一維數(shù)組應(yīng)具有三個int類型元素19. 下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是 D 。A)文件由ASCII碼字符序列組成,C語言只能讀寫文本文件B)文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件C)文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件D)文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件第二部分:簡單程序(12題,共30分)20. 以下程序的輸出結(jié)果是 C 。A0,0 B)0,1 C)1,0 D)1,1main() int a=1,b=2,m=0,n=0,k; k=(n=ba)|(m=a); printf(%d,%dn,k,m);) 21. 以下程序的輸出結(jié)果是 D 。A)n=5 B)n=2 C)n=3 D) n=4main( ) int i,n=0; for(i=2;i5;i+) do if(i%3) continue; n+;/6 while(!i);/7 n+;/8 printf(n=%dn,n); i=2,執(zhí)行 continue跳出do while循環(huán),執(zhí)行第8行操作n=1;i=3,if條件不成立,執(zhí)行第6行n+,n=2,再執(zhí)行第8行操作n=3;i=4,執(zhí)行 continue跳出do while循環(huán),執(zhí)行第8行操作n=4;i=5結(jié)束for循環(huán),結(jié)果輸出422. 以下程序的輸出結(jié)果是 D 。A)函數(shù)調(diào)用出錯 B)8 C)9 D7char fun(char x , char y) if(x=0;i-) sum(&aai); printf(%dn,aa0);2. 以下程序的輸出結(jié)果是 C 。A) 0 B) 29C) 31D) 無定值fun(int x, int y, int z) z=x*x+y*y; main() int a=31; fun(5,2,a); printf(“%d”,a); 28. 以下程序的輸出結(jié)果是 C 。A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1,C)9,2,7,4,5,6,3,8,1,10, D)1,10,3,8,5,6,7,4,9,2,void sort(int a,int n) int i,j,t; for(i=0;in-1;i+=2) for(j=i+2;jn;j+=2) if(aiaj) t=ai;ai=aj;aj=t;main() int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(aa,10);for(i=0;i10;i+) printf(%d,aai);printf(n); 2. 下列程序void inv(int *x,int n)int p,t,*i,*j,m=(n-1)/2;i=x;j=x+n-1;p=x+m;for(;ip;i+,j- -)t=*i;*i=*j;*j=t;return;main( ) static int i, a10=3,7,9,11,0,6,7,5,4,2;inv(a,10);for(i=0;i10;i+) printf(%d,ai);程序運(yùn)行的結(jié)果: D A、0,2,3,4,5,6,7,7,9,11 B、11,9,7,7,6,5,4,3,2,0C、3,7,9,11,0,6,7,5,4,2 D、2,4,5,7,0,6,11,9,7,329. 以下程序的輸出結(jié)果是 C 。A)550 550 B)680 680 C)580550 D)580 680struct STU char name10; int num; int Score;main( ) struct STU s5=YangSan,20041,703,LiSiGuo,20042,580,wangYin,20043,680,SunDan,20044,550,Penghua,20045,537,*p5,*t; int i,j; for(i=0;i5;i+) pi=&si; for(i=0;i4;i+)for(j=i+1;jScorepj-Score) t=pi;pi=pj;pj=t; printf(%5d %dn,s1.Score,p1-Score); 30. 有以下程序#include main(int argc ,char *argv ) int i,len=0; for(i=1;iargc;i+=2) len+=strlen(argvi); printf(%5dn,len);經(jīng)編譯鏈接后生成的可執(zhí)行文件是ex.exe,若運(yùn)行時(shí)輸入以下帶參數(shù)的命令行ex abcd efg h3 k44執(zhí)行后輸出結(jié)果是 D 。A)14 B)12 C)8 D)6len+=strlen(argv1)+strlen(argv3) argv1=abcd argv3=h325. 假定下列程序的可執(zhí)行文件名為prg.exe,則在該程序所在的子目錄下輸入命令行: prg hello good后,程序的輸出結(jié)果是 B A) hello good B) hg C) hel D) hellogoodmain()(int argc, char *argv) int i;for(i=1;iargc;i+) printf(%c, *argvi);31. 下列程序執(zhí)行后的輸出結(jié)果是 B 。A)3 B)4 C)5 D)6#include struct NODE int num; struct NODE *next; ;main( ) struct NODE *p,*q,*r; int sum=0; p=(struct NODE *)malloc(sizeof(struct NODE); q=(struct NODE *)malloc(sizeof(struct NODE); r=(struct NODE *)malloc(sizeof(struct NODE); p-num=1;q-num=2;r-num=3; p-next=q;q-next=r;r-next=NULL; sum+=q-next-num;sum+=p-num; printf(%dn,sum); 鏈表問題,在內(nèi)存中開辟了3個空間,分別把地址放在指針變量p,q,r中分別對結(jié)構(gòu)體元素賦值p-num=1;q-num=2;r-num=3;當(dāng)程序執(zhí)行到sum+=q-next-num;相當(dāng)與sum=sum+(q-next-num)即sum=0+3的時(shí)候,因?yàn)閟um開始初始為0,所以執(zhí)行上面語句后sum的值變成3了sum+=p-num; 相當(dāng)與sum=sum+(p-m),即sum=3+1模擬試卷3第一卷1-6與模擬題1重復(fù)第一部分:基礎(chǔ)知識(20題,共40分)1. 略。2. 略。 3. 以下程序段的輸出結(jié)果是 C int a=1234;printf(%2dn,a);A) 12 B) 34 C) 1234 D) 提示出錯、無結(jié)果4. 略。5.略。6.略。7. 有以下程序段,while 循環(huán)執(zhí)行的次數(shù)是 A A) 無限次 B) 有語法錯,不能執(zhí)行 C) 一次也不執(zhí)行 D) 執(zhí)行1次int k=0while(k=1) /賦值語句k+;8. 以下所列的C語言常量中,錯誤的是 B A) 0xFF B) 1.2e0.

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論