C语言程序设计试题试题及答案_第1页
C语言程序设计试题试题及答案_第2页
C语言程序设计试题试题及答案_第3页
C语言程序设计试题试题及答案_第4页
C语言程序设计试题试题及答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

C语设ttaSiaSM答案

C语言程序设计试卷,c++语言程序设计试题及答案

一、单项选择题(每题1分,共20分)

1.C语言规定:在一个源程序中,main函数的位置(C)o

A.必须在最开始

B.必须在系统调用的库函数的后面

C.可以任意

D.必须在最后

2.下面四个选项中,均是合法浮点数的选项是(B)o

A.+le+l5e-9.403e2

B.-.6012θ-4-8e5

C.123e1.2e-.4+2e-l

D.-θ3.8θ-45.θ-0

3.若a=-14,b=3,则条件表达式a<=""a:b+l=""p=""的值为

(a="">

A.-14

B.-13

C.3

D.4

4.已知:intn,i=l,j=2;执行语句n=i

A.1,2

B.1,3

C.2,2

D.2,3

5.为了判断两个字符串Sl和s2是否相等,应当使用(D)

A.if(sl==s2)

B.if(sl=s2)

C.if(strcmp(sl,s2))

D.if(strcmp(sl,s2)==0)

C语言程序设计试题试题及答案--第1页

以下正确的描述是(

6.B)o

A.函数的定义可以嵌套,但函数的调用不可以嵌套。

B.函数的定义不可以嵌套,但函数的调用可以嵌套。

C.函数的定义和函数的调用均不可以嵌套。

D.函数的定义和函数的调用均可以嵌套。

7.在C语言中,下面对函数不正确的描述是(D)。

A.当用数组名作形参时,形参数组值的改变可以使实参数组之值

相应改变。

B.允许函数递归调用。

C.函数形参的作用范围只是局限于所定义的函数内。

D.子函数必须位于主函数之前。

8.如果在一个函数中的复合语句中定义了一个变量,则以下正确

的说法是(A)

A.该变量只在该复合语句中有效

B.该变量在该函数中有效

C.该变量在本程序范围内均有效

D.该变量为非法变量

以下正确的函数形式是(

9.D)o

A.doublefun(int×,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;}

10.以下程序的输出结果是(B)。include

#defineF(y)8.19-y

#definePRINT(a)printf("%d",(int)(a))voidmain(void)

(

intx=2;

PRINT(x*F(3));

}

A.10

C语言程序设计试题试题及答案--第2页

B.13

C.11

D.报错

11.以下程序中编译和运行结果均正确的一个是(C)。

A.A.voidmain(void){union{intn;floatx;

}comm={l};printf("%d",comm.n);

)

B.

B.voidmain(void){

union

{intn;

float×;

}comm={12.5};printf("%f",comm.x);

)

C.

C.voidmain(voɪd){

union

{floatx;

intn;

}comm={12.5}printf("%f",comm.×);

)

D.

D.voidmain(void){

union

{intn;

floatx;

}comm=5;

printf("%d",comm.n);

}

12.设有定义:inta=l,*p=&afloatb=2.0;CharC='A';(A)。

C语言程序设计试题试题及答案--第3页

A.p++;

B.3~~'l

C.b++;

D.c--;

13.以下程序中调用scant函数给变量a输入数值的方法是错误的

main()

{int*p,*q,a,b;P=&aprintf("inputa:");scanf("%d",*p);

)

A.

*p表示的是指针变量P的地址B.

*p表示的是变量a的值,而不是变量a的地址C.

*p表示的是指针变量P的值D.*p只能用来说明p是一个指针变

14.若num、a、b和C都是int型变量,则执行表达式

后的值为(。

num=(a=4zb=16zc=32);numC)

A.4

B.16

C.32

D.52

15.已有如下定义和输入语句,若要求al,a2,cl,c2的值分别为

10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是

(C),(注:—表示空格)intal,a2,charcl,c2;

scanf("%d%c%d%c",&al,&cl,&a2,&c2);

以下不合法的运算是,其错误原因是(B)

A.10A_20_B

B.10_A_20_B

C.10A20B

D.10A20_B

若有说明:则对数组元素的正确引用是

16.inta[10];a(C)o

A.a[10]

C语言程序设计试题试题及答案--第4页

B.a[3.5]

C.a[5-3]

D.a[-l]

17.在C语言中,一维数组的定义方式为类型说明符数组名;(A

A.[整型常量表达式]

B.[表达式]

C.[整型常量]

D.[整型表达式]

以下能对一维数组进行正确初始化的语句是(

18.aC)o

A.ina[10]=(0,0.0z0,0);

B.inta[10]={};

C.inta[]={0};

D.inta[10]={10*l};

以下程序段(

19.C)o

x=-l;

do

(

x=x*x;

)

while(!x);

A.是死循环

B.循环执行二次

C.循环执行一次

D.有语法错误

以下关于循环的不正确描述是(

20.do-whileB)o

A.do-while的循环体至少执行一次

B.do-while循环由do开始,用while结束,≡while(表达式)

后面不能写分号

C.在d。-WhiIe循环体中,一定要有能使WhiIe后面表达式的值变

为零("假")的操作

C语言程序设计试题试题及答案--第5页

D.do-while的循环体可以是复合语句

、是非判断题(每题1分,共15分)

C语言规定,标识符中的字母一般区分大、小写。T

表达式i++与++i在任何场合功能完全相同。在赋值表达式中,

赋值号左边的变量和右边的表达式之值的数据类型可以不相同、多项

选择题

(每题1分,共5分)

1.若要求在if后一对圆跨括号中表示a不等于0的关系,则不能

正确表示这一关系的表达式为(ABC).

A.a<>0

B.!a

C.a=0

D.a

E.a!=0

2.选出所有合法的常量(CEGIJ)o

A.3e22.5

B.-θ-3

C.-.Ie-I

D.'BASIC

E.'∖045,

F.Ofd

G.OxfdaL

H.e8

I.'W'

J."∖""

3.以下关于函数原型说法错误的是:(ADFHI)

Q)对变量的定义"和"声明"是一回事,对函数的"定义"和

"声明"也是一回事。

(2)在声明函数原型时,允许只写出参数的类型,而不必写出参

数的名称。

C语言程序设计试题试题及答案--第6页

(3)如果在定义函数时不指定函数类型,系统会隐含指定函数类

型为i∏t型o

(4)调用一个函数时,函数名、实参个数、实参类型必须与函数

原型一致。

(5)如果被调函数的定义出现在主调函数之前,可以不必加以声

明。

1.2.

控制台标准输入设备一般是指键盘3.

4.使用while和do-while循环时,循环变量初始化的操作应在

循环语句之前处理循环体中continue语句的作用是结束整个循环的

执行

5.关系表达式的值是0或1。T

6.7.若有说明:inta[3][4]={0}

,则只有元素a[0][0]字符串作为一维数组存放在内存中

可得到初值字符数组中的一个元素存放一个字符

OoT8.

字符数组中的最后一个字符必须是。

To9.‘∖0'F10.

11.形参为指针变量时,实参必须是数组名。F用数组名作函数

参数时传递的是数组的值。F

12.全局变量可以被任何一个函数中的任何一个表达式使用

13.一个函数可以带回一个整型值、字符值、实型值等,

也可以带回指针型的数据。14.

15.

(6)所有的函数之间可以互相调用。

(7)在C语言中,所有函数都是平行的,一个函数不能从属于另一

个函数,即不能嵌套定义的。

(8)如果函数没有返回值,在定义时可以省略函数类型。

(9)在C语言中,任何函数的定义都不允许为空。

(10)C语言规定,实参变量对形参变量的数据传递是“值传递"。

4.请从下面关于指针的叙述中,选出5个正确的叙述。(ABDEH)

(1)指针即地址。

C语言程序设计试题试题及答案--第7页

(2)指针须先赋值后使用。

(3)当指针p指向数组a的首址后,由于P和a都能引用数组元

素,所以这里P和a是等价的。

(4)int*p表示定义了一个指向int类型数据的指针变量po

(5)数组的指针是指数组的起始地址。

(6)若有定义inta[4]z*p=a,则p++后P指向数组a所占内存的

第二个字节。

(7)使用指针变量作函数参数采取的是“值传递”的方式。

(8)相同类型的指针可以进行减法运算。

(9)指针变量和许多变量一样可以进行四则运算。

(Io)指针P指向数组元素a[2],若要其指向a[4],执行p=p*2

即可。

5.以下关于数组的叙述中,5个最确切的说法是:(BEGHl)

(1)在声明一个数组变量时必须指定大小。

(2)必须用常量表达式来说明一个数组变量的大小。

(3)在对数组进行初始化时大括号中的数据个数必须和数组的大小

相同。

(4)有变量定义inta[3]={0,l,2},b[3];,可以用b=a,使数组b的

每个元素和a的每个元素相等。

(5)在C语言中,可以将字符串作为字符数组来处理。

(6)定义了字符数组charc[ll];为了给它赋值,可以用

c="china";o

(7)如果有chars[15]={"Iama∖0StUdem贝!Jstrlen(s)的值为

6o

(8)C语言中,二维数组中元素排列的顺序是:按行存放。

(9)在C语言中,不能对局部的数组变量进行初始化。

(10)在声明时对数组进行进行初始化必须指定数组大小。

四、程序运行结果题(每题4分,共20分)

1.(4分)下面程序的运行结果是(①)。

#include

C语言程序设计试题试题及答案--第8页

voidmain(void)

inti;

chara[]="Time",b[]="Tom";

for(i=0;a!='\0'&&b!='\0';i++)

if(a==b)

if(a>=,a,&&a<='z')printf("%c",a-32);

elseprintf("%c",a+32);

elseprintf("*");

)

2.(4分)下面程序段的运行结果是(①)。i=l;s=3

do

(

s+=i++;

if(s%7==0)continue;

else++i;

}whlie(s<15);

printf("%d",i);

3.(4分)若运行时输入:5999,则以下程序的运行结果(保留小数点

后一位)是(①)。voidmain(void)

(

intx;

floaty;

scanf("%d",8i×);

if(x>=0&&x<=2999)y=18+0.12*x;

if(x>=3000&&×<=5999)y=36+0.6*×;

if(x>=6000&&x<=10000)y=54+0.3*x;

printf("%6.1f",y);

}

4.(4分)以下程序的运行结果是(①)。voidmain(void)

C语言程序设计试题试题及答案--第9页

inta=l,k;

for(k=0;k<3;k++)printf("%4d",fl(a))

)

