计算机语言C阶段测试题Word文档格式.docx

上传人:b****2 文档编号:1501853 上传时间:2023-04-30 格式:DOCX 页数:25 大小:50.53KB
下载 相关 举报
计算机语言C阶段测试题Word文档格式.docx_第1页
第1页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第2页
第2页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第3页
第3页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第4页
第4页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第5页
第5页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第6页
第6页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第7页
第7页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第8页
第8页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第9页
第9页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第10页
第10页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第11页
第11页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第12页
第12页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第13页
第13页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第14页
第14页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第15页
第15页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第16页
第16页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第17页
第17页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第18页
第18页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第19页
第19页 / 共25页
计算机语言C阶段测试题Word文档格式.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机语言C阶段测试题Word文档格式.docx

《计算机语言C阶段测试题Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机语言C阶段测试题Word文档格式.docx(25页珍藏版)》请在冰点文库上搜索。

计算机语言C阶段测试题Word文档格式.docx

D.'

\xla'

10.以下不致造成死循环的语句是()。

A.for(y=0,x=1;

x>

++y;

x=i++)i=x;

B.for(;

;

x+=i);

C.while(x=8)x--;

D.for(i=10,sum=0;

sum<

=i;

)sum=--i;

11.执行以下程序段后,变量a,b,c的值为()。

intx=11,y=10,a,b,c;

a=(--x==y++)?

--x:

b=x++;

c=y;

A.a=10,b=10,c=9B.a=9,b=9,c=12

C.a=9,b=9,c=11D.a=1,b=9,c=11

12.执行下列程序段后,变量i的值是()。

inti=10;

switch(i){

case9:

i+=1;

case10:

case11:

default:

}

A.13B.12C.11D.14

13.根据定义和数据的输入方式,输入语句的正确形式为()。

已有定义:

floatf1,f2;

数据的输入方式:

4.52

3.5

A.scanf(“%f,%f”,&

f1,&

f2);

