c语言测试题.docx

上传人:b****5 文档编号:2867095 上传时间:2022-11-16 格式:DOCX 页数:10 大小:18.71KB
下载 相关 举报
c语言测试题.docx_第1页
第1页 / 共10页
c语言测试题.docx_第2页
第2页 / 共10页
c语言测试题.docx_第3页
第3页 / 共10页
c语言测试题.docx_第4页
第4页 / 共10页
c语言测试题.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

c语言测试题.docx

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

c语言测试题.docx

c语言测试题

专业:

班级:

学号:

姓名:

一、单项选择题(

(1)-(20)题每题1分)

对下面各题,从给出的A,B,C,D,四个可选答案中,选一个正确的答案。

1.当a的值为5,b的值为4时,逻辑表达式a<=6&&a+b>8的值为___C__。

A.true

B.false

C.非0整型值

D.整型值0

2.外部变量对程序中的任一函数而言,它们是_____B____。

A.存在的

B.可直接存取的

C.不可见的

D.不可直接存取的

3.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是_____D____。

A.地址传递

B.值传递

C.实参数传给形参,并由形参传回来给实参(传递是单向的)

D.由用户指定传递方式

4.以下说法中正确的是___C_______。

A.C语言程序总是从第一个的函数开始执行

B.在C语言程序中,要调用的函数必须在main()函数中定义

C.C语言程序总是从main()函数开始执行

D.C语言程序中的main()函数必须放在程序的开始部分

5..变量的有效范围与其定义位置有关,__C______,其作用域在整个源程序文件中都有效。

A.在第一个函数中定义的变量

B.在定义第一个函数之前所定义的变量

C.在主函数中定义的变量

D.在函数中定义的静态变量

6.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是_C_____

A.c=b=a;

B.(a=c)||(b=c);

C.(a=c)&&(b=c);

D.a=c=b;

7.若已定义:

inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是____D_______

A.p+1

B.a+1

C.a++

D.++p

8.以下程序运行后,输出结果是__A_____.

main()

{char*s="abcde";

s+=2;

printf("%s\n",s);}

A.cde

B.字符c的ASCII码值

C.字符c的地址

D.出错

9.当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为__B____.

