C語言程序設計選擇題庫及答案_第1頁
C語言程序設計選擇題庫及答案_第2頁
C語言程序設計選擇題庫及答案_第3頁
C語言程序設計選擇題庫及答案_第4頁
C語言程序設計選擇題庫及答案_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C語言程序設計選擇題庫及答案C語言程序設計選擇題庫及答案C語言程序設計選擇題庫及答案C語言程序設計選擇題庫及答案編制僅供參考審核批準生效日期地址:電話:傳真:郵編:單項選擇題

導讀:單項選擇題要求從給出的四個備選答案中,選出一個最符合題意的答案。本類習題主要檢查對C語言基本概念的掌握情況,讀者可根據學習進度選做部分習題。在完成習題的過程中,不但要選出正確的答案,而且要清楚不正確的選項錯在何處,以加深對概念的理解。對于掌握不準的問題,應該通過上機實驗來檢驗。

【】以下不正確的C語言標識符是____。

A)intB)a_1_2C)ab1exeD)_x

【】以下是正確的C語言標識符是____。

A)#defineB)_123C)%dD)\n

【】下列四組字符串中都可以用作C語言程序標識符的一組是。

A)printB)i\amC)PxqD)str_l

_3done_halfMy->bookCpp

oodbstart$itline#pow

aBc3paiwhile

【】下面各選項組中,均是C語言關鍵字的組是。

A)auto,enum,includeB)switch,typedef,continue

C)signed,union,scanfD)if,struct,type

【】下列不屬于C語言關鍵字的是。A)defaultB)registerC)enumD)external

【】C語言程序從main()函數開始執(zhí)行,所以這個函數要寫在____。

A)程序文件的開始B)程序文件的最后

C)它所調用的函數的前面D)程序文件的任何位置

【】下列關于C語言的敘述錯誤的是____

A)大寫字母和小寫字母的意義相同

B)不同類型的變量可以在一個表達式中

C)在賦值表達式中等號(=)左邊的變量和右邊的值可以是不同類型

D)同一個運算符號在不同的場合可以有不同的含義

【】在C語言中,錯誤的int類型的常數是。

A)32768B)0C)037D)0xAF

【】執(zhí)行語句printf("%x",-1);屏幕顯示____。

A)-1B)1C)-ffffD)ffff

【】已知longi=32768;執(zhí)行語句printf("%d",i);屏幕顯示____。

A)-1B)-32768C)1D)32768

【】已知longi=65539;執(zhí)行語句printf("%d",i);屏幕顯示____。

A)65539B)-3C)3D)程序不能執(zhí)行

【】在C語言中,整數-8在內存中的存儲形式是。

A)1111111111111000B)1000000000001000

C)000

【】C語言中字符型(char)數據在內存中的存儲形式是____。

A)原碼B)補碼C)反碼D)ASCII碼

【】將字符g賦給字符變量c,正確的表達式是。

A)c=\147B)c="\147"C)c='\147'D)c='0147'

【】下列轉義字符中錯誤的一個是____。

A)'\000'B)'\0014'C)'\x111'D)'\2'

【】將空格符賦給字符變量c,正確的賦值語句是____。

A)c='\0'B)c=NULLC)c=0D)c=32

【】已知:chara='\70';則變量a中。

A)包含1個字符B)包含2個字符C)包含3個字符D)說明非法

【】字符串"\"EOF\n=-\61\""的長度是____。

A)8B)9C)14D)非法字符串

【】字符串""的長度是____。

A)0B)1C)2D)非法字符串

【】已知:chara;intb;floatc;doubled;執(zhí)行語句"c=a+b+c+d;"后,變量c的數據類型是。

A)intB)charC)floatD)double【】溫度華氏和攝氏的關系是:C=-(F-32)。已知:floatC,F;由華氏求攝氏的正確的

9

賦值表達式是____。

A)C=5/9(F-32)B)C=5*(F-32)/9

C

【】逗號表達式"(a=3*5,a*4),a+15"的值是____。

A)15B)60C)30D)不確定

【】如果inta=1,b=2,c=3,d=4;則條件表達式"a<ba:c<dc:d"的值是____。

A)1B)2C)3D)4

【】為求出s=10!的值,則變量s的類型應當為。

A)intB)unsigedC)longD)以上三種類型均可

【】已知inti=10;表達式"20-0<=i<=9"的值是____。

A)0B)1C)19D)20

