




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1998年上海普通高校非计算机专业学生计算机等级考试试卷二级 (C语言)试题一 (28分) 解答下列各小题, 把正确的解答写在答卷纸的对应栏内。(1) 试计算以下表达式的值。8*(int)(1/2 + 5/(double)2)(2) 设变量 x 满足以下所述的逻辑条件,试用C代码描述该条件。 60= x 70 或者 90 = x = 100(3) 试简要叙述以下宏定义的意义。# define round (t ) ( int ) ( ( t )* 10 + 0.5) / 10.0(4) fopen 函数中第二个变元表示打开文件的方式。如果要求打开一个已存在的二进制文件,且对该文件既能读也能写,那麽打开文件方式的字符串应为什么?(5) 按以下要求写出结构类型 w的定义形式: w 结构类型包含三项信息: 学号(SNO):最多有8个字符组成的字符串; 姓名 (SNAME):最多有10个字符组成的字符串;备注信息 (NOTE):字符个数不定,可能没有,也可能是有很多字符组成的字符串。(6) 试分别写出以下说明和定义中标识符u和v的意义。 int *u ( ); int (*v) ( );(7) 从变量作用域来分,程序有局部变量和全局变量。试回答,其中全局变量可能有那些存储类,各有什么特点?试题二(12分) 读程序。把程序的输出结果写在答卷纸的对应栏内。(1) 程序2.1 # include int a = 3, b = 4, c = 5;sub (int a ) int b = 20; static int s = 10; b += a +; s += b + c; printf (“%d, %d, %d ”, a, b, c);main ( ) int b = 6, c = 7; sub ( 10 ); sub ( a + c ); printf (%d, %dn”, a, b); (2 ) 程序 2.2 # include int orderi ( int *a, int i ) return a i a i + 1 ; main ( ) int a = 3, 8, 6, 2, 18, 9, 12, 14 , i; for ( i = 0; i 7; i + ) if ( ! orderi ( a, i ) )printf (“%4d%4dn”, a i , a i + 1 );试题三(12分)改错。下列程序段或程序都有一些错误,纠正所有错误,并以“将第 x 行改为 xxx”的形式写在答卷纸的对应栏内。程序段或程序左边的“#1”、“#2” 是附加的行号。(1) 程序3.1时希望通过函数指针变量调用它所指的函数,输出三个输入整数中的最大值。程序3.1#1#include #2int max(int x, int y);#3 return xy? y: x #4 #5main( )#6 int max(x, y);#7 int *p=&max;#8 int a, b, c, d;#9 printf(“输入三个整数。n”);#10 scanf(“%d %d %d”, a, b, c);#11 d = (*p)(*p)(a, b), c);#12 printf(“在 %d,%d 和 %d 中,最大数是 %dn”, a, b, c, d);#13 (2) 程序3.2希望通过对函数sorttwo( ) 的调用,使与函数的两个参数所对应的两个变量的值依次变成从小到大顺序。当函数发现它们不是从小到大顺序时,函数就应交换这两个变量的值,使它们变成从小到大顺序。程序3.2#1void sortrtwo(int x, int y)#2 int t;#3if(xy) t=x; x=y; y=t ; #4#5#define PR(a,b)= printf(“First = %d Second = %dn”, a, b)#6main( )#7 int a, b;#8 a=1; b=2; PR(a, b);#9 sorttwo(&a, &b);#10 PR(a, b);#11 a=2; b=1; PR(a,b);#12 sorttwo(b, a);#13 PR(a, b);#14试题四(18分)按指定要求,写出 c 程序段,把正确的解答写在答卷纸的对应栏内。不要求写完整的程序,也不必定义程序段中出现的变量。(1) 试用 for控制结构统计两维数组 aNN中全为 0元素的行的行数,将统计结果存于变量 s中。(2) 试用 while控制结构实现将存于数组 b 中的前个元素存储顺序颠倒,即执行该程序段后,使原来的b0存储到bn-1,而原来的bn-1存储到b0,其余以此类推。(3) 试用do-while语句计算下列公式的近似值 当计算某项的绝对值小于0.0001时,该项及以后各项不再累加。这时就完成了s 的近似计算。试题五(15分)阅读下列程序说明和 c 程序,把应填入其中_(n)_处的字句写在答卷值的对应栏内。程序5说明 某服务公司征询顾客意见,以考核公司的位服务员的工作业绩。设服务员已按1、2、3、 顺序连续编号,顾客意见是顺序列出第一名(最佳)至第十名的服务员编号。设所收到意见信息已存于正文文件中,一位顾客的意见一行,服务员编号整数之间由空格符分隔,对应名次的服务员编号可以为0,已表示该名次空缺。若一行意见信息中有不是服务员编号的整数,也不是0,或有编号重复出现,或一行有十个以上编号,或不足十个编号(包括0),则该行意见信息作废。程序综合顾客对各服务员的名次评定情况,给每位服务员计分,各名次得分标准如下:名次 一 二 三 四 五 六 七 八 九 十得分 15 12 9 7 6 5 4 3 2 1程序最后顺序输出各服务员各名次所得票数和它的合计得分。程序5#include #define N 41#define FNAME “SOURCE.DAT”int mark =15, 12, 9, 7, 6, 5, 4, 3, 2, 1;int scoreN10; /* scoreij是 i 号服务员得j+1名的票数*/ char buf81, *p;FILE *fp;main( ) int i, j, k, c, d, error, b10;for(i=0; iN; i+) for(j=0; j10; j+) scoreij=0;if(fp=fopen(FNAME, “r”)=NULL) printf(“Cant open %s file.n”, FNAME); exit(0);p=fgets(buf, 80, fp);while(*p!=0&*p!=n) /* 读入非空行情况下循环 */ error=0; k=0; while(!error) while(*p= ) p+; /* 跳过空格符*/ if(*p=0|*p=n) error=_(1)_; break; if(*p9) error=1; break; /*有非法字符*/ if(k=10) error=1; break; /*有十个以上编码*/ c=0; /*译出一个编号*/ while(*p=0 & *p=N) error=1; break; /*非法编号*/ if (c!=0) for(i=0; _(3)_ ; i+) /*检查重复编号*/error= _(4)_; /*如有重复编号,则置出错标志*/ if (!error)for(i=0; ik; i+) if( bi _(5)_;p=fgets(buf, 80, fp);fclose(fp);for(i=1; iN, i+ ) /*输出结果*/ printf(“t%2d”, I );/*输出服务员编号*/for( d=0, j=0;j 10; j+); printf(“%4d”, scoreij); d+=scoreij*markj; /*求合计得分*/ printf(“%6dn”, d ); /* 输出合计得分*/printf(“nn”);试题六(15分)阅读下列程序说明和程序,把应填入其中_(n)_ 处的字句写在答卷纸的对应栏内。程序6说明 本程序中的函数 first_insert ( ) 实现在已知链表的首表元之前插入一个指定值的表元;函数 reverse_copy ( ) 实现按已知链表复制出一个新链表,但新链表的表元链接顺序与已知链表的表元链接顺序相反;函数 print_link ( ) 用来输出链表中各表元的值;函数 free_link ( ) 用来释放链表全部表元空间。程序 6 # include # include typedef struct node int val;struct node *next; NODE;main ( ) NODE *link1, *link2, *reverse_copy ( );void print_link ( ), first_insert ( ), free_link ( );int i;link1=NULL;for ( i=1; inext )printf(“%dt”, p-val );printf(“n”);void first_insert ( NODE *p, int v ) NODE *q;q=( NODE *) malloc( sizeof (NODE);q-val=v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河南师范大学物理学院诚聘英才模拟试卷及答案详解(新)
- 2025广西钦州市灵山县宏丽投资集团有限公司招聘8名考前自测高频考点模拟试题及一套参考答案详解
- 2025年安徽白帝集团有限公司及所属子公司春季招聘8人模拟试卷及1套完整答案详解
- 2025湖南雪峰山高铁索道有限责任公司招聘考前自测高频考点模拟试题及答案详解(必刷)
- 2025湖南省儿童医院高层次人才公开招聘16人考前自测高频考点模拟试题及答案详解(全优)
- 2025湖南怀化市靖州苗族侗族自治县政务服务中心见习人员招聘1人考前自测高频考点模拟试题带答案详解
- 2025黑龙江双鸭山饶河县竞聘农场社区工作者笔试考前自测高频考点模拟试题及答案详解(新)
- 2025湖南湘潭市韶山学校公开招聘教师15人考前自测高频考点模拟试题附答案详解(完整版)
- 2025福建福州经济技术开发区市政工程中心第二季度招聘编外人员2人模拟试卷及答案详解(名校卷)
- 2025年湖南益阳市交通投资运营集团有限公司招聘(第一批)考前自测高频考点模拟试题及答案详解(各地真题)
- 2025房地产中介劳动合同协议书范本
- 教科版科学五年级上册2.1地球的表面教学课件
- 急进性肾小球肾炎患者的护理
- 2025至2030中国克罗恩病药物行业项目调研及市场前景预测评估报告
- 知识分享大讲堂活动方案
- 2026届初三启动仪式校长讲话:初三启航!以信念为舵赴青春与使命之约
- XX中小学落实“双减”政策及加强“五项管理”实施方案
- 急性淋巴细胞白血病课件
- 2025-2026学年鲁科版小学劳动技术一年级上册教学计划及进度表
- 乡村景观设计讲解
- 尿管相关血流感染防控与管理
评论
0/150
提交评论