自考“高級語言程序設(shè)計(jì)”串講

字號:

一、上機(jī)考試注意事項(xiàng)
    1、應(yīng)熟練運(yùn)用Turbo C軟件進(jìn)行程序設(shè)計(jì):源程序(*.c)à目標(biāo)程序(*.obj)à可執(zhí)行程序(*.exe)
    2、按考試要求保存成指定的路徑和程序文件名。
    二、上機(jī)考試內(nèi)容和要求
    1、順序和分支程序設(shè)計(jì)
    1)內(nèi)容:編寫一個(gè)簡單的順序結(jié)構(gòu)程序和一個(gè)簡單的分支結(jié)構(gòu)程序。(第3章)
    2)要求:熟悉輸入/輸出函數(shù)、賦值語句、分支語句的使用;掌握編寫、輸入、編譯連接、運(yùn)行C程序的過程和操作。
    3)案例:輸入三個(gè)整數(shù),按從小到大輸出。(注:程序命名為e1_1.exe)
    程序清單:
    main( )
    {
    int a,b,c,d;
    scanf(“%d,%d,%d”,&a,&b,&c);
    if(a>;b)
    {d=a;a=b;b=d;}
    if(a>;c)
    {d=a;a=c;c=d;}
    if(b>;c)
    {d=b;b=c;c=d;}
    printf(“%d,%d,%d”,a,b,c);
    }
    2、數(shù)組和循環(huán)程序設(shè)計(jì)
    1)內(nèi)容:編寫一個(gè)含有一維數(shù)組和單重循環(huán)結(jié)構(gòu)的程序,一個(gè)含有二維數(shù)組和二重循環(huán)結(jié)構(gòu)的程序。(第3、4章)
    2)要求:熟悉數(shù)組的定義、初始化、數(shù)組元素引用和三種循環(huán)語句的使用。
    3)案例:編一C程序,它能讀入一個(gè)字符串(串長<;100,串中可能有空格符),計(jì)算并輸出該字符串中十進(jìn)制數(shù)字的個(gè)數(shù)。(注:程序命名為e1_2.exe)
    程序清單:
    #include“stdio.h”
    #include“string.h”
    main()
    {char a[100];
    int i,j,num=0;
    printf(“Please inter a string:\n”);
    gets(a);
    j=strlen(a);
    for (i=0;i<;>;
    {if (a>;=‘0’&&a<;=‘9’)
    num++;}
    printf(“Number is %d\n”,num);
    }
    3、指針和函數(shù)的應(yīng)用
    1)內(nèi)容:編寫一個(gè)含有主函數(shù)和另外兩個(gè)函數(shù)的程序,一個(gè)函數(shù)用變量傳遞數(shù)據(jù),另一個(gè)函數(shù)用指針傳遞數(shù)據(jù)。(第5、6章)
    2)要求:熟悉指針變量的定義、初始化和引用,熟悉函數(shù)的定義和調(diào)用,掌握函數(shù)間用值傳遞和地址傳遞數(shù)據(jù)的方法。
    3)案例:設(shè)y(n) = 1 n<;= 1時(shí)
    y(n) = -y(n-2)+2*y(n-1) n>;1時(shí)
    編一C程序,它能對讀入的任意n(n>;=0且n<;50),能計(jì)算并輸出y(n)的值。(注:程序命名為e1_3.exe)
    程序清單:
    int y(n)
    int n;
    {if (n<;=1) return (1);
    else return (-y(n-2)+2*y(n-1));
    }
    main()
    {int n;
    printf(“Please inter n=”);
    scanf(“%d”,&n);
    printf(“\n”);
    printf(“y(%d)=%d\n”,n,y(n));
    }
    4、結(jié)構(gòu)型的應(yīng)用(第7章)
    1)內(nèi)容:編寫一個(gè)含有結(jié)構(gòu)型數(shù)組的程序,包括結(jié)構(gòu)型數(shù)據(jù)輸入、加工、輸出。
    2)要求:熟悉結(jié)構(gòu)型的定義、結(jié)構(gòu)型數(shù)據(jù)的定義、初始化和成員引用方法。
    3)案例:設(shè)有學(xué)生信息如下:學(xué)號(長整型)、姓名(字符串型)、出生年月(其中含有年份、月份、日,均為整型)。試編一個(gè)程序,輸入10個(gè)學(xué)生的上述信息,輸出所有學(xué)生的學(xué)號、姓名和年齡。(注意程序中年齡的求法,是用系統(tǒng)日期中的年份減去出生年月中的年份。獲得系統(tǒng)日期的方法是通過系統(tǒng)函數(shù)getdate())(注:程序命名為e1_4.exe)
    程序清單:
    #define N 10
    #include“stdio.h”
    #include“dos.h”
    main( )
    {struct birthday
    {int year;
    int month;
    int day;
    };
    struct
    {long num;
    char name[20];
    struct birthday bir;
    }stu[N];
    struct date today; /*利用系統(tǒng)定義的日期型結(jié)構(gòu)定義變量today*/
    int i;
    for(i=0;i<; p>;
    {
    scanf(“%ld”,&stu.num);
    scanf(“%s”,stu.name);
    scanf(“%d,%d,%d”,&stu.bir.year, &stu.bir.month, &stu.bir.day);
    }
    getdate(&today); /*通過系統(tǒng)函數(shù)獲得系統(tǒng)日期*/
    for(i=0;i<; p>;
    {
    printf(“%-8ld”,stu.num);
    printf(“%-2ld”,stu.name);
    printf(“%-6ld\n”,today.da_year-stu.bir.year);
    }
    }
    5、文件的應(yīng)用(第8章)
    1)內(nèi)容:編寫一個(gè)對文件進(jìn)行簡單處理的程序,包括對文件的讀寫。
    2)要求:熟悉文件型指針的定義和引用,以及文件處理函數(shù)的使用。
    3)案例:編一C程序,它能從當(dāng)前目錄下名為“string.txt”的文本文件中讀取一個(gè)字符串或前20個(gè)字符組成的字符串,并顯示在屏幕上。(注:可執(zhí)行程序命名為e1_5.exe)
    程序清單:
    #include“stdio.h”
    main()
    {FILE *fp;
    char s[21];
    if ((fp=fopen(“string.txt”,“r”))==NULL)
    {printf(“string.txt can not open!\n”);
    exit(0);
    }
    fgets(s,21,fp);
    fputs(s,stdout);
    fclose(fp);
    }