【正文】
include fun(char *w,int n) { char t,*s1,*s2; s1=w; s2=w+n1; while(s1s2) { t=*s1++; *s1=*s2; *s2=t; } } main() { static char *p=12345。a[0]; x=*(p+2); y=*(p+4); printf(%d,%d,%d\n, *p, x, y); } A) 1,3,5 B) 1,2,3 C) 1,2,4 D) 1,4,5 【 】下面程序的輸出結(jié)果是 ____。 define FMT %X\n include main( ) { static int a[ ][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 }; printf( FMT, a[2][2]); /* ① */ printf( FMT, *(*(a+1)+1) ); /* ② */ } ① A) 9 B) 11 C) A D) B ② A) 6 B) 7 C) 8 D) 前面三個(gè)參考答案均是錯(cuò)誤的 【 】下面程序的輸出結(jié)果是 ____。 main() { int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int *p=a; p+=6; printf(%d ,*p); /* ① */ printf(%d ,*(*(a+6))); /* ② */ printf(%d ,*(a[1]+=2)); /* ③ */ printf(%d,*(amp。 include define SUB(X,Y) (X)*Y main() { int a=3,b=4; printf(%d\n,SUB(a++,b++)); } A) 12 B) 15 C) 16 D) 20 【 】下面程序的輸出結(jié)果是 ____。 include try( ) { static int x=3; x++; return(x); } main( ) { int i, x; for(i=0; i=2; i++ ) x=try( ); printf(%d\n, x); } A) 3 B) 4 C) 5 D) 6 【 】下面程序的輸出結(jié)果是 ____。 include void num() { extern int x,y; int a=15,b=10; x=ab; y=a+b; } int x,y; main() { int a=7,b=5; x=ab; y=a+b; num(); printf(%d,%d\n,x,y); } A) 12, 2 B) 5, 25 C) 1, 12 D) 輸出不確定 30 【 】下 面程序的輸出結(jié)果是 ____。 int w=3; 29 main() { int w=10; printf(%d\n,fun(5)*w); } fun(int k) { if(k==0) return(w); return(fun(k1)*k); } A) 360 B) 3600 C) 1080 D) 1200 【 】下面程序的輸出結(jié)果是 ____。f2); *s=f1+f2; } } main() { int x; fun(6, amp。 include fun(int n, int *s) { int f1, f2; if(n==1||n==2) *s=1; else { fun(n1, amp。A39。B39。 include void fun(int *s) { static int j=0; do { s[j]+=s[j+1]; }while(++j2); } main() { int k,a[10]={1,2,3,4,5}; for(k=1; k3; k++) fun(a); for(k=0; k5; k++) printf(%d,a[k]); } 28 A) 35756 B) 23445 C) 35745 D) 12345 【 】下面程序的輸出結(jié)果是 ____。 include include main( ) { char str[100] =How do you do; strcpy( str + strlen(str)/2, es she); printf(%s\n, str); } A) How do you do B) es she C) How are you D) How does she 【 】下面程序的輸出結(jié)果是 ____。\039。 include main( ) { char s1[50]={some string *},s2[]={test}; printf(%s\n, strcat(s1,s2)); } A) some string * B) test C) some stritest D) some string *test 【 】下面程序的輸出結(jié)果是 ____。 include main( ) { int a[4][5]={1,2,4,4,5,9,3,6,3,2,7,8,4}; int i,j,n; n=9; i=n/5; j=ni*51; printf(a[%d][%d]=%d\n, i,j,a[i][j]); } A) 6 B) 3 C) 2 D) 不確定 【 】下面程序的輸出結(jié)果是 ____。 main() { int i,j,k=10; for(i=0; i2; i++) { k++; { int k=0; for(j=0; j=3; j++) { if(j%2) continue; k++; } } k++; } printf(k=%d\n,k); } A) k=4 B) k=8 C) k=14 D) k=18 【 】下面程序的輸出結(jié)果是 ____。y); z=x/y; while(1) { if(fabs(z)) { x=y; y=z; z=x/y; } else break; } printf(%f\n,y); } A) B) C) D) 【 】下面程序的輸出結(jié)果是 ____。 include main() { float x,y,z; scanf(%f,%f,amp。 main() { int x,i; for(i=1; i=100; i++) { x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) 24 printf(%d ,x); } } A) 39 81 B) 42 84 C) 26 68 D) 28 70 【 】下面程序的輸出結(jié)果是 ____。C39。E39。D39。C39。B39。A39。A39。) { case 0: case 1: putchar(c+4); case 2: putchar(c+4); break; case 3: putchar(c+3); default: putchar(c+2); break; } printf(\n); } A) 888988 B) 668966 C) 88898787 D) 66898787 【 】下面程序的輸出結(jié)果是 ____。) switch(c 39。 include main() { int c; while((c=getchar())!=39。 main() { int num=0; while(num=2) { num++; printf(%d\n,num); } } A) 1 B) 1 C) 1 D) 1 2 2 2 3 3 4 【 】下面程序的輸出結(jié)果是 ____。: v2++; default: v4++; } printf(v1=%d, v2=%d, v3=%d, v4=%d\n,v1,v2,v3,v4); } A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1 C) v1=5,v2=8,v3=6,v4=1 D) v1=4,v2=7,v3=5,v4=8 22 【 】下面程序的輸出是 。: v3++; case 39。: v1++; case 39。 main() { char *s=12134211; int v1=0,v2=0,v3=0,v4=0,k; for(k=0; s[k]; k++) switch(s[k]) { case 39。 main() { int a=0,b=1,c=0,d=20; if(a) d=d10; else if(!b) if(!c) d=15; else d=25; printf(d=%d\n,d); } A) d=10 B) d=15 C) d=20 D) d=25 【 】下面程序的輸出結(jié)果為 。b); printf(a=%d b=%d\n,a,b); } A) a=12 b=34 B) a=123 b=45 C) a=12 b=345 D) 語(yǔ)句右錯(cuò)誤 【 】以下程序段的輸出結(jié)果是 。 main() { int a,b; scanf(%2d%3d,amp。 main() { int a=111; a=a^00; printf(%d,%o\n,a,a); } A) 111,157 B) 0,0 C) 20,24 D) 7,7 【 】下面程序的輸出結(jié)果是 ____。)); } A) 0 B) 1 20 【 】下面程序的輸出結(jié)果是 ____。c==39。; float f=; printf(%d\n,(!(a==0),f!=0amp。 main() { int a=1; char c=39。 main() { int x=0x02ff,y=0x0ff00; printf(%d\n,(xamp。 main( ) { int x=10, y=10; printf(%d %d\n, x―― , ―― y); } A) 10 10 B) 9 9 C) 9 10 D) 10 9 【 】以下程序的輸出結(jié)果是 ____。 include main( ) { int x=10; { int x=20; printf (%d, , x); } 19 printf(%d\n, x); } A) 10, 20 B) 20, 10 C) 10, 10 D) 20, 20 【 】以下程序的輸出結(jié)果是 ____。 【 】以下程序的輸出結(jié)果是 。程序設(shè)計(jì)語(yǔ)言是開(kāi)發(fā)程序的一個(gè)工具,學(xué)習(xí)語(yǔ)言的目的是為了編寫(xiě)程序來(lái)解決實(shí)際 問(wèn)題,所以特別提倡通過(guò)實(shí)際上機(jī)來(lái)檢驗(yàn)備選答案,增強(qiáng)動(dòng)手能力。讀者通過(guò)閱讀理解程序,從給出的四個(gè)備選參考答案中,選擇程序的正確輸出。 【 】答 案: C 注釋:宏替換后的結(jié)果是 printf(%d,10/3*3)。 C 語(yǔ)言是區(qū)分字母大小的,第二個(gè)宏定義中的 N直接用 3 替換,用 5+1 替換 n,則有 z=2*(3+(3+1)*5+1);結(jié)果是 48。本題的要求是 修改 文件的內(nèi)容,因此只能選擇答案 D。 【 】答案: D 【 】答案: B 【 】答案: C 【 】答案: A 【 】答案: D 【 】答案: D 【 】答案: A 【 】答案: B 【 】答案: A 18 【 】答案: D 注釋:函數(shù) fopen 中的第二參數(shù)是打開(kāi)模式, r模式是只讀方式,不能寫(xiě)文件; a+模式是讀/追加方式,允許從文件中讀出數(shù)據(jù),但所有寫(xiě)入的數(shù)據(jù)均自動(dòng)加在文件的末尾; w模式是寫(xiě)方式,允許按照用戶的要求將數(shù)據(jù)寫(xiě)入文件的指定位置,但打開(kāi)文件后,首先要將文件的內(nèi)容清空。表達(dá)式 (*p).m 的含義是取出 m(變量 a 的地址)。 【 】答案: D 注釋:由于結(jié)構(gòu)指針指向了結(jié)構(gòu)數(shù)組的 0 號(hào)元素,所以表達(dá)式 (p++)m 的含義是先取出 m(變量 a 的地址),然后指針 p 加 1。 【 】答案: B 【 】答案: D 【 】答案: A 【 】答案: C 注釋:聯(lián)合變量 temp的成員是占用同一存儲(chǔ)單元,它的長(zhǎng)度是 4 個(gè)字節(jié)。 【 】答案: A 【 】答案: B B 【 】答案: D 【 】答案: B 【 】答案: D 注釋:答案 D 是另一種交換兩個(gè)變量值的算法。 ptr 是一個(gè)指向一維數(shù)