av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

C語(yǔ)言

C語(yǔ)言選擇題及答案

時(shí)間:2025-03-26 04:16:01 C語(yǔ)言 我要投稿

C語(yǔ)言選擇題及答案

  成績(jī)的取得離不開(kāi)我們平時(shí)的努力,以下是百分網(wǎng)小編為大家整理的C語(yǔ)言選擇題及答案,希望對(duì)大家的學(xué)習(xí)起到幫助!

  選擇題

  1.在深度為5的滿二叉樹(shù)葉中,葉子結(jié)點(diǎn)的個(gè)數(shù)為( )。

  A.32

  B.31

  C.16

  D.15

  2.軟件生命周期中,花費(fèi)最多的階段是( )。

  A.詳細(xì)設(shè)計(jì)

  B.軟件編碼

  C.軟件測(cè)試

  D.軟件維護(hù)

  3.視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)次序的是( )。

  A.自頂而下

  B.由內(nèi)向外

  C.由外向內(nèi)

  D.自底向上

  4.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是( )。

  A.順序存儲(chǔ)的有序線性表

  B.結(jié)性鏈表

  C.二叉鏈表

  D.有序線性鏈表

  5.以下敘述中錯(cuò)誤的是( )。

  A.對(duì)于double類型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出

  B.數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變

  C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出“下標(biāo)越界”的出錯(cuò)信息

  D.可以通過(guò)賦初值的方式確定數(shù)組元素的個(gè)數(shù)

  6.以下只有在使用時(shí)才為該類型變量分配內(nèi)存的存儲(chǔ)類型說(shuō)明是( )。

  A.auto和static

  B.auto和register

  C.register和static

  D.extern和register

  7.下列可作為C語(yǔ)言賦值的語(yǔ)句的是( )。

  A.x一3,y=5

  B.a=b=6

  C.i--;

  D.a,c

  8.若整型變量a、b、c、d中的值依次為2、2、3、4,則條件表達(dá)式a  A.1

  B.2

  C.3

  D.4

  9.下列敘述中錯(cuò)誤的是( )。

  A.線性表是由n個(gè)元素組成的一個(gè)有限序列

  B.線性表是一種線性結(jié)構(gòu)

  C.線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件

  D.線性表可以是空表

  10.以下程序執(zhí)行后sum的值是( )。

  main()

  { int i,sum;

  for(i=1;i<6;i++)sum+=i:

  printf("1%d\n",sum):

  }

  A.15

  B.14

  C.不確定

  D.0

  11.設(shè)j為Int型變量,則下面for循環(huán)語(yǔ)句的執(zhí)行結(jié)果是( )。

  for(j=10;j>3;j--)

  { if(j%3)j--;

  --j;--j;

  printf("%d",j);

  }

  A.6 3

  B.7 4

  C.6 2

  D.7 3

  12.表示關(guān)系X<=Y<=Z的C語(yǔ)言表達(dá)式為( )。

  A.(X<=Y)&&(Y<=Z)

  B.(X<=Y)AND(Y<=Z)

  C.(X<=Y<=Z)

  D.(X<一Y)&(Y<一Z)

  13.設(shè)有如下定義:

  int arr[]={6,7,8,9,10);

  int*ptr:

  ptr=arr;

  *(ptr2)=2;

  printf("%d,%d\n",*ptr,*(ptr2)):

  則下列程序段的輸出結(jié)果為( )。

  A.8,10

  B.6,8

  C.7,9

  D.6,2

  14.設(shè)有定義語(yǔ)句:

  int x[-6]={2,4,6,8,5,7),*p=X,i;

  要求依次輸出X數(shù)組6個(gè)元素中的值,不能完成此操作的語(yǔ)句是( )。

  A.for(i=0;i<6;i++)printf("%2d",*(p++));

  B.for(i=0;i<6;i++)printf("%2d",*(pq-i));

  C.for(i=0;i<6;i++)printf("%2d",*p++);

  D.for(i=0;i<6;i++)printf("%2d",*(p)++);

  15.數(shù)字字符0的ASCII值為48,運(yùn)行以下程序的輸出結(jié)果是( )。

  main()

  ( char a=’1’,b=’2’;

  printf("%C,",b++);printf("%d\n",b—a);}

  A.3,2

  B.50,2

  C.2,2

  D.2,50

  16.設(shè)有如下定義:

  int(*ptr)();

  則以下敘述中正確的是( )。

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

  B.ptr是指向int型數(shù)據(jù)的指針變量

  C.ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)

  D.ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指int型數(shù)據(jù)的指針

  17.設(shè)有定義的語(yǔ)句:“char c1=92,c2=92;”,則以下表達(dá)式中的值為零的是( )。

  A.c1^c2

  B.c1&c2

  C.~c2

  D.c1 | c2

  18.以下程序的輸出結(jié)果是( )。

  void fun(int*a,int i,int i)

  {int t;

  if(i   { t=a[i[;a[i]=a[j];a[j]一t;

  i++;j--;

  fun(a,i,j);

  }

  }

  main()

  { int K[]={2,6,1,8},i;

  fun(x,0,3);

  for(i=0;i<1;i++)printf("%2d",x[i]);

  printf("\n");

  }

  A.1,2,6,8

  B.8,6,2,1

  C.8,1,6,2

  D.8,6,1,2

  19.有以下程序:

  main()

  {int i,j;

  for(j=10;j<11;j++)

  { for(i=9;i   if(!(j%i))break;

  if(i==j-1)

  printf("%d",j);

  }

  }

  輸出結(jié)果是( )。

  A.11

  B.10

  C.9

  D.10 11

  11.設(shè)j為Int型變量,則下面for循環(huán)語(yǔ)句的執(zhí)行結(jié)果是( )。

  for(j=10;j>3;j--)

  { if(j%3)j--;

  --j;--j;

  printf("%d",j);

  }

  A.6 3

  B.7 4

  C.6 2

  D.7 3

  12.表示關(guān)系X<=Y<=Z的C語(yǔ)言表達(dá)式為( )。

  A.(X<=Y)&&(Y<=Z)

  B.(X<=Y)AND(Y<=Z)

  C.(X<=Y<=Z)

  D.(X<一Y)&(Y<一Z)

  13.設(shè)有如下定義:

  int arr[]={6,7,8,9,10);

  int*ptr:

  ptr=arr;

  *(ptr2)=2;

  printf("%d,%d\n",*ptr,*(ptr2)):

  則下列程序段的輸出結(jié)果為( )。

  A.8,10

  B.6,8

  C.7,9

  D.6,2

  14.設(shè)有定義語(yǔ)句:

  int x[-6]={2,4,6,8,5,7),*p=X,i;

  要求依次輸出X數(shù)組6個(gè)元素中的值,不能完成此操作的語(yǔ)句是( )。

  A.for(i=0;i<6;i++)printf("%2d",*(p++));

  B.for(i=0;i<6;i++)printf("%2d",*(pq-i));

  C.for(i=0;i<6;i++)printf("%2d",*p++);

  D.for(i=0;i<6;i++)printf("%2d",*(p)++);

  15.數(shù)字字符0的ASCII值為48,運(yùn)行以下程序的輸出結(jié)果是( )。

  main()

  ( char a=’1’,b=’2’;

  printf("%C,",b++);printf("%d\n",b—a);}

  A.3,2

  B.50,2

  C.2,2

  D.2,50

  16.設(shè)有如下定義:

  int(*ptr)();

  則以下敘述中正確的是( )。

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

  B.ptr是指向int型數(shù)據(jù)的指針變量

  C.ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)

  D.ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指int型數(shù)據(jù)的指針

  17.設(shè)有定義的語(yǔ)句:“char c1=92,c2=92;”,則以下表達(dá)式中的值為零的是( )。

  A.c1^c2

  B.c1&c2

  C.~c2

  D.c1 | c2

  18.以下程序的輸出結(jié)果是( )。

  void fun(int*a,int i,int i)

  {int t;

  if(i   { t=a[i[;a[i]=a[j];a[j]一t;

  i++;j--;

  fun(a,i,j);

  }

  }

  main()

  { int K[]={2,6,1,8},i;

  fun(x,0,3);

  for(i=0;i<1;i++)printf("%2d",x[i]);

  printf("\n");

  }

  A.1,2,6,8

  B.8,6,2,1

  C.8,1,6,2

  D.8,6,1,2

  19.有以下程序:

  main()

  {int i,j;

  for(j=10;j<11;j++)

  { for(i=9;i   if(!(j%i))break;

  if(i==j-1)

  printf("%d",j);

  }

  }

  輸出結(jié)果是( )。

  A.11

  B.10

  C.9

  D.10 11

  20.有以下程序.

  #include

  main()

  { char c1,c2,c3,c4,c5,c6;

  scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

  c5=getchar(); c6=getchar();

  putchar(c1);putchar(c2);

  printf("%c%c\n",c5,c6);

  }

  程序運(yùn)行后,若從鍵盤輸入(從第l列開(kāi)始)

  123<回車>

  45678<回車>

  則輸出結(jié)果是( )。

  A.1267

  B.1256

  C.1278

  D.1245

  21.執(zhí)行下面的程序后,a的值為( )。

  main()

  { int a,b;

  for(a=1,b=1;a<=10;a++)

  { if(b%3==l)

  { b+=3;

  continue;}

  b-=5;}}

  A.7

  B.8

  C.9

  D.10

  22.下列敘述中正確的是( )。

  A.用E—R圖能夠表示實(shí)體集之間一對(duì)一的聯(lián)系、一對(duì)多的聯(lián)系、多對(duì)多的聯(lián)系

  B.用E—R圖只能表示實(shí)體集之間一對(duì)一的聯(lián)系

  C.用E—R圖只能表示實(shí)體集之間一對(duì)多的聯(lián)系

  D.用E—R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型

  23。若有運(yùn)算符:>、一、<<、%、sizeof,則它們按優(yōu)先級(jí)(由高至低)的正確排列順序?yàn)? )。

  A.%、sizeof、>、<<、=

  B.sizeof、%、>、=、<<

  C.sizeof、<<、>、%、=

  D.sizeof、%、<<、>、=

  24.若變量a,b已正確定義,且b已正確賦值,則合法的語(yǔ)句是( )。

  A.b=double(b);

  B.(int)a=(int)b;

  C.a=a++=5;

  D.a=double(b);

  25.執(zhí)行下列程序中的輸出語(yǔ)句后,a的值是( )。

  main()

  { int a;

  printf("%d\n",(a=2*3,a*5,a+7));

  }

  A.17

  B.37

  C.6

  D.13

  26.運(yùn)行下列程序時(shí),若輸入的數(shù)據(jù)為“1,2,3”,則輸出結(jié)果是( )。

  main()

  { float a,b,c,t;

  scanf("%f,%f,%f",&a,&b,&c);

  if(a   {t=a;a=b.b=t;)

  if(a   {t=a;a=c;c=t;)

  it(b   {t=b;b=C;c—=;)

  printf("%f\n%f\n%f\n",a,b,c);

  }

  A.1.00

  2.00

  3.00

  B.1.00

  3.00

  2.00

  C.1

  3

  2

  D.3.00000

  2.00000

  1.00000

  27.設(shè)有程序段:

  int k=12:

  while(k=1)k=k一1;

  則下列描述中正確的是( )。

  A.while循環(huán)執(zhí)行10次

  B.循環(huán)是無(wú)限循環(huán)

  C.循環(huán)體語(yǔ)句一次也不執(zhí)行

  D.循環(huán)體語(yǔ)句執(zhí)行一次

  28.在執(zhí)行完下列的c語(yǔ)句段之后,則B的值是( )。

  char a=’A’;

  int b;

  B=((34&&56)&&(a<’b’));

  A.0

  B.1

  C.TRUE

  D.FALSE

  29.有下列函數(shù)定義:

  fun(float h)

  { printf("%f,%f\n",h,h*h);)

  該函數(shù)的類型是( )。

  A.int類型

  B.float類型

  C.void類型

  D.函數(shù)無(wú)類型說(shuō)明,定義有錯(cuò)

  30.有下列程序段:

  int n,t=1,S=0;

  scanf("%d",&n);

  do{s=s+t;t=t-2;while(t!=n);

  為使此程序段不陷入循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是( )。

  A.任意正奇數(shù)

  B.任意負(fù)偶數(shù)

  C.任意正偶數(shù)

  D.任意負(fù)奇數(shù)

  31.若有說(shuō)明語(yǔ)句:double*p,a;則通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀人數(shù)據(jù)的程序段是( )。

  A.*p=&a;scanf("%1f”,p);

  B.*p=&a;scanf("%f",p);

  C.p=&a;scanf("%",*p);

  D.p=&a;scanf("%1f",p);

  32.下列程序的輸出結(jié)果是( )。

  #include

  main()

  { int a[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;

  p=a ;

  for(i=0;i<3;i++)

  { if(i<2)

  p[1][i]=p[1][i]-1;

  else

  p[1][i]=1;

  }

  printf("%d\n",a[o][1]+a[1][1]+a[1][2]);

  }

  A.8

  B.7

  C.12

  D.9

  33.執(zhí)行下列程序后,輸出的結(jié)果是( )。

  #include

  #define S(X) X*X

  void main()

  { int a=9,k=3,m=2;

  a/=S(k+m)/S(k+m):

  printf("%d",a);

  }

  A.1

  B.4

  C.9

  D.0

  34.設(shè)x=015,則x=x^017的值是( )。

  A.00001111

  B.11111101

  C.00000010

  D.1 1000000

  35.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是( )。

  A.EOF B.-l

  c.非零值D.0

  36.設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語(yǔ)句:

  if(a  if(c==d)y=0;

  else y=1;

  該語(yǔ)句所表示的含義是( )。

  A.y=0,a   y=1,a≥b

  B.y=0,a   y=1,a≥b且c≠d

  C.y=0,a   y=1,a  D.y=0,a   y=1,c≠d

  37.下列程序的運(yùn)行結(jié)果是( )。

  #include

  void main()

  {int s=0,k;

  for(k=7;k>1;k--)

  {switch(k)

  {case 1:

  case 4:

  case 7:

  s++:

  break;

  case 2:

  case 3:

  case 6:break;

  case 0:

  case 5:

  s+=2:

  break;

  }}

  printf("s=%d",s);

  }

  A.s=3

  B.s=4

  C.s=5

  D.無(wú)輸出結(jié)果

  38.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是( )。

  for(i=6;i>0;i--)

  for(j=0;j<4;j++){…}

  A.20

  B.24

  C.25

  D.30

  39.下列敘述中正確的是( )。

  A.只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句

  B.eotinue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行

  C.在循環(huán)體內(nèi)使用break語(yǔ)句或continue語(yǔ)句的作用相同

  D.從多層循環(huán)嵌套中退出時(shí),只能使用got0語(yǔ)句

  40.有以下程序:

  #include

  void WriteStr(char*fn.char*str)

  { FILE*fp;

  fp=fopen(fn,"w");fputs(str,fp);fclose(fp);}

  main()

  { WriteStr("tl.dat","start");

  WriteStr("t1.dat","end");)

  程序運(yùn)行后,文件t1.dat中的內(nèi)容是( )。

  A.start

  B.end

  C.startend

  D.endrt

  選擇題答案與解析:

  1.C!窘馕觥扛鶕(jù)二叉樹(shù)的性質(zhì)及定義,一棵深度為k 且有2k-1個(gè)結(jié)點(diǎn)的二叉樹(shù)為滿二叉樹(shù)。滿二叉樹(shù)的葉子結(jié)點(diǎn)為最后一層的結(jié)點(diǎn)數(shù),又根據(jù)滿二叉樹(shù)的性質(zhì),在滿二叉樹(shù)的第i層上至多有2i-1個(gè)結(jié)點(diǎn)。因此深度為5的滿二叉樹(shù)的葉子結(jié)點(diǎn)數(shù)為25-1=16個(gè)。

  2.D!窘馕觥勘绢}考查對(duì)軟件生命周期的理解,軟件生命周期整體上可分為定義階段、開(kāi)發(fā)階段和維護(hù)階段。其中定義階段包括可行性研究與計(jì)劃制訂和需求分析;開(kāi)發(fā)階段包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、開(kāi)發(fā)和測(cè)試;維護(hù)階段是一個(gè)單獨(dú)階段,不包含在開(kāi)發(fā)階段內(nèi),它是所花費(fèi)用最多的一個(gè)階段。

  3.C。【解析】視圖設(shè)計(jì)的設(shè)計(jì)次序分3種:自頂向下、自底向上和由內(nèi)向外。它們?yōu)橐晥D設(shè)計(jì)提供了具體的操作方法,設(shè)計(jì)者可根據(jù)實(shí)際情況靈活掌握。

  4.A!窘馕觥慷址ú檎抑挥糜陧樞虼鎯(chǔ)的有序線性表,而順序查找用在順序存儲(chǔ)的非有序線性表和線性鏈表。

  5.C!窘馕觥繑(shù)組下標(biāo)從0開(kāi)始,當(dāng)數(shù)組元素的下標(biāo)超出了定義的范圍時(shí),系統(tǒng)不會(huì)出“下標(biāo)越界”的信息,運(yùn)行會(huì)出錯(cuò),因此在編程時(shí)務(wù)必檢查下標(biāo)是否越界。

  6.B!窘馕觥吭谟渺o態(tài)static與外部extern定義變量時(shí),系統(tǒng)立刻給其分配內(nèi)存,而定義自動(dòng)類auto與強(qiáng)制放入寄存器register類型變量時(shí),只有當(dāng)使用時(shí)才分配內(nèi)存。

  7.C!窘馕觥勘绢}考查賦值語(yǔ)句,而選項(xiàng)A、B是表達(dá)式,不合題意,選項(xiàng)D中強(qiáng)制類型轉(zhuǎn)換,應(yīng)把類型名用括號(hào)括起來(lái),選項(xiàng)C中i--也可寫成i=i-1,故選擇c選項(xiàng)。

  8.C!窘馕觥勘绢}考查三目運(yùn)算符a  9.C!窘馕觥烤性表可以是空表,在線性表中,第一個(gè)結(jié)點(diǎn)沒(méi)有前驅(qū)結(jié)點(diǎn)(前件),最后一個(gè)結(jié)點(diǎn)沒(méi)有后繼結(jié)點(diǎn),其他結(jié)點(diǎn)有且只有一個(gè)前驅(qū)點(diǎn)(后繼點(diǎn))。

  10.C!窘馕觥縮um+=i等價(jià)于sun+i,在本題中sum 沒(méi)有賦初值,而題中只輸出sum的值,因此整個(gè)結(jié)果為不確定值。

  11.B!窘馕觥慨(dāng)j=10時(shí),for循環(huán)成立,j%3為1,if條件也為真,當(dāng)執(zhí)行完j--后,j為9,再執(zhí)行“--j;--J;”后,j的值為7,因此輸出7,繼續(xù)循環(huán)執(zhí)行j--后j為6,當(dāng)j

  =6時(shí)for循環(huán)成立,j%3為0,if條件為假,此時(shí)執(zhí)行“-- j;--j;”后,j為4,輸出4,再繼續(xù)循環(huán)執(zhí)行j--后j為3,當(dāng)j=3時(shí),for循環(huán)不成立,退出循環(huán),故選擇8選項(xiàng)。

  12.A!窘馕觥款}中X<=Y<=Z的意思為X<=Y 并且Y<=Z,在c語(yǔ)言中,要表示“且”的關(guān)系,應(yīng)用“與”邏輯運(yùn)算符,即“&&”,故選擇A選項(xiàng)。

  13.D!窘馕觥砍绦蛑衟tr指針指向數(shù)組art的首地址,*ptr=arr[0]=6,*(ptr2)=2,故選D。

  14.D。【解析】本題要求輸出每個(gè)元素的值,D選項(xiàng)中(*p)++等價(jià)于*p=*p+1,其僅僅是對(duì)*p加1,并沒(méi)有達(dá)到輸出其每個(gè)值的作用。

  15.C!窘馕觥縝++是先用表達(dá)式的值然后自增l,因此表達(dá)式值為’2 ’,b為’3 ’;b-a=’3 ’-’1’=2,因此最后輸出的結(jié)果為2,2,前一個(gè)為字符2,后一個(gè)為數(shù)字2。

  16.C。【解析】本題中int(*ptr)()的含義是指向函數(shù)

  的指針變量,其為指向函數(shù)的指針變量,該函數(shù)返回一個(gè)int 型數(shù)據(jù),故選擇C選項(xiàng)。

  17.A!窘馕觥慨(dāng)值相同時(shí)按位異或,則為0,按位或與按位與時(shí)仍不變,負(fù)數(shù)也為非0。

  18.C!窘馕觥勘绢}用了函數(shù)調(diào)用,fun中if語(yǔ)句成立則進(jìn)行i,j的交換,用到主函勢(shì)中則為把下標(biāo)為0、3,1、2互換,因此,當(dāng)執(zhí)行完后X的數(shù)組為8,1,6,2,故選擇C選項(xiàng)。

  19.B!窘馕觥勘绢}考多循環(huán)的使用,當(dāng)j=10,i=9時(shí), 循環(huán)成立,第一個(gè)if條件為假,第二個(gè)if條件i==j-1成立,則輸出j的值為10,接者執(zhí)行i++后,i為10;當(dāng)i為10,for循環(huán)不成立,退出內(nèi)層循環(huán),此時(shí)執(zhí)行j++后,j為11,循環(huán)不成立,退出循環(huán)。

  20.D!窘馕觥縮canf函數(shù)讀取的是char型數(shù)據(jù),所以回車時(shí)輸入的換行符也是有效字符。于是cl,c2,c3,c4的內(nèi)容分別是1,2,3,’\n’。

  21.D!窘馕觥勘绢}考查continue的用法,continue語(yǔ)句的作用是結(jié)束本次循環(huán),直接進(jìn)行下次循環(huán)。所以在程序中,只有當(dāng)a=10時(shí),才退出循環(huán),故選擇D選項(xiàng)。

  22.A。【解析】用E—R圖可以描述實(shí)體及其相互之間的聯(lián)系,還可以描述多個(gè)實(shí)體集之間的聯(lián)系和一個(gè)實(shí)體集內(nèi)部實(shí)體之間的聯(lián)系。用E—R圖表示的概念數(shù)據(jù)模型不僅能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型,還可以轉(zhuǎn)換為其他數(shù)據(jù)模型,如網(wǎng)狀模型和層次模型等。所以A的說(shuō)法正確。

  23.D!窘馕觥恐饕疾檫\(yùn)算符的優(yōu)先級(jí)。sizeof的優(yōu)先級(jí)最高,其次是%<<>.優(yōu)先級(jí)最低的是“=”。

  24.B。【解析】在C語(yǔ)名中規(guī)定進(jìn)行強(qiáng)制類型轉(zhuǎn)換的格式是:(類型名)變量名;并且給表達(dá)式賦值。

  25.C!窘馕觥勘绢}考查逗號(hào)表達(dá)式。程序輸出時(shí)輸出一個(gè)%d,所以輸出第一個(gè)a的值與后續(xù)無(wú)關(guān)。

  26.D!窘馕觥勘绢}考查if語(yǔ)句。第1個(gè)if語(yǔ)句,如果

  a  27.C。【解析】本題考查while,while循環(huán)表達(dá)式k=1是個(gè)賦值表達(dá)式而不是邏輯表達(dá)式,k的初值為12不符合循環(huán)條件,所以循環(huán)體一次也不執(zhí)行。

  28.B!窘馕觥勘绢}考查3個(gè)知識(shí)點(diǎn):將一個(gè)字符賦給一個(gè)字符變量時(shí),是將該字符對(duì)應(yīng)的ASCIl碼存儲(chǔ)到內(nèi)存單元中;常見(jiàn)ASCII碼的值如A和a;只要邏輯與運(yùn)算符&&的兩個(gè)運(yùn)算對(duì)象都為真時(shí),返回值就是1。

  29.A!窘馕觥勘绢}考查函數(shù)值的類型,在函數(shù)定義時(shí), 由于函數(shù)沒(méi)有說(shuō)明其類型,系統(tǒng)默認(rèn)一律自動(dòng)按整型(int)

  處理。

  30.D。【解析】本題主要考查do—while循環(huán),因?yàn)樽兞縯的初始值等于1,經(jīng)過(guò)第一次do-while循環(huán)后,執(zhí)行t= t-1這條語(yǔ)句一次,所以變量t的值為-1,判斷關(guān)系表達(dá)式t!=n是否成立,如果關(guān)系表達(dá)式成立,則執(zhí)行第二次循環(huán),如果關(guān)系表達(dá)式不成立,退出循環(huán)。由此可見(jiàn),只要輸入變量n的值為負(fù)奇數(shù),則一定會(huì)使t==n成立,故退出do-while循環(huán)。

  31.D。【解析】double*p,a定義了一個(gè)指向雙精度型的指針變量P和雙精度型變量a,p=&a表示將變量a的地址賦給指針變量p;scanf("%If",p)表示用鍵盤輸入的數(shù)賦給指針變量P所指向的地址單元中,scanf()函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f。否則,數(shù)據(jù)不能正確輸入。所以選項(xiàng)D正確。

  32.B。【解析】本題考查for循環(huán)及if…else語(yǔ)句嵌套,第1次執(zhí)行for循環(huán),p[1][0]=p[1][0]=p[1][0]-1=3;第2 次執(zhí)行for循環(huán),p[1][1]=p[1][1]-1=4;第3次執(zhí)行for 循環(huán),p[1][2]=l,最后輸出的是a[0][1]+a[1][1]+a[1] [2]=2+4+1=7。

  33.D!窘馕觥勘绢}主要考查帶參數(shù)的宏定義,過(guò)程如下:由于定義為define(x) x*x沒(méi)有括號(hào)優(yōu)先級(jí),所以:a= a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m) =9/(3+2*3+2/3+2*3+2)=0。

  34.C!窘馕觥勘绢}考查按位異或運(yùn)算,異或就是相同為0,不同為1(化為二進(jìn)制00001101),017的二進(jìn)制為000001111,兩者異或結(jié)果為00000010。

  35.D!窘馕觥勘绢}考查leon(tp)函數(shù),其功能是:測(cè)試所指的文件的位置指針是否已達(dá)到文件尾,如果已達(dá)到文件尾,則函數(shù)返回非0值;否則返回0,表示文件未結(jié)束。

  36.C。【解析】語(yǔ)句“if(c==d)y=0;else y=1;”是if(a   37.B!窘馕觥窟\(yùn)行程序,當(dāng)k=7時(shí)switch(7)執(zhí)行case:7,s++后s=1,break跳出。k--,k=7繼續(xù)循環(huán)switch(6),執(zhí)行case 6;直接跳出循環(huán),k--變成5,繼續(xù)循環(huán)switch(5),執(zhí)行case 5后面的語(yǔ)句s+=2,也相當(dāng)于s= s+2,此時(shí)s為3,break跳出,k變?yōu)?,繼續(xù)循環(huán),執(zhí)行case 4為空,繼續(xù)執(zhí)行case 7;s++為4跳出循環(huán),k--變?yōu)?,繼續(xù)循環(huán),執(zhí)行case 3,空語(yǔ)句往下執(zhí)行case 6,跳出,k -- 為2,繼續(xù)循環(huán),執(zhí)行case 2;空語(yǔ)句往下執(zhí)行case 3,空語(yǔ)句再執(zhí)行case 7,跳出循環(huán),k--為1不符合循環(huán),退出,此時(shí)S=4。

  38.B!窘馕觥勘绢}考查for循環(huán)的使用。對(duì)于第1個(gè)for循環(huán),任何一個(gè)i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時(shí)不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4 時(shí)退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語(yǔ)句執(zhí)行6次,第二條for語(yǔ)句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4 =24次。

  39.A!窘馕觥勘绢}考查循環(huán)跳出的知識(shí)點(diǎn):①break語(yǔ)句可以出現(xiàn)在switch循環(huán)體內(nèi)及語(yǔ)句體內(nèi),它的作用是跳出循環(huán)體,不能用于其他的語(yǔ)句;②continue語(yǔ)句的作用是結(jié)束本次循環(huán),即跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,而接著判定循環(huán)條件是否成立,確定下一次循環(huán)是否繼續(xù)執(zhí)行,執(zhí)行contiune語(yǔ)句不會(huì)使整介循環(huán)終止;③循環(huán)體內(nèi)使用break語(yǔ)句會(huì)使循環(huán)提前終止;④從多層循環(huán)嵌套中退出時(shí),可以使用90t0語(yǔ)句或者break語(yǔ)句。

  40.B!窘馕觥坑"w"方式打開(kāi)文件,意思是如果文件名相同則覆蓋原來(lái)的文件,所以當(dāng)再次輸入時(shí)覆蓋了第一次的內(nèi)容,B選項(xiàng)正確。

【C語(yǔ)言選擇題及答案】相關(guān)文章:

C語(yǔ)言試題及答案07-26

C語(yǔ)言經(jīng)典例題及答案06-19

C語(yǔ)言習(xí)題及答案09-24

計(jì)算機(jī)二級(jí)《C語(yǔ)言》選擇題題庫(kù)與答案07-27

計(jì)算機(jī)二級(jí)《C語(yǔ)言》選擇題題庫(kù)及答案11-16

C語(yǔ)言模擬試題及答案09-19

C語(yǔ)言筆試題及答案02-13

C語(yǔ)言模擬試題及答案06-17

2017最新計(jì)算機(jī)二級(jí)《C語(yǔ)言》選擇題及答案10-27