全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1999年上海普通高校非计算机专业学生计算机等级考试试卷二级 (C语言)(本试卷答卷时间为120分钟)试题一 (28分) 解答下列各小题, 把正确的解答写在答卷纸的对应栏内。 设有变量定义:int a=5, b=4, c=3, d=2;试写出计算表达式 (-a = b+) ? c- : +d 后,变量a,b,c,d的值。 试计算以下表达式的值: int ( float (32 / 5 + int (6.8) *2.5 ) * 4) 设有变量定义:int k = 2, 4 , 6, 8, 10, 12 , *p = k 2;计算表达式 * ( p + 2 ) * p 2 的值。 试写出满足以下判断条件的C表达式:字符变量 ch 是英文字符 设有变量定义:struct num int x; int y; sa = 2, 32 , 8, 6 ;struct num *p = sa; 试计算表达式 ( p- y / sa1.x * +p - x ) 的值。 试说明下列函数调用语句的功能: fopen(mydata, “wb+”); 试分别写出下列定义中的标识符 u 和 v 的意义: int * u 4 ; int ( * v ) 4 ;试题二(12分) 读程序。把程序的输出结果写在答卷纸的对应栏内。 程序2.1 void s ( int a , int n ) int i, j, t;for ( i = 0; i=0 & t aj; j- ) aj+1 = aj; aj+1=t; main() int i, b6 = 24, 12, 14, 32, 22, 34 ; s( b, 6 ); for( i=0; i 6; i+) printf( “%4d”, bi ); printf( “n” ); 程序 2.2 void p( int k ) int m, i; for( m = 2; m = k; m+) for ( i = 2; i = m; i+) if( !(m%i) break; if (i = m ) printf( “%4d”, m ); main() p(13); 试题三(12分)改错。下列程序中都有三个错误,按原来程序的计算要求,纠正其错误,并以“将第 x 行改为 xxx”的形式进行解答,代码左边的“#1”、“#2” 是附加的行号。 程序3.1是在5个字符串中求最小字符串并输出结果。程序3.1#1#include #2#include #3main()#4 char *name5= “FXPRESSION”, “VARIABLE”, #5 “STATEMENT”, “BLOCK”, “FUNCTION” ;#6 char temp;#7 int i;#8 temp=name0;#9 for ( i=1; i *namei) 0 )#11 temp=namei;#12 printf(“%sn”, *temp);#13 程序3.2输入 n (0 n =100)个整数,计算n个整数之和并输出和数。 程序3.2 #1#define N 100#2int sum ( int *b, m )#3 int s=0;#4 for ( ; m-; )#5 s+=*b+;#6 return s;#7#8 main()#9 int i, n, aN;#10 do printf( “Enter n (0n 0 & n = 100 );#13 printf( “Enter a0-a%dn”, n-1);#14 for ( i=0; in; i+)#15 scanf ( “%d”, a+);#16 printf ( “sum=%dn”, sum( a, n ) );#17 试题四(18分)写出实现指定要求的C代码,不要求写出完整的程序,也不要求为代码中出现的变量给出正确的定义。 试用 while控制结构,求出给定十进制正整数n的位数(例:278是三位数),并将结果存于变量C中。 试用do_while控制结构,计算下列公式的近似值: 当某项的绝对值小于0.0001时,该项及以后各项不再累加,结束循环求和。 试用for控制结构,求数组a N 的前k(k = N)个元素中的最大值及最小值,并将结果分别存于变量max和min中。试题五(15分)阅读下列函数说明和C代码,把应填入其中空格_(n)_处的C代码写在答卷纸的对应栏内。函数5说明函数 m ( int *a, int n ) 用于整理数组 a 的前n 个元素,使其中小于零的元素移到数组的前端,大于零的元素移到数组的后端,等于零的元素留在数组中间。算法说明:令 a 0 a low1 小于零(初始为空); a low a i1 等于零;a high + 1 a n1 大于零;a i a high 还未考察,当前考察元素为a i 。初始时low、i为零;high 为 n1。函数5m ( int *a, int n ) int i, low, high, t; low = i = 0; high = n 1; while ( _ _ ) if( ai 0 ) t = ai ; ai = alow; alow = t; _ _ ; i+; else if ( _ _ ) t = ai ; ai = ahigh; ahigh = t; _ _ ; else _ _ ;试题六(15分)阅读下列程序说明和C代码,把应填入其中空格_(n)_ 处的C代码写在答卷纸的对应栏内。程序6说明 本程序从文件读入整数,并按从小到大的顺序输出文件中互不相同的整数。程序一边从文件读入整数,一边构造一个由小到大顺序链接的链表,然后顺序输出链表上的各整数。主函数每读入一个整数,调用函数 insert(),将未出现在链表上的整数,按从小到大的顺序将该整数插入链表。为插入方便,链表的表首有一个辅助表元。程序 6 # include struct node int val;struct node *next;insert (struct node *list, int x )/* 若x 不在链表中,则生成值为x 的新表元,并将它插入链表;否则忽略x */ struct node *u, *v;u = list; v = u- next;while ( _ _ ) /* 寻找值为x 的表元,或插入点 */ u = v; v = v- next; if ( _ _ ) u - next = (struct node *) malloc( sizeof (struct node ) );_ _ = x; _ _ ; write (struct node *pt ) for (; p!=NULL; p = p-next )printf(“%dt”, p - val );#define file “int.dat”main ( ) FILE *fpt; int x;struct node *head;fpt = _ _ ;if( fpt = NULL ) printf ( “Cant open file %sn”, file ); exit( 0 ); head = (struct node *) mal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026国考行测真题及答案
- 大庆事业单位统一招聘考试真题
- 2025年美术学业水平测试题及答案
- 市场监管部门职责解析
- 信息系统开发与管理历年真题及答案
- 上海取样员考试复习题
- 2025年二级建造师施工管理真题及答案解析
- 山东省建设工程评标专家考试题(学习版)
- 2025年中学生安全知识竞赛试题库含答案(共四套)
- 固定翼机长无人机真题及答案1
- 学堂在线 心理学与生活 章节测试答案
- 2025年南京市事业单位教师招聘体育学科专业知识试题
- 腹外疝护理课件
- 2025年云南交投集团招聘笔试备考题库(带答案详解)
- 家庭防火安全培训
- 出庭培训课件
- 2025年智能化实验室建设市场分析报告
- 2025-2030年中国铜合金水龙头行业市场现状供需分析及投资评估规划分析研究报告
- 智慧灌溉系统建设方案
- 2025至2030年中国水光针行业市场全景调研及投资前景研判报告
- 两癌防治知识培训
评论
0/150
提交评论