1. 简答题
(1)一个 C/C++程序从开始到生成可执行的二进制文件至少需要经过哪四个步骤?
(2)如何用 gcc 将源程序 hello.c 编译生成可执行程序?
(3)什么是 makefile 文件?编写 makefile 文件的一般格式是什么?
(4)什么叫做程序调试?程序的错误可以分为哪两类?gdb 工具针对程序可以实现什么样的调试?
2. 编写一个脚本,要求:
(1)脚本中编写两个数相加的函数 sum 和三个数相乘的函数 multiply;
(2)根据脚本参数个数来调用 sum 函数或 multiply 函数;
(3)输出最后计算结果。
#!/bin/bash
# echo "Please input two/three numbers: "
sum() {
let o=$1+$2
echo "-- $o"
}
multiply() {
let k=$1*$2*$3
echo "-- $k"
}
num1=$1
num2=$2
num3=$3
echo
echo " - You have input $# numbers -"
echo
if [ $# -eq 2 ];then
echo "- Function sum:"
3. 编写 5 个文件,文件名分别为 main_print.c、sub1_print.c、sub2_print.c、sub1_print.h、sub2_print.h,其中,sub1_print.h、sub2_print.h 为头文件,利用main_print.c 调用 sub1_print.c、sub2_print.c。利用 gcc 的不同编译选项生成预处理、编译、汇编及链接后的生成文件,并进行对比。
4. 编写一个脚本,从终端输入 10 个数,显示最大值、最小值和平均值。
#!/bin/bash
fun() {
local arr
#arr=(`echo "$@"`)
arr=($@)
echo ----------
echo array first number: ${arr[0]}
echo ---------
for k in ${arr[@]}
do
echo $k
done
}
echo "Input Ten numbers:"
array=(6 1 3 0 0 0 0 0 0 1)
echo ${array[0]}
echo ${#array[@]}
Comments | NOTHING