【】已知intx=1,y;執(zhí)行下述語句后變量x的值是____。

y=++x>5&&++x<10;

A)1B)2C)3D)4

【】為判斷字符變量c的值不是數字也不是字母時,應采用下述表達式____。

A)c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122

B)!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)

C)c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122

D)!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)

【】已知inta[3][2]={3,2,1};則表達式"a[0][0]/a[0][1]/a[0][2]"的值是____。

A)B)1C)0D)錯誤的表達式

【】已知intx=1,y=1,z=1;表達式"x+++y+++z++"的值是____。

A)3B)4C)5D)表達式錯誤

【】用十進制表示表達式"12|012"的值是____。

A)1B)0C)12D)14

【】已知以下程序段:

inta=3,b=4;

a=a^b;

b=b^a;

a=a^b;

則執(zhí)行以上語句后a和b的值分別是____。A)a=3,b=4B)a=4,b=3C)a=4,b=4D)a=3,b=3

【】在位運算中,操作數每右移一位,其結果相當于____。

A)操作數乘以2B)操作數除以2C)操作數除以16D)操作數乘以16

【】已知chara=222;執(zhí)行語句a=a&052;后,變量a的值是____。

A)222B)10C)244D)254

【】已知二進制數a是00101101,如果想通過整型變量b與a做異或運算,使變量a的高4位取反,低4位不變,則二進制數b的值應是____。

A)B)00001111C)D)00000000

【】已知inta=15,執(zhí)行語句a=a<<2以后,變量a的值是____。

A)20B)40C)60D)80

【】已知intx=5,y=5,z=5;執(zhí)行語句x%=y+z;后,x的值是____。

A)0B)1C)5D)6

【】使用語句scanf("x=%f,y=%f",&x,&y);輸入變量x、y的值(□代表空格),正確的輸入是____。

A),B)□2.4C)x=,y=D)x=□y=

【】下列循環(huán)語句中有語法錯誤的是____。

A)while(x=y)5;B)while(0);

C)do2;while(x==b);D)dox++while(x==10);

【】已知intx=(1,2,3,4);變量x的值是____。

A)1B)2C)3D)4

【】表達式sizeof(double)是。

A)函數調用B)double型表達式C)int型表達式D)非法表達式【】執(zhí)行語句printf("2:%d,",printf("1:%d,",scanf("%d",&x)));以后的輸出結果是____。

A)2:1,1:1,B)1:1,2:1,C)2:4,1:1D)1:1,2:4,

【】已知:intx,y;doublez;則以下語句中錯誤的函數調用是。

A)scanf("%d,%lx,%le",&x,&y,&z);B)scanf("%2d*%d%lf",&x,&y,&z);

C)scanf("%x%*d%o",&x,&y);D)scanf("%x%o%6.2f",&x,&y,&z);

【】與條件表達式"(n)(c++):(c--)"中的表達式(n)等價的表達式是____。

A)(n==0)B)(n==1)C)(n!=0)D)(n!=1)

【】已知inti=1,j=0;執(zhí)行下面語句后j的值是____。

while(i)

switch(i)

{case1:i+=1;j++;break;

case2:i+=2;j++;break;

case3:i+=3;j++;break;

default:i--;j++;break;

}

A)1B)2C)3D)死循環(huán)

【】求取滿足式12+22+32+……+n2≤1000的n,正確的語句是____。

A)for(i=1,s=0;(s=s+i*i)<=1000;n=i++);

B)for(i=1,s=0;(s=s+i*i)<=1000;n=++i);

C)for(i=1,s=0;(s=s+i*++i)<=1000;n=i);

D)for(i=1,s=0;(s=s+i*i++)<=1000;n=i);

【】下面的for語句。

for(x=0,y=10;(y>0)&&(x<4);x++,y--);

A)是無限循環(huán)B)循環(huán)次數不定C)循環(huán)執(zhí)行4次D)循環(huán)執(zhí)行3次

【】已知inti=1;執(zhí)行語句while(i++<4);后,變量i的值為____。

A)3B)4C)5D)6

【】已知intx=12,y=3;執(zhí)行下述程序后,變量x的值是____。

do

{x/=y--;

}while(x>y);

A)1B)2C)3D)程序運行有錯誤

【】已知chara[][20]={"Beijing","shanghai","tianjin","chongqing"};語句printf("%c",a[30]);的輸出是____。

A)<空格>B)nC)不定D)數組定義有誤

