上海计算机等级考试试题1998.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1998年上海普通高校非计算机专业学生计算机等级考试试卷二级 (C语言)试题一 (28分) 解答下列各小题, 把正确的解答写在答卷纸的对应栏内。试计算以下表达式的值。8*(int)(1/2 + 5/(double)2)设变量 x 满足以下所述的逻辑条件,试用C代码描述该条件。 60= x 70 或者 90 = x = 100试简要叙述以下宏定义的意义。# define round (t ) ( int ) ( ( t )* 10 + 0.5) / 10.0fopen 函数中第二个变元表示打开文件的方式。如果要求打开一个已存在的二进制文件,且对该文件既能读也能写,那麽打开文件方式的字符串应为什么?按以下要求写出结构类型 w的定义形式: w 结构类型包含三项信息: 学号(SNO):最多有8个字符组成的字符串; 姓名 (SNAME):最多有10个字符组成的字符串; 备注信息 (NOTE):字符个数不定,可能没有,也可能是有很多字符组成的字符串。试分别写出以下说明和定义中标识符u和v的意义。 int *u ( ); int (*v) ( );从变量作用域来分,程序有局部变量和全局变量。试回答,其中全局变量可能有那些存储类,各有什么特点? 试题二(12分) 读程序。把程序的输出结果写在答卷纸的对应栏内。(1)[ 程序2.1 ] # include stdio.h 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, %d\n”, a, b); } (2 ) [ 程序 2.2 ] # include stdio.h 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%4d\n”, a [ i ], a [ i + 1 ]); }试题三(12分)改错。下列程序段或程序都有一些错误,纠正所有错误,并以“将第 x 行改为 xxx”的形式写在答卷纸的对应栏内。程序段或程序左边的“#1”、“#2”… 是附加的行号。程序3.1时希望通过函数指针变量调用它所指的函数,输出三个输入整数中的最大值。[程序3.1]#1 #include stdio.h#2 int max(int x, int y);#3 { return xy? y: x #4 }#5 main( )#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 中,最大数是 %d\n”, a, b, c, d);#13 } (2) 程序3.2希望通过对函数sorttwo( ) 的调用,使与函数的两个参数所对应的两个变量的值依次变成从小到大顺序。当函数发现它们不是从小到大顺序时,函数就应交换这两个变量的值,使它们变成从小到大顺序。[程序3.2]#1 void sortrtwo(int x, int y)#2 { int t;#3 if(xy) { t=x; x=y; y=t ; }#4 }#5 #define PR(a,b)= printf(“First = %d Second = %d\n”, a, b)#6 main( )#7 { int a, b;#8 a=1; b=2; PR(a, b);#9

文档评论(0)

gk892289 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档