C语言阶段测验1.docx

上传人:b****4 文档编号:4133531 上传时间:2023-05-06 格式:DOCX 页数:14 大小:30.21KB
下载 相关 举报
C语言阶段测验1.docx_第1页
第1页 / 共14页
C语言阶段测验1.docx_第2页
第2页 / 共14页
C语言阶段测验1.docx_第3页
第3页 / 共14页
C语言阶段测验1.docx_第4页
第4页 / 共14页
C语言阶段测验1.docx_第5页
第5页 / 共14页
C语言阶段测验1.docx_第6页
第6页 / 共14页
C语言阶段测验1.docx_第7页
第7页 / 共14页
C语言阶段测验1.docx_第8页
第8页 / 共14页
C语言阶段测验1.docx_第9页
第9页 / 共14页
C语言阶段测验1.docx_第10页
第10页 / 共14页
C语言阶段测验1.docx_第11页
第11页 / 共14页
C语言阶段测验1.docx_第12页
第12页 / 共14页
C语言阶段测验1.docx_第13页
第13页 / 共14页
C语言阶段测验1.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言阶段测验1.docx

《C语言阶段测验1.docx》由会员分享,可在线阅读,更多相关《C语言阶段测验1.docx(14页珍藏版)》请在冰点文库上搜索。

C语言阶段测验1.docx

C语言阶段测验1

《程序设计基础》阶段测验(1-6章)

班级:

学号:

姓名:

成绩:

一、单项选择题(每小题2分,共60分)

1.下列叙述中正确的是________。

A)每个C程序文件中都必须有一个main()函数

B)在C程序中main()函数的位置是固定的

C)C程序可以由一个或多个函数组成

D)在C程序的函数中不能定义另一个函数

2.下列定义变量的语句中错误的是________。

A)int_int;

B)doubleint_;

C)charFor;

D)floatUSS

3.以下能正确定义一维数组的选项是________。

A)inta[5]={0,1,2,3,4,5};

B)chara[]={0,1,2,3,4,5};

C)chara={'A','B','C'};

D)inta[5]="0123";

4.有以下程序

main()

{intx,y,z;

x=y=1;

z=x++,y++,++y;

printf("%d,%d,%d\n",x,y,z);

}

程序运行后的输出结果是________。

A)2,3,3

B)2,3,2

C)2,3,1

D)2,2,1

5.有以下程序

main()

{inta=0,b=0;

a=10;/*给a赋值

b=20;给b赋值*/

printf("a+b=%d\n",a+b);/*输出计算结果*/

}

程序运行后输出结果是________。

A)a+b=10

B)a+b=30

C)30

D)出错

6.在嵌套使用if语句时,C语言规定else总是________。

A)和之前与其具有相同缩进位置的if配对

B)和之前与其最近的if配对

C)和之前与其最近的且不带else的if配对

D)和之前的第一个if配对

7.下列叙述中正确的是________。

A)break语句只能用于switch语句

B)在switch语句中必须使用default

C)break语句必须与switch语句中的case配对使用

D)在switch语句中,不一定使用break语句

8以下不合法的用户标识符是________。

A)j2_KEY

B)Double

C)4d

D)_8_

9.表达式3.6-5/2+1.2+5%2的值是________。

A)4.3

B)4.8

C)3.3

D)3.8

10.以下能正确定义字符串的语句是________。

A)charstr[]={‘\064'};

B)charstr=”\x43”;

C)charstr=”;

D)charstr[]=”\0”;

11.有以下程序

main()

{chara[7]="a0a0";inti,j;

i=sizeof(a);j=strlen(a);

printf("%d%d",i,j);

}

程序运行后的输出结果是________。

A)22

B)76

C)74

D)62

12.在以下给出的表达式中,与while(E)中的(E)不等价的表达式是________。

A)(!

E=0)

B)(E>0||E<0)

C)(E==0)

D)(E!

=0)

13.要求通过while循环不断读入字符,当读入字母N时结束循环。

若变量已正确定义,以下正确的程序段是________。

A)while((ch=getchar())!

='N')printf(“%c”,ch);

B)while(ch=getchar()!

='N')printf(“%c”,ch);

C)while(ch=getchar()==N')printf(“%c”,ch);

D)while((ch=getchar())=='N')printf(“%c”,ch);

14.有以下程序

main()

{

intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;

while(i++<7)if(p[i]%2)j+=p[i];

printf("%d",j);

}

程序运行后的输出结果是________。

A)42

B)45

C)56

D)60

15.以下叙述中正确的是________。

A)调用printf函数时,必须要有输出项

B)使用putchar函数时,必须在之前包含头文件stdio.h

C)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

16.以下程序的功能是:

给r输入数据后计算半径为r的圆面积s。

程序在编译时出错。

main()

/*Beginning*/

{intr;floats;

scanf("%d",&r);

s=*p*r*r;printf("s=%f\n",s);

}

出错的原因是________。

A)注释语句书写位置错误

B)存放圆半径的变量r不应该定义为整型

C)输出语句中格式描述符非法

D)计算圆面积的赋值语句中使用了非法变量

17.有以下程序段

intk=0,a=1,b=2,c=3;

k=a>c?

c:

k;

执行该程序段后,k的值是________。

A)3

B)2

C)1

D)0

18.有以下程序段

intn,t=1,s=0;

scanf("%d",&n);

do{s=s+t;t=t-2;}while(t!

=n);

为使此程序段不陷入死循环,从键盘输入的数据应该是________。

A)任意正奇数

B)任意负偶数

C)任意正偶数

D)任意负奇数

19.数字字符0的ASCII值为48,若有以下程序

main()