【】若用數組名作為函數調用時的實參,則實際上傳遞給形參的是。

A)數組首地址B)數組的第一個元素值

C)數組中全部元素的值D)數組元素的個數

【】對二維數組的正確說明是____。

A)inta[][]={1,2,3,4,5,6};B)inta[2][]={1,2,3,4,5,6};

C)inta[][3]={1,2,3,4,5,6};D)inta[2,3]={1,2,3,4,5,6};

【】對字符數組s賦值,不合法的一個是____。

A)chars[]="Beijing";

B)chars[20]={"beijing"};

C)chars[20];s="Beijing";

D)chars[20]={'B','e','i','j','i','n','g'};

【】對字符數組str賦初值,str不能作為字符串使用的一個是____。

A)charstr[]="shanghai";

B)charstr[]={"shanghai"};

C)charstr[9]={'s','h','a','n','g','h','a','i'};

D)charstr[8]={'s','h','a','n','g','h','a','i'};

【】對函數形參的說明有錯誤的是____。

A)inta(floatx[],intn)B)inta(float*x,intn)

C)inta(floatx[10],intn)D)inta(floatx,intn)

【】如果一個變量在整個程序運行期間都存在,但是僅在說明它的函數內是可見的,這個變量的存儲類型應該被說明為____。

A)靜態(tài)變量B)動態(tài)變量C)外部變量D)內部變量

【】在一個C源程序文件中,若要定義一個只允許在該源文件中所有函數使用的變量,則該變量需要使用的存儲類別是。

A)externB)registerC)autoD)static

【】在C語言中,函數的數據類型是指____。

A)函數返回值的數據類型B)函數形參的數據類型

C)調用該函數時的實參的數據類型D)任意指定的數據類型

【】已知如下定義的函數:

fun1(a)

{printf("\n%d",a);

}

則該函數的數據類型是____。

A)與參數a的類型相同B)void型

C)沒有返回值D)無法確定

【】定義一個函數實現交換x和y的值,并將結果正確返回。能夠實現此功能的是____。

A)swapa(intx,inty)B)swapb(int*x,int*y)

{inttemp;{inttemp;

temp=x;x=y;y=temp;temp=x;x=y;y=temp;

}}

C)swapc(int*x,int*y)D)swapd(int*x,int*y)

{inttemp;{int*temp;

temp=*x;*x=*y;*y=temp;temp=x;x=y;y=temp;

}}

【】求一個角的正弦函數值的平方。能夠實現此功能的函數是____。

A)sqofsina(x)

floatx;

{return(sin(x)*sin(x));

}

B)doublesqofsinb(x)

floatx;

{return(sin((double)x)*sin((double)x));

}

C)doublesqofsinc(x)

{return(((sin(x)*sin(x));

}

D)sqofsind(x)

floatx;

{return(double(sin(x)*sin(x)));

}【】一個函數內有數據類型說明語句如下:

doublex,y,z(10);

關于此語句的解釋,下面說法正確的是____。

A)z是一個數組,它有10個元素。

B)z是一個函數,小括號內的10是它的實參的值。

C)z是一個變量,小括號內的10是它的初值。

D)語句中有錯誤。

【】已知函數定義如下:

floatfun1(intx,inty)

{floatz;

z=(float)x/y;

return(z);

}

主調函數中有inta=1,b=0;可以正確調用此函數的語句是____。

A)printf("%f",fun1(a,b));B)printf("%f",fun1(&a,&b));

C)printf("%f",fun1(*a,*b));D)調用時發(fā)生錯誤

【】下面函數的功能是____。

a(s1,s2)

chars1[],s2[];

{while(s2++=s1++);

}

A)字符串比較B)字符串復制C)字符串連接D)字符串反向

【】在下列結論中,只有一個是錯誤的,它是。

A)C語言允許函數的遞歸調用

B)C語言中的continue語句,可以通過改變程序的結構而省略

C)有些遞歸程序是不能用非遞歸算法實現的

D)C語言中不允許在函數中再定義函數

【】已知:inta,*y=&a;則下列函數調用中錯誤的是。

A)scanf("%d",&a);B)scanf("%d",y);

C)printf("%d",a);D)printf("%d",y);

【】說明語句"int(*p)();"的含義是。

A)p是一個指向一維數組的指針變量

B)p是指針變量,指向一個整型數據

C)p是一個指向函數的指針,該函數的返回值是一個整型

D)以上都不對

