c语言精彩试题及问题详解.docx

上传人:b****6 文档编号:6997953 上传时间:2023-01-15 格式:DOCX 页数:8 大小:16.72KB
下载 相关 举报
c语言精彩试题及问题详解.docx_第1页
第1页 / 共8页
c语言精彩试题及问题详解.docx_第2页
第2页 / 共8页
c语言精彩试题及问题详解.docx_第3页
第3页 / 共8页
c语言精彩试题及问题详解.docx_第4页
第4页 / 共8页
c语言精彩试题及问题详解.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

c语言精彩试题及问题详解.docx

《c语言精彩试题及问题详解.docx》由会员分享,可在线阅读,更多相关《c语言精彩试题及问题详解.docx(8页珍藏版)》请在冰豆网上搜索。

c语言精彩试题及问题详解.docx

c语言精彩试题及问题详解

1、以下正确的说法是(B)

(A)用户若需要调用标准库函数,调用前必须重新定义

(B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义

(C)系统根本不允许用户重新定义标准库函数

(D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调

2、以下正确的函数声明形式是(A)

(A)doublefun(intx,inty)

(B)doublefun(intx;inty)

(C)doublefun(intx,inty);

(D)doublefun(intx,y);

3、以下正确的函数形式是(D)

(A)doublefun(intx,inty){z=x+y;returnz;}

(B)fun(intx,y){intz;returnz;}

(C)fun(x,y){intx,y;doublez;z=x+y;returnz;}

(D)doublefun(intx,inty){doublez;z=x+y;returnz;}

4、以下正确的说法是(A)

在C语言中

(A)实参和与其对应的形参各占用独立的存储单元

(B)实参和与其对应的形参共占用一个存储单元

(C)只有当实参和与其对应的形参同名时才共占用存储单元

(D)形参是虚拟的,不占用存储单元

5、若调用一个函数,且此函数中没有return语句,则正确的说法是(A)

该函数

(A)没有返回值

(B)返回若干个系统默认值

(C)能返回一个用户所希望的函数值

(D)返回一个不确定的值

6、以下不正确的说法是(B)

C语言规定

(A)实参可以是常量、变量和表达式

(B)形参可以是常量、变量和表达式

(C)实参可以为任意类型

(D)形参应与其对应的实参类型一致

7、以下正确的说法是(C)

(A)定义函数时,形参的类型说明可以放在函数体内

(B)return后边的值不能为表达式

(C)如果函数值的类型与返回值类型不一致,以函数值类型为准

(D)如果形参与实参的类型不一致,以实参类型为准

8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是(B)

(A)地址传递

(B)单向值传递

(C)由实参传给形参,再由形参传回给实参

(D)由用户指定传递方式

9、以下程序有语法性错误,有关错误原因的正确说法是(C)

voidmain()

{

intG=5,k;

voidprt_char();

......

k=prt_char(G);

......

}

(A)语句voidprt_char();有错,它是函数调用语句,不能用void说明

(B)变量名不能使用大写字母

(C)函数说明和函数调用之间有矛盾

(D)函数名不能使用下划线

10、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是(B)

(A)float型

(B)int型

(C)long型

(D)double型

11、C语言规定,函数返回值的类型是由(D)

(A)return语句中的表达式类型所决定

(B)调用该函数时的主调函数类型所决定

(C)调用该函数时系统临时决定

(D)在定义该函数时所指定的函数类型所决定

12、下面函数调用语句含有实参的个数为(B)

func((exp1,exp2),(exp3,exp4,exp5));

(A)1

(B)2

(C)4

(D)5

13、以下错误的描述是(D)

函数调用可以

(A)出现在执行语句中

(B)出现在一个表达式中

(C)做为一个函数的实参

(D)做为一个函数的形参

14、以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。

①(B)②(C)

#include

#include

floatf(float,float);

voidmain()

{

floatx,y,z,sum;

scanf("%f%f%f",&x,&y,&z);

sum=f(①)+f(②);

printf("sum=%f\n",sum);

}

floatf(floata,floatb)

{

floatvalue;

value=a/b;

return(value);

}

①(A)x-y,x+y

(B)x+y,x-y

(C)z+y,z-y

(D)z-y,z+y

②(A)x-y,x+y

(B)x+y,x-y

(C)z+y,z-y

(D)z-y,z+y

15、以下正确的描述是(B)

在C语言中

(A)函数的定义可以嵌套,但函数的调用不可以嵌套

(B)函数的定义不可以嵌套,但函数的调用可以嵌套

(C)函数的定义和函数的调用均不可以嵌套

(D)函数的定义和函数的调用均可以嵌套

16、以下程序是选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。

请选择填空。

①(B)②(A)

sub(intk,intn)

{

inta1,a2;

a2=①;

a1=k-②;

if((K%3==0&&a2==5)||(k%3==0&&a1==5))

{

printf("%d",k);

n++;

returnn;

}

elsereturn-1;

}

voidmain()

{

intn=0,k,m;

for(k=10;k<=99;k++)

{

m=sub(k,n);

if(m!

=-1)n=m;

}

printf("\nn=%d",n);

}

①(A)k*10

(B)k%10

(C)k/10

(D)k*10%10

②(A)a2*10

(B)a2

(C)a2/10

(D)a2%10

 

二、填空题

17、C语言规定,可执行程序的开始执行点是___main函数_____。

18、在C语言中,一个函数一般由两个部分组成,他们是__函数名______和___函数体_____。

19、若输入的值是-125,以下程序的运行结果是_-125_=5*5*5______。

#include

#include

voidfun(intn)

{

intk,r;

for(k=2;k<=sqrt(n);k++)

{

r=n%k;

while(r==0)

{

printf("%d",k);

n=n/k;

if(n>1)printf("*");

r=n%k;

}

}

if(n!

=1)printf("%d\n",n);

}

voidmain()

{

intn;

scanf("%d",&n);

printf("%d=",n);

if(n<0)printf("-");

n=fabs(n);

fun(n);

}

20、下面add函数的功能是求两个参数的和,并将和值返回调用函数。

函数中错误的部分是__voidadd(floata,floatb)______;改正后为___floatadd(floata,floatb)_____。

voidadd(floata,floatb)

{

floatc;

c=a+b;

returnc;

}

21、以下程序的运行结果是__i=7,j=6,x=7i=2,j=7,x=5______。

voidfun(inti,intj)

{

intx=7;

pirntf("i=%d;j=%d;x=%d\n",i,j,x);

}

voidmain()

{

inti=2,x=5,j=7;

fun(j,6);

printf("i=%d;j=%d;x=%d\n",i,j,x);

}

22、以下程序的运行结果是___111_____。

voidincrement()

{

intx=0;

x+=1;

printf("%d",x);

}

voidmain()

{

increment();

increment();

increment();

}

23、以下程序的运行结果是___2_____。

max(intx,inty)

{

intz;

z=(x>y)?

x:

y;

return(z);

}

voidmain()

{

inta=1,b=2,c;

c=max(a,b);

printf("maxis%d\n",c);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

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

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