【正文】
式錯(cuò)誤 【 】用十進(jìn)制表示表達(dá)式 12|012的值是 ____。 A) 0 B) 1 C) 5 D) 6 【 】使用語句 scanf(x=%f,y=%f,amp。 A) 2:1,1:1, B) 1:1,2:1, C) 2:4,1:1 D) 1:1,2:4, 【 】已知: int x, y; double z; 則以下語句中錯(cuò)誤的函數(shù)調(diào)用是 。x,amp。 for(x=0,y=10; (y0)amp。 A) char s[]=Beijing; B) char s[20]={beijing}; C) char s[20]; s=Beijing; D) char s[20]={39。,39。s39。g39。s39。g39。 A) int a(float x[],int n) B) int a(float *x,int n) C) int a(float x[10],int n) D) int a(float x,int n) 【 】如果一個(gè)變量在整個(gè)程序運(yùn)行期間都存在,但是僅在說明它的函數(shù)內(nèi)是可見的,這個(gè)變量的存儲(chǔ)類型應(yīng)該被說明為 ____。 A) sqofsina(x) float x; { return(sin(x)*sin(x)); } B) double sqofsinb(x) 8 float x; { return(sin((double)x)*sin((double)x)); } C) double sqofsinc(x) { return(((sin(x)*sin(x)); } D) sqofsind(x) float x; { return(double(sin(x)*sin(x))); 【 】一個(gè)函數(shù)內(nèi)有數(shù)據(jù)類型說明語句如下: double x,y,z(10); 關(guān)于此語句的解釋,下面說法正確的是 ____。b)); C) printf(%f,fun1(*a,*b)); D) 調(diào)用時(shí)發(fā)生錯(cuò)誤 【 】下面函數(shù)的功能是 ____。 A) p=s+5; B) s=p+s; C) s[2]=p[4]; D) *p=s[0]; 【 】已知: char s[100]; int i;則引用數(shù)組元素的錯(cuò)誤的形式是 。 A) 1 B) 2 C) 3 D) 4 【 】已知: int a[ ]={1,3,5,7}, y *p= a;為使變量 y 的值為 3,下列語句正確的是 ____。a[2],5,amp。 A) 4 B) 5 C) 6 D) 7 【 】已知: union { int i; char c; float a; }test; 則 sizeof(test)的值是 。pup; A) B) p C) (*p). D) (*p).sex 【 】以下對(duì)結(jié)構(gòu)變量 stul 中成員 age 的非法引用是 。; D) *p = ; 【 】已知 enum week {sun,mon,tue,wed,thu,fri,sat}day;則正確的賦值語句是 ____。 A) 1 B) TRUE C) 0 D) 1 【 】 fscanf 函數(shù)的正確調(diào)用形式是 。 【 】答案: B 注釋:長整型數(shù) 32768 在計(jì)算機(jī)內(nèi)的表示是 1000 0000 0000 0000,以一般整型進(jìn)行輸出時(shí),此數(shù)恰是 32768 的補(bǔ)碼。 【 】答案: A 【 】答案: B 【 】答案: A 【 】答案: C 【 】答案: B 注釋:單純從 C 語言語法來說,選項(xiàng) B、 C 都是正確的,但是選項(xiàng) C 中第一個(gè)運(yùn)算的兩個(gè)對(duì)象都是整型常數(shù),其結(jié)果也是整型數(shù) 0,最后的運(yùn)算結(jié)果也就是 0 了。題中表達(dá)式引用了數(shù)組前 3 個(gè)元素。 【 】答案: A 【 】答案: D 注釋:這里首先要明確一些基本概念。 【 】答案: C 注釋:要注意與說明語句 int (*p)[ ]; 的區(qū)別。 *a 是第一個(gè)字符串的首地址,加 1 是第一個(gè)字符串中第二個(gè)字符的地址,選項(xiàng) C 的輸出是 beiJing。 【 】答案: B 【 】答案: C 注釋:使用 C 對(duì) p進(jìn)行賦值,則 pnext 是 a[0]的地址,引用其成員 n 再做前增 1 運(yùn)算,結(jié)果就是 2。 r+模式是讀 /寫方式,不但允許讀文件,而且允許按照用戶的要求將數(shù)據(jù)寫 入文件的指定位置,且在打開文件后,不會(huì)將文件的內(nèi)容清空。如果選擇有誤,就要認(rèn)真分析原因,是概念方面的錯(cuò)誤還是對(duì)程序邏輯理解不對(duì),從而加深對(duì)語法規(guī)則的理解,提高程序設(shè)計(jì)能力。 main() { int n=1; printf(%d %d %d\n,n,n++,n); } A) 1 1 1 B) 1 0 1 C) 1 1 0 D) 1 2 1 【 】以下程序的輸出結(jié)果是 ____。A39。 int a=10,b=50,c=30; if(ab) a=b; b=c; c=a; 21 printf(a=%d b=%d c=%d\n,a,b,c); A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50 【 】以下程序的輸出結(jié)果是 。239。239。: k; case 39。) ; printf(k=%d\n,k); } A) k=1 B) k=2 C) k=3 D) k=4 【 】下面程序的輸出結(jié)果是 ____。 include main( ) { int n[3][3], i, j; for(i=0; i3; i++ ) for(j=0; j3; j++ ) n[i][j]=i+j; for(i=0; i2; i++ ) for(j=0; j2; j++ ) n[i+1][j+1]+=n[i][j]; printf(%d\n, n[i][j]); } A) 14 B) 0 C) 6 D) 不確定 26 【 】下面程 序的輸出結(jié)果是 ____。 include func(int a,int b) { int c; c=a+b; return(c); } main() { int x=6,y=7,z=8,r; r=func((x,y++,x+y),z); printf(%d\n,r); } A) 11 B) 20 C) 21 D) 31 【 】下面程序的輸出結(jié)果是 ____。f1); fun(n2, amp。 include main( ) { int x=1; void f1( ), f2( ); f1( ); f2(x); printf(%d\n, x); } void f1(void) { int x=3; printf(%d , x); } 31 void f2( x ) int x; { printf(%d , ++x); } A) 1 1 1 B) 2 2 2 C) 3 3 3 D) 3 2 1 【 】下面程序的輸出結(jié)果是 ____。 void ive(x,n) int x[],n; { int t,*p; p=x+n1; while(xp) { t=*x; *x++=*p; *p=t; } return; } main() { int i,a[]={1,2,3,4,5,6,7,8,9,0}; ive(a,10); for(i=0; i10; i++) printf(%d ,a[i]); printf(\n); } A) 1 2 3 4 5 6 7 8 9 0 B) 0 9 8 7 6 5 4 3 2 1 33 C) 1 3 5 7 9 2 4 6 8 0 D) 0 8 6 4 2 9 7 5 3 1 【 】下面程序的輸出結(jié)果是 ____。a[0][0]+6)); /* ④ */ } A) 7 7 7 7 B) ②句語法錯(cuò)誤 C) ③句語法錯(cuò)誤 D) ④句語法錯(cuò)誤 32 【 】下面程序的輸出結(jié)果是 ____。 include funa(int a) { int b=0; static int c=3; a=c++,b++; return(a); } main() { int a=2,i,k; for(i=0; i2; i++) k=funa(a++); printf(%d\n,k); } A) 3 B) 0 C) 5 D) 4 【 】下面程序的輸出結(jié)果是 ____。; printf(\n%d, k39。 include f(char *s) { char *p=s; while(*p!=39。x,amp。: k=k%2; contiue; case 39。; do { switch(c++) { case 39。 main() { int a=1,b=0; do { switch(a) { case 1: b=1; break; case 2: b=2; break; default : b=0; } b=a+b; }while(!b); printf(a=%d,b=%d,a,b); } A) 1,2 B) 2,1 C) 1,1 D) 2,2 23 【 】從鍵盤上輸入 446755時(shí),下面程序的輸出是 ____。139。 main() { char s[12]= a book; printf(%.4s,s); } A) a book! B) a book!四個(gè)空格》 C) a bo D) 格式描述錯(cuò)誤,輸出不確定 【 】下面程序的輸出結(jié)果是 ____。a39。 main( ) { float a; a=1/100000000; printf(%g, a); } A) +00 B) C) D) 0 【 】下面程序的輸出結(jié)果是 ____。注意對(duì)于帶參數(shù)的宏亦是直接的文本替換,此例中 n 用 5+1 去替換,結(jié)果是( N+1) *5+1,而不是 (N+1)*(5+1)。表達(dá)式 *(p++)m 的含義是先取出 m 的內(nèi)容(變量 a 的值),然后指針 p 再加 1。 【 】答案: A 注釋: p 是一個(gè)一級(jí)指針,選項(xiàng) B 中對(duì)它進(jìn)行了兩次 *運(yùn)算是錯(cuò)誤的。 【 】答案: B 注釋:選 項(xiàng) B 有兩處錯(cuò)誤,一是數(shù)組名是常量,不能出現(xiàn)的賦值好的左側(cè),二是指針變量只能和整數(shù)做加,不能和作為地址常量的數(shù)組名相加。 【 】答案: A 【 】答案: A 注釋:它和參數(shù) a 一樣,數(shù)據(jù)類型說明被省略,按照 C 語言的規(guī)定,在這種情況下,表示它們是 int 型。 【 】答案: A 【 】答案: C 【 】答案: C 【 】答案: D 注釋:當(dāng)除數(shù) y 為 0 時(shí),程序發(fā)生溢出錯(cuò)誤。 【 】答案: C 【 】答案: B 【 】答案: B 注釋:當(dāng)通過一個(gè)運(yùn)算對(duì)象即可決定邏輯運(yùn)算 amp。字符常量必須用單引號(hào)括起來,所以 B 是錯(cuò)誤的;在單引號(hào)或雙引號(hào)內(nèi)的反斜線 39。 A) 1 B) 3 C) 9 D) 10 【 】已知宏定義如下: define PR printf define NL \n define D %d define D1 DNL 若程序中的語句是 PR(D1,a);經(jīng)預(yù)處理后展開為 ____。 A) enem a={ one,two,three }; B) enem a { one=9,two=1,three }; C) enem a={one,two,three}; D) enem a {one,two,three}; 13 【 】C語言中標(biāo)準(zhǔn)輸入文件 stdin 是指 。a39。b},{103,amp。a[1]; C) p=amp。 A) funa (int *x, int *y) B) funb (int x, int y) { int *p; { int t; p=x; *x=*y; *y=*p; t=x; x=y; y=t; } } C) func (int *x, int *y) D) func (int *x, int *y) { *x=*y; *y=*x; { *x=*x+*y; *y=*x*y; *x=*x*y; } } 【 】有定義如下: struct sk { int a; float b; }data ,*p; 如果 p=amp。a[1][0]); 【 】已知: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*ptr)[3]=a,*p=a[0]; 則以下能夠正確表示數(shù)組元素 a[1][2]的表達(dá)