版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.(勤奋、求是、创新、奉献)2008 2009学年第 一 学期考查试卷主考教师:王明衍学院 _ 班级 _ 姓名 _ 学号 _程序设计基础(C)课程试卷A(本卷考试时间 90 分钟)题号一二三四五六七八九十总得分题分3得分试题一 (每空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=b;printf(“%
2、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(2.8,sqrt(doubl
3、e)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)执行下面程序段后,输出结果是【 】。mai
4、n( )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(a+b);(5)以下程序的执行结果是
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: printf( x equals 1
6、)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 printf(%d!=%fn, n, f);#11
7、 #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)读入一个整数,统计并输出该数中5的个数。要求定义并调用函数co
8、untdigit(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 s : 1 2 5 4 8【程序】 #include int main(void)i
9、nt 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 s:);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+)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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论