C程序设计200812A.doc

上传人:韩长文 文档编号:6291031 上传时间:2020-10-18 格式:DOC 页数:8 大小:55KB
返回 下载 相关 举报
C程序设计200812A.doc_第1页
第1页 / 共8页
C程序设计200812A.doc_第2页
第2页 / 共8页
C程序设计200812A.doc_第3页
第3页 / 共8页
C程序设计200812A.doc_第4页
第4页 / 共8页
C程序设计200812A.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《C程序设计200812A.doc》由会员分享,可在线阅读,更多相关《C程序设计200812A.doc(8页珍藏版)》请在三一文库上搜索。

1、.(勤奋、求是、创新、奉献)2008 2009学年第 一 学期考查试卷主考教师:王明衍学院 _ 班级 _ 姓名 _ 学号 _程序设计基础(C)课程试卷A(本卷考试时间 90 分钟)题号一二三四五六七八九十总得分题分3015121924100得分试题一 (每空3分,共30分)解答下列各小题,把答案写在考卷的对应括弧内。(1)设有int x=3, y=2, z=1; 则表达式 !(x+y)+z-1 & y+z/2的值是【 】。(2)若有定义int m=5,y=2;则计算表达式y+=y-=m*=y执行后的y值是【 】。(3)已知字符a的ACSII码值为97,以下语句的输出结果是【 】。char ch

2、=b;printf(“%c, %4dn”,ch,ch); (4)设x,y,z均是int型变量,请写出描述“x或y中有一个小于z”的表达式【 】。(5)当a=5,b=3,c=1,d=2时,执行下面一段程序后,x的值为【 】。if(ac) if(bd) x=2; else x=3;else x=6;(6)设有 char str = China ;则执行 printf(%dn, strlen(strcpy(str,Shanghai); 后的输出结果为【 】。(7)执行下面的程序段后,k的值是【 】。Int k=1;n=263;精品.dok*=n%10;n/=10;while(n);(8)表达式pow

3、(2.8,sqrt(double)x)的值的数据类型为【 】。i(9) 执行下列语句后,a的值是多少? 【 】 int a12; a+=a-=a*a;(10) 若w, x, y, z, m均为int型变量,则执行下面语句后的m值是. 【 】w=1; x=2; y=3; z=4;m=(wx)? w : x;m=(mz)? m : z;试题二:(每题3分,共15分)阅读下列程序,把程序的输出结果写在旁边括号中。(1)执行下面程序段后,输出结果是【 】。main() int a=1,3,5,7,9,10,11,*p; p=a+1; printf(“%dn”,*(p+3)*a2); (2)执行下面程序

4、段后,输出结果是【 】。main( )int i=3,j=2char *a=DCBA;printf(%c%cn,*(a+i),*(a+j); (3)以下程序运行结果是什么? 【 】main() int a, b; for(a=1, b=1; a=10) break; if (b%3= =1) b+=3; continue; printf(%dn,a); 精品.(4)以下程序的执行结果是什么? 【 】#includevoid main() int i=2,p;int f(int a,int b);p=f(i,i+1);printf(%d,p);int f(int a,int b) return(

5、a+b);(5)以下程序的执行结果是什么? 【 】#includevoid main() int y=25,i=0,j,a10; do ai=y%2; i+ y=y/2; while(y=1); for(j=i-1;j=0;j-) printf(%d,aj; printf(n); 试题三:(每题6分,共12分)改错:下述程序(假定所有的变量都已经声明且赋值)有什么错误,请找出来,并将正确内容写在旁边。(1)请找出并改正以下程序的错误:(共有3个错误)line 1:#include line 2:int x= 1;line 3:main()line 4: if( x = 1);line 5: p

6、rintf( x equals 1 )line 6: elseifline 7: printf( x does not equal 1);line 8: return 0;line 9:精品.(2) 本程序从键盘输入一个正整数n,计算n!的值。要求定义和调用函数fact(n),计算n!。(共有3个错误)#01 #include #02 void main(void)#03 #04 int n;#05 double f;#06 double fact(int m);#07 printf(Input n: ); #08 scanf(%d, &n);#09 f = fact( ); #10 prin

7、tf(%d!=%fn, n, f);#11 #12 double fact(int m);#13 #14 int i;#15 double product;#16 for ( i = 1; i = m; i+ ) #17 product = product * i;#18 return product; #19 试题四:按指定要求编写程序。(第1题9分,第2题10分,共19分)(1) 输入一个以回车结束的字符串(少于80个字符),将其中的小写字母用下面的对应大写字母替换,其余字符不变,输出替换后的字符串。原字母 对应字母 a Zb Yc Xd W .x Cy Bz A精品.(2)读入一个整数,

8、统计并输出该数中5的个数。要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中digit的个数。例如,countdigit(1309033,3)的返回值是3 。 精品.试题五:阅读下列的问题描述、运行示例和相应的程序,把应填入其中的内容写在相应的序号后面。(每小题3分,共24分) (1)【问题描述】输入一个正整数n(1n=10),再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。 【运行示例】 Input n: 5Input 5 integers: 8 2 5 1 4After swapped : 1 2 5

9、 4 8【程序】 #include int main(void)int n,i,a10,temp1,temp2,min,max;printf(Input n:);scanf(%d,&n);printf(Input integers:,n);for(i=0;in;i+)scanf(%d,&ai);printf(After swapped:);min=max=0;for( ;in;i+)if(ai ) min=i; temp1=a0; a0=amin; amin=temp1;精品. for( ;i ) max=i; temp2= ; =an-1; an-1=temp2; for(i=0;in;i+

10、)printf(%d ,ai);printf(n); return 0; (2)【问题描述】输入一个正整数n(1n10),输出九九乘法表的前nxn项,(将乘数、被乘数和积放在二维数组中,再输出该数组)。【运行示例】Input n: 3* 1 2 3 1 1 2 2 4 3 3 6 9 The new string is 103+89【程序】#include int main(void)int a99,i,j,n;printf(Input n:);scanf(%d,&n);a00=0;for(i=1;i=n;i+)ai0=i;精品.for(j=1;j=n;j+)a0j=j;for(i=1;i=n;i+)for(j=1;j=i;j+)aij= ; printf( * );for(i=1;i=n;i+) printf(%4d ,i); ;for(i=1;i=n;i+)for(j=0;j=n;j+)if( )printf(%4d , );printf(n);return 0; 如有侵权请联系告知删除,感谢你们的配合!精品

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1