国产在线精品一级A片-国产另类欧美-国产精品va在线观看一-我要找美国一级片黄色|www.zheinei.com

C語言程序設(shè)計期末試題及答案

時間:2017-04-28 12:00:16 C語言試題 我要投稿

C語言程序設(shè)計期末試題及答案

  C語言既有高級語言的特點,又具有匯編語言的特點。以下是由陽光網(wǎng)小編整理關(guān)于C語言程序設(shè)計期末試題的內(nèi)容,希望大家喜歡!

C語言程序設(shè)計期末試題及答案

  C語言程序設(shè)計期末試題及答案(一)

  1.以下程序輸出結(jié)果是( )

  main()

  { int m=5;

  if(m++>5) printf("%d\n",m);

  else printf("%d\n",m--);

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

  2以下程序的輸出結(jié)果為( )

  # include <stdio.h>

  main ( )

  { int i=0, j=0, a=6;

  if ((++i>0)&&(++j>0)) a++;

  printf ("i=%d, j=%d, a=%d\n", i,j,a);}

  A) i=0, j=0, a=6 B) i=1, j=1, a=7

  C) i=1, j=0, a=7 D) i=0, j=1, a=7

  3有如下程序

  main()

  { int a=2,b=-1,c=2;

  if(a<b)

  if(b<0) c=0;

  else c++;

  printf("%d\n",c);

  }

  該程序的輸出結(jié)果是( )

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

  4若i為int型,且有程序如下,則輸出結(jié)果是( )

  i=111;

  if(i%3==0)

  printf("####");

  printf("****");

  A) #### B) **** C) ####**** D) 無輸出結(jié)果

  5若運行時x=12,則運行結(jié)果為( )

  {int x, y;

  scanf("%d", &x);

  y=x>12 ? x+10:x-12;

  printf("%d\n", y);}

  A) 0 B) 22 C) 12 D) 10

  6以下程序的輸出結(jié)果是( )

  main()

  { int i=0, j=0, k=6;

  if ((++i>0)||(++j>0)) k++;

  printf("%d, %d, %d\n", i, j, k);

  }

  A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7

  7若變量都已正確說明,則以下程序段輸出為( )

  int a=1,b=2,c=3;

  if(a>b)

  a=b;

  b=c;

  c=a;

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

  A)a=1 b=2 c=1 B)a=1 b=2 c=3

  C)a=1 b=3 c=1 D)a=2 b=3 c=2

  8當(dāng)a=1,b=3,c=5,d=4時,執(zhí)行完下面一段程序后x的值是( )

  if(a<b)

  if(c<d)x=1;

  else

  if(a<c)

  if(b<d)x=2;

  else x=3;

  else x=6;

  else x=7;

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

  9以下不正確的語句為( )

  A)if(x>y);

  B)if(x==y)&&(x!=0)x+=y;

  C)if(x!=y)scanf("%d",&x);else scanf("%d",&y);

  D)if(x<y){x++;y++;}

  10有以下程序:

  #include"stdio.h"

  main( )

  {char i;

  for (; (i=getchar ())!='\n';)

  {switch (i-'a')

  {case 0: putchar (i);

  case 1: putchar (i+1);break;

  case 2: putchar (i+2);

  case 3: break;

  default: putchar (i);break;

  }

  }

  printf ("\n");

  }

  輸入下列數(shù)據(jù)后,程序的輸出結(jié)果是( )

  abcde<CR>

  A) abcde B) abcee

  C) abbde D) abccdd

  11若a、 b、c1、c2、x、y、均是整型變量,正確的switch語句是( )

  A) switch(a+b); B) switch(a*a+b*b)

  { case 1:y=a+b; break; {case 3:

  case 0:y=a-b; break; case 1:y=a+b;break;

  } case 3:y=b-a,break;

  }

  C) switch a D) switch(a-b)

  { case 1 :y=a-b; break {

  case 2: x=a*d; break case c1:case 4:x=a+b;break;

  default:x=a+b; case c2:case 11:y=a-b;break;

  } default:y=a*b;break;

  }

  12寫出下面程序輸出結(jié)果( )

  {int x=1, y=0, a=0, b=0;

  switch(x)

  {case 1:

  switch(y)

  {case 0: a++;

  case 1: b++; }

  case 2: a++; b++;

  }

  printf("a=%d, b=%d\n", a, b) ;

  }

  A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2

  13C語言的for語句中的表達(dá)式可以部分或全部省略,但兩個( )不可省略。但當(dāng)三個表達(dá)式

  均省略后,因缺少判斷條件,循環(huán)會無限制地進(jìn)行下去,形成死循環(huán)。

  A) < B) ++ C) ; D) ,

  14下面有關(guān)for循環(huán)的正確描述是( )。

  A) for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況

  B) for循環(huán)是先執(zhí)行循環(huán)體語句,后判定表達(dá)式

  C) 在for循環(huán)中,不能用break語句跳出循環(huán)體

  D) for循環(huán)體語句中,可以包含多條語句,但要用花括號括起來

  15以下程序段( )。

  x=-1;

  do

  { x=x*x;}

  while(!x)

  A) 是死循環(huán) B) 循環(huán)執(zhí)行2次 C) 循環(huán)執(zhí)行一次 D) 有語法錯誤

  16如下的數(shù)組中,數(shù)組array占用的內(nèi)存空間是( )個字節(jié)。

  char array[]={'c','h','i','n','a'};

  A. 1 B. 5 C. 6 D. 不確定

  17設(shè)有程序段

  int k=10;

  while(k=0) k=k-1;

  則下面描述正確的是( )。

  A) while 循環(huán)執(zhí)行10次 B) 循環(huán)是無限循環(huán)

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

  18下列程序段的運行結(jié)果是( )

  int n=0;

  while(n++<3);

  printf("%d",n)

  A. 2 B. 3 C. 4 D. 以上都不對

  19設(shè)有程序段

  t=0;

  while(printf("*"));

  { t++;

  if (t<3) break;

  }

  下面描述正確的是( )。

  A) 其中循環(huán)控制表達(dá)式與0等價 B) 其中循環(huán)控制表達(dá)式與'0'等價

  C) 其中循環(huán)控制表達(dá)式是不合法的 D) 以上說法都不對

  20下面程序的運行結(jié)果是( )。

  #include <stdio.h>

  main()

  { int y=10;

  do { y--;} while(--y);

  printf("%d\n",y--);

  }

  A) -1 B) 1 C) 8 D) 0

  21以下程序段的輸出結(jié)果是( ).

  main()

  { int i=5;

  for ( ;i<=15; )

  { i++;

  if (i%4==0) printf("%d ",i);

  else continue;}

  }

  A. 8 12 16 B. 8 12 C. 12 16 D. 8

  22以下不是無限循環(huán)的語句為( )。

  A) for(y=0,x=1;x>++y;x=i++) i=x;

  B) for( ; ;x++=i);

  C) while(1){x++;}

  D) for(i=10; ; i--) sum+=i;

  23有如下語句

  int x=3;

  do

  { printf("%d\n",x-=2);} while(!(--x));

  則上面程序段( )

  A. 輸出的是1 B. 輸出的是1和-2

  C. 輸出的是3和0 D. 是死循環(huán)

  24以下不是無限循環(huán)的是( )

  A. for(y=0,x=1;x>++y;x=i++) i=x;

  B. for( ; ;x++=i);

  C. while(1) x++;

  D. for(i=10; ;i--) s+=i;

  25以下正確的描述是( )。

  A) continue語句的作用是結(jié)束整個循環(huán)的執(zhí)行

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

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

  D) 從多層循環(huán)嵌套中退出時,只能使用goto語句

  26以下程序輸出結(jié)果為( )

  #include "stdio.h"

  main()

  {int i,b,k=0;

  for(i=1;i<=5;i++)

  { b=i%2;

  while (b-->=0) k++;}

  printf("%d,%d\n",k,b);

  }

  A. 3,-1 B. 8,-1 C. 3,0 D. 8,-2

  27以下程序段中循環(huán)體總的執(zhí)行次數(shù)是( )

  int i,j;

  for(i=7;i;i--)

  for(j=0;j<6;j++)

  {......}

  A) 42 B) 21 C) 13 D) 36

  28以下不正確的描述是( )

  A. break 語句不能用于循環(huán)語句和switch語句外的任何其他語句

  B. 在switch語句中使用break語句或continue語句的作用相同

  C. 在循環(huán)語句中使用continue語句是為了結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行

  D. 在循環(huán)語句中使用break語句是為了使流程跳出循環(huán)體,提前結(jié)束循環(huán)

  1else語句總是和靠它最近的if匹配。

  2switch語句中一定有default分支

  3case后只能跟常量,不能跟變量

  4break語句的作用就是結(jié)束本層循環(huán)。

  5do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替。

  6用do-while語句構(gòu)成循環(huán)時,只要while后的表達(dá)式為0時就結(jié)束循環(huán)。

  7for(表達(dá)式1;表達(dá)式2;表達(dá)式3)中,表達(dá)式1和表達(dá)式3不能同時都是逗號表達(dá)式。

  8for循環(huán)中,如果表達(dá)式2為空,則該循環(huán)一定是死循環(huán)。

  9while循環(huán)的while()后沒有分號,而do-while循環(huán)的while()后一定要有一個分號。

  10for(i=0,j=10;i<=j;i++,j--) k=i+j;執(zhí)行完后,k的值為50。

  C語言程序設(shè)計期末試題及答案(二)

  一、選擇(每題2分,共30分)

  1. 下列選項中,不能用作標(biāo)識符的是( )。

  A. _1234_ B. _1_2 C. int_2_ D. 2_int_

  2. 下列字符常量不合法的`是( )。

  A. „2‟ B. „\101‟ C. „ab‟ D. „ \n‟

  3. 執(zhí)行以下程序后的輸出結(jié)果為( )。

  main( )

  { int x; float y;

  y=3.6; x=(int)y+10; printf(“x=%d,y=%f”,x,y); }

  A. x=13.6,y=3.600000 B. x=13,y=3.600000 C. x=13,y=3 D. x=13,y=3.6

  4. 以下選項中不合法的常量是 ( )。

  A. 123L B. 0x35 C. 018 D. 6e-2

  5. 設(shè)m=10,n=4,則賦值運算m%=n+1執(zhí)行后m的值是( )。

  A. 1 B. 2 C. 3 D. 0

  6. 下面程序的輸出結(jié)果為( )。

  main( )

  { int x=10,y=3,z; printf(“%d\n”,z=(x%y,x/y));}

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

  7. 下面程序的輸出結(jié)果為( )。

  main( )

  { int x=010,y=0x10,z=10; printf(“%d,%d,%d ”,x,y,z);}

  A. 10,10,10 B. 8,16,10 C. 16,8,10 D. 8,10,10

  8. 以下選項中不是C語句的是( )。

  A. {int i; i++; printf("%d\n", i); }

  C. a=5,c=10

  1 B. ; D. { ; }

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

  main( )

  { int x=2,y=-1,z=2;

  if( x<y)

  if(y<0) z=0;

  else z=z+1;

  printf(“%d”,z); }

  A. 0 B. 1 C. 2 D. 3

  10. 不能表達(dá):x為奇數(shù)時表達(dá)式為“真”,偶數(shù)時表達(dá)式為“假”的表達(dá)式是( )。

  A. x%2= =1 B. !(x%2= =0) C. !(x%2) D. x%2

  11. 以下程序段中while語句的循環(huán)次數(shù)是( )。

  int i=0;while(i=1) i++;

  A.無限次 B. 有語法錯誤,不能執(zhí)行 C. 一次也不執(zhí)行 D. 執(zhí)行一次

  12. 假設(shè)a,b均為字符數(shù)組以下正確的輸入語句是( )。

  A.gets(a,b); B. scanf(“%s %s”,a,b); C. scanf(“%s %s”,&a,&b); D.gets(“a”); gets(“b”);

  13. 若有定義:int a,*p; 則以下正確的賦值表達(dá)式是 )。

  A. p=&a B. p=a C. *p=&a D. *p=*a

  14. 以下函數(shù)調(diào)用語句中,func( (exp1,exp2),(exp3,exp4,exp5));含有的實參個數(shù)是( )。

  A. 1 B. 2 C. 3 D. 5

  15. 有以下定義:

  struct person{char name[9]; int age;}

  struct person class[10]={“Johu”,17,

  “Paul”,19,

  “Mary”,18,

  “Adam”,16,};

  則下面能輸出字母M的語句是( )。 A. printf(“%c\n”,class[3].name); B. printf(“%c\n”,class[3].name[1]); D. printf(“%c\n”,class[2].name[0]); C. printf(“%c\n”,class[2].name[1]);


【C語言程序設(shè)計期末試題及答案】相關(guān)文章:

1.2017年C語言程序設(shè)計期末試題及答案

2.C語言程序設(shè)計期末試題附答案

3.C語言期末試題及答案

4.2017年C語言程序設(shè)計期末復(fù)習(xí)試題及答案

5.C語言程序設(shè)計試題及答案(四)

6.C語言程序設(shè)計模擬試題及答案

7.C語言程序設(shè)計試題及答案全套

8.C語言程序設(shè)計試題及答案(一)