自考“C語言程序設(shè)計(jì)”模擬試題八答案

字號(hào):

一、選擇題
    1.D 2. C 3. A 4. C 5. B
    二、填空題
    1.字母、數(shù)字、下劃線;以字母、下劃線開頭。
    2.10;5.
    3. 該變量的地址。
    4.一組數(shù)據(jù)類型相同的元素構(gòu)成的;一組數(shù)據(jù)類型不同的元素構(gòu)成的。
    5. 打開;關(guān)閉。
    6.字符串長度、取子字符串、字符串替換、字符串復(fù)制等。
    7. 函數(shù);語句。
    8. int a ; float b ; char c ;
    9 9 9.3 6 1 1 1 2
    三、判斷題
    1. 對(duì) 2. 錯(cuò) 3. 錯(cuò) 4. 錯(cuò) 5. 對(duì) 6. 錯(cuò) 7. 對(duì) 8. 錯(cuò) 9.對(duì) 10. 錯(cuò)
    四、程序填空題
    1. i<=9 j<=9
    printf(“%d*%d=%d”,i,j,i*j);
    printf(“\n”); i , j , k;
    2. int z;
    if (x>=y) z=x;
    else z=y;
    return z;
    3. char name[20];
    char sex;
    int age;
    float score;
    4. 實(shí)現(xiàn)功能:計(jì)算連續(xù)數(shù)之積, 即sum=1*2*3*4*5 ;
    運(yùn)行結(jié)果:sum=120
    5. 44 22 946
    a++:先加1,后使用表達(dá)式的值;++a表示先加1,后使用表達(dá)式的值,它們最后的結(jié)果使a加1.
    6.45,15
    五、編程題
    1.編程實(shí)現(xiàn)對(duì)12個(gè)整數(shù)進(jìn)行冒泡排序(要求排成升序)。
    Main()
    { int a[12]; int m,n,p;
    for (m=0;m<=11;m++)(m=0;m<=11;m++)
    scanf(“%d”,&a[m]);
    for (m=0;m<=11;m++)
    for(n=0;n<11-m;n++)
    if(a[n]>a[n+1])
    { p=a[n]; a[n]=a[n+1]; a[n+1]=p; }
    for (m=0;m<=11;m++)
    printf(“%d”,a[m]); }
    2.編程實(shí)現(xiàn)求下面的式子的結(jié)果
    # include “math.h”
    main()
    { float x,y;
    scanf(“%f”&x);
    if (x>6) y=(x-3)/(2*x-12);
    else y=-2*x*x+4*x-10;
    printf(“y=%f”,y); }
    3.編程實(shí)現(xiàn)將文本文件file1.dat中的內(nèi)容復(fù)制到文本文件file2.dat中去
    main()
    { char ch;
    FILE *fp1,*fp2;
    Fp1=fopen(“file1.dat”, “r”);
    Fp2=fopen(“file2.dat”, “w”);
    Ch=fgetc(fp1);
    While(ch!=EOF)
    { fputc(ch,fp2);
    Ch=fgetc(fp1); }
    Fclose(fp1);
    Fclose(fp2); }
    六、附加題
    p=H;K=0;
    While(p!=NULL && k    { p=p->next;
    k++; }
    if(p==NULL && H!=NULL) printf(“this is invilid”);
    else
    { q=(Struct Linklist *)malloc(sizeof(Struct Linklist));
    q->data=x; q->data=x;
    q->next=p->next;
    p->next=q; }