鸭子tv国产极品在线观看_成人69视频在线播放_91精品免费在线观看_亚洲AT永久偷窥无码精品_国产精品自产拍在线观看涩浪潮久

江蘇省高校計(jì)算機(jī)等級考試命題研究院 江蘇省高校計(jì)算機(jī)等級考試輔導(dǎo)
2019年春江蘇省計(jì)算機(jī)二級C語言真題

 第一部分 公共基礎(chǔ)

第二部分  C語言

1(單選題):

若有聲明int a=3,b=4,c=5;,則執(zhí)行語句a>b?a--:(b>c?b++:(c/=2)); printf("%d\n",a+b+c);時輸出_____9_____。

 

9 

9.5 

11 

13 

 

 

2 (填空題 <3> ) :

以下程序運(yùn)行時輸出結(jié)果中第一行是3  ,第二行是  5   ,第三行是4  。

#include

typedef struct node

{

    int  value;

    struct node *next;

} NODE;

void Max(NODE *head)

{

    NODE  *p,*first,*second;

    first=second=NULL; 

    p=head;

    while(p!=NULL)

    {

        if(first==NULL||p->value>=first->value)

        {

            second=first;

            first=p;

        }

        else if(second==NULL||p->value>=second->value) 

            second=p;

        p=p->next;

    }

     printf("%d\n%d", first->value, second->value);

}

int main( )

{

    NODE a[]={{3,&a[1]},{1,&a[2]},{5,&a[3]},{4,NULL}},*head=&a[0];

    printf("%d\n", head->value);

    Max(head);

    return 0;

}

 

3(單選題):

若有聲明“char s1[80]="good ",s2[80]="luck ",s3[80]="to you";”,則執(zhí)行語句

“strcpy(s1+5,strcat(s2,s3)); printf("%s",s1);”時輸出____ good luck to you ______。

 

 

 

 

4 (填空題 <2> ) :

以下程序運(yùn)行時輸出結(jié)果中第一行是22,第二行是11。

#include

void  series(int n)

{

    while(n!=1)

    {

        if(n%2!=0)

            n=3*n+1;

        else

            while(n%2==0) n/=2; 

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

    }

}

int main( )

{

    series(7);

    return 0;

}

 

5 (填空題 <2> ) :

 以下程序運(yùn)行時輸出結(jié)果中第一行是0,第二行是4。

# include

int f(int x,int y)

