301、變量a所占內(nèi)存字節(jié)數(shù)是 A) 4 B) 5 C) 6 D) 8 union U { char st[4]; int i; long l; }; struct A { int c; union U u; }a;、C、3
302、標準函數(shù) fgets(s, n, f) 的功能是 A) 從文件f中讀取長度為n的字符串存入指針s所指的內(nèi)存 B) 從文件f中讀取長度不超過n-1的字符串存入指針s所指的內(nèi)存 C) 從文件f中讀取n個字符串存入指針s所指的內(nèi)存 D) 從文件f中讀取長度為n-1的字符串存入指針s所指的內(nèi)存、B、3
303、rewind函數(shù)的作用是________。 A、重新打開文件 B、使文件位置指針重新回到文件末 C、使文件位置指針重新回到文件的開始 D、返回文件長度值、C、3
304、當____,可以不指定數(shù)組長度。 (A) 對靜態(tài)數(shù)組賦初值 (B) 對動態(tài)數(shù)組賦初值 (C) 只給一部分元素賦值 (D) 對全部數(shù)組元素賦初值、D、3
305、以下程序的輸出結(jié)果是____ i=5; i=++i*4+2; A、5 B、6 C、23 D、26、D、3
306、以下程序的輸出結(jié)果是____ i=5; i=i++*4+2; A、5 B、6 C、23 D、26、C、3
307、以下程序的輸出結(jié)果是____ main() {int x,y,z; x=y=z=0; ++x||++y||++z; printf(“%d,%d,%d\n”,x,y,z); } A、1,1,1 B、1,0,0 C、1,1,0 D、1,0,1、B、3
308、C語言中函數(shù)能否嵌套調(diào)用和遞歸調(diào)用? A、二者均不可 B、前者可,后者不可 C、前者不可,后者可 D、二者均可、D、3
309、C語言聯(lián)合類型在任何給定時刻_____。 A、 所有成員一直駐留在結(jié)構(gòu)中。 B、 只能有一個成員駐留在結(jié)構(gòu)中。 C、 部分成員駐留在結(jié)構(gòu)中。 D、 沒有成員駐留在結(jié)構(gòu)中。 、B、3
310、#include main() { int a,b,c,d; scanf("%d%d",&a,&b); c=gbs(a,b); d=gys(a,b); printf("a=%db=%d gbs=%d gys=%d\n",a,b,c,d); } gbs(a,b) int a,b; { int c; a=a>0?a:-a; b=b>0?b:-b; c=a*b; if(c==0) return(0); while(a!=b) if(a>b) a-=b; else b-=a; return(c/a); } gys(a,b) int a,b; { if(a*b==0) return(0); a=a>0?a:-a; b=b>0?b:-b; while(a!=b) if(a>b) a-=b;else b-=a; return(a); } 請寫出上面程序的運行結(jié)果: A、a=30 b=63 gbs=189 gys=9 B、a=27 b=63 gbs=190 gys=10 C、a=27 b=63 gbs=189 gys=9 D、a=27 b=63 gbs=188 gys=10、C、3
311、請讀程序: main() { int *p,x; x=10; *p=x; printf("%d\n",*p); } 請判斷上面程序____ A、錯誤:*p=x; printf("%d\n"),*p); 正確:p=&x; printf("%d\n",p); B、錯誤:*p=x; printf("%d\n"),*p); 正確:p=**x; printf("%d\n",p);C、錯誤:int *p,x; 正確:int *(p),*(x);D、錯誤:*p=x; 正確:p=&x;、A、3
312、根據(jù)下面的定義,能打印出字母M的語句是____ A) printf("%c\n",class[3]、name); D) printf("%c\n",class[2]、name[0]); B) printf("%c\n",class[3]、name[1]); C) printf("%c\n",class[2]、name[1]); struct person { char name[9]; int age;}; struct person class[10]={"John",17, "Paul",19, "Mary",18, "Adam",16};、D、3
313、假定建立了以下鏈表結(jié)構(gòu),指針p、q分別指向如圖所示的結(jié)點,則以下可以將q所指結(jié)點從鏈表中刪除并釋放該結(jié)點的語句組是 A) free(q); p->next=q->next; B) (*p)、next=(*q)、next; free(q); C) q=(*q)、next; (*p)、next=q; free(q); D) q=q->next; p->next=q; p=p->next; free(p);、B、3
314、假定下列程序的可執(zhí)行文件名為prg、exe,則在該程序所在的子目錄下輸入命令行: prg hello good后,程序的輸出結(jié)果是 A) hello good B) hg C) hel D) hellogood main()(int argc, char *argv[]) { int i; if(argc<-0)return; for(i=1;i、B、3
315、假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG、EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入: PROG ABCDEFGH IJKL,則輸出結(jié)果為 A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGH main( int argc, char *argv[])) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }、D、3
316、利用數(shù)組寫出一個與int *p[4]等價的說明。 A、int &p[4]; B、int p[4]; C、int **p[4]; D、int *(*p[4]);、B、3
317、請選出以下程序段的輸出結(jié)果 #include #define MIN(x,y) (x)、A、3
318、若a=5,b=3,c=4,邏輯表達式!(a+b)&&!c的值為____ (A) 0 (B) -1 (C) 1 (D) 2、C、3
319、若fp是指向某文件的指針,且已讀到文件末尾,則庫函數(shù)feof(fp)的返回值是____ A) EOF B) -1 C) 非零值 D) NULL、C、3
320、若程序中有下面的說明和定義 struct abc {int x;char y;} struct abc s1,s2; 則會發(fā)生的情況是 A) 編譯進錯 B) 程序?qū)㈨樌幾g`連接`執(zhí)行 C) 能順利通過編譯`連接`但不能執(zhí)行 D) 能順利通過編譯`但連接出錯、A、3
321、若想要通過異或運算對變量a進行高4位求反,低四位不變,則b應為____。(二進制表示) A、11110000 B、00001111 C、視a值而定 D、不可能實現(xiàn)、A、3
322、若要打開A盤上user子目錄下名為abc、txt的文本文件進行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是 A) fopen("A:\user\abc、txt","r") B) fopen("A:\\user\\abc、txt","r+") C) fopen("A:\user\abc、txt","rb") C) fopen("A:\\user\\abc、txt","w")、B、3
323、若給定條件表達式(M)?(a++):(a--)則 其中表達式M和________等價。 A、(M==0) B、(M==1) C、(M!=0) D、(M!=0)、C、3
324、若已定義:int a[9],*p=a;并在以后的語句中未改變p的值,不能表示a[1] 地址的表達式是 A) p+1 B) a+1 C) a++ D) ++p、C、3
325、若要用下面的程序片段使指針變量p指向一個存儲整型變量的動態(tài)存儲單元: int *p; p=__________ malloc( sizeof(int)); 則應填入 A)int B)int * C)(*int) D)(int *)、D、3
326、以下程序的輸出結(jié)果是____ main() {int x,y,z; x=y=z=0; ++x&&++y||++z; printf(“%d,%d,%d\n”,x,y,z); } A、1,1,1 B、1,0,0 C、1,1,0 D、1,0,1、C、3
327、若以下程序所生成的可執(zhí)行文件名為filel、exe ; 當打入以下命令行執(zhí)行該程序時; FILE1 CHINA BEIJING SHANGHA1 程序的輸出結(jié)果是 A、 XHIN VWIJINF AHANJHAI B、 FILE1 CHINA BEIJING C、 C B S D、 F C B main(int arge,char * argv []) { char ch [7]={"65ab21"}; int i,s=0; for (i=0;ch [i]>='0'&&ch [i]'9';i+=2) s=10*s+ch[i]-'0'; print ("%d\n",s)' }、A、3
328、若有定義和語句: int **pp,*p,a=10,b=20; pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp); 則輸出結(jié)果是: A)10,20 B)10,10 C)20,10 D)20,20、D、3
329、若有說明語句:int a,b,c,*d=&c;,則能正確從鍵盤讀入三個整數(shù)分別賦給變量a、b、c的語句是 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);、A、3
330、若有說明:int i, j=2,*p=&i;,則能完成i=j賦值功能的語句是 A) i=*p; B) p*=*&j; C) i=&j; D) i=**p;、B、3
331、若有說明:int i,j=7, *p=&i;,則與i=j;等價的語句是 A) i= *p; B) *p=*&j; C) i=&j; D) i=* *p;、B、3
332、若有說明:long *p,a;則不能通過scanf語句正確給輸入項讀入數(shù)據(jù)的程序段是 A) *p=&a; scanf("%ld",p); B) p=(long *)malloc(8); scanf("%ld",p); C) scanf("%ld",p=&a); D) scanf("%ld",&a);、A、3
333、若有以下的定義: int a[]={1,2,3,4,5,6,7,88,9,10}, *p=a; 則值為3的表式是 A) p+=2, *(p++) B) p+=2,*++p C) p+=3, *kp++ D) p+=2,++*p、A、3
334、若有以下的說明,則對初值中字符'a'的引用方式為___。 static struct { char ch; double x; char a[]; }c[2][2]={{{'a',3、5,'bc'},{'c',4、5,'de'},{'m',8、6,'abc'}}}; A、c、ch B、c[0][0]、ch C、c[1][1]、ch D、a[0]、B、3
335、若有以下的說明和語句,則在執(zhí)行for語句后,*(*(pt+l)+2)表示的數(shù)組元素是 A) t[2][0] B) t[2][2] C) t[l][2] D) t[2][l] int t[3][3], *pt([3], k; for (k=0;k、C、3
336、若有下面的說明和定義: struct test { int ml; char m2; float m3; union uu {char ul[5]; int u2[2];} ua; } myaa; 則sizeof(struct test )的值是____ A) 12 B) 16 C) 14 D) 9、A、3
337、若有以下定義,則語句( )是正確的。 union data {int i; char c; float f; }a; int n; A: s=5 B:a={2,'a'1、2} C:printf("%d\n",a) D:n=a、C、3
338、若有以下定義和語句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 則不能表示a數(shù)組元素的表達式是 A) *p B) a[10] C) *a D) a[p-a]、B、3
339、若有以下定義和語句: double r=99, *p=&r; *p=r; 則以下正確的敘述是 A) 以下兩處的*p含義相同,都說明給指針變量p賦值 B) 在"double r=99, *p=&r;"中,把r的地址賦值給了p所指的存儲單元 C) 語句"*p=r;"把變量r的值賦給指針變量p D) 語句"*p=r;"取變量r的值放回r中、D、3
340、若有以下定義和語句: int w[2][3],(*pw)[3]; pw=w; 則對w數(shù)組元素非法引用是 A)*(w[0]+2) B)*(pw+1)[2] C)pw[0][0] D)*(pw[1]+2)、B、3
341、若有以下說明和定義 fun(int *c){ } main() { int (*a)()=fun,*b(),w[10],c; ┆ } 在必要的賦值之后,對fun函數(shù)的正確調(diào)用語句是 A) a=a(w); B) (*a)(&c); C) b=*b(w); D) fun (b);、B、3
342、若有以下說明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 則數(shù)值為6的表達式是 A) *p+6 B) *(p+6) C) *p+=5 D) p+5、C、3
343、若指針p已正確定義,要使p指向兩個連續(xù)的整型動態(tài)存儲單元,不正確的語句是 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));、A、3
344、設(shè)已有定義: char *st="how are you"; 下列程序段中正確的是 A) char a[11], *p; strcpy(p=a+1,&st[4]); B) char a[11]; strcpy(++a, st); C) char a[11]; strcpy(a, st); D) char a[], *p; strcpy(p=&a[1],st+2);、A、3
345、設(shè)有如下程序: #include main() { int **k, *j, i=100; j=&i; k=&j; printf("%d\n", **k); } 上面程序的輸出結(jié)果是 A) 運行錯誤 B) 100 C) i的地址 D) j的地址、B、3
346、設(shè)一整型(int)變量占用2個字節(jié)則下述共同體變量x所占用內(nèi)存字節(jié)數(shù)為________。 union exp { int i; float j; double k; }x; A、14個 B、7個 C、8個 D、隨機而定、C、3
347、設(shè)x的值為4,則表達式(++x)+(++x)+(++x)的值是( ) A:12; B:18; C:16; D:21 、D、3
348、設(shè)p1和p2是指向同一個int型一維數(shù)組的指針變量,k為int型變量,則不能正確執(zhí)行的語句是 A) k=*p1+*p2; B) p2=k; C) p1=p2; D) k=*p1 * (*p2);、B、3
349、設(shè)x、y、t均為int型變量,則執(zhí)行語句:x=y=3;t=++x||++y;后,y的值為 A) 不定值 B) 4 C) 3 D) 1、C、3
350、設(shè)a=3,b=2,則表達式a^b>>2的值的二進制表示為________。 A、00000011 B、00000110 C、00000100 D、00000010、A、3
希望與更多計算機等級考試的網(wǎng)友交流,請進入計算機等級考試論壇
更多信息請訪問:考試吧計算機等級考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |