C语言2006A(软)答案

上传人:pu****.1 文档编号:513100097 上传时间:2023-03-19 格式:DOC 页数:8 大小:76.50KB
返回 下载 相关 举报
C语言2006A(软)答案_第1页
第1页 / 共8页
C语言2006A(软)答案_第2页
第2页 / 共8页
C语言2006A(软)答案_第3页
第3页 / 共8页
C语言2006A(软)答案_第4页
第4页 / 共8页
C语言2006A(软)答案_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《C语言2006A(软)答案》由会员分享,可在线阅读,更多相关《C语言2006A(软)答案(8页珍藏版)》请在金锄头文库上搜索。

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

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

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

4、ruct s arr= 100, &d0,200, &d1, 300, &d2,400, &d3,500, &d4; int mai n()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=18s=36s=20

5、s=300s=3000s=150003.# in elude # in elude void fun( char *w, int m)char s, *p1, *p2;pl = w;p2 = w+ m- 1;while (p1 p2)s = *p1+;*p1 = *p2-;*p2 = s;int mai n()char a=” ALGORITHM ”;fun (a, strle n( a);puts(a);return 0;AMAMMAMAM4.# in elude void fun (i nt x)if (x=8) fun( x/8);putchar( 0 +x%8);int mai n()

6、fun (231);return 0;347int=%dn”i nt);5.#defi ne PRINT(i nt) printf (int mai n()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;in t=3in t=3in t=3in t=3in t=3#i nclude stdio.hvoid mai n() int i,j;for(i=1;i=5;i+) for(j=1;j=30-i;j+) putchar();prin tf

7、(*);for(j=1;j0;i-) for(j=1;j=30-i;j+) putchar();prin tf(*);for(j=1;j=2*i-3;j+) putchar();if(i!=1)prin tf(*);prin tf(n ”);三、应用及程序编程题(50分,每题10分)1 从键盘输入20个整数,将它们从小到大排序后输出,并输出每个元素输入时的序号。#i nclude int mai n()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

8、)t=dataj0;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;407 =2 如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数。如: 43+03+73就是一个阿姆斯特朗数。编程求 100999以内的所有阿姆斯特朗数。#in eludestdio.h ”int mai n()int i,a,b,e;for(i=100;in ext;while(p!=NULL)sum=sum+p-dat

9、a;p=p-n ext;return sum;791115131771115199131721111519234 找出下列图形的规律,使用循环编写程序打印如下图形。35#i nclude int mai n()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 )coun t0+;else if (O =ch)&(ch= 9)cou nt1+;elsecoun t2+;fclose(fp1);printf(“n ”);printf(%10s%10s%10sn ” , ”LETTERS ”,” DIGITS ”,OTHERS”);for(i=0;i3;i+)prin tf(%10d,cou nti);return 0;

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

当前位置:首页 > 办公文档 > 活动策划

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