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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

c语言题目及标准答案.docx

1、c语言题目及标准答案c语言题目及答案 作者: 日期: 考试题型一、单项选择题(30分)二、填空题 (20分)三、阅读程序写结果(20分)四、编程序题(30)复习题一一、 选择题 1下列说法中正确的是 。AC语言程序由主函数和0个或多个函数组成BC语言程序由主程序和子程序组成CC语言程序由子程序组成DC语言程序由过程组成2执行语句“x=(a=3,b=a-)”后,x,a,b的值依次为 。A3,3,2 B3,2,2 C3,2,3 D2,3,23设有int i=010,j=10;则printf(%d,%dn,+i,j-); 的输出的是 。A11,10 B9,10 C010,9 D10,9 4设a、b为

2、字符型变量,执行scanf(a=%c,b=%c,&a,&b); 后使a为A, b为B,从键盘上的正确输入是 。AA B BA,B CA=A,B=B Da=A,b=B5已知int x=12, y=3;执行下述程序后,变量x的值是_。do x/=y-;while(xy);A1 B2 C3 D程序运行有错误6C语言中while和do-while循环的主要区别是 。Ado-while的循环体至少无条件执行一次Bwhile的循环控制条件比do-while的循环控制条件严格Cdo-while允许从外部转到循环体内Ddo-while的循环体不能是复合语句7设x和y均为int型变量,则执行下面的循环后,y的值

3、为 。for (y=1,x=1;y=10 ) break; if (x%2=1) x+=5;continue; x - =3;A2 B4 C6 D88以下正确的说法是_。A用户若需调用标准函数,调用前必须重新定义B用户可以重新定义标准库函数,若如此,该函数将失去原有含义C系统根本不允许用户重新定义标准函数D用户若需要调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调9若调用一个函数,且此函数中没有return语句,则关于该函数正确的说法是_ _。A 没有返回值B 能返回若干个系统默认值C 能返回一个用户所希望的函数值D 返回一个不确定的值10已知函数定义如

