c语言试卷及答案2_第1页
c语言试卷及答案2_第2页
c语言试卷及答案2_第3页
c语言试卷及答案2_第4页
c语言试卷及答案2_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、浙江理工大学 C程序设计 试题(二)浙江理工大学一、判断题(判断下列各小题,正确的在题后括号内打"",错的打"×"。每小题1分,共10分) 1. s(s-a)(s-b)(s-c)是合法的C语言表达式。2. 表达式!6的值是6。3. 在C语言程序中,在函数内部定义的变量称为全局变量。4. 结构体变量可以被整体赋值. 5. 结构体类型的成员可以定义成该结构体类型的指针类型6. 字符型数组中可以存放字符串7. 可以在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值8. 运算符“=”和“&=”的优先级相同。9. %f是

2、不正确的字符常量。10. 表达式(2<<1)的值是5。二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共20分) 1. 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是_A c=b=a; B (a=c)(b=c);C (a=c)&&(b=c); D a=c=b;2. 在C语言中,不正确的int类型的常数是_A C B 0 C 037 D 0xAX3. 在C语言类型中,int ,char, short等类型的长度是_ A.固定的 B.由用户自己定义 C.任意的 D.与机器字长有关 4. 设a=3

3、,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为_A 3 B 2 C 4 D 15. 设有如下定义:int x=l,y=-1;,则语句:printf("%dn",(x- & y+);的输出结果是_A 1 B 0 C -1 D 26. 下列语句中符合C语言语法的赋值语句是_A a=7+b+c=a+7; B a=7+b+=a+7;C ) a=7+b,b+,a+7 D a=7+b,c=a+7;7. 若a为二维数组,则a12等价于_A. *(a+1)+3) B. *(a1+3) C. (*(a+1)+3) D. &a1+38. 下列

4、表达式中,错误的是_. A.2>1 ? a:b B.i+j C.4.0%2.0 D.x*=y+89. 若以数组元素作为函数的实参,则实参向形参传送的是_. A.数组元素的地址 B.数组元素的值 C.数组的首地址 B.数组名10. 设有如下的共用体定义: union data int i; long b; float f; a; 则a所占的内存单元为_个字节. A.4 B.16 C.8 D.10三、程序填空题(阅读以下程序说明和相应程序(段),在每小题提供的若干可选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共20分)1【程序说明】 下面程序是查找学生的成绩,

5、完成该程序。输入值为学生序号,当输入为-1时程序结束。【程序】 #include <stdio.h> main( )void search (float (*p) 3, int i ); float score 43=75,78,82,66,72,77,85,90,81,74,89,68; while (1) scanf (“%d” &i ); if(_1_)break; search(_2_);void search (float (*p)3,int i ) int k; print (“The score of No %d are n”,i ); for(_3_) pr

6、intf( “%5.2f”,_4_);(1) A、i= =0 B、break C、return D、i = = -1(2) A、p B、score, i C、&score, i D、p, i(3) A、i=0;i<3; i+ B、k=1;k<=3;k+i C、k=2; k>0; k- D、k=0;k<3;k+(4) A、*pi+k B、pik C、scoreik D、*scorei+k 2.【程序说明】 输入一个字符串,将其中的大写字母转换为小写字母后输出。【程序】 #include <stdio.h> void main( )char str80;

7、 int k; gets(str);for (k=0;strk!=0;k+); if ( (5) ) (6) ; puts(str); (5) A、k= =0 B、strk<a C、strk<a D、k < = 80(6) A、k+ B、strk=strk-32 C、k=32 D、str32 -= k3【程序说明】在 n 行 n 列的矩阵中,每行都有最大的数,本程序求这 n 个最大数中的最小一个【程序】#includestdio.h#define N 100int aNN;void main() int row ,col ,max ,min ,n;  &#

8、160; /*输入合法 n (100 ,和输入 n×n 个整数到数组 a 的代码略*/    for ( row = 0;row < n;row+)         for ( max = arow0,col = l ;col < n;col+)            if (_7_) max = arowcol;    &#

9、160;   if (_8_)min = max;        else if(_9_)min = max;        printf ("The min of max numbers is _10_n",min);(7) A、max<aij B、max>arowcol C、max>aij D、max = =a ij(8) A、min<aij B、max<min C、max>min D、

10、i= =0(9) A、max<aij B、max<min C、max>min D、max = =min(10) A、%5i B、%5d C、%5f D、%5c四、阅读理解题(阅读下列程序或程序段,写出运行结果,每小题5分,共20分)1 阅读下面程序,给出输出结果。 main( ) int i, j, k; for(i=1; i<10; i+) printf(“n”); if(i<=5) for(j=1; j<=i; j+) for(k=1;k<=5-i;k+) printf(“#”); printf(“* “); else for (j=1; j<

11、;=10-i;j+) for(k=1;k<=i-5;k+) printf(“#”); printf(“* ”); 2 阅读下面程序,写出运行结果。#include <stdio.h> void main( ) long fun(long number); printf(“%1dn”,fun(-974); long fun(long number) int flag; long res=0;flag=number<0 ? -1:1; if (number<0) number=-number; res=res*10+number%10; printf(“%d#”,re

12、s); return flag*res; 3 阅读下面程序,指出下面程序所完成的功能main()int a=5,b=6;int c,d,x;c=1;d=-1;a+;if (a<b) if (c<d)  x=1;   else if(a<c) if(b<d)x=2;    elsex=3;    elsex=6;else   x=7; printf(“x=%3dn”,x);4分析以下程序: #include “string.h” main() char

13、c,string81; int i,a=0,b=0; gets(string); for(i=0;(c=stringi)!='0'i+) if (c=' ') a=0; else if (a=0) a=1;b+; printf("%dn",b); 若输入:a b c,则程序运行后,输出结果为_,且c的值为_,a的值为_.五、编程题(每题10分,共30分) (1) 有函数f(x)=1-x /2+x/4-x/6+x/8 编写程序求f(x),使误差小于0.0000001。(2) 有一函数: 写一程序,输入x, 输出y 值。(3) 随机产生15个数属

14、于30,150范围的数,请按由从小到大排序。请输出排序前后的数,要求每行输出5个数。C程序设计试题2考试答案与评分标准(一)、判断题(每小题1分,满分10分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)BBBBAABAAA(二)、单选题(每小题2分,满分20分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)CDDAADCCBD(三)、程序填空题(每小题2分,满分20分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)DBDACBABDB(四)、程序阅读题(每小题5分,满分15分)程序1程序2#* #* #* #* #* #* #* #* #* #

15、* * * * * * #* #* #* #* #* #* #* #* #* #* 4#-4程序3程序4x= 73c的值为_0 _,a的值为_1_五、程序设计题(每小题10分,满分20分)1、double f(float x) double s=1,t=0; int i=2,f=1; do f=-f; t=x/i; s=s+f*t; i=i+2; while(t<1e-7); 2、#include <stdio.h>#include <math.h>int main() float x,y,a,b,c; scanf("%f %f %f %f",&x,&a,&b,&c); if(x<1) y=a*x*x+b*x+c; else if(x>=10) y=3*x+10 else y=a*log(x)+cos(x*x*x); printf("y=%fn",y);3.#include <stdio.h>#i

温馨提示

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

评论

0/150

提交评论