【正文】
[]={1,2,3,4,5,6}; C) int a[][3]={1,2,3,4,5,6}; D) int a[2,3]={1,2,3,4,5,6}; 【 】對字符數(shù)組 s 賦值 ,不合法的一個是 ____。 A) char s[]=Beijing; B) char s[20]={beijing}; C) char s[20]; s=Beijing; D) char s[20]={39。B39。,39。e39。,39。i39。,39。j39。,39。i39。,39。n39。,39。g39。}; 【 】對字符數(shù)組 str 賦初值, 7 str 不能作為字符串使用的一個是 ____。 A) char str[]=shanghai; B) char str[]={shanghai}; C) char str[9]={39。s39。,39。h39。,39。a39。,39。n39。,39。g39。,39。h39。,39。a39。,39。i39。}; D) char str[8]={ 39。s39。,39。h39。,39。a39。,39。n39。,39。g39。,39。h39。,39。a39。,39。i39。}; 【 】對函數(shù)形參的說明有錯誤的是 ____。 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) 【 】如果一個變量在整個程序運行期間都存在,但是僅在說明它的函數(shù)內(nèi)是可見的,這個變量的存儲類型應(yīng)該被說明為 ____。 A) 靜態(tài)變量 B) 動態(tài)變量 C) 外部變量 D) 內(nèi)部變量 【 】在一個 C 源程序文件中 , 若要定義一個只允許在該源文件中所有函數(shù)使用的變量,則該變量需要使用的存儲類別是 。 A) extern B) register C) auto D) static 【 】在 C 語言中,函數(shù)的數(shù)據(jù)類型是指 ____。 A) 函數(shù)返回值的數(shù)據(jù)類型 B) 函數(shù)形參的數(shù)據(jù)類型 C) 調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型 D) 任意指定的數(shù)據(jù)類型 【 】已知如下定義的函數(shù): fun1(a) { printf(\n%d,a); } 則該函數(shù)的數(shù)據(jù)類型是 ____。 A) 與參數(shù) a 的類型相同 B) void 型 C) 沒有返回值 D) 無法確定 【 】定義一個函數(shù)實現(xiàn)交換 x 和 y 的值,并將結(jié)果正確返回。能夠?qū)崿F(xiàn)此功能的是 ____。 A) swapa(int x,int y) B) swapb(int *x,int *y) { int temp; { int temp; temp=x; x=y; y=temp; temp=x; x=y; y=temp; } } C) swapc(int *x,int *y) D) swapd(int *x,int *y) { int temp; { int *temp; temp=*x; *x=*y; *y=temp; temp=x; x=y; y=temp; } } 【 】求一個角的正弦函數(shù)值的平方。能夠?qū)崿F(xiàn)此功能的函數(shù)是 ____。 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))); 【 】一個函數(shù)內(nèi)有數(shù)據(jù)類型說明語句如下: double x,y,z(10); 關(guān)于此語句的解釋,下面說法正確的是 ____。 A) z 是一個數(shù)組,它有 10 個元素。 B) z 是一個函數(shù),小括號內(nèi)的 10 是它的實參的值。 C) z 是一個變量,小括號內(nèi)的 10 是它的初值。 D) 語句中有錯誤。 【 】已知函數(shù)定義如下: float fun1(int x,int y) { float z; z=(float)x/y; return(z); } 主調(diào)函數(shù)中有 int a=1,b=0;可以正確調(diào)用此函數(shù)的語句是 ____。 A) printf(%f,fun1(a,b)); B) printf(%f,fun1(amp。a,amp。b)); C) printf(%f,fun1(*a,*b)); D) 調(diào)用時發(fā)生錯誤 【 】下面函數(shù)的功能是 ____。 a(s1,s2) char s1[],s2[]; { while(s2++=s1++) ; } A) 字符串比較 B) 字符 串復(fù)制 C) 字符串連接 D) 字符串反向 【 】在下列結(jié)論中,只有一個是錯誤的,它是 。 A) C語言允許函數(shù)的遞歸調(diào)用 B) C語言中的 continue 語句,可以通過改變程序的結(jié)構(gòu)而省略 C) 有些遞歸程序是不能用非遞歸算法實現(xiàn)的 D) C 語言中不允許在函數(shù)中再定義函數(shù) 【 】已知: int a, *y=amp。a;則下列函數(shù)調(diào)用中錯誤的是 。 A) scanf(%d, amp。a); B) scanf(%d, y); C) printf(%d, a); D) printf(%d, y); 9 【 】說明語句 int (*p)( ); 的含義是 。 A) p 是一個指向一維數(shù)組的指針變量 B) p 是指針變量,指向一個整型數(shù)據(jù) C) p 是一個指向函數(shù)的指針,該函數(shù)的返回值是一個整型 D) 以上都不對 【 】設(shè)有說明 int (*p)[4];其中的標識符 p 是 。 A) 4 個指向整型變量的指針變量 B) 指向 4 個整型變量的函數(shù)指針 C) 一個指向具有 4 個整型元素的一維數(shù)組的指針 D) 具有 4 個指向整型變量的指針元素的一維指針數(shù)組 【 】已知: char s[10], *p=s, 則在下列語句中,錯誤的語句是 。 A) p=s+5; B) s=p+s; C) s[2]=p[4]; D) *p=s[0]; 【 】已知: char s[100]; int i;則引用數(shù)組元素的錯誤的形式是 。 A) s[i+10] B) *(s+i) C) *(i+s) D) *((s++)+i) 【 】已知: char s[6], *ps=s;則正確的賦值語句是 。 A) s=12345; B) *s=12345; C) ps=12345; D) *ps=12345; 【 】已知: char a[3][10]={BeiJing,ShangHai,TianJin}, *pa=a;不能正確顯示字符串ShangHai的語句是 。 A) printf(%s,a+1); B) printf(%s,*(a+1)); C) printf(%s,*a+1); D) printf(%s,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]的表達式是 。 A) *(*(a+1)+2) B) *(*(p+5)) C) (*ptr+1)+2 D) *((ptr+1)[2]) 【 】已知: int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12}, *p=a;則值為 3 的表達式是 。 A) p+=2,*(p++) B) p+=2,*++p C) p+=2,*p++ D) p+=2,++*p 【 】已知: int a[]={1,2,3,4}, y, *p=a;則執(zhí)行語句 y = (*++p);之后 , 數(shù)組 a 各元素的值變?yōu)?______。 A) 0,1,3,4 B) 1,1,3,4 C) 1,2,2,4 D) 1,2,3,3 變量 y 的值是 ____。 A) 1 B) 2 C) 3 D) 4 【 】已知: int a[ ]={1,3,5,7}, y *p= a;為使變量 y 的值為 3,下列語句正確的是 ____。 A) y=++*p++; B) y=++(*p++); C) y=(++*p)++; D) y=(*++p)++; 【 】已知: int x[ ]={ 1,3,5,7,9,11 }, *ptr=x;則能夠正確引用數(shù)組元素的語句是 。 A) x B) *(ptr) C) x[6] D) *(ptr) 10 【 】函數(shù)的功能是交換變量 x 和 y 中的值,且通過正確調(diào)用返回交換的結(jié)果。能正確執(zhí)行此功能的函數(shù)是 。 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。data;則對于結(jié)構(gòu)變量 data 的成員 a 的正確引用是 ____。 A)( *) . B) (*p).a C) p D) 【 】已知: struct st { int n; struct st *next; }; static struct st a[3]={1,amp。a[1],3,amp。a[2],5,amp。a[0]},*p; 如果下述語句的顯示是 2,則對 p 的賦值是 ____。 printf(%d,++(pnextn)); A) p=amp。a[0]; B) p=amp。a[1]; C) p=amp。a[2]; D) p=amp。a[3]; 【 】已知: struct person { char name[10]; int age; }class[10]={LiMing,29,ZhangHong,21,WangFang,22}; 下述表達式中,值為 72 的一個是 ____。 A) class[0]age + class[1]age+ class[2]age B) class[1].name[5] C) person[1].name[5] D) clasename[5] 【 】已知: struct { int i; char c; float a; 11 }test; 則 sizeof(test)的值是 。 A) 4 B) 5 C) 6 D) 7 【 】已知: union { int i; char c; float a; }test; 則 sizeof(test)的值是 。 A) 4 B) 5 C) 6 D) 7 【 】已知: union u_type { int i; char ch; float a; }temp; 現(xiàn)在執(zhí)行 =266; printf(%d,)的結(jié)果是 。 A) 266 B) 256 C) 10 D) 1 【 】若有以下程序段: struct dent { int n; int *m; }; int a=1,b=2,c=3; struct dent s[3] = { {101,amp。a},{102,amp。b},{103,amp。c} }; struct dent *p=s; 則以下表達式中值為 2 的是 。 A) (p++)m B) *(p++)m C) (*p).m D) *(++p)m 【 】若有以下說明語句,則對結(jié)構(gòu)變量 pup 中 sex 域的正確引用是 。 struct pupil { char name[20]; int sex; }pup,*p; p=amp。pup; A) B) p C) (*p). D) (*p).sex 【 】以下對結(jié)構(gòu)變量 stul 中成員 age 的非法引用是 。 struct student { int age; int num; 12 }stu1,*p; p=amp。stu1; A) B) C) page D) (*p).age 【 】若有以下定義和語句: union data { int i; char c; float f; }a; int n;