ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:28.81KB ,
资源ID:7582284      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7582284.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C期末练习题.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C期末练习题.docx

1、C期末练习题C语言期末练习题一、判断题说明:在以下提供若干陈述中,逐一判断其正确与否,正确选择A,错误选择B。1在C程序中,函数既可以嵌套定义,也可以嵌套调用。2在C语言中常量和变量都有数据类型。3在所有的关系运算符(=、= =、!=、=、)中,优先级最低的运算符是(0|y0)等价于!(x0)&!(y0)。14若有如下定义,int a10,*p=a; 则*(+a)和p1均表示数组元素a1。15设变量定义为char s =”china”,则数组s中有6个元素。16在C语言中,int和*p都是合法的用户自定义标识符。17在C语言中,main函数必须写在源程序的开始位置。18对于变量定义:int a

2、8, *p=a+3; 数组a的最后一个元素是p4。19运算符(-)不能作为单目运算符。20在C程序中,在函数内部定义的变量称为全局变量。21表达式m=n+的求解顺序是先计算m=n,再计算n=n+1。22C语言程序的三种基本结构是顺序结构、选择结构和循环结构。23若有如下定义int a=b=c=4; 表示定义了三个整型变量a、b和c,同时给它们赋初值4。24表达式1098的逻辑值为0。25若变量已正确定义,表达式x+y=z;符合C语言语法。二、单选题1若已定义:int x = 4, y = 4; 则复合赋值表达式x /= 1+y的值为_。A0 B0.8 C5 D表达式非法2 int x=6; x

3、- =x+ =x/ =x; x值是_。A0 B1 C2 D33下列叙述正确的是_。A执行表达式a=b后,在内存中a和b存储单元中原有的值都将改变,a的值已由原值改变为b的值,b的值由原值变为零。B在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式。Ca是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值。D已有a=3,b=5,执行了表达式a=b,b=a之后使a中的值为5,b中的值为3。4下列程序段的输出结果是_。 int x=4,y=0; if(x2) y=1; else if(x5) y=2; else y=3; printf(“%d”,y); A3 B

4、2 C1 D05对于以下程序段,运行后x值为_。int x=9, a=1; switch (a) case 1:x-=3; case 2:x-=4; break; default:x-=5; A6 B5 C2 D上述程序有语法错误6下列程序段的输出结果是_。int k=1;switch(k) case 1: putchar(P);case 2: putchar(M);case 3: putchar(Q); case 4: putchar(R); break;default: putchar(S);APMQR BP CPM DPMQRS7下列while循环,将执行_次。 i=-5; while(

5、+i) printf(“%d”,i);A3 B4 C5 D无限次8若a是单精度实型变量,b是基本整形变量,以下正确的输入语句是_。Ascanf(“%f%d”,&a,&b);Bscanf(“%f%d”,a,b);Cscanf(“%d%f”,&a,&b);Dscanf(“%d%f”,a,b);9执行下列程序段后,k值为_。int k,a=1,b=2;k=(+a=b)?2:3;A2 B3 C4 D510函数f定义如下,执行语句“s=f(5);”后,s的值应为_。int f(int m)static int i=0; int sum=0; for(; ix=point.y19定义struct st c

6、har name20;long x;float ystudent; 则变量student所占的字节数是_。A24 B28 C3 D2620若x=1,y=5则x&y的结果是_。A1 B2 C5 D6三、程序填空题说明:阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑出一个正确答案。程序1、【程序说明】根据下式计算的值,要求精确到最后一项的绝对值小于10-6。【程序】# include # includevoid main( )int i=1; (1) for(i=1; (2) ;i+) (3) ; s=s+item; printf(“s=%fn”, s);1Adouble item,

7、 s; Bdouble item=1, s;Cdouble item, s=0; Ddouble item, s=1;2Aitem=0.000001Cfabs(item)=0.0000013Aitem=1/i Bitem=item+1.0/(i*2-1)Citem=1.0/(2*i-1) Ditem=1.0/item/i程序2、【程序说明】输出10010000之间所有满足各位数字的立方和等于它本身的数。【程序】# include void main( )int d, i, m, sum; for(i=100; i=10000; i+) (1) while(m!=0) d=m%10; sum=s

8、um+d*d*d; (2) if( (3) ) printf(“%d”, sum); 1Asum=0; Bm=i; sum=0; Cm=i; Di=m; sum=0;2Am=m/10; Bm=i/10; Cm=m; Dm=m%10;3Am!=sum B i=sum Ci!=sum Dm=sum程序3、【程序说明】求500以内的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。【程序】#include#includevoid main() int i,m,n; (1) ; for(m=2;m=500;m+) n=sqrt(m); for(i=2;in) prin

9、tf(%6d,m); count+; (3) ; printf(n);1Aint count Bint count=0Ccount Dint count=02Aif(m%i!=0) break Bif(m%i=0) breakCif(m%i=0) continue Dif(m%i!=0) continue3Aif(count/10!=0) printf(“n”) Bif(count%10!=0) printf(“n”) Cif(count%10=0) printf(“n”) Dif(count/10=0) printf(“n”)程序4、【程序说明】输入100个整数,将它们存入数组中,再输入一个

10、数x,然后在数组中查找x,如果找到,输出相应下标(如有多个元素与x相等,只要输出下标值最小的那个元素的下标),否则,输出“Not Found”【程序】#includevoid main() int i,s,x; int a100; for(i=0;i100;i+) (1) printf(Input x); scanf(%d,&x); s=-1; for(i=0;i100;i+) if(ai=x) (2) if( (3) ) printf(index is %dn,s); else printf(Not Found);1Ascanf(“%d”,a);Bscanf(“%d“,&ai);Cscanf

11、(“%d“,ai);Dscanf(“%s“,a);2As=i; Bbreak; Cs=i;break ; Ds=i;break;3Ai10 Ci=10 Di=10程序5、【程序说明】下列程序运行时,输入10个学生的姓名和成绩,然后求出学生的平均成绩。【程序】#includestruct student int num; char name20; int score; ; (1) ; void main() int i; (2) ; printf(ninput the students number,name and score:n); for(i=0;i10;i+) printf(No %d

12、n,i+1); (3) ; sum=sum+studi.score; (4) ; 1Astruct stud10 Bstruct student studCstruct student stud10 Dstudent stud102Adouble sum=0 Bdouble sumCfloat sum Dint sum3Ascanf(%s%d%d,&studi.num,studi.name,&studi.score)Bscanf(%d%s%d,&studi.num,studi.name,&studi.score)Cscanf(%d%d%s ,&studi.num,&studi.name,&st

13、udi.score)Dscanf(%d%s%d,&studi.num,&studi.name,&studi.score)4Aprintf(the average: %fn,sum/10)Bprintf(the average: %dn,sum/10)Cprintf(the average: %xn,sum/10)Dprintf(the average: %on,sum/10)程序6、【程序说明】输入两数a、b,再按从大到小顺序输出。【程序】 #includevoid main() int x,y;int *p1,*p2; scanf (%d%d,&a,&b); (1) p2=&b; if( (