{

    int t,i,M=23;

    if(y==1) return 0;

    for(i=t=1;i

    {

        t=t*x%M; 

        if(t==y) return i; 

    }

    printf("沒有結(jié)果\n");

    return 0;

}

int main( )

{

    printf("%d\n%d",f(3,1),f(4,3));

    return 0;

}

 

6(單選題):

以下聲明中正確的是__________。

 

unsigned char x; 

unsigned float x; 

signed double x; 

long char x; 

 

 

8 (填空題 <3> ) :

以下程序運(yùn)行時輸出結(jié)果中第一行是1,第二行是1,第三行是3。

#include

void Pascal(int a[],int n)

{

    int i,j;

    for(a[0]=1,i=1;i<=n;i++) a[i]=0;

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

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

            a[j]+=a[j-1];

}

int main( )

{

    int b[20];

    Pascal(b,1); 

    printf("%d\n",b[1]);

    Pascal(b,3); 

    printf("%d\n%d\n",b[0],b[2]);

    return 0;

}

 

9(單選題):

若有聲明“int b=1,c[10]={2},*x=c; ”,則以下語句中正確的是__________ 。

 

*x=c[10]; 

b=*x; 

c={1,2,3}; 

*        &b=c;

*        1(完善程序):

*        完善程序(共12分,每空3分) 

*         

*        【要求】

*        1. 打開T盤中文件myf0.c,按以下程序功能完善文件中的程序。

*        2. 修改后的源程序仍保存在Tmyf0.c文件中,請勿改變myf0.c的文件名。

*        【程序功能】

*        假定Min函數(shù)形參a指向的結(jié)構(gòu)數(shù)組前n個元素中存儲了n個二維點(diǎn)坐標(biāo)值且互不相同。Min函數(shù)的功能是將這n個點(diǎn)坐標(biāo)中排序最小的點(diǎn)坐標(biāo)從數(shù)組中刪除,函數(shù)返回被刪除的點(diǎn)坐標(biāo)值。

*        所謂排序最小的點(diǎn)坐標(biāo)指的是在所有點(diǎn)坐標(biāo)(x,y)中,x值最小且y值最小。

*        【測試數(shù)據(jù)與運(yùn)行結(jié)果】

*        測試數(shù)據(jù):{0.5,3.0},{-3.0,5.0},{-1.5,3.5},{-3.0,-2.5}

*        輸出:

*          排序最小的點(diǎn)坐標(biāo)是:(-3.0,-2.5)

*             剩余的點(diǎn)坐標(biāo): 

*          (0.5,3.0)     (-3.0,5.0)      (-1.5,3.5)

*        【待完善的源程序】

*        #include

*        #include

*        struct Point

*        {   double x,y;  };

*        struct Point Min(struct Point a[ ], int n)   

*        {

*            int i,k; 

*            struct Point p;

*            for(k=0,i=1;i

*            {

*                if(a[i].x   1a[i].y    ) 

*                   k=i;

*            }

*            p=a[k];

*            for(i=k;i

*               a[i]=a[i+1];

*            return      2  p    ;               

*        }

*        int main()

*        {

*               struct Point 3   pt[200]={ {0.5,3.0},{-3.0,5.0},{-1.5,3.5},{-3.0,-2.5}},p; 

*            int i,n=4;

*            p=Min(pt,n);

*            printf("排序最小的點(diǎn)坐標(biāo)是:(%.1f,%.1f)\n",    4 p.x,p.y    );

*            printf("剩余的點(diǎn)坐標(biāo):\n");

*            for(i=0;i

*                printf("(%.1f,%.1f)\t",pt[i].x,pt[i].y);

*            printf("\n");

*            getch();

*            return 0;

*        }

*         

*         

*        2(改錯題):

*        改錯(共16分,每個錯4分)

*            

*        【要求】

*        1. 打開T盤中文件myf1.c,按以下程序功能改正文件中程序的錯誤。

*        2. 可以修改語句中的一部分內(nèi)容,調(diào)整語句次序,增加變量聲明或預(yù)處理命令,但不能增加其他語句,也不能刪去整條語句。

*        3. 修改后的源程序仍保存在Tmyf1.c文件中,請勿改變myf1.c的文件名。

*        【程序功能】

*         函數(shù)find的功能是在a指向二維數(shù)組中存儲的一個5×5階矩陣內(nèi)查找并輸出所有具有以下特性的數(shù)組元素a[i][j]:第i行上所有元素之和等于第j列上所有元素之和(0≤i<5,0≤j<5)。

*        【測試數(shù)據(jù)與運(yùn)行結(jié)果】

*            測試數(shù)據(jù):

*                   2  8  1  9  4

*                   5  7  1  3  0

*                   7  1  7  5  2

*                   3  2  2  1  5

*                   0  2  1  6  8

*            輸出:

*                  a[0][3]    a[4][0]

*        【含有錯誤的源程序】

*        #include

*        #include

*        void find(int a[5][])       修改為 void find(int a[5][5])

*        {

*            int i,j,row,col,sum1,sum2;

*            for(i=0;i<5;i++)

*                for(j=0;j<5;j++)

*             {

*                    sum1=sum2=0;

*                    for(col=0;col<5;col++)

*                        sum1+=a[i][col];

*                    for(row=0;row<5;row++)

*                        sum2+=a[j][row];         修改為 sum2+=a[row][j];     

*                    if(sum1=sum2)             修改為 if(sum1==sum2)   

*                        printf("a[%d][%d]  ",i,j);

*                }

*        }

*        int main()

*        {

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

*            find(a[5][5]);       //修改為  find(a)

*            getch();

*            return 0;

*        }

*         

*         

*        3(編程題):

*        編程(共22分) 

*         

*        【要求】

*        1. 打開T盤中文件myf2.c,在其中輸入所編寫的程序。

*        2. 數(shù)據(jù)文件的打開、使用、關(guān)閉均用C語言標(biāo)準(zhǔn)庫中緩沖文件系統(tǒng)的文件操作函數(shù)實(shí)現(xiàn)。

*        3. 請勿改變myf2.c的文件名。

*        【程序功能】

*            數(shù)組數(shù)據(jù)處理。

*        【編程要求】

*        1.編寫void process(int *a,int n,int m1,int m2)函數(shù)。函數(shù)功能:先將a指向數(shù)組前n個元素中存儲的數(shù)據(jù)按升序排列,再將a[m1]~a[m2]中的數(shù)據(jù)逆置。

*        2.編寫main函數(shù)。函數(shù)功能:聲明1個一維數(shù)組和變量m1、m2并用測試數(shù)據(jù)初始化,用數(shù)組及變量作實(shí)參調(diào)用process函數(shù),將處理后的數(shù)組中數(shù)據(jù)輸出到顯示器屏幕及文件myf2.out中。最后將考生本人準(zhǔn)考證號輸出到文件myf2.out中。

*        【測試數(shù)據(jù)與運(yùn)行結(jié)果】

*        測試數(shù)據(jù):  4  31  -23  49  87  65  0  -67  17  79,m1=2, m2=6

*            輸出:  -67  –23  49  31  17   4   0  65  79  87

 

 

編寫時按步驟給分

*         

*         

*         

*