4、下:float fun1(int x,int y) float z;z=(float)x/y;return(z);主调函数中有int a=1,b=0;可以正确调用此函数的语句是_。Aprintf(%f,fun1(a,b); Bprintf(%f,fun1(&a,&b);Cprintf(%f,fun1(*a,*b); Dprintf(%f,fun1(b,a);11宏定义:#define PI 31.14159中,宏名PI代替_。A单精度 B双精度 C常量 D字符串12若有以下数组说明,则数值最小和最大的元素下标分别是 。 int a12 =1,2,3,4,5,6,7,8,9,10,11,12;

5、A1,12 B0,11 C1,11 D0,1213以下合法的数组定义是 。Aint a3 =0,1,2,3,4,5; Bint a 3 =0,1,2,3,4;Cint a23=0,1,2,3,4,5,6; Dint a23=0,1,2,3,4,5,;14函数调用:strcat(strcpy (str1,str2),str3); 的功能是 。A将字符串str1复制到字符串str2中后再连接到字符串str3 之后。B将字符串str1连接到字符串str2之后再复制到字符串str3 之后。C将字符串str2复制到字符串str1中后再将字符串str3 连接到字符串str1之后。D将字符串str2连接到字

6、符串str1之后再将字符串str1 复制到字符串str3中。15设有二维数组定义如下,则不正确的数组元素引用是 。 int a34 =1,2,3,4,5,6,7,8,9,10,11,12;Aa23 Baa001 Ca7 Da2c-a16若用数组名作为函数调用时的实参,则实际上传递给形参的是 。A数组首地址 B数组的第一个元素值C数组中全部元素的值 D数组元素的个数17以下对指针变量进行操作的语句,正确的选项是 。Aint *p,*q; q=p; Bint a,*p,*q; q=&a; p=*q;Cint a=b=0,*p; p=&a; b=*p; Dint a=20,*p,*q=&a; p=q

7、;18若有以下定义和语句:int s45,(*ps)5;ps=s;则对s数组元素的正确引用形式是 。Aps+1 B*(ps+3) Cps02 D*(ps+1)+319当说明一个共用体变量时系统分配给它的存储容量是 。A共用体中最后一个成员所需的存储容量B共用体中第一个成员所需的存储容量C成员中占存储量最大者所需的存储容量D各成员所需存储容量的总和20有定义如下: struct student int age; char num8; stu3=20,200401,21,200402,10,200403;struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是 。A

8、(p+)-num Bp-num C(*p).num Dstu3.age二、填空题1设a=3,b=2,c=1,则ab的值为 ,abc的值为 。2若w, x, y, z, m均为int型变量,则执行下面程序段后的m值是 。 w= 1; x = 2; y= 3; z=4; m=(wy)?w:x; m= (my)? m:y; m=(mz)?m:Z;3下面程序的输出结果是_。#include main() int a=1,b=0;do switch(a) case 1: b=1;break;case 2: b=2;break;default : b=0;b=a+b;while(!b);printf(a=

9、%d,b=%d,a,b);4下面程序的输出结果是_。#include main() int x,i;for(i=1;i=100;i+) x=i;if(+x%2=0)if(+x%3=0)if(+x%7=0)printf(%d ,x);5下面程序的输出结果是_。#include int func(int a,int b) int c;c=a+b;return(c);void main() int x=6,y=7,z=8,r;r=func(x-,y+,x+y),z-);printf(%dn,r);6下面程序的输出结果是_。#include void main() int x=1; void f1()

10、,f2();f1( );f2(x); printf(%dn,x);void f1(void) int x=3; printf(%d ,x); void f2(x)int x; printf(%d ,+x); 7程序中有定义:#define S(r) r/r int a=4,b=3,area; 则表达式area=S(a+b)的值为_。三、程序完善题1以下程序的功能是计算分段函数y的值。请完善程序。#include void main() int x,c,m; float y; scanf(“%d”,&x); if( (1) ) c=-1; else c= (2) ; switch( c) cas

11、e 1: y=0; break; case 0: y=x; break;case 1: y=10; break; case 2: case 3: y=-0.5*x+20; break; default : y=-2;if( (3) ) printf(“y=%f”, y);else printf(“errorn”); 2有以下程序段:s=1.0;for(k=1;k=n;k+)s=s+1.0/(k*(k+1);printf(%fn,s);填空完成下述程序,使之与上述程序的功能完全相同。s=0.0;(1) ;k=0; do s=s+d;(2) ;d=1.0/(k*(k+1);while( (3) )

12、;printf(%fn,s);3根据以下嵌套的if语句说给条件,填写switch语句,使它完成相同的功能。(假设score的取值在1100之间。) if语句: if(score60) k=1; else if(score70) k=2; else if(score80) k=3; else if(score90) k=4; else if(score=100) k=5; switch语句: switch( (1) ) (2) : k=1; break;case 6:k=2; break;case 7:k=3; break;case 8:k=4; break; (3) :k=5; 4输入2个整数

13、,输出它们的最小公倍数和最大公约数。请完善程序。 #include void main( ) int m,n,gbs,gys; scanf((1)); for(gbs=m; (2) ; gbs=gbs+m); gys= (3) ; printf(“gbs=%dtgys=%dn”, gbs,gys); 5下面函数的功能是判断一个数是否为素数。请完善程序。void f(int m) int m,i,k;k=_(1)_;for(i=2;i=_(2)_;i+)if(_(3)_)break;if(_(4)_)printf(“是素数”);else printf(“非素数”);6一个5位数,判断它是不是回文

14、数。即12321是回文数,个位与万位相同,十位与千位相同。请完善程序。void fun(long x) long ge,shi,qian,wan; wan= (1) ;qian=_(2)_;shi=_(3)_;ge=x%10;if (_(4)_) printf(this number is a huiwenn);else printf(this number is not a huiwenn);四、程序设计题1编写程序计算分段函数y值。2编写程序,输入一个字符串,求该字符串的有效长度。要求不能使用系统函数。3编写程序实现,将键盘输入的一个十进制整数转换为2进制数并输出。参考答案: 一、选择题1

15、2345678910ACBDDACBAD11121314151617181920DBBCCACCCD二、填空题 1、 1 0 2、 1 3、 a=1,b=2 4、 25 67 5、 21 6、 3 2 1 7、 7 三、程序完善题1、 x0 x/10 x40 2、 d=1 k+ k=n 3、 score/10 case 0,1,2,3,4,5: default 4、 “%d %d”,&m,&n gbs%n!=0 m*n/gbs 5、 m/2 k m%i=0 i=k 6、 x/10000 (x%10000)/1000 (x%100)/10 wan=ge & qian=shi 四、程序设计题1、

16、#include void main() float x,y; scanf(“%f”,&x); if(x0) y=exp(-x); else if(x=0) y=1; else y=-exp(x); printf(“%f”,y);2、 #define max 20; void main()char strmax;int len;scanf(“%s”,str);for(len=0;strlen!=0;len+) ;printf(“%d”,len);3、#includevoid main() unsigned n;char str10,t;int k,i,j;printf(“please inpu

17、t:”);scanf(“%u”,&n);for(i=0;n!0;i+) stri=n%2+0; n/=2;stri=0;printf(“the result is :”);for(k=0,j=i-1;kj;k+,j-) t=strk;strk=strj;strj=t;puts(str);复习题二一、选择题1字符串ABC在内存占用的字节数是 。A3 B4 C6 D82设整型变量m,n,a,b,c,d均为0,执行(m=a= =b)|(n=c= =d)后,m和n的值是 。A0,0 B0,1 C1,0 D1,13a是int类型变量,c是字符变量。下列输入语句中哪一个是错误的 。Ascanf(%d,%c

18、,&a,&c); Bscanf(%d%c,a,c);Cscanf(%d%c,&a,&c); Dscanf(d=%d,c=%c,&a,&c);4字符变量ch=A,int类型变量k=25,执行printf(%3d,%d3n,ch,k); 的输出为: 。A65,253 B65 253 C65,25 DA 255已知int i=1, j=0;执行下面语句后j的值是_。while(i)switch(i) case 1: i+=1;j+;break;case 2: i+=2;j+;break;case 3: i+=3;j+;break;default: i-;j+;break;A1 B2 C3 D死循环6

19、C语言中while和do-while循环的主要区别是 。Ado-while的循环体至少无条件执行一次Bwhile的循环控制条件比do-while的循环控制条件严格Cdo-while允许从外部转到循环体内Ddo-while的循环体不能是复合语句7设x和y均为int型变量,则执行下面的循环后,y的值为 。for (y=1,x=1;y=10 ) break; if (x%2=1) x+=5;continue; x - =3;A2 B4 C6 D88在C语言中,函数的数据类型是指_。A函数返回值的数据类型 B函数形参的数据类型C调用该函数时的实参的数据类型 D任意指定的数据类型9在c语言中以下不正确的

20、说法是_ _。A 实参可以是常量、变量或表达式B 形参可以是常量、变量或表达式C 实参可以为任意类型D. 形参应与其对应的实参类型一致10已知函数定义如下:float fun1(int x,int y) float z;z=(float)x/y;return(z);主调函数中有int a=1,b=0;可以正确调用此函数的语句是_。Aprintf(%f,fun1(a,b); Bprintf(%f,fun1(&a,&b);Cprintf(%f,fun1(*a,*b); Dprintf(%f,fun1(b,a);11宏定义的宏展开是在_阶段完成的。A第一遍编译 B第二遍编译C程序执行 D预编译12若

21、有以下数组说明,则数值最小和最大的元素下标分别是 。 int a12 =1,2,3,4,5,6,7,8,9,10,11,12; A1,12 B0,11 C1,11 D0,1213以下合法的数组定义是 。Aint a3 =0,1,2,3,4,5; Bint a 3 =0,1,2,3,4;Cint a23=0,1,2,3,4,5,6; Dint a23=0,1,2,3,4,5,;14函数调用:strcat(strcpy (str1,str2),str3); 的功能是 。A将字符串str1复制到字符串str2中后再连接到字符串str3 之后。B将字符串str1连接到字符串str2之后再复制到字符串s

22、tr3 之后。C将字符串str2复制到字符串str1中后再将字符串str3 连接到字符串str1之后。D将字符串str2连接到字符串str1之后再将字符串str1 复制到字符串str3中。15设有二维数组定义如下,则不正确的数组元素引用是 。 int a34 =1,2,3,4,5,6,7,8,9,10,11,12;Aa23 Baa001 Ca7 Da2c-a16若用数组名作为函数调用时的实参,则实际上传递给形参的是 。A数组首地址 B数组的第一个元素值C数组中全部元素的值 D数组元素的个数17以下对指针变量进行操作的语句,正确的选项是 。Aint *p,*q; q=p; Bint a,*p,*

23、q; q=&a; p=*q;Cint a=b=0,*p; p=&a; b=*p; Dint a=20,*p,*q=&a; p=q;18若有以下定义和语句:int s45,(*ps)5;ps=s;则对s数组元素的正确引用形式是 。Aps+1 B*(ps+3) Cps02 D*(ps+1)+319当说明一个结构体变量时,系统分配给它的存储容量是 。A结构体中最后一个成员所需的存储容量B结构体中第一个成员所需的存储容量C成员中占存储量最大者所需的存储容量D各成员所需存储容量的总和20有定义如下:struct sk int a;float b;data ,*p;如果有: p=&data; 则对于结构体

24、变量data的成员a的正确引用是_ _。A(*p).data.a B(*p).a Cp-data.a Dp.data.a二、填空题1设a=3,b=2,c=1,则ab的值为 ,abc的值为 。2设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为 。3以下程序段的输出结果是 。 int a=10,b=50,c=30;if(ab)a=b;b=c;c=a;printf(a=%d b=%d c=%dn,a,b,c);4以下程序的输出结果是 。#include void main() int x= 2,y=-1,z=2;if(xy) if(y0) z= 0; else z+ =1;p

25、rintf(%dn,z);5下面程序的输出结果是_。#include int func(int a,int b) int c;c=a+b;return(c);void main() int x=6,y=7,z=8,r;r=func(x-,y+,x+y),z-);printf(%dn,r);6下面程序的输出结果是_。#include void main() int x=1; void f1(),f2();f1( );f2(x); printf(%dn,x);void f1(void) int x=3; printf(%d ,x); void f2(x)int x; printf(%d ,+x);

26、 7以程序的输出结果是_。#define MA(x) x*(x-1)#includevoid main()int a=1,b=2; pirntf(“%dn”,MA(1+a+b);三、程序完善题1下列程序计算并输出方程 X2+Y2+Z2=1989 的所有整数解。请完善程序。 #include void main() (1) ; for(i=-45;i=45;i+) for((2) ) for(k=-45;k=45;k+) if( (3) ) printf( “%4d%4d%4dn”, i,j,k); 2有以下程序段:s=1.0;for(k=1;k=n;k+)s=s+1.0/(k*(k+1);printf(%fn,s);填空完成下述程序,使之与上述程序的功能完全相同。s=0.0;(1) ;k=0; do s=s+d;(2) ;d

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2