(063)06-07春试题及答案

上传人:知更****鸟 文档编号:159798040 上传时间:2021-01-07 格式:DOC 页数:12 大小:132KB
返回 下载 相关 举报
(063)06-07春试题及答案_第1页
第1页 / 共12页
(063)06-07春试题及答案_第2页
第2页 / 共12页
(063)06-07春试题及答案_第3页
第3页 / 共12页
(063)06-07春试题及答案_第4页
第4页 / 共12页
(063)06-07春试题及答案_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《(063)06-07春试题及答案》由会员分享,可在线阅读,更多相关《(063)06-07春试题及答案(12页珍藏版)》请在金锄头文库上搜索。

1、(063)上海大学2006-2007年春季学期试卷 2007.6课程名:程序设计基础(C) 课程号:00863006 学分:5 应试人声明: 我保证遵守上海大学学生手册中的上海大学考场规则,如有考试违纪、作弊行为,愿意接受上海大学学生考试违纪、作弊行为界定及处分规定的纪律处分。学号: 姓名: 学院/教师: 题号一二三四卷面上机总分题分21368127723100得分考生须知:1. 试卷和答题纸上的“学号、姓名、学院、教师”都要填上;2. 所有答题内容都写在答卷纸上,交卷时将试卷和答卷纸一起交上;3. 不遵守上述要求者考试成绩将为零分。4. 本卷考试的得分为卷面分,电脑上机考试(另行安排)的得分

2、为上机分,考试成绩为卷面分与上机分之和。一、基础题(21分,第1小题3分,其它每小题2分)1定义int x=63,y=36,z=100; 写出z+=(z=x+y)?x+:-y;执行后各变量的值。2定义float x=6.3, y=3.6;计算表达式(int)(x+y)*2与(int)(2*(x+y)的值。3设a=b=6,分别判断表达式4a6和b+=6是真还是假。4. 分别写出判断表达式:字符x为大写字母,字符x为数字字符。5. 设x为正实数,分别写出表达式:x截去小数后的整数值与四舍五入后的整数值。6. 将二进制数01011010转换为十进制和十六进制数。7计算0x630x5A和0x63|0x

3、5A的值,结果用16进制表示。8写出printf(“%d,%05d,%4.2f,%u”,-2,123,45.678,-1);的执行结果。9定义int a=11,22,33,44,55,66,77,*p=&a2,*q=a+5;写出printf(“%d,%d”,q-p,*q-*p);的运行结果。10定义FILE *fp, 写出以读方式打开文本文件test.txt的语句。二、阅读程序(36分,每小题4分)仔细阅读下列程序,将各程序的运行结果写在答卷纸上。(1)程序#include main()intx,y,z,w,t;scanf(%d%d%d%d,&x,&y,&z,&w);t=x;x=y;y=z;z

4、=w;w=t;printf(x=%d,y=%d,z=%d,w=%dn,x,y,z,w);输入: 10 20 30 40输出:?(2)程序#include main()int n;while ( 1 )scanf(%d,&n);if (n=60)printf(%d is PASSn, n);elseprintf(%d is FAILn, n);输入:58 98 -1输出:?(3)程序#include main()int i,j;for (i=1;i=4;i+)for (j=1;j=i;j+)printf(%d,%-3d,i,-j);printf(n);输出:?(4)程序#include main

5、()long n;int a10,i;scanf(%ld,&n);for (i=0;n0;i+)ai = n%10;n /= 10;for (i-;i=0;i-)printf(%2d, ai);输入:12345678输出:?(5)程序#include #define N 5main()int aN,max,min,sum,i;for (i=0;iN;i+)scanf(%d,&ai);sum=max=min=a0;for (i=1;imax) max=ai;if (aimin) min=ai;printf(max=%dnmin=%dnsum=%dnaver=%4.2fn,max,min,sum,

6、(float)(sum-max-min)/(N-2);输入:20 30 5 85 40输出:?(6)程序#include char *toucase(char *str)char *p;for (p=str;*p!=0;p+)if (*p=a & *p=z)*p=*p-a+A;return str;main()char s81=Hello.;puts(toucase(s);puts(toucase(gets(s);输入:How are you?输出:?(7)程序#include int func(int a)static int ct=0;return 100*a+ct+;main()int

7、i;for (i=6;i=9;i+)printf(Data=%dn,func(i);输出:?(8)程序#include void split(char *str, char *word, char *rem)char *p;for (p=str;*p= ;p+) ;while ( *p!= & *p!=0 )*word+ = *p+;*word=0;while ( *p!=0 )*rem+ = *p+;*rem=0;main()char s81, w4081;int n=0;gets(s);dosplit(s,wn+,s);while (wn-10!=0);for (n-=2;n=0;n-)p

8、uts(wn);输入:I am fine. !#$% 输出:?(9)程序#include struct fs int fz, fm; ;void print(struct fs *p)printf(fs=%d/%dn, p-fz,p-fm );struct fs *simp(struct fs *p, int g)if (gp-fz | gp-fm)return p;if (g1 & p-fz%g=0 & p-fm%g=0)p-fz /= g;p-fm /= g;simp(p,g);elsesimp(p,g+1);main()struct fs fsdata;FILE *fp;int n,i;

9、fp=fopen(063.txt,r);fscanf(fp,%d,&n);for (i=0;in;i+)fscanf(fp, %d%d, &fsdata.fz, &fsdata.fm);print(simp(&fsdata,1);fclose(fp);设文件与内存操作总是成功的,并设文件063.txt的内容为:2 1 2 16 12输出:?三、改错程序(8分,每错误点2分)下列程序各有两个错误(两个错误分别是在不同的行上,并只在有注解行号所标注的行上),按原来程序的要求,纠正错误,并将错误所在行号以及错误行完整的正确内容写在答卷纸的对应栏内。(1)以下函数isprime判断一个正整数是否为素数

10、,若是素数,返回1,否则返回0,主程序调用该函数并输出数组中的所有素数。#include int isprime(int n)int i;/*1*/for (i=2;in;i+)/*2*/if (n%i!=0)/*3*/return 0;/*4*/return 1;main()int a5=13,15,17,19,21,i;/*5*/for (i=0;i5;i+)/*6*/if (isprime(ai)/*7*/printf(%f ,ai);/*运行后将输出: 13 17 19*/(2)函数mystrcat实现库函数strcat相同功能,将字符串src拼接至字符串dest的末尾,并返回拼接后的

11、字符串。#include char *mystrcat(char *dest, char *src)char *p;/*1*/for (p=dest;*p!=0;p+) ;/*2*/for ( ; *src!=0; p+,src+ )/*3*/*p=*src;/*4*/*p=n;/*5*/return src;main()char s81=Hi ;puts(mystrcat(s,everybody.);/*运行后将输出: Hi everybody.*/四、程序填空(12分,每填空2分)阅读下列问题描述和相应的C程序,把应填入其中 (n) 处的内容写在答卷纸的对应栏内。(1)以下sort函数使用

12、选择法对数组按从小到大排序。#include void sort(int a,int n)int i,j,k,t;for (i=0;in-1;i+)for (k=j=i; jn; j+ )if ( (1) )k=j;if (k!=i)t=ak; (2) ;ai=t;main()int a10=20,30,50,40,10,90,70,60,99,80,i;sort( (3) );for (i=0;i10;i+)printf(%3d,ai);/*运行后将输出: 10 20 30 40 50 60 70 80 90 99*/(2)以下结点node定义了一个学生的信息,函数insert将一个新结点插入到链表head的末尾并返回新链表的头结点指针。函数printlist输出链表中所有结点

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 理学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号