C语言2006A(软)答案_第1页
C语言2006A(软)答案_第2页
C语言2006A(软)答案_第3页
C语言2006A(软)答案_第4页
C语言2006A(软)答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.2006级 C语言程序设计 A卷答案一、 基础知识题(20分,每题5分)1. 什么是数据缓冲区?对于输入流来说,数据缓冲区是如何工作的?开辟一块存储区(称为“数据缓冲区”),作为文件和程序之间的中介,作为数据的缓冲。可以缓和内存和外存之间的数据提供和使用之间速度上的差别。在程序与实际文件之间的传输通道上设置了一个缓冲区。文件中的数据被以成块方式复制到缓冲区。当程序中需要读入数据时:1)如果缓冲区有数据,它就直接由缓冲区读取,而不必到外存读数据。2)如果缓冲区里数据已经用完,系统会自动执行一个内部操作,一次从文件里取得一批数据,将缓冲区填满,程序又可以按照正常方式读入数据。2. C语言的预处理

2、有哪几种?各有什么作用?C中的预处理命令有三种:宏定义、文件包含和条件编译。一个宏定义的作用是为宏名字定义一个替代,该替代由整个替代正文段构成。所谓“文件包含”处理是指一个源程序文件可以将另外一个源程序文件的全部内容包含进来。即将另外的文件包含到本文件之中。对其中一部分内容只在满足一定条件下才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。3. 对于数据类型和存储类别,你是如何理解的?在 C语言中每一个变量和函数有两个属性:数据类型和数据存储类别。数据类型决定着数据的存储空间和数据的存储方式。存储类别是指数据在内存中存储的方法和存储的位置。4. 写出switch 分支结构的语法

3、结构,并写出其执行过程。switch(表达式) case 整型常量表达式:语句序列 case 整型常量表达式:语句序列 . default:语句序列它的执行过程:首先求出 switch 后面“表达式”的值,然后用这个值与写在各 case 标号中的“整型常量表达式” 的值依次做比较。如果遇到相等的值,程序就从这里执行下去;如果找不到,而这个开关语句有 default 部分,就从 “default : ”之后继续执行;如果开关语句没有 default 部分,那么整个语句结束。二、 读程序写结果(30分,每题5分)1struct s int n; int *m; *p ;int d5= 10,20,

4、30,40,50;struct s arr= 100,&d0,200,&d1, 300,&d2,400,&d3,500,&d4;int main()p = arr;printf(“%dn”, +p-n);printf(“%dn”,(+p)-n);printf(“%dn”,+(*p-m); return 0;101200212 int main ( ) static int x =0, 5, 6, 10, 12, 15, 18, 20;int a, s=0, *p=x;for(;p=0; a-=2) s*=*(p+a);printf (“S=%dn”,s); return 0;s=0s=6s=1

5、8s=36s=20s=300s=3000s=150003include include void fun(char *w, int m)char s, *p1, *p2;p1 = w; p2 = w+ m- 1; while (p1 p2) s = *p1+; *p1 = *p2-; *p2 = s;int main()char a=”ALGORITHM”;fun(a, strlen(a);puts(a);return 0;AMAMMAMAM4include void fun(int x) if (x=8) fun(x/8); putchar(0+x%8);int main()fun(231)

6、; return 0;3475#define PRINT(int) printf (“int=%dn”,int);int main()int x=1,y=1,z=1;x += y += z;PRINT(xy ? y : x) PRINT(z += xy ? x+ : y+) PRINT(x) PRINT(y) PRINT(z)return 0;int=3int=3int=3int=3int=36#include stdio.hvoid main() int i,j; for(i=1;i=5;i+) for(j=1;j=30-i;j+) putchar( ); printf(*); for(j=

7、1;j0;i-) for(j=1;j=30-i;j+) putchar( ); printf(*); for(j=1;j=2*i-3;j+) putchar( ); if(i!=1) printf(*); printf(n); 三、 应用及程序编程题(50分,每题10分)1从键盘输入20个整数,将它们从小到大排序后输出,并输出每个元素输入时的序号。#include int main()int t,i,j;int data202;for(i=0;i20;i+)scanf(“%d”,&datai0);datai1=i; for(i=0;i14;i+)for(j=0;jdataj+1) t=data

8、j0;dataj0=dataj+10;dataj+10=t;t=dataj1;dataj1=dataj+11;dataj+11=t;for(i=0;i20;i+)printff(“%5d,%5dn”,&datai0,datai1);return 0;2如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数。如:40743+03+73 就是一个阿姆斯特朗数。编程求100999以内的所有阿姆斯特朗数。#include ”stdio.h”int main() int i,a,b,c; for(i=100;inext; while(p!=NULL) sum=sum+p-data;p=p-next; return sum;4找出下列图形的规律,使用循环编写程序打印如下图形。3711155913 177111519913172111151923#include int main() int i,j,k=1; for(i=3;i=11;i=i+2) for(j=0;jk;j+) printf(%5c, ); k+; for(j=i;j=A)&(ch=a)&(ch=z) count0+; else if (0=ch)&(ch=9) count1+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论