if(a

if(c

elseif(a

if(b

elsex=3;

elsex=6;

elsex=7;

A.1

B.2

C.3

D.6

10.当执行以下程序段时___A___.

x=-1;

do{x=x*x;}while(!

x);

A.循环体将执行一次

B.循环体将执行两次

C.循环体将执行无限次

D.系统将提示有语法错误

11.以下程序执行后sum的值是__________

main()

{inti,sum;

for(i=1;i<6;i++)sum+=i;

printf(“%d\n”,sum);

}

A.15

B.14

C.不确定

D.0

12.若变量c为char类型,能正确判断出c为小写字母的表达式是_________

A.‘a’<=c<=‘z’

B.(c>=‘a’)||(c<=‘z’)

C.(‘a’<=c)and(‘z’>=c)

D.(c>=‘a’)&&(c<=‘z’)

13.以下程序的输出结果是__________.

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(5,2,a);

printf(“%d”,a);

}

A.0

B.29

C.31

D.无定值

14.列程序的输出结果是___________

main()

{chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;

printf(“%d”,*--p);

}

A.非法

B.a[4]的地址

C.5

D.3

15.下列程序的运行结果是______________

voidfun(int*a,int*b)

{int*k;

k=a;a=b;b=k;

}

main()

{inta=3,b=6,*x=&a,*y=&b;

fun(x,y);

printf(“%d%d”,a,b);

}

A.63

B.36

C.编译出错

D.00

16.下面程序的输出结果是_______________

main()

{inta[]={1,2,3,4,5,6,7,8,9,0,},*p;

p=a;

printf(“%d\n”,*p+9);

}

A.0

B.1

C.10

D.9

17.若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是_______.

intt[3][3],*pt[3],k;

for(k=0;k<3;k++)pt[k]=&t[k][0];

A.t[2][0]

B.t[2][2]

C.t[l][2]

D.t[2][l]

18.当调用函数时,实参是一个数组名,则向函数传送的是______.

A.数组的长度

B.数组的首地址

C.数组每一个元素的地址

D.数组每个元素中的值

19.以下程序的输出结果是____________.

intd=1;

fun(intp)

{staticintd=5;

d+=p;

printf("%d",d);

return(d);}

main()

{inta=3;printf("%d\n",fun(a+fun(d)));}

A.699

B.669

C.61515

D.6615

20.以下程序的输出结果是___________.

#definef(x)x*x

main()

{inta=6,b=2,c;

c=f(a)/f(b);printf("%d\n",c);}

A.9

B.6

C.36

D.18

二、填空题(每空2分,共50分)

1.register变量存储在______________;(程序存储区,静态存储区,寄存器,磁盘)如定义时给变量赋初值,则对于静态变量是在________(编辑,编译,连接,运行)时赋初值,对于动态变量是在___________(编辑,编译,连接,运行)时赋初值;如定义时没有赋初值,则对于int类型的静态变量其初值为____________,对于int类型的动态变量其初值为________________。

2.请读程序:

f(intb[],intn)

{inti,r;

r=1;

for(i=0;i

return(r);

}

main()

{intx,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

printf(“%d\n”,x);

}

上面程序输出结果是__________

3..请读程序:

#include

#include

char*fun(char*s)

{chara[10];

strcpy(a,"STRING");

s=a;

returns;

main()

{char*p="ok";

fun(p);

printf("%s\n",p);

}

上面程序的输出结果是__________

4.以下函数的功能是:

把两个整数指针所指的存储单元中的内容进行交换。

请填空。

exchange(int*x,int*y)

{

intt;

t=*y;

*y=_______;

*x=_______;

}

5.设一个C程序中的如下定义:

staticcharline[]="china";

char*ptr=line;

则ptr中为__________的地址,line[1]中为_______,line[5]中为_________。

6.以下程序的输出结果是__________。

main()

{intarr[]={30,25,20,15,10,5},*p=arr;

p++;

printf(“%d\n”,*(p+3));

}

7.下面程序的输出是__________.

unsignedfun(unsignednum)

{unsignedk=1;

do{

k*=num%10;

num/=10;

}while(num);

return(k);}

main()

{unsignedn=35;

printf(“%d\n”,fun(n));

}

8.请读程序:

#include

main()

{staticcharb[]=“Goodbye”;

char*chp=&b[7];

while(--chp!

=&b[0])putchar(*chp);

putchar('\n');

}

上面程序的输出结果是__________

9.下列程序的输出结果是__________。

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

{inta=4,b=3,c=5,d=6;

t(a,b,c,d);

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

}

10.下面程序的输出是________。

main()

{

inti=3,j=2

char*a="DCBA";

printf("%c%c\n",a[i],a[j]);

}

11.以下程序的输出结果第一行是________,第二行是_______。

#include

intfun(intx,inty){

staticintm=0,i=2;

i=m+1;

m=i+x+y;

returnm;

}

main(){

intj=4,m=1,k;

k=fun(j,m);printf("%d\n",k);

k=fun(j,m);printf("%d\n",k);

}

12.以下fun函数的功能是:

累加数组元素的值。

n为数组中元素的个数。

累加的和值放入x所指的存储单元中。

请填空。

fun(intb[],intn,int*x)

{

intk,r=0;

for(k=0;k

r=______;

______=r;

}

13..以下程序的功能是:

从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。

请填空。

main()

{floatx[1000],sum=0.0,ave,a;

intn=0,i;

printf("Entermark:

\n");scanf("%f",&a);

while(a>=0.0&&n<1000)

{sum+_____________;x[n]=_______________;

n++;scanf("%f",&a);}

ave=______________;printf("Output:

\n");

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

for(i=0;i

if(_____________)

printf(

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

当前位置:首页 > 考试认证 > 交规考试

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

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