日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

C語言期中考試試題A標準答案

 七克白菜 2013-06-24

一.選擇題(每題2分,共20)

1下面不是C語言關鍵字的是   C 

Avolatile            B. unsigned

C. Do          D. void

2. 下面不是C語言合法標識符的是  B   

Afine5            B. &i

C._score            D. flag

3. C語言規(guī)定,簡單變量做實參時,它和對應形參之間的數(shù)據(jù)傳達方式是  A    .

A. 單向值傳遞                             B. 地址傳遞.

C.由實參傳給形參再有形參傳回給實參.     D.由用戶指定傳遞方式.

4若用數(shù)組名作為函數(shù)調用的實參傳遞給形參的是 D  .

   A.數(shù)組元素的個數(shù).            B.數(shù)組第一個元素的值.

   C.數(shù)組中全部元素的值.        D. 數(shù)組的首地址.

5.下面正確的定義語句是   D

Aint a[1][4]={1,2,3,4,5};          B. double y[][3]= 0;

C. long b[2][3]={{1},{1,2},{1,2,3}};       D. float x[][3]={{1},{2},{3}}; 

6C語言規(guī)定,函數(shù)返回值的類型是由  A   .

A. 在定義該函數(shù)時所指定的函數(shù)類型所決定

B.調用該函數(shù)時的主調函數(shù)類型所定決.

C.調用該函數(shù)是系統(tǒng)時決定.         

D. return語句中的表達式類型所決定.

7.設有程序段

  int k=3;

  while(k) k=k-1;

  則下面描述中正確的是 C  .

 A. 循環(huán)體語句一次也不執(zhí)行           B.循環(huán)是無限循環(huán)

 C. while循環(huán)執(zhí)行3.             D.循環(huán)體語句執(zhí)行一次

8. 根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語句的正確形式為    D

Ascanf(“%f,%f”,&f1,&f2)           B. scanf(“%3.2f%2.1f”,&f1&f2);

C. scanf(“%3.2f%2.1f”,&f1,&f2);       D. scanf(“%f%f”,&f1,&f2);

9. .以下敘述不正確的是  C    .

A. 一個C源程序必須包含一個main函數(shù)      B.. 一個C源程序可有一個或多個函數(shù)組成.

C. C程序中,注釋說明只能位于一條語句的后面.     D. C程序的基本組成單位是語句.

10.下面不正確的字符串常量是    D

A”while”           B.”12’12”

C.”0”          D. ’file’

二.填空(每空2分,共20分)

1.有int x=2 ,y=3;且y += (x++),x=3,  y= 5 .

2.執(zhí)行下面程序段后,k的值是  36    .

   k=1;n=263;

   do {k*=n%10;n=n/10;} while(n);

3. C語言中函數(shù)頭給出函數(shù)的特征描述,包括函數(shù)的 屬性  、類型名字、參數(shù)及參數(shù)類型.

4.有int x ,y , z;且x=3.2,y=4.2,z=2,則表達式z=(x+y)/z的值為 3   .

 

5.在執(zhí)行語句for(i=0;i<3;i=i+2) printf(“%d”,i)時,表達式1執(zhí)行了 1次,表達式2執(zhí)行了3.

6.下面程序段中循環(huán)體的執(zhí)行次數(shù)是  3  .

   a=10;b=0;

do {b=b+2;a-=2+b;} while(a>=0);

7以下程序的運行結果是 m=3,n=5 

#include "stdio.h"

main()

{ int i=0,j=0,m=1,n=3;

  switch(i++)

{case 0:m++;

 case 1:n++;

 case2:

case 3: m++;n++;break;

 case 4: m++;n++;

}printf("m=%d,n=%d",m,n);}

8. 以下程序的運行結果是6

main()

{int m=5;

if(m++>5)

printf(“%d”,m);

else

printf(“%d”,m--);}                                             

.寫出下面程序的運行結果.(每題5分,共20)

1.程序 main()

{int a=3,b=5,c=2,d=1,x;

if(a<b)

  x=c+d;

else

  x=c-d;

printf("%d",x);

}

運行結果是  3   

2.下面程序的運行結果是 x=11   .

#include "stdio.h"

int x=10;

int f(int y)

{static int x=0; x+=y;}

 main()

{int x=6;

 {int x=5;

  f(x);

}

x=f(x);

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

}

 

 

 

 

 

3. 下面程序的運行結果是a=16,y=36.

   #include “stdio.h”

   main()

   {

int a,y;

     a=2;

y=0;

     do

     {a+=2;

y+=a;

      if(y>30)

 break;

}

      while(a=14);

     printf(“a=%d,y=%d\n”,a,y);

}.

4.下面程序的運行結果是 x=30,y= +30.00  .

  main()

{int x;

float y=353;

 x=y/100;

y=x*=10;

 printf(“x=%d,y=%+7.2f”,x,y);

}

.根據(jù)題目的要求,補全下面的程序。(每空4分,共20)

1.以下程序的功能是求10個數(shù)中的正整數(shù)之和,請補全程序。

#include "stdio.h"

main()

{int s=0,i,j;

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

{scanf(“%d”,&j);

if(j<=0)

   (1)    ;

s+=j;}

printf(“=%4d”,s);

}

解答:(1continue        

2.下面程序的功能是:可以通過指針輸出數(shù)組a中任一行、任一列元素的值。請補全程序。

#include "stdio.h"

main()

{ int a[3][5]={2,4,68,10,1214,16,18,20,2224,26,28,30};

 int i,j;

 int (*p)[  (2  ];

 p=a;

 printf(“Enter i,j;(0<=i<=2),(0<=j<=4):”);

scanf(“%d,%d”,&i,&j);

 

 

printf(“a[%d][%d]=%d\n”,i,j,*(    (3 )  ));

}

接答:(2 5     3 *p+i+j      

3. 以下程序的功能是用枚舉法求百雞問題,公雞五元一只,母雞三元一只,小雞一元兩只;一百元要買一百只雞,且需包含公雞、母雞和小雞。問有幾種方案可以實現(xiàn)。請?zhí)羁眨ㄒ笠暂^高的效率和合理的數(shù)值填空)。

#include "stdio.h"

main()

{int n,i,j,k;

 n=0;

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

  for(j=1;j<=(100-5*i)/3;j++)

  {k=100-i-j;

   if(k%2==0&&5*i+3*j+k/2==100)

   {n++;

   printf("n=%d,cock=%d,hen=%d,chick=%d\n",n,i,j,k);

   printf("jine=%d\n",5*i+3*j+k/2);

   }

  }

}

解答:(4n,i,j,k      5   5*i+3*j         

.編程題:(每小題10分,共20)

1.用冒泡排序法將數(shù)組a[10]={13,25,6,7,49,10,8}中的數(shù)據(jù)進行從大到小進行排列,并輸出排好的數(shù)組a[10].

解:#include “stdio.h”

main()

{int a[10]={1,3,2,5,6,7,4,9,10,8};

 int i,flag,t;

do

{flag=0;

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

if(a[i]<a[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;flag=1;}

}

while(flag)

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

printf(“排序后的數(shù)組:\t”,a[i]);

}

2.編程判斷輸入的一個正整數(shù)是否既是5的又是7的倍數(shù),若是則輸出YES,否則輸出NO.

解:#include “stdio.h”

main()

{int x;

printf(“請輸入一個正整數(shù):”);

scanf(“%d”,&x);

if(x%5= =0&&x%7= =0)

printf(“YES”);

else printf(“NO”);

}

 

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多