目前經常用vim編寫一些c語言程序,寫好了程序一般都得進行一些測試,當然我們可以進行一些常規的手動測試。心裏一想,如果能夠用shell腳本編寫一個能自動測試c語言程序就好了。
爲了試一試這樣的想法,找了一個c語言程序題目:
[一球從 100米高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在第10 次落地時,共經過多少米?第10 次反彈多高? ]
根據這樣的要求我編寫了一個解決這個問題的程序:
#include <stdio.h>
#include <stdlib.h>
#define H 100
int main(int argc, char* argv[])
{
float h0=H;
float sum=H;
float h=h0;
int count=2;
int Number=atoi(argv[1]);
for(;count<=Number;count++)
{
h=h/2.0;
sum+=2*h;
}
h=h/2.0;
printf("the initial height is: %d\n", Number);
printf("the length is %.3f, the height is %.2f\n", sum, h);
return 0;
}
這個程序可以得到正確的結果,下面我寫了一個shell腳本程序可以進行自動測試
#!/bin/bash
for((i=1;i<=10;i=i+1))
do
./a.out $i
done
先在mac系統下終端上執行cc *.cpp,這樣便生成了a.out可執行程序,在這個shell腳本中測試了十組例子: