程序设计基础_复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
装 订 线 内 不 得 答 题
自
觉
遵 守
考 试 规 则,诚 信 考 试,绝 不
作 弊
则输出结果是【】。 A) -3 B) -2 C) 1 D) 是死循环
11. 若有如下定义:
int a[5]={1,2,3,4,5},*p=a; 则值为5的表达式是【 】。 A) *(p+5) B) *p+=4
C) p+4 D) *p+5 12. 若有定义int m, n=3, *p=&m; 则与m=n; 等价的语句是【
】。
A) *p=&*n; B) *&p=*&n; C) *p=n;
D) m=*p;
13. 若有定义char ch[ ]={"abc\0edf"}, *p=ch; 则执行printf("%c", *p+5); 输出为【 】。
A) df B) f C) d D) e 14. 若有下面的程序段,则正确的fun 函数的首部是【 】。 main( )
{ char a[10]; int n, m;
…… m=fun (n, a);…… }
A) int fun(int x, char *y) B) int *fun (int p, char q[20]) C) int fun (int m, char n) D) int *fun (int a, char b) 15. 若有以下定义,则以下结构体成员引用形式中不正确的是【 】的。
struct
{ int m, n; char ch; } a, *p=&a;
.n B )(*p).n C )p .n
D )p ->n
二、填空题(每小题2分,共10分)
1. 在计算机内部采用________进制进行信息的存储、运算和传递。
2. 已知D 盘中的文件存储如下图所示,假设当前路径为d:\program design\exam, 访问文件作业1.doc 文件的相对路径为________________________。
3. 若要定义一个包含100个元素的整型数组a ,并使前两个数组元素为3,其余元素均为0,应该
使用的定义语句为_______________________ 。 4. 若有int a,*pa=&a;则从键盘给变量a 赋值的语句是_______________。
5. 若定义char s1[ ]={'g','o','o','d','\0','b','y'}; 则表达式strlen(s1)的值是 _________ 。
三、读程序写结果(每小题5分,共20分)
{ switch(k)
{ case 2 : putchar('B'); default : break;
case 1 : putchar('A'); }
putchar ('#'); }
_________________________________。 _________________________________。 *p2=*p1+10; _________________________________。 装 订 线 内 不 得 答 题 自 觉
遵 守 考 试 规 则,诚 信 考 试,绝 不
作 弊
};
struct date func(struct date p) {
p.year = 2011; p.month = 1; p.day = 7; return p; }
void main() {
struct date d; d.year = 2010; d.month = 12; d.day = 1;
printf("%d/%d/%d ,", d.year, d.month, d.day); d = func(d);
printf("%d/%d/%d\n", d.year, d.month, d.day); }
输出结果是:_________________________________。
四、程序选择填空题(每空2分,共20分)
1.以下程序的运行结果是输出如右侧数字组成的图形。请选择填空将程序补充完整。
void xyz(int m)
{ int j, k;
for(j=0; 【 1 】;j++) printf(" "); for(k=0;k<【 2 】;k++) printf("%c", 【 3 】); printf("\n"); }
void main( ) { int i;
for(i=0;i<5;i++) xyz(i); }
【1】A) j = m B) j == m C) j>m D) j for(i=1; i<=n-1; i++) for(pp=p;【 1 】; pp++) if(【 2 】) {t=*pp;*pp=*(pp+1);*(pp+1)=t;} } main( ) { int m[8],*pp; for(pp=m; pp 555555555 4444444 33333 222 1 scanf("%d", 【 3 】); 【 4 】; for(pp=m;pp printf("%4d",*pp); printf("\n"); } 【1】A) pp D) p C) sort(m[8], 8) D) sort(m, 8) 3.下列程序是计算并输出两个数的最大公约数。请填空将程序补充完整。 #include 【 1 】/*函数原型声明*/ 【 2 】/*全局变量定义*/ void main() { int a, b; printf("Input a,b:"); scanf("%d,%d",&a,&b); MaxCommonFactor(a,b); printf("%d\n", 【 3 】); } void MaxCommonFactor(int a, int b) /*求最大公约数函数*/ {int i; for(i=1;i<=(a 【1】A) void MaxCommonFactor(int a, int b); B) MaxCommonFactor(a, b); C) void MaxCommonFactor(int a, b); D) int MaxCommonFactor(); 【2】A) int a; B) int maxShu; C) int b; D) int i; 【3】A) a-b B) a C) b D) maxShu 五、程序填空(每空2分,共20分) 1.下列程序的功能是:从键盘输入某门课程的学生成绩,当输入负数时结束输入。统计并输 出最高分、最低分和全班的平均分。请填空将程序补充完整。 #include void main( ) { float aver; int count, score, maxs, mins, sum; scanf("%d", &score); maxs= mins =score ; 【 】; count=0; while (【 】) { sum=sum+score; 装 订 线 内 不 得 答 题 自 觉 遵 守 考 试 规 则,诚 信 考 试,绝 不 作 弊