intfl(intx)

(

staticintz=3,y=0;

y++;

z++;

return(x+y+z);

)

5∙(4分)

以下程序的功能是计算函数F(x,y,z)=(x+y)∕(x-y)+(z+y)∕(z-y)的

值,请选择填空。#include#include

floatfunl(float,float);

voidmain(void)

(

float×,y,z,sum;

scanf("%f%f%"Λ×ΛyΛz);

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

Printf("sum=%f∖n”,sum);

)

floatfunl(floata,floatb)

(

floatnum;

num=a∕b;

returnnum;

)

五、程序填空题(每题2分,共20分)

1.下面程序的功能是用公式:n×n/6=1/(1X1)+1/(2X2)+1/(3

C语言程序设计试题试题及答案--第10页

X3)+……

求n的近似值,直到最后一项的值小于10e-6为止。

#include

#include

voidmain(void)

(

longi=l;

①pi=0;

while(i*i<=10e+6){pi=②;i++;}

pi=sqrt(6.0*pi);

printf("pi=%10.6f∖n",pi);

)

2.下面程序的功能是把以下给定的字符按其矩阵格式读入数组

Strl中,并输出行列号之

和是3的数组元素。

voidmain(void)

(

charstrl[4][3]={'A','b','C','d7E',,f','G',,h,,T,'j','K','i'

};

int×,y,z;

for(x=0;x<4;x++)

for(y=0;①;y++)

(

z=x+y;

if(②)printf("%c∖n",strl[x][y]);

)

)

3.以下程序的功能是用递归方法计算学生的年龄,已知第一位学

生年龄最小,为

温馨提示

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

评论

0/150

提交评论