【】設有說明int(*p)[4];其中的標識符p是。

A)4個指向整型變量的指針變量

B)指向4個整型變量的函數指針

C)一個指向具有4個整型元素的一維數組的指針

D)具有4個指向整型變量的指針元素的一維指針數組

【】已知:chars[10],*p=s,則在下列語句中,錯誤的語句是。

A)p=s+5;B)s=p+s;C)s[2]=p[4];D)*p=s[0];

【】已知:chars[100];inti;則引用數組元素的錯誤的形式是。

A)s[i+10]B)*(s+i)C)*(i+s)D)*((s++)+i)

【】已知:chars[6],*ps=s;則正確的賦值語句是。

A)s="12345";B)*s="12345";C)ps="12345";D)*ps="12345";

【】已知:chara[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",&a[1][0]);

【】已知:inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

int(*ptr)[3]=a,*p=a[0];

則以下能夠正確表示數組元素a[1][2]的表達式是。

A)*(*(a+1)+2)B)*(*(p+5))C)(*ptr+1)+2D)*((ptr+1)[2])

【】已知:inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a;則值為3的表達式是。

A)p+=2,*(p++)B)p+=2,*++pC)p+=2,*p++D)p+=2,++*p

【】已知:inta[]={1,2,3,4},y,*p=a;則執(zhí)行語句y=(*++p)--;之后,數組a各元素的值變?yōu)開_____。

A)0,1,3,4B)1,1,3,4C)1,2,2,4D)1,2,3,3

變量y的值是____。

A)1B)2C)3D)4

【】已知:inta[]={1,3,5,7},y*p=a;為使變量y的值為3,下列語句正確的是____。

A)y=++*p++;B)y=++(*p++);C)y=(++*p)++;D)y=(*++p)++;

【】已知:intx[]={1,3,5,7,9,11},*ptr=x;則能夠正確引用數組元素的語句是。

A)xB)*(ptr--)C)x[6]D)*(--ptr)

【】函數的功能是交換變量x和y中的值,且通過正確調用返回交換的結果。能正確執(zhí)行此功能的函數是。

A)funa(int*x,int*y)B)funb(intx,inty)

{int*p;{intt;

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;

}}

【】有定義如下:

structsk

{inta;

floatb;

}data,*p;

如果p=&data;則對于結構變量data的成員a的正確引用是____。

A)(*).B)(*p).aC)p->D)

【】已知:

structst

{intn;

structst*next;

};

staticstructsta[3]={1,&a[1],3,&a[2],5,&a[0]},*p;

如果下述語句的顯示是2,則對p的賦值是____。

printf("%d",++(p->next->n));

A)p=&a[0];B)p=&a[1];C)p=&a[2];D)p=&a[3];

【】已知:

structperson

{charname[10];

intage;

}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)clase->name[5]【】已知:

struct

{inti;

charc;

floata;

}test;

則sizeof(test)的值是。

A)4B)5C)6D)7

【】已知:

union

{inti;

charc;

floata;

}test;

則sizeof(test)的值是。

A)4B)5C)6D)7

【】已知:

unionu_type

{inti;

charch;

floata;

}temp;

現在執(zhí)行"=266;printf("%d","的結果是。

A)266B)256C)10D)1

【】若有以下程序段:

structdent

{intn;

int*m;

};

inta=1,b=2,c=3;

structdents[3]={{101,&a},{102,&b},{103,&c}};

structdent*p=s;

則以下表達式中值為2的是。

A)(p++)->mB)*(p++)->mC)(*p).mD)*(++p)->m

【】若有以下說明語句,則對結構變量pup中sex域的正確引用是。

structpupil

{charname[20];

intsex;

}pup,*p;

p=&pup;

A)B)p->C)(*p).D)(*p).sex

【】以下對結構變量stul中成員age的非法引用是。

structstudent

{intage;

intnum;

}stu1,*p;

p=&stu1;

A)B)C)p->ageD)(*p).age

【】若有以下定義和語句:

uniondata

{inti;

charc;

floatf;

}a;

intn;

則以下語句正確的是。

A)a=5;B)a={2,'a',};C)printf("%d\n",a);D)n=a;

【】已知:

structsk

{inta;

intage;

}date,*p;

如果要使指針p指向data中的成員a,正確的賦值語句是____。

A)p=(structsk*)&;B)p=(structsk*);

C)p=&;D)*p=;