14、2) )swap(p1,p2); printf(%d,%d,a,b); void swap( (3) ) int t; t=*p1; (4) *p2=t; 1Ap1=a; Bp1=&a; C*p1=&a; D*p1=a;2Aap2Cp1b3Aint p1,int p2 Bint *p1,int p2Cint *p1, *p2 Dint *p1,int *p2 4Ap1=p2; B*p1=*p2;C*p1=t; D*p2=t;四、程序阅读题(每题5分,共20分)说明:阅读下列程序,将运行时的输出结果写在答卷纸的相应题号下。1、程序1# include void main( )int m=1234

15、56; do printf(“%d#”, m%10); m=m/10; while(m!=0); 2、程序2 #includeint fact(int n) int t; if(n=1)t=5; else t=fact(n-1)+5; return t;void main() printf(result :%dn,fact(6);3、程序3#include int fun(int x) static int y=1; y=y*x; return(y);void main()int t; for(t=1;t=3;t+) printf (%d!=%dn,i,fun(t); 4、程序4#includ

16、e void main() int a6; int i, j,t; for(i=0;i6;i+)scanf(%d,&ai); for(i=0;i=5;i+) for(j=5;iaj) t=aj; aj=aj-1; aj-1=t; printf(The sorted 6 numbers:n);for(i=0;i6;i+)printf(%4d,ai);printf(n);运行时输入的数字为 6 12 34 5 7 05、程序5设以下程序执行前存放着文本文件file1.txt的内容是:November 1st,1990# include # include void main( ) FILE *fr

17、;int ch; if(fr=fopen(“file1.txt”,”r”)=NULL) printf(“Can not open file”); exit(0);while(!feof(fr) ch=fgetc(fr); if(ch=0&ch=9) putchar(ch);fclose (fr); 6、程序6 #include void main() char str =”abcd1234560wxyz”,*p=str; printf(“%s”,p+1); 7、程序7#include void main() char a=23456789,*ap; ap=a; while(*ap!=0) if

18、(*ap)%2=0) *ap=#; ap+; puts(a);8、程序8 #include void swap( int *a,int *b) int t; t=*a;*a=*b;*b=t; void main() int x=1,y=2; swap(&x,&y); printf(x=%d,y=%d,x,y); 五、程序设计题1编制程序,输入n个整数(n从键盘输入,n0),输出它们中偶数的和。2对10个实数进行排序(从大到小)。3输入一个正整数n(1n10),再输入n个整数放在数组中,输出平均值(保留2位小数)。4定义函数fun用于计算两个整数之差的绝对值,编写主函数要求输入两个整数,调用该函数并输出。5输入x,计算并输出下列分段函数f(x)的值。可以调用数学库函数:平方根函数sqrt(),绝对值函数fabs(),幂函数pow()。6输入一个正整数n,计算5.6n。要求定义和调用函数mypow(x,n)计算xn,其中x和n的类型分别是double和int,函数类型是double。7输入5个字符串,输出其中最小的字符串。8输入5个字符串,输出其中最长的字符串。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1