2016年华南理工大学研究生入学考试专业课真题803_算法语言(C).docx
第 1 页803华南理工大学2016 年攻读硕士学位研究生入学考试试卷( 试 卷 上 做 答 无 效 , 请 在 答 题 纸 上 做 答 , 试 后 本 卷 必 须 与 答 题 纸 一 同 交 回 ) 科目名称:算法语言(C 语言)适用专业:设计学;工业设计工程(专硕)共 6 页一、单 项选择 题( 本大题 共 15 小题, 每小 题 2 分, 共 30 分)1. 下 面 数 据中 最小 的是 ( )A. (0.1100)2 B. (0.64)8 C. (0.8125)10 D. (0.1D)162. 下 列 能 正确 表示 double 类型常 量的 是( )A. 0.31410 B.0.314e10 C. 0.0314102 D. 3.14L3. 下 列语 句中 符合 C 语 言 语法 的 赋值 语句 是( )A. a=7+b+c=a+7; B. a=7+b+=a+7;C. a=7+b, b+, a+7; D. a=7+b, c=a+7;4. 在 if 语 句中 ,用 作判 断 的表达 式为 ( )A. 关 系表 达式 B. 逻辑表 达式 C. 算数 表 达式 D. 任 意表 达式5. 下 面程 序段 执行 后的 输 出结果 是( )int i= -1;if(i2 的值是( )A. 0 B. 3 C. 5 D. 714. 如果要将文件指针 fp 指向文件末尾,正确的语句是( )A. feof(fp); B. rewind(fp); C. fseek(fp,0L,0); D. fseek(fp,0L,2);.第 3 页15. 下 列 关 于 结 构 体 类 型 变 量 定 义 不 正 确 的 是 ( )A. B.struct score structint math; int math;int Chinese; int Chinese;Li, Wang; Li, Wang;C. D.struct score struct scoreint math; int math;int Chinese; int Chinese; ; Li, Wang;struct score Li, Wang;二、简答题(本大题共 5 小题,每小题 6 分,共 30 分)16. 简述 C 语 言 中 标 识 符 的 命 名 规 则 , 并 说 明 C 语言中哪些名是用标识符来标识的?17. C 语 言 中 如 何 表 示 “真 ”和 “假 ”? 系 统 如 何 判 断 一 个 量 的 “真 ”和 “假 ”?18. 变量有哪几种存储类别?指明它们存储数据的区域。19. 定义 char *str= ”computer”; 是将字符串“computer”赋给变量 str,这种说法 对吗?为什么?20. 函数 fclose( )的功能是什么? 三、程序填空题(本大题共 4 小题,每空 2 分,共 40 分)每小题程序的空格处缺少语句,请给出正确的语句使程序完整。21. 以下程序借助第三个变量 c 实现两个变量 a,b 数值的对调操作。#include main( ) int a, b, c;scanf(“%d%d“, );printf(“a=%d, b=%dn“, a, b); t= ;a= ;第 4 页b= ;printf(“a=%d, b=%dn“, );22. 打印出如下菱形图案*#include main( ) int i, j, k;for(i=0; ; i+)for(j=0; j#include 第 5 页main( ) FILE *fp; char str100; int i=0;if(fp=fopen(“test“, )=NULL) printf(“cannot open the filen“); exit(0);printf(“please input a string:n“); gets( );wihle(stri!= ) if(stri=a fputc(stri, fp); i+;fclose( );fp=fopen(“test“, “r“); fgets(str, strlen(str)+1, fp); printf(“%sn“, str); fcolse(fp);24. 用结构的方式输入学生的姓名和成绩,然后将其输出;#include stuinf char name20; /*学生姓名*/ int score; /*学生成绩*/stu, *p; main( ) p=printf(“Enter name:“); gets( ); printf“Enter score:“); scanf(“%d“, );printf(“Output:%s, %dn“, , );第 6 页四、程序设计题(本大题共 3 小题,共 50 分)25. 统计用 0 至 9 之 间 的 不 同 的 数 字 组 成 的 三 位 数 的 个 数 。 ( 15 分 )26. 从 键 盘 输 入 一 个 学 生 的 生 日 ( 年 : y0、 月 : m0、 日 : d0) , 并 输 入 当 前 日 期( 年 : y1、 月 : m1、 日 : d1) , 求 出 该 学 生 的 真 实 年 纪 , 精 确 到 年 即 可 。 ( 15 分)27. 从键盘输入 10 个 整 数 , 利 用 input( )函数将其存放在一个名称为 number 的 数 组 中 , 利 用 max_min( )函 数 将 数 值 最 大 的 元 素 和 第 一 个 元 素 交 换 位 置 , 数 值 最 小 的 元 素 与 最 后 一 个 元 素 交 换 位 置 , 最 后 利 用 output( )函 数 将 数 组 输 出 。 完 整 的 main( )函数 已 经 给 出 , 请 编 写 出 其 他 函 数 和 语 句 。 ( 20 分 )main( )int number10; input(number); max_min(number); output(number);