云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > (021)02-03秋试卷及答案

(021)02-03秋试卷及答案

  • 62 次阅读
  • 3 次下载
  • 2025/12/3 7:16:43

上海大学2002-2003年秋季学期试卷 2002.11

一、基础题(30分,每小题3分)

1.已知 x=y=z=100,求语句z+=(x++)+(--y) 执行后各变量的值。 2.已知x=200,计算表达式 (float)5/2+(x++) 的值。 3.试写出表达式 (0x1234&0xFF) 的16位二进制结果。

4.请写出逻辑表达式:a与b同时为真,或者a与b同时为假。 5.请写出表达式:若x大于等于0结果为x+1,否则结果为x-1。 6.已知有程序段如下(x为整数): x=0; if(a) x=1; else if(b); else x=1;

请问上述程序段与以下那句赋值语句等价:

x=a&&b; 或x=a||!b; 或x=a&&!b; 或x=(a!=0);

7.已知有语句格式如 for(i=0; i<=?; i++),如果要求循环次数为n-3

次,请以上述格式写出 for语句。

8.已知有定义 char*names[]={\;请写出语句 printf(\;的运行结果。

9.已知有职工结构体数组 struct {int num; char name[20];}per[100]; 请使用scanf函数写出:输入下标为 i 的职工的num和name的语句。

10. 结束当前循环或 switch 语句的语句是什么语句,结束当前函数并返回的语句是什么语句。

二、改错程序(10分,每错误点2分)

1.函数 jchen计算n!的值,该函数有两个错误,指出错误所在行号,并写出正确结果。 #1 long jchen(int n) #2 {

#3 long rst; #4 int i; #5 rst=0;

#6 for(i=1; i

1 / 11

#9 }

2.以下程序输入一行字符,输出该行的第一个单词(仅由小写字母组成),函数 fword 的参数line为输入字符串,返回的指针指向第一个单词首字母,如果 fword 中找不到单词,返回指向'\\0'的指针(本程序有三个错误)。

#include

#1 char *fword(char *line) #2 {

#3 char *p, *q;

#4 for(p=line; *p!='\\0'; p++) #5 if(*p>='a'&&*p<='z') #6 break;

#7 for(q=p; *q!='\\0'; q++) #8 if(*q>='a'&&*q<='z') #9 {

#10 *q='\\0'; #11 break; #12 }

#13 return *p; #14 }

#15 main() #16 {

#17 char buf[80]; #18 gets(buf);

#19 puts(fword(buf[80])); #20 }

三、阅读程序(30分,每小题5分)

仔细阅读下列程序,写出各程序的运行结果。 (1)程序1

#include main()

{ int m, n;

scanf(\ printf(\

if(m%2==0) printf(\

2 / 11

else printf(\

if(n%2==0) printf(\ else printf(\ }

输入:8 9

输出: ?

(2)程序2

#include main() { int i, j;

for(i=0; i<4; i++) { for(j=0; j

输出:?(要求:空格必须注清楚)

(3)程序3

#include int partsum(int a[]) { int sum=0, i;

for(i=0; a[i]!=0; i++)

{ printf(\

sum+=a[i];

}

return sum; } main()

{ int x[]={10, 20, 30, 0, 40, 50};

printf(\ } 输出:? (4)程序4

3 / 11

#include int ga=0; int func(int x) { int y=1;

static int z=1; y+=x;

z+=x; ga++;

printf(\, z); }

main()

{ func(1);

func(2); func(3);

printf(\ }

输出:? (5)程序5

#include int run(int a[])

{ printf(\ if(a[0]==1)

return a[1]+run(a+2);

else if(a[0]==2)

return –a[1]+run(a+2);

else

return 0;

}

main()

{ int a[]={1, 100, 2, 30, 1, 50, 0, 0}; printf(\ }

输出:? (6)程序6

#include main()

{ FILE *fp;

4 / 11

搜索更多关于: (021)02-03秋试卷及答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

上海大学2002-2003年秋季学期试卷 2002.11 一、基础题(30分,每小题3分) 1.已知 x=y=z=100,求语句z+=(x++)+(--y) 执行后各变量的值。 2.已知x=200,计算表达式 (float)5/2+(x++) 的值。 3.试写出表达式 (0x1234&0xFF) 的16位二进制结果。 4.请写出逻辑表达式:a与b同时为真,或者a与b同时为假。 5.请写出表达式:若x大于等于0结果为x+1,否则结果为x-1。 6.已知有程序段如下(x为整数): x=0; if(a) x=1; else if(b); else x=1; 请问上述程序段与以下那句赋值语句等价: x=a&&b; 或x=a||!b; 或x=a&&!b; 或x=(a!=0

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com