B.scanf(“%f%f”,&

C.scanf(“%3.2f%2.1f”,&

D.scanf(“%3.2f,%2.1f”,&

14.以下程序的输出是()。

main()

{inta=2,b=5;

printf(“a=%%d,b=%%d\n”,a,b);

A.a=2,b=5B.a=%2,b=%5

C.a=%%d,b=%%dD.a=%d,b=%d

15.设a和b为整型变量,执行以下语句:

b=(a=2+3,a*4),a+5;

后a和b的值分别为()。

A.5,10B.20,25C.5,25D.5,20

二、填空题(每空3分,共45分)

1.break语句的功能,contitue语句的功能。

2.字符串”\\\’abcd\123\xAB\t”的长度为。

3.设x=2,y=3,表达式x=y==3运算后,其值是。

4.设有如下的说明:

intI=3,j=5,m;

问:

执行语句m=(I++)-(--j);

后,m的值为,j的值为。

5.设变量a是int型,f是float型,i是double型,则表达式10+’a’+i*f值的数据类型为。

6.下述程序段的循环次数是次,输出结果是。

intx=0,y=0;

do

{y++;

x*=x;

}while(x>

0&

y>

5)

printf(“y=%d,x=%d”,y,x);

7.下程序的功能是用二分法求方程2x3-4x2+3x+6=0的根,并要求绝对值误差不超过0.001。

#include”math.h”

{floatab,a=10.0,b=10.0,fab,fa,fb;

fa=2*a*a*a+4*a*a+3*a+6;

fb=2*b*b*b+4*b*b+3*b+6;

do{ab=;

fab=ab*((2*ab+4)*ab+3)+6;

if(()>

0)

{a=ab;

fa=fab;

else

{b=ab;

fb=fab;

}while(fabs(fab)>

=1e-3);

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

8.以下程序打印所有符合下列条件的3位正整数:

是某一个数的平方数,其中有两位数字相同。

如100、121等。

main()

{inta,b,c,n,k;

for(k=10;

k++)

{n=;

if(n>

999);

a=n/l00;

b=n%100/10;

c=n%10;

if(!

((a-b)*(b-c)*(c-a)))printf("

\n%d,%d"

n,k);

9.以下程序的功能是

#include<

stdio.h>

{intI,j=0;

for(I=16;

I<

=1000;

I++)

{if(I%17!

=0)continue;

j++;

printf((j==4)?

j=0,"

%d\n"

:

"

%d\t"

I);

10.#include“stdio.h”

main()

{charc;

scanf(“%c”,&

c);

switch(c-‘2’)

{case0:

case1:

putchar(c+4);

case2:

break;

case3:

putchar(c+3);

default:

putchar(c+2);

printf(“\n”);

当分别输入1,2,3,4,5时,输出为。

三、编程题(共25分)

1.编程,打印以下图形(10分)

A

B*B

C***C

D*****D

E*******E

2.根据下列公式,求sinx的近似值,直到最后一项的绝对值小于10-6为止。

(15分)

 

附:

参考答案:

一.选择题(每题2分,共30分)

1C

2C

3D

4C

5D

6D

7C

8D

9A

10A

11C

12A

13B

14D

15D

二.填空题(每空3分,共45分)

1.结束循环结束本次循环

2.9

3.1

4.–14

5.double型

6.1y=1,x=0

7.(a+b)/2fa*fab

8.k*kbreak

9.输出1000以内被17整除的数,每行输出4个数

10.36677887

三.编程题(25分)

1.

{intI,j,m=65;

或intI,j;

charm=’A’;

for(I=1;

=5;

{for(j=1;

j<

=5-I;

j++)

printf(““);

for(j=1;

=2*I-1;

if(j==1||j==2*I-1)

printf(“%c”,m+I-1);

elseprintf(“*”);

=4;

=I;

=9-2*I;

if(j==1||j==9-2*I)

printf(“%c”,m+4-I);

elseprintf(“*”);

}}

2.main()

{floatsinx=0,x,t,f=1.0;

inti=1;

printf("

pleaseinputx\n"

);

scanf("

%f"

&

x);

t=x;

do{

sinx=sinx+f*t;

f=-f;

t=t*x*x/(2*i*(2*i+1));

i++;

}while(fabs(t)>

=1e-4);

printf(“sinx=%f\n”,sinx);

第二阶段测试卷

《计算机语言(C)》第7章至第9章(总分100分)

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

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

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

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

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

2.C语言标准库函数“strcat(strcpy(STR1,STR2),STR3)”的功能是()。

A.将串STR1复制到串STR2中后再连接至串STR3之后

B.将串STR1连接至STR2之后再复制至串STR3之后

C.将串STR2复制到串STR1串后再将串STR3连接到串STR1之后

D.将串STR2连接到串STR1之后再将串STR1复制到串STR3串

3.以下正确的说法是()。

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

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

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

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

4.以下函数调用中有()个实参。

expd((a1,a2,a3),(a4,a5),a7,a8)

A.4个B.3个C.8个D.5个

5.对于C语言的函数,下列叙述中正确的是()。

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

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

C.函数的定义和调用都不能嵌套

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

6.编译预处理包括()。

A.文件包含、宏定义和条件编译

B.构造工程文件

C.语句注释

D.编辑源程序

7.以下叙述中不正确的是()。

A.一个变量的作用域完全取决于变量说明语句的位置

B.外部变量可以在函数以外的任何位置定义

C.内部变量的生存期只限于本次函数调用,无法将内部变量的值保存至函数下一次调用

D.用static说明—个外部变量是为了限制其它编译单位的引用

8.以下有关宏替换的叙述不正确的是()。

A.宏替换不占用运行时间B.宏名无类型

C.宏替换只是字符替换D.宏名必须用大写字母表示

9.假设有宏定义:

#defineNUM15

#defineDNUMNUM+NUM

则表达式DNUM/2+NUM*2的值为()。

A.45B.67C.52D.90

10.若有宏定义与变量说明如下:

#defineX5

#defineYX+1

#defineZY*X/2

inta;

a=y;

则执行以下printf语句后输出的结果是()。

Printf("

%d%d\n"

Z,--a);

A.75B.126C.125D.76

11.若有变量说明:

chars,s1[20];

执行语句:

s="

student"

s1=s;

正确的叙述是:

()。

A.二个语句都不正确

B.s所指向的字符串和s1的值都是"

C.第一个语句正确,而第二个语句不正确

D.第二个语句正确,而第一个语句不正确

12.C程序中若函数类型未加显式说明,则函数的隐含类型为()类型。

A.voidB.intC.charD.double

13.以下程序的运行结果是()。

{inta=2,i;

for(i=0;

i<

3;

i++)printf("

%d"

f(a));

f(inta)

{intb=0;

staticintc=3;

b++;

c++;

return(a+b+c);

A.777B.7□7□7C.789D.7□8□9

14.执行以下程序:

{charstr[13];

scanf(“%s”,str);

printf(“%s\n”,str);

若输入数据为:

abcd1234efgh

则程序的输出结果是()。

A.abcdB.abcd1234efgh

C.abcd1234D.abcd1234efgh

15.对于extern型变量和static型变量的初始化()。

A.在编译时进行

B.在程序开始运行时进行

C.在程序运行过程中使用到它们时进行

D.不能确定在何时进行

1.有说明语句inta[10]包括了个数组元素。

2.在C语言中,二维数组元素在内存中的存放顺序是。

3.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。

4.一个函数包含和两大部分,在函数名后面,语句括号之前说明的变量名称为;

以"

extern"

开头进行的变量说明称为。

5.下面程序实现用折半查找法找出所给的字符c是否在已知字符串str中。

#include“stdio.h”

main()

{intbot=0,top=9,mid,flag=0;

charstr[11]=”achklnprtx”,c;

c=getchar();

while((top-bot)>

=0)

{_;

if(b[mid]==c)

{flag=1;

;

elseif(b[mid]<

c)

_;

else

_;

if(_)printf(“%c字符在已知字符串中\n”,c);

elseprintf(“%c字符不在已知字符串中\n”,c);

}

6.下面程序的功能是求1至1000之间满足“除3余0,且有一位是5”的数,例如15,45,51…且一行输出5个数,变量a,b,c分别存储百位,十位和个位。

#include<

{intI=1,j=0,a,b,c;

do{a=;

b=I%100/10;

c=I%10;

if()

{printf(“%4d”,I);

j=j+1;

if(j%5==0)printf(“\n”);

I++;

}while(I<

1000);

7.执行以下程序后,输出的是(所有编译系统传递函数参数的顺序为自右向左)。

[程序]

func(inta,intb)

{returna+b;

{intx=6,y=7,z;

z=func(func(x++,y++),func(--x,--y));

z);

三、编程题(25分)

1.以下程序实现从键盘上输入年、月、日,计算该日是该年的第几天。

(15分)

2.画出排序算法的N-S结构流程图。

(10分)

1B

3C

4A

5A

6A

9C

11A

12B

13C

14C

15A

1.10

2.按行存放

3.单向值传递

4.函数的首部函数体形式参数外部变量说明

5.mid=(top+bot)/2breakbot=mid+1top=mid-1flag

6.a=I/100I%3==0&

(a==5||b==5||c==5)

7.22

1.

{intyear,month,day,days;

intleap;

scanf(“%d,%d,%d”,&

year,&

month,&

day);

leap=(year%4==0&

year%100!

=0||year%400==0)?

1:

0;

days=sum_day(month,day);

if(leap&

month>

=3)

days=days+1;

printf(“是该年的%d天.\n”,days);

staticintday_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

intsum_day(month,day)

intmonth,day;

{intI;

month;

day=day_tab[I]+day;

return(day);

2、

第三阶段测试卷

《计算机语言(C)》第10章至第13章(总分100分)

1.若已定义a为int型变量,则对指针p的说明和初始化正确的是()。

A.int*p=a;

B.intp=a;

C.int*p=*a;

D.int*p=&

a;

2.设P是指向A的指针,Y为整型量,A=5,A的地址为FE03;

B=6,B的地址为FE04;

下列语句分别执行的结果是()。

1)Y=*&

A;

2)Y=*P++;

3)Y=&

++A;

4)Y=*++P

A.1)Y=4;

2)Y=4;

3)Y=FE05;

4)Y=7

B.1)Y=7;

2)Y=7;

3)Y=FE02;

4)Y=4

C.1)Y=6;

2)Y=6;

3)Y=FE03;

4)Y=5

D.1)Y=5;

2)Y=5;

3)Y=FE04;

4)Y=6

3.下列程序段的执行结果是()。

staticinta[]={5,3,7,2,1,5,4,10};

ints=0,k;

for(k=0;

k<

8;

k+=2)

s+=*(a+k);

printf("

%d"

s);

A.12B.18C.15D.17

4.关于指针概念不正确的说法是()。

A.一个指针变量只能指向同一个类型的变量

B.一个变量的地址称为该变量的指针

C.只有同一类型变量的地址才能放到指向该类型变量的指针变量之中

D.指针变量可以由整数赋值,不能用浮点数赋值

5.若有说明int(*p)[3];

则以下()是正确的叙述。

A.p是一个指针数组

B.(*p)[3]与*p[3]等价

C.p是一个指针,它可以指向一个一维数组中任一元素

D.p是一个指针,它只能指向一个包含3个int类型的一维数组

6.下面对结构数据类型的叙述中,()是错的。

A.结构变量可以在说明结构类型后定义,也可在说明结构时定义

B.结构可由若干个成员组成,各成员的数据类型可以不同

C.定义一个结构类型后,编译程序要为结构的各成员分配存储空间

D.结构变量的各成员可通过结构变量名和指向结构变量的指针引用

7.若px为指针变量名,y为变量名,则y=*px++;

等价于()。

A.y=*px;

px++;

B.y=(*px)++;

C.y=px;

D.y=*(px++);

8.设有说明:

intI,*p=&

I,要实现I的内容加10,则下面语句()是错的。

A.*p=*&

I+10;

B.i=*p+10;

C.*p=*p+10;

D.*p=&

9.说明语句enummoney{Fen,Jiao,Yuan=100,Tenyuan};

每个枚举量所对应的实际值为:

A.0,1,100,101

B.1,2,100,101

C.“Fen"

或1,"

Jiao"

或2,"

Yuan"

或100,"

Tenyuan"

或101.

D.“Fen"

"

.

10.设有说明:

struct{

charname[15],sex;

intage;

floatscore;

}stu,*p=&

stu;

以下不能正确输入结构体成员值的是()。

A.scanf(”%c”,&

p->

sex);

B.scanf(”%s”,stu.name);

C.scanf(”%d”,&

stu.age);

D.scanf(”%f”,p->

score);

11.若要用fopen函数打开一个新的二进制文件,该文件要即能读也能写,则文件打开的方式应是()。

A.〝ab+〞B.〝wb+〞C.〝rb+〞D.〝ab〞

12.fwrite函数的一般调用形式是()。

A.fwrite(buffer,count,size,fp)B.fwrite(fp,size,count,buffer)

C.fwrite(fp,count,size,buffer)D.fwrite(buffer,size,count,fp)

13.关闭文件函数fclose(fp)的作用是()。

A.不再为fp指向的文件分配内存空间;

B.将fp指向的文件存入磁盘;

C.释放指定文件所占据的内存空间和文件指针;

D.将指定文件封闭在某一内存区域。

14.下列有关C语言文件的说法正确的是()。

A.C语言文件是由记录组成

B.C语言文件被看作是一个字符(字节)的序列,称为流式文件

C.C语言有专门的文件操作命令

D.以上说法都不正确

15.语句()能正确完成赋字符串的功能。

A.chars[4];

s[0]=“string”;

B.char*s;

get(s);

C.char*s[]=“string”;

D.char*s;

strcpy(s,“string”);

二、填空题(每空3分,共45分)

1.C程序中,文件可以用方式存取,也可以用方式存取。

2.C程序中,数据可以用和两种代码形式存放。

3.结构体变量所占的内存长度为。

4.设有以下说明与语句:

staticinta[3][2]={1,2,3,4,5,6};

int(*p)[2];

...

p=a;

则*(*(a+2)+1)的

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

当前位置:首页 > 经管营销 > 经济市场

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

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