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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

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

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

【】以下不正確的C語言標(biāo)識符是____。

A)intB)a_1_2C)ab1exeD)_x

【】以下是正確的C語言標(biāo)識符是____。

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

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

A)printB)i\amC)PxqD)str_l

_3done_halfMy->bookCpp

oodbstart$itline#pow

aBc3paiwhile

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

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

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

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

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

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

C)它所調(diào)用的函數(shù)的前面D)程序文件的任何位置

【】下列關(guān)于C語言的敘述錯誤的是____

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

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

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

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

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

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語言中,整數(shù)-8在內(nèi)存中的存儲形式是。

A)1111111111111000B)1000000000001000

C)000

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

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

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

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

【】下列轉(zhuǎn)義字符中錯誤的一個是____。

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的數(shù)據(jù)類型是。

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

9

賦值表達(dá)式是____。

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

C

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

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

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

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

【】為求出s=10!的值,則變量s的類型應(yīng)當(dāng)為。

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

【】已知inti=10;表達(dá)式"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的值不是數(shù)字也不是字母時,應(yīng)采用下述表達(dá)式____。

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};則表達(dá)式"a[0][0]/a[0][1]/a[0][2]"的值是____。

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

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

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

【】用十進(jìn)制表示表達(dá)式"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

【】在位運算中,操作數(shù)每右移一位,其結(jié)果相當(dāng)于____。

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

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

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

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

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

【】表達(dá)式sizeof(double)是。

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

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

【】已知:intx,y;doublez;則以下語句中錯誤的函數(shù)調(diào)用是。

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);

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

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)次數(shù)不定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)數(shù)組定義有誤

【】若用數(shù)組名作為函數(shù)調(diào)用時的實參,則實際上傳遞給形參的是。

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

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

【】對二維數(shù)組的正確說明是____。

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};

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

A)chars[]="Beijing";

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

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

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

【】對字符數(shù)組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'};

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

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

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

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

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

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

A)externB)registerC)autoD)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(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;

}}

【】求一個角的正弦函數(shù)值的平方。能夠?qū)崿F(xiàn)此功能的函數(shù)是____。

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)));

}【】一個函數(shù)內(nèi)有數(shù)據(jù)類型說明語句如下:

doublex,y,z(10);

關(guān)于此語句的解釋,下面說法正確的是____。

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

B)z是一個函數(shù),小括號內(nèi)的10是它的實參的值。

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

D)語句中有錯誤。

【】已知函數(shù)定義如下:

floatfun1(intx,inty)

{floatz;

z=(float)x/y;

return(z);

}

主調(diào)函數(shù)中有inta=1,b=0;可以正確調(diào)用此函數(shù)的語句是____。

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

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

【】下面函數(shù)的功能是____。

a(s1,s2)

chars1[],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ù)

【】已知:inta,*y=&a;則下列函數(shù)調(diào)用中錯誤的是。

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

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

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

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

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

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

D)以上都不對

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

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

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

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

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

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

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

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

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];

則以下能夠正確表示數(shù)組元素a[1][2]的表達(dá)式是。

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的表達(dá)式是。

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)--;之后,數(shù)組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;則能夠正確引用數(shù)組元素的語句是。

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

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

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;則對于結(jié)構(gòu)變量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};

下述表達(dá)式中,值為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;

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

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;

則以下表達(dá)式中值為2的是。

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

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

structpupil

{charname[20];

intsex;

}pup,*p;

p=&pup;

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

【】以下對結(jié)構(gòu)變量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í)行下述語句的輸出結(jié)果是____。

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

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

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

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

【】C語言中標(biāo)準(zhǔn)輸入文件stdin是指。

A)鍵盤B)顯示器C)鼠標(biāo)D)硬盤

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

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

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

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

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

【】fscanf函數(shù)的正確調(diào)用形式是。

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

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

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

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

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

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));后的輸出結(jié)果是____。

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

【】已知宏定義如下:

#definePRprintf

#defineNL"\n"

#defineD"%d"

#defineD1DNL

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

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

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

【】答案:A

注釋:int是C語言的關(guān)鍵字

【】答案:B

【】答案:A

【】答案:B

注釋:include是預(yù)處理命令;scanf是函數(shù)名;type不是C語言的關(guān)鍵字。

【】答案:D

【】答案:D

【】答案:A

【】答案:A

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

【】答案:D

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

【】答案:B

注釋:長整型數(shù)32768在計算機內(nèi)的表示是1000000000000000,以一般整型進(jìn)行輸出時,此數(shù)恰是-32768的補碼。

【】答案:C

注釋:長整型數(shù)65539在計算機內(nèi)的表示是00010000000000000011,以一般整型進(jìn)行輸出時,僅將右側(cè)16位二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。

【】答案:A

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

【】答案:D

【】答案:C

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

【】答案:C

【】答案:D

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

【】答案:A

【】答案:B

【】答案:A

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

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

【】答案:C

【】答案:A

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

【】答案:C

【】答案:B

【】答案:B

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

【】答案:D

【】答案:B

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

【】答案:A

【】答案:D

【】答案:B

【】答案:B

【】答案:B

【】答案:A

【】答案:C

【】答案:C

【】答案:C

【】答案:D

【】答案:D

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

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

【】答案:D

【】答案:C

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

【】答案:D

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

【】答案:A

【】答案:C

【】答案:C

【】答案:D

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

【】答案:C

【】答案:A

【】答案:C

【】答案:C

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

【】答案:D

注釋:D選項缺少字符串結(jié)束標(biāo)志。

【】答案:C

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

【】答案:A

【】答案:D

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

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

【】答案:A

【】答案:A

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

【】答案:C

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

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

【】答案:D

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

【】答案:B

【】答案:C

【】答案:D

注釋:在答案D中,正確的函數(shù)調(diào)用應(yīng)當(dāng)是:printf("%d",*y)。

【】答案:C

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

【】答案:C

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

【】答案:B

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

【】答案:D

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

【】答案:C

【】答案:C

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

溫馨提示

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

評論

0/150

提交評論