c语言试题1 (3).doc_第1页
c语言试题1 (3).doc_第2页
c语言试题1 (3).doc_第3页
c语言试题1 (3).doc_第4页
c语言试题1 (3).doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

试卷编号:8094所属语言:C语言试卷方案:09-10学年第二学期计算机程序设计语言试卷总分:100分共有题型:4种一、填空 共5题 (共计20分)第1题 (4.0分) 题号:1205C语言源程序的基本单位是【1】.答案:=(答案1)=函数第2题 (4.0分) 题号:678int x=2,y=3,z=4; 则表达式x+(y!z)的值为【1】.答案:=(答案1)=3第3题 (4.0分) 题号:342字符串的结束标志是【1】.答案:=(答案1)=0=或=0=或=0第4题 (4.0分) 题号:1195在C语言中的实型变量分为两种类型,它们是float型和【1】型.答案:=(答案1)=double第5题 (4.0分) 题号:1188设a取二进制数00101101,若想通过ab运算使a的高4位取反,低4位不变,则b的二进制数是【1】.答案:=(答案1)=11110000二、单项选择 共15题 (共计30分)第1题 (2.0分) 题号:561以下叙述中正确的是 ()。A:C程序中注释部分可以出现在程序中任意合适的地方B:花括号“和”只能作为函数体的定界符C:构成C程序的基本单位是函数,所有函数名都可以由用户命名D:分号是C语句之间的分隔符,不是语句的一部分答案:A第2题 (2.0分) 题号:633对以下说明语句 int a10=6,7,8,9,10; 的正确理解是()。A:将5个初值依次赋给a1至a5B:将5个初值依次赋给a0至a4C:将5个初值依次赋给a6至a10D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B第3题 (2.0分) 题号:160C语言的if语句嵌套时,if与else的配对关系是()。A:每个else总是与它上面的最近的if配对B:每个else总是与最外层的if配对C:每个else与if的配对是任意的D:每个else总是与它上面的if配对答案:A第4题 (2.0分) 题号:650若有说明: int a4=0,0;则下面不正确的叙述是()。A:数组a的每个元素都可得到初值0B:二维数组a的第一维大小为1C:因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1D:有元素a00和a01可得到初值0,其余元素均得不到初值0答案:D第5题 (2.0分) 题号:682sizeof(float)是()。A:一种函数调用B:一个不合法的表达式C:一个整型表达式D:一个浮点表达式答案:C第6题 (2.0分) 题号:614若i为整型变量,则以下循环执行次数是()。for(i=2;i=0;) printf(%d,i-);A:无限次B:0次C:1次D:2次答案:B第7题 (2.0分) 题号:503以下语句中,不能实现回车换行的是()。A:printf(n);B:putchar(n);C:fprintf(stdout,n);D:fwrite(n,1,1,stdout);答案:B第8题 (2.0分) 题号:623以下描述中正确的是()。A:由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B:do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号C:在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零(假)的操作D:do-while 循环中,根据情况可以省略 while答案:C第9题 (2.0分) 题号:116下列语句的结果是()。main() int j; j=3;printf(%d,+j); printf(%d,j+);A:3,3B:3,4C:4,3D:4,4答案:D第10题 (2.0分) 题号:157下列程序的输出结果是()。main() int x=1,y=0,a=0,b=0; switch(x) case 1:switch(y) case 0:a+;break; case 1:b+;break; case 2:a+;b+;break; case 3:a+;b+;break; printf(a=%d,b=%dn,a,b);A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B第11题 (2.0分) 题号:141为了提高程序的运行速度,在函数中对于整型或指针可以使用()型的变量。A:autoB:registerC:staticD:extern答案:B第12题 (2.0分) 题号:726fwrite函数的一般调用形式是()。A:fwrite(buffer,count,size,fp);B:fwrite(fp,size,count,buffer);C:fwrite(fp,count,size,buffer);D:fwrite(buffer,size,count,fp);答案:D第13题 (2.0分) 题号:529在C语言中,调用函数除函数名外,还必须有()。A:函数预说明B:实际参数C:( )D:函数返回值答案:C第14题 (2.0分) 题号:201当定义一个结构体变量时,系统分配给它的内存是()。A:各成员所需内存量的总和B:结构中第一个成员所需内存量C:结构中最后一个成员所需内存量D:成员中占内存量最大者所需的容量答案:A第15题 (2.0分) 题号:710若有定义:int *p3;,则以下叙述中正确的是()。A:定义了一个基类型为int的指针变量p,该变量具有三个指针B:定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C:定义了一个名为*p的整型数组,该数组含有三个int类型元素D:定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素答案:B三、程序填空 共5题 (共计30分)第1题 (6.0分) 题号:394/*-【程序填空】-功能:用条件编译方法实现以下功能。输入一行电报文字,可以任 选两种方式输出,一种为原文输出;另一种将字母变成下 一个字母(如a变成b,C变成D,其他字符不变)输出。-*/#include #define CHANGEmain() /*SPACE*/ char str80,【?】=str; printf(input string:); /*SPACE*/ gets【?】; printf(Output string:); #ifdef CHANGE for(;*s!=0;s+) if(*s=a&*s=A&*sZ&*sz) /*SPACE*/ *s=【?】; printf(%sn,str); #else printf(%sn,str); #endif答案:=(答案1)=*s=(答案2)=(str)=或=(s)=(答案3)=*s=A=(答案4)=a第2题 (6.0分) 题号:424/*-【程序填空】-功能:输出结果为:* * * * * * * * * * * * * * * * * * * * -*/#include main() /*SPACE*/ static char 【?】=*,*,*,*,*; int i,j,k; char space= ; for(i=0;i5;i+) printf(n); for(j=1;j=3*i;j+) /*SPACE*/ printf(%1c,【?】); /*SPACE*/ for(k=0;k【?】;k+) printf(%3c,ak); printf(n);答案:=(答案1)=a5=或=a=(答案2)=space=或= =(答案3)=5=或=4第3题 (6.0分) 题号:432/*-【程序填空】-功能:计算平均成绩并统计90分以上人数。-*/#include main() int n,m; float grade,average; average=0.0; /*SPACE*/ n=m=【?】; while(1) /*SPACE*/ 【?】(%f,&grade); if(grade0) break; n+; average+=grade; /*SPACE*/ if(grade5, 4-6, 7-8-*/#include #include void main(void) long left, right; long sum; long GiVEN; int count = 0; char line100; printf(nConsecutive sum to a fixed given number); printf(n=n); printf(nYour number ( 0) please - ); gets(line); GiVEN = atol(line); for (sum = 0, right = 1; sum GiVEN; sum += right, right+) ; for (left = 1, right-; left GiVEN) sum -= left; /*SPACE*/ 【?】; else if (sum = GiVEN) printf(n%ld = sum from %ld to %ld, GiVEN, left, right); /*SPACE*/ 【?】; /*SPACE*/ 【?】; sum += right; if (count 0) printf(nnThere are %d solutions in total., count); else printf(nnSorry, there is NO solution at all.);答案:=(答案1)=left+=或=left=left+1=或=+left=(答案2)=count+=或=count=count+=或=+count=或=count=count+1=(答案3)=right+=或=right=right+=或=+right=或=right=right+1第5题 (6.0分) 题号:34/*-【程序填空】-功能:以下程序的功能如(图1)。-*/#include #include /*SPACE*/double fun(【?】, int n) /*SPACE*/ 【?】; double xa=0, s; for (j=0; jn; j+ ) xa += xj/n; /*SPACE*/ 【?】; for (j=0; jn; j+ ) s += (xj-xa)*(xj-xa)/n; /*SPACE*/ 【?】; main ( ) double x100 = 193.199, 195.673, 195.757, 196.051, 196.092,196.596,196.579, 196.763; printf(%fn, fun (x, 8);答案:=(答案1)=float x=或=float *x=或=double x=或=double *x=(答案2)=int j=(答案3)=s = 0=或=s = 0.0=(答案4)=return s=或=return(s)四、程序设计 共2题 (共计20分)第1题 (10.0分) 题号:327/*-【程序设计】-功能:能计算从1开始到n的自然数的和,n由键盘输入, 并在main()函数中输出。-*/#include void wwjt(); int fun(int n) /*Program*/ /* End */ main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %dn, fun(m); wwjt(); void wwjt() FILE *IN,*OUT; int t; int o; int c; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(c=1;c=5;c+) fscanf(IN,%d,&t); o=fun(t); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);答案:-int sum,i;sum =0;for(i=1;i=n;i+)sum=sum+i;return(sum);-第2题 (10.0分) 题号:348/*-【程序设计】-功能:从低位开始取出长整型变量s中偶数位上的数,依次 构成一个新数放在t中。 例如:当s中的数为:7654321时,t中的数为:642。 -*/#include void wwjt(); long fun (long s,long t) /*Program*/ /* End */ return t; main() long s, t=0,m; printf(nPlease enter s:); scanf(%l

温馨提示

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

最新文档

评论

0/150

提交评论