【】已知enumweek{sun,mon,tue,wed,thu,fri,sat}day;則正確的賦值語句是____。

A)sun=0;C)san=day;D)sun=mon;D)day=sun;

【】已知enumcolor{red,yellow=2,blue,white,black}ren;執(zhí)行下述語句的輸出結果是____。

printf("%d",ren=white);

A)0B)1C)3D)4

【】已知enumname{zhao=1,qian,sun,li}man;執(zhí)行下述程序段后的輸出是____。

man=0;

switch(man)

{case0:printf("People\n");

case1:printf("Man\n");

case2:printf("Woman\n");

default:printf("Error\n");

}

A)PeopleB)ManC)WomanD)Error

【】下述關于枚舉類型名的定義中,正確的是____。

A)enema={one,two,three};B)enema{one=9,two=-1,three};

C)enema={"one","two","three"};D)enema{"one","two","three"};

【】C語言中標準輸入文件stdin是指。

A)鍵盤B)顯示器C)鼠標D)硬盤

【】要打開一個已存在的非空文件"file"用于修改,選擇正確的語句____。

A)fp=fopen("file","r");B)fp=fopen("file","a+");

C)fp=fopen("file","w");D)fp=fopen('file","r+");

【】當順利執(zhí)行了文件關閉操作時,fclose函數的返回值是。

A)-1B)TRUEC)0D)1

【】fscanf函數的正確調用形式是。

A)fscanf(文件指針,格式字符串,輸出列表);

B)fscanf(格式字符串,輸出列表,文件指針);

C)fscanf(格式字符串,文件指針,輸出列表);

D)fscanf(文件指針,格式字符串,輸入列表);

【】使用fgetc函數,則打開文件的方式必須是。

A)只寫B(tài))追加C)讀或讀/寫D)參考答案B和C都正確

【】已知宏定義

#defineN3

#defineY(n)((N+1)*n)

執(zhí)行語句z=2*(N+Y(5+1));后,變量z的值是____。

A)42B)48C

【】已知宏定義#defineSQ(x)x*x,執(zhí)行語句printf("%d",10/SQ(3));后的輸出結果是____。

A)1B)3C)9D)10

【】已知宏定義如下:

#definePRprintf

#defineNL"\n"

#defineD"%d"

#defineD1DNL

若程序中的語句是PR(D1,a);經預處理后展開為____。

A)printf(%d\n,a);B)printf("%d\n",a);

C)printf("%d""\n",a);D)原語句錯誤參考答案

【】答案:A

注釋:int是C語言的關鍵字

【】答案:B

【】答案:A

【】答案:B

注釋:include是預處理命令;scanf是函數名;type不是C語言的關鍵字。

【】答案:D

【】答案:D

【】答案:A

【】答案:A

注釋:int型表示整數的范圍是-32768~32767。

【】答案:D

注釋:整型常量-1在計算機中表示為補碼1111111111111111,用十六進制顯示這個數時,最左邊的1不會被解釋為符號位,而是與右邊其它位共同轉換為十六進制數。

【】答案:B

注釋:長整型數32768在計算機內的表示是1000000000000000,以一般整型進行輸出時,此數恰是-32768的補碼。

【】答案:C

注釋:長整型數65539在計算機內的表示是00010000000000000011,以一般整型進行輸出時,僅將右側16位二進制數轉換為十進制數。

【】答案:A

注釋:C語言中,int型的負數是采用補碼表示的。

【】答案:D

【】答案:C

注釋:變量c是字符型,可用字符常量為它賦值。字符常量必須用單引號括起來,所以B是錯誤的;在單引號或雙引號內的反斜線'\'用于表示轉義字符,A選項在無引號時使用反斜線是錯誤的;C選項單引號內出現反斜線表示它與后面的數字組成一個轉義字符;單引號只允許括起一個字符,D選項在單引號內出現4個字符,是錯誤的。

【】答案:C

【】答案:D

注釋:空字符和空格符是不同的兩個字符,空格符的ASCII碼值是32,空字符的ASCII值是0。

【】答案:A

【】答案:B

【】答案:A

【】答案:C【】答案:B

注釋:單純從C語言語法來說,選項B、C都是正確的,但是選項C中第一個運算的兩個對象都是整型常數,其結果也是整型數0,最后的運算結果也就是0了。

【】答案:C

【】答案:A

