2010-2011第1学期《C语言程序设计》试卷A.doc_第1页
2010-2011第1学期《C语言程序设计》试卷A.doc_第2页
2010-2011第1学期《C语言程序设计》试卷A.doc_第3页
2010-2011第1学期《C语言程序设计》试卷A.doc_第4页
2010-2011第1学期《C语言程序设计》试卷A.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

2011-2012第1学期C语言程序设计试卷A一、选择题(每小题2分,共计40分)题号1234567891011121314151617181920得分答案1、以下能正确定义且赋初值的语句是( )。A)int n1=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3e2.5;2、在C语言中,表达式_的值是整数类型。A)25.0 B)34.5+0.5 C)12.3*10 D)3%103、以下叙述不正确的是( )。A)一个C源程序可由一个或多个函数组成。B)一个C源程序必须包含一个main函数。 C)在C程序中,注释说明只能位于一条语句的后面。D)C程序的基本组成单位是函数。4、当a=1、b=3、c=5、d=4时,执行以下程序段后x的值是 。if(ab) if(cd) x=1; else if(ac) if(bd) x=2; else x=3; else x=6;else x=7;A)1 B)2 C)3 D)65、执行下列程序段: for (i=0;i5;i+) for (j=1;j6;j+) x+=3;其中表达式“x+=3”共执行_ _次。 A)30 B)24 C)25 D)206、C语言中switch语句形式如下所示,关键字switch后一对圆括号中表达式exp的类型( )。 switch (exp) case 常量表达式1:语句1;.case 常量表达式n: 语句n;default: 语句n+1;A)可以是整型或字符型 B)只能是int类型 C)只能是字符型 D)只能是整型或实型7、C语言规定,函数返回值的类型是由( )。A)调用该函数时系统临时决定B)return语句中的表达式类型所决定C)调用该函数时的主调函数类型所决定D)在定义该函数时所制定的函数类型所决定8、以下叙述中不正确的是:( )。A)在不同的函数中可以使用相同名字的变量。B)形式参数是局部变量。C)在函数内定义的变量只在本函数范围内有效。D)在函数内的复合语句中定义的变量在本函数范围内有效。9、以下正确的函数声明形式是 。A) double fun( int x,int y) B) double fun(int x;int y)C) double fun( int x,int y); C)double fun( int x,y)10、以下程序的运行结果是 。#define MIN(x,y) (x)(y) ? (x):(y)main() int i=10,j=15,k; k=10*MIN(i,j); printf(“%dn”,k);A)10 B)15 C)100 D)15011、以下对二维数组a 的正确说明是 。A ) int a 3 B ) float a (3,4) C )double a 4 D )float a (3)(4)12、以下关于结构体的叙述中,错误的是( )。A)结构体是一种可由用户构造的数据类型B)结构体中的成员可以具有不同的数据类型C)结构体中的成员不可以与结构体变量同名D)结构体中的成员可以是指向自身结构的指针类型 13、判断字符串s1和s2是否相等,应使用下面哪种形式_。A)if (s1=s2)B)if (s1=s2)C)if (strlen(s1)=strlen(s2) D)if (strcmp(s1,s2)=0)14、已定义c为字符型变量,则下列语句中正确的是( )。A) c=97 B) c=”97” C) c=97 D) c=”a”15、以下程序的正确运行结果是 。#includevoid num( ) extern int x,y; int a=15,b=10; x=a-b; y=a+b;int x, y;main( ) int a=7, b=5; x=a+b; y=a-b; num( ) printf( “%d,%dn”), x, y);A) 5,25 B)不确定 C) 12,2 D) 1,1216在一个源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 。A) extern B) register C) auto D) static17、变量的指针,其含义是指该变量的 。A) 值 B) 名 C) 地址 D) 一个标识18、已有定义int i,a10,*p;,则下面赋值语句中合法的是( )。A)p=100; B)p=a5; C)p=a2+2; D)p=a+2;19、若有如下定义:struct person int id; char name2 0;per,*s=&per;则以下对结构体成员的引用错误的是( )。A) B)s-nameC)(*per).name D)(*s).id20、利用fopen()函数打开文件,如果打开失败,其返回值为_。A) NULL B ) EOF C) 0 D) 不确定得分二、填空题(每空2分,共20分)1、一个C程序必定从_函数开始执行。2、C语言的源程序必须通过 和 后,才能被计算机执行。3、采用结构化程序设计方法编写的程序一般有三种基本结构:顺序结构、 、和 。4、若有定义float a23;则a数组所含数组元素个数是 ,a数组所占的字节数是 。5、C语言中的标识符只能由三种字符组成,它们是字母、 和数字。6、以下程序的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大两岁,求第5个学生的年龄。请填空。递归公式为: #includeint age(int n) int c; if(n=1) c=10; else c= ; return (c); void main() printf(“age:%dn”, ); 得分三、写出下列程序的运行结果。(在书写结果的表格中,假定每一格代表屏幕上一个字符的位置,请在表格内书写运行结果。每题4分,共5题,共计20分)1、void main() float x=8.7,y=10.5; int i,j; i=x+y; j=(int)x+(int)y; printf(x=%f,ny=%f,ni=%d,nj=%dn,x,y,i,j); 运行结果为: 2、void main() int i=0; char st=1234567; while(i6) switch (sti) case 1:putchar(1); case 2: putchar(2);break; case 3: putchar(3); case 4: putchar(4+1); default :printf(%s,56); putchar(n); i+; 运行结果为:3、 #include int fb(int n) int i, t=1;for(i=1; i=n; i+) t=t*i; return t;void main() int j=1 ; for( ; j5 ; j+) printf(“j=%d, fb(%d)=%dn”, j, j, fb(j);运行结果为:4、 void swap(int *p1 ,int *p2)int m;m=*p1;*p1=*p2;*p2=m;void main( ) int a=5,b=7,*ptr1,*ptr2;ptr1=&a,ptr2=&b;swap(ptr1,ptr2);printf(“*ptr1=%d,*ptr2=%dn”, *ptr1, *ptr2);printf(“a=%d,b=%d”, a, b);运行结果为:5、void main() int i, f10 ; f0=f1=1; for(i=2; i10; i+) fi=fi-2+fi-1; for(i=0; i10; i+) if(i%4=0) printf(“n”); printf(“%3d”,fi); 得分四、编程题(第一题8分,第二题12分,共20分)1、求1+2+3+100。请编写程序。 2、从键盘读入N个整数,存入一个一维数组中,输出这N个数,对这N个数排序后重新输出,请编写程序。编程要求:1)输出排序前后的数据对比排序效果,一行输出5个数;2)排序后为升序,即由小到大;3)程序框架采用函数调用的形式,要求定义函数inpput、sort、output分别实现数据输入、排序、输出功能;4)N的大小可自由定义。10-11第1学期C语言程序设计试卷A参考答案一、单项选择题。(每道选择题只有一个正确答案,请将答案填在题前的括号内,填写其它地方无效。每题2分,共20题,共计40分。)1-5 BDCBC 6-7 ADDCB 11-15 CCDCA 16-20 DCDCA二填空题(每空2分,共20分)1.main 2.编译 链接 3.选择(或分支)结构 循环结构 4.16 24 5.下划线 6.age(n-1)+2 age(5) 三、写出下列程序的运行结果。(在书写结果的表格中,假定每一格代表屏幕上一个字符的位置,请在表格内书写运行结果。每题4分,共5题,共计20分)1、 ( 4分)运行结果为: x=8.700000,Y=10.50000,i=19,j=182、(4分)运行结果为:122355655656563、(4分)运行结果为:j=1,fb(1)=1j=2,fb(2)=2j=3,fb(3)=6j=4,fb(4)=244、(4分)运行结果为:*ptr1=7,*ptr2=5a=7,b=55、(4分)运行结果为:11235813213455四、编程题(第一题8分,第二题12分,共20分)1、求1+2+3+100。请编写程序。2、从键盘读入N个整数,存入一个一维数组中,输出这N个数,对这N个数排序后重新输出,请编写程序。编程要求:1)输出排序前后的数据对比排序效果,一行输出5个数;2)排序后为升序,即由小到大;3)程序框架采用函数调用的形式,要求定义函数inpput、sort、output分别实现数据输入、排序、输出功能;4)N的大小可自由定义。参考代码#include #define N 100void main()void input(int array ,int n);void output(int array ,int n);void sort(int array ,int n); int aN,m; m=N; input(a,m); output(a,m); sort(a,m); output(a,m);void input(int array ,int n) /*输入函数*/ int i;printf(“Please input the data.n”);for(i=0;in;i+)printf(“the array%d is:n”,i);scanf(“%d”,&arrayi); printf(“The inputing has been completed.n”);void output(int array ,int n) /*输出函数*/ int i; printf(“the array is:n”);for(i=0;in;i+)printf(“%8d”,arrayi);if(i+1)%5)=0) printf(“n”);void sort(

温馨提示

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

评论

0/150

提交评论