编写自动测试c语言程序的shell脚本

目前经常用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脚本中测试了十组例子:

file:///Users/daidapeng/Desktop/屏幕快照%202015-07-10%20下午11.38.01.png

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-23 22:40:02

编写自动测试c语言程序的shell脚本的相关文章

测试数据库并发压力的shell脚本

本节内容:一例用于测试数据库并发压力的shell脚本代码. 例子: #!/bin/bash #********************************# #并发后台运行fun # #for wanggy 2012-01-25 # #note: www.jquerycn.cn # #fun_num fun函数后台运行次数 # #sql_num 每个函数sql运行次数 # #********************************# #数据库变量设置 dbhost=192.168.1

ubuntu中编写helloworld简单c语言程序(先贴上,这个还需要改,因为自己的vi有点问题)

1.首先用vi编写一个c语言程序文件,命令行输入:vi helloworld.c,建立一个名叫"helloworld.c"的文件 2.在文件中输入内容 #include <stdio.h> int main() { printf("hello world!"); return 0; } 3.命令模式下输入:wq,保存并退出 4.输入gcc helloworld.c,编译默认shengc生成名为a.out的执行文件,可以用gcc -o 编译生成其它名字的执

编写一个删除c语言程序文件中所有的注释语句

//删除c语言程序中所有的注释语句,要正确处理带引号的字符串与字符串常量 #include <stdio.h> using namespace std; #define MAXLINE 1000 void rcomment(int c); void in_comment(void); void deleteTail(void); FILE* fp; FILE* fp2; int main() { fp=fopen("C:\\Users\\Administrator\\Desktop\

web服务文件更新自动同步、数据库主从复制、shell脚本实现网站代码备份和mysql备份

基搭建LAMP环境,并实践基于DNS做基于域名的虚拟主机中的环境,重新搭建一个同样的环境 要求: a)实现web服务文件更新的自动同步到另一台机器上 b)数据库实现主从复制 c)通过shell脚本实现网站源代码备份和mysql备份,备份策略包括全量备份.增量备份.差异备份 a,实现web服务文件更新的自动同步到另一台机器上: 1,在httpd服务器上建立基于FQDN的两个虚拟web站点,并创建相关目录. 2,修改测试windows主机的hosts文件,并编辑两个虚拟web站点对应的目录下的ind

Linux下启动和停止Java应用程序的Shell脚本

转自:http://blog.csdn.net/jadyer/article/details/7960802 资料参考来源自兔大侠,并略作修改:http://www.tudaxia.com/archives/10,在此鸣谢!! [Ruby] view plaincopyprint? #!/bin/sh #-------------------------------------------------------------------------------------------------

(转自张戈博客)Linux系统防CC攻击自动拉黑IP增强版Shell脚本

(转自张戈博客) 前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个问题,但是还是想暂时取消CDN加速和防护来测试下服务器的性能优化及安全防护. 前天写的Shell脚本是加入到crontab计划任务执行的,每5分钟执行一次,今天实际测试了下,可还是可以用的,但是感觉5分钟时间有点过长,无法做到严密防护.于是稍微改进了下代码,现在简单的分享下! 一.

如何使用VisualStudio2013编写和调试c语言程序

觉得很多基础学习者对VS不太熟悉,我就转一篇觉得还不错的.转自:http://jingyan.baidu.com/article/f3ad7d0fe7ca0d09c3345b84.html 现在大多数同学用的电脑都是Windows 8和8.1,使用VC6.0存在兼容性问题,对于初学者来说是一件很麻烦的事情.而Visual Studio 2013 是一个很强大的工具,很多同学选择了vs2013却不知如何使用,下面我就以简单的工程为例,介绍一下使用vs2013建立和调试C或C++程序. 电脑上安装微

贡献个Android 截屏并自动传到电脑上的shell脚本

Android设备用久了,截屏是个麻烦事.更麻烦的是通过qq传到电脑上,倒腾半天.其实用adb命令就可以截屏,然后写个pull的语句就可以拉到电脑上了.文件名为capture.sh, 内容如下: #! /bin/bash adb shell screencap -p /sdcard/test.png #adb pull /sdcard/test.png ~/Desktop/test.png dir=~/Desktop/ curr=`date "+%Y-%m-%d %H:%M:%S"`

Linux系统防CC攻击自动拉黑IP增强版Shell脚本

一.Shell代码 #!/bin/bash #Author:ZhangGe #Desc:Auto Deny Black_IP Script. #Date:2014-11-05 #取得参数$1为并发阈值,若留空则默认允许单IP最大50并发(实际测试发现,2M带宽,十来个并发服务器就已经无法访问了!) if [[ -z $1 ]];then num=50 else num=$1 fi #巧妙的进入到脚本工作目录 cd $(cd $(dirname $BASH_SOURCE) && pwd) #