注釋:將條件表達式增加一個括號,此式變?yōu)閍<ba:(c<dc:d),它的運算順序就清楚了。由于條件運算符的結合性是從右向左,所以括號可以省略。它的運算順序是先算出右邊的條件表達式"c<dc:d"的值,然后求條件表達式a<ba:3的值。

【】答案:C

【】答案:B

【】答案:B

注釋:當通過一個運算對象即可決定邏輯運算&&的結果時,則對另一個運算對象不做處理。

【】答案:D

【】答案:B

注釋:數組元素在內存中按行排列,此數組的前3個元素的值分別是3、2、1,表達式中雖然數組下標的寫法似乎每行有3個元素,和定義時的3行2列不一致,但是C語言引用數組元素時是根據數組的首地址和給出的下標進行運算決定元素的地址。題中表達式引用了數組前3個元素。

【】答案:A

【】答案:D

【】答案:B

【】答案:B

【】答案:B

【】答案:A

【】答案:C

【】答案:C

【】答案:C

【】答案:D

【】答案:D

【】答案:C【】答案:D

注釋:scanf函數返回值是輸入數據的個數,printf函數的返回值是輸出的字符個數。

【】答案:D

【】答案:C

注釋:在C語言中,經常用一個變量來作為邏輯表達式,其含義就是:當變量的值不為0時關系成立。

【】答案:D

注釋:break語句僅可跳出switch語句,不會跳出while循環(huán),這是一個死循環(huán)。

【】答案:A

【】答案:C

【】答案:C

【】答案:D

注釋:當除數y為0時,程序發(fā)生溢出錯誤。

【】答案:C

【】答案:A

【】答案:C

【】答案:C

注釋:答案C的賦值號左側是數組s的首地址,是一個常量,賦值號右側是一個字符串常量,不可能將一個字符串常量賦給一個地址常量。

【】答案:D

注釋:D選項缺少字符串結束標志。

【】答案:C

注釋:此處函數形參是一個指針變量,接受實參的地址,而不是一個數組。

【】答案:A

【】答案:D

注釋:這里首先要明確一些基本概念。在C語言中,程序與文件是不同的概念,一個程序可以由一個文件組成,也可以由多個文件組成;一個文件中又可以包含多個函數;函數是構成C程序的基本單位。

變量的作用域因變量的存儲類型不同而不同。auto和register類型的變量的作用域是說明變量的當前函數;外部變量的作用域是整個程序,即外部變量的作用域可以跨越多個文件;內部靜態(tài)變量(定義在一個函數內部的static型的變量)的作用域是當前函數,外部靜態(tài)變量(定義在函數外面的static型的變量)的作用域是當前文件,即可以跨越同一文件中的不同函數。

【】答案:A

【】答案:A

注釋:它和參數a一樣,數據類型說明被省略,按照C語言的規(guī)定,在這種情況下,表示它們是int型。

【】答案:C

注釋:函數swapa是值傳遞,函數的執(zhí)行結果不能返回;函數swapb中變量temp不是指針變量,所以它不能接受地址量,用指針變量x為它賦值是不對的;函數swap中雖然指針變量交換了地址,即它們的指向的目標變量進行了交換,但是目標變量并沒有行值的交換。

【】答案:B【】答案:D

【】答案:D

注釋:主調函數中b=0,在執(zhí)行fun1函數里的除法時發(fā)生溢出錯誤。

【】答案:B

【】答案:C

【】答案:D

注釋:在答案D中,正確的函數調用應當是:printf("%d",*y)。

【】答案:C

注釋:要注意與說明語句"int(*p)[];"的區(qū)別。說明語句"int(*p)[];"說明的是一個指向數組的指針。

【】答案:C

注釋:題干中由于*和p被小括號括起,所以p應被解釋為一個指針,而后的下標運算符[]說明所指向的對象是一個有4個int型元素的一維數組;如果是int(*p)(),則是指向函數的指針。對于int*p[4],則根據運算符的優(yōu)先級,先考慮p和[]運算符的關系,所以它就是一個指針數組了。

【】答案:B

注釋:選項B有兩處錯誤,一是數組名是常量,不能出現的賦值好的左側,二是指針變量只能和整數做加,不能和作為地址常量的數組名相加。

【】答案:D

注釋:s作為數組名是地址常量,而s++是s=s+1,C語言不允許對常量進行賦值。

【】答案:C

【】答案:C

注釋:a是二維數組名,a+1中的1不是1個字節(jié),而是數組的"一行",即10個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論