{chara='1',b='2';

printf("%c,",b++);

printf("%d",b-a);

}

程序运行后的输出结果是________。

A)3,2

B)50,2

C)2,2

D)2,50

20.有以下程序

main()

{intm=12,n=34;

printf("%d%d",m++,++n);

printf("%d%d",n++,++m);

}

程序运行后的输出结果是________。

21.有定义语句:

intb;charc[10];,则正确的输入语句是________。

A)scanf("%d%s",&b,&c);

B)scanf("%d%s",&b,c);

C)scanf("%d%s",b,c);

D)scanf("%d%s",b,&c);

22.有以下程序

main()

{intm,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&p);

printf("%d%d%d",m,n,p);

}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是________。

A)m=123n=456p=789

B)m=123n=456p=789

C)m=123,n=456,p=789

D)123456789

23.以下对二维数组a的正确说明是________.

a)inta[3][];b)floata(3,4);

c)doublea[1][4]d)floata(3)(4);

24.若有说明inta[3][4];则a数组元素的非法引用是

A)a[0][2*1]B)a[1][3]

C)a[4-2][0]D)a[0][4]

25.在C语言中,引用数组元素时,其数组下标的数据类型允许是

A)整型常量B)整型表达式

C)整型常量或整型表达式

D)任何类型的表达式

26.执行下面的程序段后,变量k中的值为

intk=3,s[2];

s[0]=k;k=s[1]*10;

A)不定值B)33C)30D)10

27.定义如下变量和数组:

intk;

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

则下面语句的输出结果是

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

A)753B)951C)963D)741

28.设有数组定义:

chararray[]="China";则数组array所占的空间为

A)4个字节B)5个字节

C)6个字节D)7个字节

29.以下不正确的定义语句是

A)doublex[5]={2.0,4.0,6.0,8.0,10.0};

B)inty[5]={0,1,3,5,7,9};

C)charc1[]={′1′,′2′,′3′,′4′,′5′};

D)charc2[]={′\x10′,′\xa′,′\x8′};

30.若有说明:

inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是

A)2B)3C)4D)无确定值

31.对以下说明语句的正确理解是

inta[10]={6,7,8,9,10};

A)将5个初值依次赋给a[1]至a[5]

B)将5个初值依次赋给a[0]至a[4]

C)将5个初值依次赋给a[6]至a[10]

D)因为数组长度与初值的个数不相同,所以此语句不正确

33.假定int类型变量占用两个字节,其有定义:

intx[10]={0,2,4};,则数组x在内存中所占字节数是

A)3B)6C)10D)20

33.以下能对二维数组c进行正确的初始化的语句是

A)intc[3][]={{3},{3},{4}};

B)intc[][3]={{3},{3},{4}};

C)intc[3][2]={{3},{3},{4},{5}};

D)intc[][3]={{3},{},{3}};

34下面程序输出的结果是

main()

{inti;

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

for(i=0;i<3;i++)

printf("%d",a[2-i][i]);

}

A)159B)753C)357D)591

35.下列选项中错误的说明语句是

A)chara[]={′t′,′o′,′y′,′o′,′u′,′\0′};

B)chara[]={"toyou\0"};

C)chara[]="toyou\0";

D)chara[]=′toyou\0′;

36.已知:

intc[3][4];则对数组元素引用正确的是

A)c[1][4]B)c[1.5][0]

C)c[1+0][0]D)以上表达都错误

37.若有以下语句,则正确的描述是

chara[]="toyou";

charb[]={′t′,′o′,′y′,′o′,′u′};

A)a数组和b数组的长度相同

B)a数组长度小于b数组长度

C)a数组长度大于b数组长度

D)a数组等价于b数组

二.填空题(每小题5分,共35分)

1、下面程序段所表示的数学函数关系是_________。

x=-1;

if(a!

=0)

if(a>0)x=1;

elsex=0;

A)x=

B)x=

C)x=

D)x=

2、下面程序的运行结果是________。

main()

{intn=9;

while(n>6)

{n--;printf("%d",n);}

}

3、以下程序运行后的输出结果是________

main()

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

inti,s=0;

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

s+=a[i][3];

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

}

4.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束

循环。

请填空。

intn=0,c;

c=getchar();

while(____)

{

if(_____)n++;

c=getchar();

}

5.下面程序的运行结果是_________.

#include

main()

{inta,s,n,count;

a=2;s=0;n=1;count=1;

while(count<=7){n=n*a;s=s+n;++count;}

printf("s=%d",s);

}

6、下面程序段的运行结果是_______.

a=3;

while(a<10)

a=a+5;

printf("a=%d",a);

7.下列程序是利用数组求Fibonacci数列前20个数,每5个数据为一行输出,请填空。

Fibonacci数列如下:

f1=1(n=1)

f2=1(n=2)

fn=fn-1+fn-2(n>=3)

#include

main()

{inti;

intf[20]={1,1};

for(i=2;i<20;i++)

f[i]=________;

for(i=0;i<20;i++){

if(i%5==0)printf("\n");

printf("%d\t",f[i]);

}

}

7.下面程序的功能是输出数组s中最大元素的下标,请填空。

main()

{intk,p,s[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++)

if(s[p]>s[k])_______

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

}

8.下列程序的输出的结果是______________。

main()

{inti,jrow,colum,m;

staticintarray[3][3]={{100,200,300},{28,72,-30}{-850,2,6}};

m=array[0][0];

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(array[i][j]<m)

{m=array[i][j];

colum=j;

row=i;

}

printf("%d,%d,%d\n",m,row,colum);

}

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

当前位置:首页 > 解决方案 > 学习计划

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

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