中国地质大学(武汉)工程学院.doc
文本预览下载声明
中国地质大学(武汉)工程学院
20 年工程硕士研究生试卷
课程名称: C语言程序设计
专业:
姓名:
成绩:
简答题 (每小题5分 共25分)。
C语言的主要用途是什么?它和其他高级语言有什么异同?
C语言以函数为程序基本单位有什么好处?请举例说明。
什么是结构化算法?为什么要提倡结构化的算法?
试述三种基本结构的特点,请从日常生活中找3个例子,描述他们的算法。
C语言为什么要规定对所有用到的变量要“先定义,后使用”。这样做有什么好处?
二、单项选择题(每小题2分 共20分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的, 多选少选不选均不得分。
1. 以下不是C语言的特点的是___ _ _。
A)C语言简洁、紧凑 B)能够编制出功能复杂的程序
C)C语言可以直接对硬件进行操作 D)C语言移植性好
2. 一个C语言程序是由___ _ _。
A) 一个主程序和若干子程序组成 B) 函数组成
C) 若干过程组成 D)若干子程序组成
3. 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的正确表达式是___ _ _。
A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0
C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0
4. 上机运行以下程序会出现一个错误,这个错误的性质是 。
void main()
{ int i,j,a[]={1,2,4},b[]={6,4,2,0};
float s=0;
for(i=0;i3;i++) { j=b[a[i]]; s+=1.0/j; }
printf(“\n %f”,s);
}
A) 数组说明语法错 B)数组元素引用语法错
C)分母为0运算错 D)数组元素引用下标超界错
5. 下列函数的功能是 。
int f(char *a, char *b)
{
while (*a++ = = *b++) ;
if(*(a-2)) return *(--a)-*(--b);
else return 0;
}
A)字符串复制 B)字符串连接
C)字符串比较 D)都不是
6. 下面有关for循环的正确描述是 。
A) for循环只能用于循环次数已经确定的情况
B) for循环是先执行循环体语句,后判定表达式
C) 在for循环中,不能用break语句跳出循环体
D) for循环体语句中,可以包含多条语句,但要用花括号括起来
7. 以下描述正确的是 。
A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。
C) 在do-while循环体中,一定要有能使while后面表达式的值变成零(“假”)的操作。
D) do-while循环中,根据情况可以省略while。
8. 以下选项中正确的语句组是 。
A)char s[ ]; s=Welcome!; B)char *s; s={Welcome!};
C)char s[10]; s=Welcome!; D)char *s; s=Welcome!;
9. 有定义语句:double a[10], *s=a;,则以下能够代表数组元素a[3]的是 。
A)(*s)[3] B)*s+3 C)*s[3] D)*(s+3)
10. 有以下定义和语句
struct student
{ char name[20]; int num; float score; };
struct student st, *p; p=st;
则下面的语句正确的是 。
A)st-num=1001; B)p.num=2001;
C)st.name=”Zhangsan”; D)(*p).score=78;
三、程序阅读题(每小题3分 共24分)
阅读程序,写
显示全部