2012計算機等級二級C語言模擬試題及答案2

字號:

2012計算機等級二級C語言模擬試題及答案2
    一、閱讀程序題
    1、int x=6, y=7;
    printf(“%d,”,x++); printf(“%d\n”,++y);
    程序的輸出結(jié)果是__________。
    2、float f=3.1415927;
    printf(“%f,%5.4f,%3.3f”,f,f,f);
    則程序的輸出結(jié)果是__________。
    3、a=3;
    a+=(a《1)?a:1; printf(“%d”,a);
    結(jié)果是__________。
    4、main( )
    { int a[5]={2,4,6,8,10},*P,* *k;
    p=a; k=&p;
    printf(“%d,”,*(p++));
    printf(“%d\n”,* *k); }
    程序的輸出結(jié)果是__________。
    5、 main()
    {int a,b;
    for (a=1,b=1;a《=100;a++)
    { if(b》=20) break;
    if(b%3==1)
    {b+=3; continue; }
    b-=5; } }
    程序的輸出結(jié)果a的值為__________。
    二、程序填空題
    1、求主次對角線之和。
    main()
    {static int a[ ][3]={9,7,5,1,2,4,6,8};
    int I,j,s1=0,s2=0;
    for(I=0;I《3;I++)
    for(j=0;j《3;j++)
    {if(__________)
    s1=s1+a[I][j];
    if( __________ )
    s2=s2+a[I][j];
    }
    printf(“%d\n%d\n”,s1,s2);
    }
    2、從鍵盤上輸入10個數(shù),求其平均值。
    main()
    {int i;
    float f,sum;
    for(i=1,sum=0.0;i《11;i++)
    {__________;
    __________ ;
    }
    printf(“average=%f\n”,sum/10);
    }
    3、以下程序是建立一個名為myfile的文件,并把從鍵盤輸入的字符存入該文件,當(dāng)鍵盤上輸入結(jié)束時關(guān)閉該文件。
    #include
    main()
    {
    FILE *fp;
    char c;
    fp=__________;
    do
    {
    c=getchar();
    fputs(c,fp);
    }while(c!=EOF);
    __________; ;
    }
    三、編程題
    1、三個整數(shù)a、b、c,由鍵盤輸入,輸出其中大的數(shù)。
    2、從鍵盤輸入的10個整數(shù)中,找出第一個能被7整除的數(shù)。若找到,打印此數(shù)后退出循環(huán);若未找到,打印“not exist”。
    3、有一個一維數(shù)組,內(nèi)放10個學(xué)生成績,寫一個函數(shù),求出平均分。
    4、有N個學(xué)生,每個學(xué)生的信息包括學(xué)號、性別、姓名、四門課的成績,從鍵盤上輸入N個學(xué)生的信息,要求輸出總平均成績高的學(xué)生信息,包括學(xué)號、性別、姓名和平均成績。
    參考答案:
    一、 閱讀程序題
    (1) 6,8 (2) 3.141593,3.1416,3.142 (3) 4 (4) 2,4 (5) 8
    二、 程序填空題
    1、I==j I+j==2 2、scanf(“%f”,&f); sum+=f;
    3、fopen(“myfile”,w) fclose(fp);
    三、 編程題
    1、main()
    { int a,b,c;
    printf(“請輸入三個整數(shù):”); scanf(“%d,%d,%d”,&a,&b,&c);
    if(aif(belse printf(“max=%d\n”,b);
    else if(aelse printf(“max=%d\n”,a); }
    2、#include”stdio.h”
    main()
    { int I,a;
    for(I=1;I《=10;I++)
    { scanf(“%d”,&a);
    { if(a%7==0)
    printf(“%d”,a); break; } }
    if(I==11)
    printf(“not exist”); }
    3、float average(float array[ ],int n)
    { int I;
    float aver,sum=array[0];
    for(I=1;Isum=sum+array[I];
    aver=sum/n;
    return(aver); }
    main()
    { float ave,score[10];
    int I;
    for(I=0;I《10;I++)
    scanf(“%f”,&score[I]);
    ave=average(score,10);
    printf(“%f\n”,ave); }
    4、 #include“stdio.h”
    #define N 3
    struct student
    { long stu_num;
    char sex;
    char name[15];
    int score[4];
    float average; };
    main()
    { int I,j,index;
    float sum,max;
    struct student stuarr[N];
    for(I=0;I{ printf(“please input %d student information:\n”,I+1);
    scanf(“%ld,%c,%s”,&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);
    for(j=0;j《4;j++)
    scanf(“%d”,&stuarr[I].score[j]); }
    for(I=0;I{ sum=0.0;
    for(j=0;j《4;j++)
    sum+=stuarr[I].score[j];
    stuarr[I].average=sum/4.0; }
    max=stuarr[0].average;
    index=0;
    for(I=1;Iif(stuarr[I].average》max)
    {max=stuarr[I].average; index=I; }
    printf(“總平均成績高的學(xué)生信息是學(xué)號=%ld,性別=%c,姓名=%s,平均成績=%4.1f\n”,stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average); }