《高級語言程序設計》串講講義――上機考試考點串講
一、上機考試注意事項
1、應熟練運用Turbo C軟件進行程序設計:源程序(*.c)à目標程序(*.obj)à可執行程序(*.exe)
2、按考試要求保存成指定的路徑和程序文件名。
二、上機考試內容和要求
1、順序和分支程序設計
1)內容:編寫一個簡單的順序結構程序和一個簡單的分支結構程序。(第3章)
2)要求:熟悉輸入/輸出函數、賦值語句、分支語句的使用;掌握編寫、輸入、編譯連接、運行C程序的過程和操作。
3)案例:輸入三個整數,按從小到大輸出。(注:程序命名為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、數組和循環程序設計
1)內容:編寫一個含有一維數組和單重循環結構的程序,一個含有二維數組和二重循環結構的程序。(第3、4章)
2)要求:熟悉數組的定義、初始化、數組元素引用和三種循環語句的使用。
3)案例:編一C程序,它能讀入一個字符串(串長<100,串中可能有空格符),計算并輸出該字符串中十進制數字的個數。(注:程序命名為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[i]>=‘0’&&a[i]<=‘9’)
num++;}
printf(“Number is %d\n”,num);
}
3、指針和函數的應用
1)內容:編寫一個含有主函數和另外兩個函數的程序,一個函數用變量傳遞數據,另一個函數用指針傳遞數據。(第5、6章)
2)要求:熟悉指針變量的定義、初始化和引用,熟悉函數的定義和調用,掌握函數間用值傳遞和地址傳遞數據的方法。
3)案例:設y(n) = 1 n<= 1時
y(n) = -y(n-2)+2*y(n-1) n>1時
編一C程序,它能對讀入的任意n(n>=0且n<50),能計算并輸出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、結構型的應用(第7章)
1)內容:編寫一個含有結構型數組的程序,包括結構型數據輸入、加工、輸出。
2)要求:熟悉結構型的定義、結構型數據的定義、初始化和成員引用方法。
3)案例:設有學生信息如下:學號(長整型)、姓名(字符串型)、出生年月(其中含有年份、月份、日,均為整型)。試編一個程序,輸入10個學生的上述信息,輸出所有學生的學號、姓名和年齡。(注意程序中年齡的求法,是用系統日期中的年份減去出生年月中的年份。獲得系統日期的方法是通過系統函數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; /*利用系統定義的日期型結構定義變量today*/
int i;
for(i=0;i< p>
{
scanf(“%ld”,&stu[i].num);
scanf(“%s”,stu[i].name);
scanf(“%d,%d,%d”,&stu[i].bir.year, &stu[i].bir.month, &stu[i].bir.day);
}
getdate(&today); /*通過系統函數獲得系統日期*/
for(i=0;i< p>
{
printf(“%-8ld”,stu[i].num);
printf(“%-2ld”,stu[i].name);
printf(“%-6ld\n”,today.da_year-stu[i].bir.year);
}
}
5、文件的應用(第8章)
1)內容:編寫一個對文件進行簡單處理的程序,包括對文件的讀寫。
2)要求:熟悉文件型指針的定義和引用,以及文件處理函數的使用。
3)案例:編一C程序,它能從當前目錄下名為“string.txt”的文本文件中讀取一個字符串或前20個字符組成的字符串,并顯示在屏幕上。(注:可執行程序命名為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);
}
…………………………