广州大学C语言程序设计期末考试试卷含答案
更新时间:2023-12-21 16:23:01 阅读量: 教育文库 文档下载
院、系领导 审批并签名 参考答案
A 卷 广州大学 2009-2010 学年第 1 学期考试卷
课程 程序设计 1 考试形式(闭卷,考试)
学院 数学与信息 系 专业 信安,计 班级 学号 姓名_ 题次 一 评分 二 三 四 五 六 七 八 九 十 总分 评卷人 100 分数 40 20 20 20 一、单项选择题(每小题 2 分,共 40 分)
1. 十六进制数 CDE 转换成八制数是(A )
A) 6336 B) 6363 C) 7337 D) 7373
2. 以下所列的C语言常量中,错误的是( B )
A) 1UL B) e0.5 C) “A” D) '\\b'
3. 已知字母c的ASCII码为十进制的99,下面程序的输出是( A )
int main() {
char c=?c?;
printf (\}
A) 101, f B) 99, f C) 101, e D) 101, 102
4. 表达式 5-3/2-1 的值是( B )
A) 0 B) 3 C) 2.5 D) 2
5. 设x、z均为int型变量,x 的值为 1, 则求值表达式 z=x--, ++x 后,x, z的值
分别为( C )
A) 0, 1 B) 1, 0 C) 1,1
D) 0, 0
6. 设x、z均为int型变量,x 的值为 1, 则求值表达式 z=x--||x++ 后,x, z的值
分别为( A )
A) 0, 1 B) 1, 0 C) 1,1 D) 0, 0
7. 若函数 f 为
int f (int x)
1
{
return -(x<0)+(x>0); }
则 f(2009), f(-2008) 和 f(0) 的值分别为 ( C ) A) 0 1 2 B) 1 1 0 C) 1 -1 0 D) -1 1 0
8. 下面函数的输出为:(B)
int x=1; int main() {
int x=2; {
extern int x;
printf (“%d ”, x); }
printf(“%d\\n”, x); }
A) 1 1 B) 1 2 B) 2 1
9. 下列程序的输出为:(A)
D) 2 2
int main() {
char *p=”hello”, *q; for (q=p; *q; q++);
printf (“%d\\n”, (int)(q-p)); }
A) 5
B) 4 C) 6 D) 不是一个确定的值
10. 想要表示若 x 既不能被 3 整除,又不能被 5 整除,则把 S 的值加 x,下面哪条语
句是错的?( B )
A) if ((x%3)*(x%5)) S+=x;
B) if ((x%3==0)+(x%5==0)-(x==0)) S+=x; C) if ((x%3)==0||!(x%5)); else S+=x; D) if ((x%3)!=0) if ((x%5)!=0) S+=x;
11. 下列程序段的输出结果是( C )
void fun(int * x, int * y) {
printf(\ *x=3, *y=4; }
2
int main() {
int x=1,y=2; fun(&x,&y);
printf(\}
A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2
12. 若有定义: float x;int a,b; 则正确的switch 语句是( C )
A) B)
switch(x) switch(x) { {
case 1.0:printf(\case 1,2:printf(\ case 2.0:printf(\case 3:printf(\} } C) D) switch (a+b) switch (a+b); { {
case 1:printf(\ case 1:printf(\
case 1+2:printf(\ case (int)x: printf(\} }
13. 以下程序的输出结果是 ( C )
int main() {
int i, x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)
printf(\}
A) 9,5,3 B) 7,4,3 C) 7,5,3 D)9,6,1
14. 以下程序输出的结果是( D )
int main() {
char w[][5]={\ int k;
for (k=1; k<3; k++)
printf(\}
A) B) C) D) ABCD JKL EFG FGH FGH OP JK KL
3
15. 以下程序的输出结果是( B )
#define Zero(X) X-X int main() {
printf(\}
A) -6 B) -4 C) -2 D) -0
16. 若有代码
struct point {int x; int y;} pt, *p; p = & pt;
现要输出 pt 的成员 x,错误的语句为: ( D )
A) printf (“%d\\n”, p->x); C) printf (“%d\\n”, *p.x);
B) printf (“%d\\n”, p[0].x); D) printf (“%d\\n”, *p->x);
17. 下列代码的输出为: (D)
printf (“%s\\n”, “HelloWorld”+4);
A) Hello B) HelloWorld C) World D) oWorld
18. 下列语句的输出结果是( B )
putchar (putchar (?a?))
A) a B) aa C) A D) ab
19. 下面代码的输出是( B )
char foo[]=“Hello World”;
printf (“%d %d”, strlen(foo), sizeof(foo)); A) 11 11 B) 11 12 C) 12 11 D) 12 12
20. 有如下代码
main () {
___ int x=1;
printf (“%d\\n”, int); }
横线出不可填入的关键词为 ( C ) A) auto B) register C) extern D) static
二、填空题(每空 2 分,共 20 分)
1. 若想通过以下输入语句给a赋于1,给b赋于2,
4
int a,b;
scanf(\”,&a,&b);
则输入数据的形式应该是____【1】1 2
2. 写出能正确表示a是正偶数的关系表达式_____【2】(a>0) && ((a%2)==0)
3. x 的类型为 doule, y 的类型为 float,用一个 printf 语句输出这两个值:
____【3】printf (“%f %f\\n”, x, y);____
4. 若有如下代码
double s;
double a[4][4] = {{1,2,3,4},{2,3,4,1}, {3,4,1,2},{4,1,2,3}}; s = det4 (a);
推测函数 det4 的原型
____【4】double det4 (int [][4])
5. 函数 stup 逆序输出一个字符串,并返回打印的字符总数,请补充空白部分。
int stup (const char *s) {
int n=0;
if (____【5】*s!=0 _____)
{
n=1+stup(s+1);
_____【6】putchar(*s); }
return _____【7】n; }
6. 以下程序的输出为_____【8】1 3 6 10 15 int acc(int n) {
static int f; f=f+n; return f; }
main() {
int i;
for(i=1;i<=5;i++)
printf(\}
7. 若 z, i 均为 int 类型,i 的当前值为 1, 则对表达式 z=i++, i++, i++ 求值
5
后,z 的值为 _____【9】1
8. 给指针p申请四个long 型动态内存单元,请填空
p=【10】malloc(sizeof(long)*4); ;
三、程序阅读题(每题4分,共20分)
1.写出下列程序的运行结果: 41 int f(int x, int y, int z) {
if ((x>z) && (y>z)) return x*x+y*y; else
return f(y, z, x); }
int main() {
int n;
n = f(3,4,5);
printf (“%d\\n”, n); }
2.以下程序的运行结果是:Hello World Hello World
void f (char *s, const char *t) {
while (*s++=*t++); }
int main() {
char a[1024];
char b[]=”Hello World”; f(a,b);
printf (“%s\\n”, b); printf (“%s\\n”, a); }
3.写出程序输出:45
6
long f(long n) {
if (n!=0)
return (n + f(n/10)); else
return 0;
}
int main() {
long n=1234567890;
printf(“%ld\\n”,f (n)); }
4.以下程序的运行结果是:15 int f (int (*p) [3]) {
int s=0, i;
for (i=0; i<3; i++) s+=(*(p+i))[i]; return s; }
int main( ) {
int a[3][3]={1,2,3,4,5,6,7,8,9}; printf(“%d\\n”, f(a)); }
5.下面程序的运行结果是: int main( ) {
char *str[]={“Pascal”,”C language”,”Dbase”,”Cobol”}; char **p; int k; p=str;
for (k=3; k>=0; k--)
printf(“%s\\n”, *(p++)); }
四、编程题(共20分)
7
1. 实现一个函数 sum,对给定输入 n,若 n>0, 返回 1+2+ …… + n 的值; 若 n<0,则返回 -1-2-……-n 的值;若 n=0,返回 0。(5分)
int f (int n) {
int s=0; if (n<0)
return –f(-n);
while (n>0) s+=n--;
return s; }
处理负号 1 分, 循环 2 分,返回值 1 分,初始化 1 分。
2. 用牛顿迭代求 a 平方根的递推公式为 x ← 0.5(x+a/x), 初始值可选 1. 利用这个公式实现函数 double Sqrt(double a); 此函数返回 a 的平方根。 (7分)
double Sqrt(double a) {
double x=1, err;
do {
x=0.5*(x+a/x); err=x*x-a;
if (err<0) err=-err; }
while (err>1e-6);
return x; }
变量类型 1分,初始化 1 分,循环迭代 2 分,误差控制 2 分,返回值 1分。
3. 实现一个程序,实现文件复制功能。(8分)
int main (int argc, char **argv) {
char buf[1024]; FILE *rfp, *wfp; int n;
8
if (argv<3) {
printf (“useage: %s file1 file2\\n”, argv[0]); return -1; }
rfp=fopen(argv[1], “rb”); wfp=fopen(argv[2], “rb”); if (rfp==NULL || wfp==NULL) {
Printf (“fail to open file”); return -1; }
while ((n=fread (buf, sizeof(char), sizeof(buf), rfp)>0) fwrite (buf, sizeof(char), n, wfp);
return 0;
}
命令行处理 2 分,打开文件模式 2 分,判断是否成功打开文件 2 分,读写文件 2 分。
9
正在阅读:
广州大学C语言程序设计期末考试试卷含答案12-21
城投综合楼3#楼施工组织设计05-17
事业单位招考公共基础知识之马克思主义哲学03-10
高中英语 Unit2 the olympic games period教学设计2 新人教版必03-08
9.1.2不等式的性质导学案03-08
古代诗歌鉴赏知识体系答题思路及步骤10-20
八年级下册英语复习笔记05-20
书香伴我成长作文04-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 广州大学
- 程序设计
- 期末
- 试卷
- 答案
- 语言
- 考试
- 中美智库 拥有近似的发展背景
- 污水站运营托管服务合同2017
- 施工电梯基础施工方案(天津) - 图文
- 学生顶岗实习管理制度课件
- 语文S版二年级语文下册:第25课《可爱的西沙群岛》教学设计
- 小肥羊等连锁经营店绝密配方
- 高考英语口语考试(老师用)
- 2017年秋季新版PEP小学英语四年级上册教学计划
- 《机器人技术及其应用》实验指导书(1) - 图文
- 太原工业学院专升本成本复习资料之制造费用分配习题
- 计算机系统结构三四章作业及答案
- 电子系统设计-温度控制系统实验报告资料
- “圆梦乙未”综合训练(二)(学生)
- 建筑工程管理与实务-建筑工程施工技术(十六)
- 事业单位工作人员奖励审批表(正反面打印)
- 氧气安全技术说明书
- 有关职称问题的几点说明
- 上海师范大学2018年录取研究生学费标准一览
- 宁波大学优秀研究生分会评比办法
- 新人教版数学四年级解决问题专项练习