C语言程序设计(三) 试题及答案 免费下载 2011年3月_第1页
C语言程序设计(三) 试题及答案 免费下载 2011年3月_第2页
C语言程序设计(三) 试题及答案 免费下载 2011年3月_第3页
C语言程序设计(三) 试题及答案 免费下载 2011年3月_第4页
C语言程序设计(三) 试题及答案 免费下载 2011年3月_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言程序设计(三) 试题及答案 免费下载 2011年3月注意:所有答案都要写在答题卡上 一、单项选择题(20分,每题2分) 1程序段 int *p,a; p=&a;a=10;printf(%d,p); 的输出应为:A)10 B)0 C)不能确定 D)语法错误 2C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是: A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式 3以下语句或语句组中,能正确进行字符串赋值的是。 A)char *sp;*sp=right!; B)char s10;s=right!; C)char s10;*s=right!; D)char *

2、sp=right!; 4for(i=0;i=0;i-) t*=i; printf(%dn,t); 5在循环语句中,break语句的作用是 (6) ,continue语句的作用是 (7) 。 6下面程序段将字符数组b连接到数组a的后面。main() char a20= .I am ; char b= .a student.; int i, j; i = strlen(a); for(j =_(8)_; bj!=0; j+) a_(9)_ = b_(10)_; a_(11)_ = _(12)_ ; 7for(表达式1;表达式2;表达式3) 语句组 的执行顺序是先求解表达式1、再_(13)_、如果成

3、立则执行_(14)_、然后_(15)_。 三、写出程序的运行结果(30分,每题10分) 1写出程序运行后的输出结果。 int f(int b4) int i,j,s=0; for(j=0;j2) i=3-j; s+=bij; return s; main( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf(%dn,f(a); 2写出程序运行后的输出结果 #include main() float x=2,y; if(x0) y=0; else if(x10) y=1/x; else y=1; printf(“%fn”,y); 3(1)函数su

4、b()的功能是什么?(2)写出程序运行的输出结果。long sub(int num) int i; long subsum=1; for(i=1;i=num;i+) subsum*=i;return(subsum);main()int i;long sum=0;for(i=1;i=4;i+)sum+=sub(i);printf(sum%1d=%ldn,i,sum);四、编程(完形填空)(20分,每题10分) 1写一个函数,实现将一个长度80的字符串按逆序存放。解题要求:该函数的唯一形参是字符串的起始地址。 void convert(char string) int length,mid,i;c

5、har temp; length=_(1)_(string); mid=_(2)_; for(_(3)_;imid;i+)temp=_(4)_;stringi=string_(5)_;string(length-1)-i=temp; 2以下程序计算某年某月有几天,1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月为28天、闰年2月为29天。 main() int yy,mm,day; scanf(“%d%d”,&yy,&mm); switch(_(6)_) case1:case3:case5:case7: case8: case10: case12: day=_(7)_

6、;break;case4: case6: case9: case11: day=_(8)_;break; case2: if(yy%4=0)_(9)_(yy%100!=0) (10)_(yy%400=0)day=29; else day=28; break; 答案: 一、单项选择题(20分,每题2分) 1.C 2.A 3.D 4.D 5.A 6.C 7.C 8.B 9.D 10.D 二、填空题(30分,每空2分) (1) B 66 (2) 1 (3) 2 (4) 2 (5) 0 (6) 跳出循环体 (7) 跳过循环体中剩余的语句而强行执行下次循环。 (8) 0 (9) i+j (10) j (

7、11) i+j (12) 0 (13) 判断表达式2 (14) 语句组 (15) 求解表达式3 三、写出程序的运行结果(30分,每题10分) 1. 16 2. 0.500000 3. (1) 函数sub( )的功能是根据当前实参i的值控制其for循环的次数,进一步控制运算:subsum*=i的次数。 (注:非标准答案,表述相近既可) 实参i取值返回值subsum的值1121*2=232*3=646*4=24 (2) 运行结果: sum0=1 sum1=3 sum2=9 sum3=33 四、编程(完形填空)(20分,每题10分) 1. (1) strlen (2) length/2 (3) i=

8、1 (4) stringi (5) (length-1)-i 2. (6) mm (7) 31 (8) 30 (9) & (10) | 注意:所有答案都要写在答题卡上 一、单项选择题(20分,每题2分) 1程序段 int *p,a; p=&a; a=10; printf(%d,p); 的输出应为: A)10 B)0 C)不能确定 D)语法错误 2C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是: A)单向值传递 B) 地址传递 C) 相互传递 D) 由用户指定方式 3以下语句或语句组中,能正确进行字符串赋值的是。 A)char *sp;*sp=right!; B)char s1

9、0;s=right!; C)char s10;*s=right!; D)char *sp=right!; 4for(i=0;i=0;i-) t*=i; printf(%dn,t); 5在循环语句中,break语句的作用是 (6) ,continue语句的作用是 (7) 。 6下面程序段将字符数组b连接到数组a的后面。 main() char a20= .I am ; char b= .a student.; int i, j; i = strlen(a); for(j =_(8)_; bj!=0; j+) a_(9)_ = b_(10)_; a_(11)_ = _(12)_ ; 7for(表达

10、式1;表达式2;表达式3) 语句组 的执行顺序是先求解表达式1、再_(13)_、如果成立则执行_(14)_、然后_(15)_。 三、写出程序的运行结果(30分,每题10分) 1写出程序运行后的输出结果。 int f(int b4) int i,j,s=0; for(j=0;j2) i=3-j; s+=bij; return s; main( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf(%dn,f(a); 2写出程序运行后的输出结果 #include main() float x=2,y; if(x0) y=0; else if(x10)

11、 y=1/x; else y=1; printf(“%fn”,y); 3(1)函数sub()的功能是什么?(2)写出程序运行的输出结果。 long sub(int num) int i; long subsum=1; for(i=1;i=num;i+) subsum*=i; return(subsum); main() int i; long sum=0; for(i=1;i=4;i+) sum+=sub(i); printf(sum%1d=%ldn,i,sum); 四、编程(完形填空)(20分,每题10分) 1写一个函数,实现将一个长度80的字符串按逆序存放。解题要求:该函数的唯一形参是字符

12、串的起始地址。 void convert(char string) int length,mid,i; char temp; length=_(1)_(string); mid=_(2)_; for(_(3)_;imid;i+) temp=_(4)_; stringi=string_(5)_; string(length-1)-i=temp; 2以下程序计算某年某月有几天,1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月为28天、闰年2月为29天。 main() int yy,mm,day; scanf(“%d%d”,&yy,&mm); switch(_(6)_) c

13、ase1: case3: case5: case7: case8: case10: case12: day=_(7)_; break; case4: case6: case9: case11: day=_(8)_; break; case2: if(yy%4=0)_(9)_(yy%100!=0) (10)_(yy%400=0) day=29; else day=28; break; 答案: 一、单项选择题(20分,每题2分) 1.C 2.A 3.D 4.D 5.A 6.C 7.C 8.B 9.D 10.D 二、填空题(30分,每空2分) (1) B 66 (2) 1 (3) 2 (4) 2 (5) 0 (6) 跳出循环体 (7) 跳过循环体中剩余的语句而强行执行下次循环。 (8) 0 (9) i+j (10) j (11) i+j (12) 0 (13) 判断表达式2 (14) 语句组 (15) 求解表达式3 三、写出程序的运行结果(30分,每题10分) 1. 16 2. 0.500000 3. (1) 函数sub( )的功能是根据当前实参i的值控制其for循环的次数,进一步控制运算:subsum*=i的次

温馨提示

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

评论

0/150

提交评论