2009年4月全國計算機等級二級C筆試考前練習(xí)習(xí)題(25)

字號:

1.有以下程序:
    main()
    {unsigned char a,b;
    a=4|3;
    b=4&3;
    printf("%d%d\n",a,b);
    }
    執(zhí)行后輸出結(jié)果是()
    A)70
    B)07
    C)11
    D)430
    2.下面程序的功能是輸出以下形式的金字塔圖案:
    *
    ***
    *****
    *******
    main()
    {int i,j;
    for(i=1;i<=4;i++)
    {for(j=1;j<=4-i;j++)printf(" ");
    for(j=1;j<=;j++)printf("*");
    printf("\n");
    }
    }
    在下劃線處應(yīng)填入的是()
    A)i
    B)2*i-1
    C)2*i+1
    D)i+2
    3.有以下程序:
    void sort(int a[],int n)
    {int i,j,t;
    for(i=0;i    for(j=i+2;j    if(a[i]  }
    main()
    {int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
    sort(aa,10);
    for(i=0;i<10;i++)printf("%d",aa[i]);
    printf("\n");
    }
    其輸出結(jié)果是()
    A)1,2,3,4,5,6,7,8,9,10,
    B)10,9,8,7,6,5,4,3,2,1,
    C)9,2,7,4,5,6,3,8,1,10,
    D)1,10,3,8,5,6,7,4,9,2,
    4.以下程序段中,不能正確賦字符串(編譯時系統(tǒng)會提示錯誤)的是(
    A)char s[10]="abcdefg";
    B)char t[]="abcdefg",*s=t;
    C)char s[10];s="abcdefg";
    D)char s[10];strcpy(s,"abcdefg");
    5.有以下程序:
    #include
    main(int argc,char * argv[])
    {int i,len=0;
    for(i=1;i  printf("%d\n",len);
    }
    經(jīng)編譯鏈接后生成的可執(zhí)行文件是ex.exe,若運行時輸入以下帶參數(shù)的命令行:
    ex abcd efg h3 k44
    執(zhí)行后輸出結(jié)果是()
    A)14
    B)12
    C)8
    D)6
    6.有以下程序:
    void f(int a[],int i,int j)
    {int t;
    if(i    {t=a[i];a[i]=a[j];a[j]=t;
    f(a,i+1,j-1);
    }
    }
    main()
    {int i,aa[5]={1,2,3,4,5};
    f(aa,0,4);
    for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");
    }
    執(zhí)行后的輸出結(jié)果是()
    A)5,4,3,2,1,
    B)5,2,3,4,1,
    C)1,2,3,4,5,
    D)1,5,4,3,2
    7.有以下程序:
    struct STU
    {char name[10];
    int num;
    int Score;
    };
    main()
    {struct STU s[5]={{"YangSan",20041,703},{"LiSiGuo",20042,580},
    {"WangYin",20043,680},{"SunDan",20044,550},
    {"Penghua",20045,537}},*p[5],*t;int i,j;
    for(i=0;i<5;i++)p[i]=&s[i];
    for(i=0;i<4;i++)
    for(j=i+1;j<5;j++)
    if(p[i]->Score>p[j]->Score)
    {t=p[i];p[i]=p[j];p[j]=t;}
    printf("%d%d\n",s[1].Score,p[1]->Score);
    }
    執(zhí)行后輸出結(jié)果是()
    A)550 550
    B)680 680
    C)580 550
    D)580 680
    8.有以下程序:
    # include
    struct NODE{
    int num;
    struct NODE*next;
    };
    main()
    {struct NODE*p,*q,*r;
    int sum=0;
    p=(struct NODE*)malloc(sizeof(struct NODE));
    q=(struct NODE*)malloc(sizeof(struct NODE));
    r=(struct NODE*)malloc(sizeof(struct NODE));
    p->num=1;q->num=2;r->num=3;
    p->next=q;q->next=r;r->next=NULL;
    sum+=q->next->num;sum+=p->num;
    printf("%d\n",sum);
    }
    執(zhí)行后輸出結(jié)果是()
    A)3
    B)4
    C)5
    D)6
    9.有以下程序:
    # include
    main()
    {FILE*fp;int i,k=0,n=0;
    fp=fopen("d1.dat","w");
    for(i=1;i<4;i++)fprintf(fp,"%d",i);
    fclose(fp);
    fp=fopen("d1.dat","r");
    fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);
    fclose(fp);
    }
    執(zhí)行后輸出結(jié)果是()
    A)12
    B)1230
    C)123
    D)00
    10.有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END;語句的作用是使位置指針從文件末尾向前移2*sizeof(int)字節(jié))
    # include
    main()
    {FILE*fp;int i,a[4]={1,2,3,4},b;
    fp=fopen("data.dat","wb");
    for(i=0;i<4;i++)fwrite(&a[i],sizeof(int),1,fp);
    fclose(fp);
    fp=fopen("data.dat","rb");
    fseek(fp,-2L*sizeof(int),SEEK_END);
    fread(&b,sizeof(int),1,fp);/*從文件中讀取sizeof(int)字節(jié)的數(shù)據(jù)到變量b中*/
    fclose(fp);
    printf("%d\n",b);
    }
    執(zhí)行后輸出結(jié)果是()
    A)2
    B)1
    C)4
    D)3
    答案:1.A 2.B 3.C 4.C 5.D 6.A 7.C 8.B 9.B 10.D