2023年春北理工C语言程序设计在线作业_第1页
2023年春北理工C语言程序设计在线作业_第2页
2023年春北理工C语言程序设计在线作业_第3页
2023年春北理工C语言程序设计在线作业_第4页
2023年春北理工C语言程序设计在线作业_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

秋春北理工《C语言程序设计》在线作业

一、单选题(共40道试题洪80分。)

1.已知:intx=1,y=2,z;则执行z=x>y?++x:++y;则z的值为()。

A.1

B.2

C.3

D.4

对的答案:

2.指出程序结束时,j、i、k的值分别是()omain(){inta=10,b=5,c=5,d=5,i=

0,j=0,k=O;fdr(;a>b;++b)i++;while(a>++c)j++;dok++;whi1e(a>d++);}

A.j=5,i=4,k=6;

B.i=5,j=4,k=6;

C.j=6,i=5,k=7

D.j=6,i=6,k=6;

对的答案:

3.执行以下程序段后,c3的值是0。intcl=l,c2=2,c3;c3=cl/c2;

A.0

B.1/2

C.0.5

D.1

对的答案:

4.已知:chars[10],*p=s,则在下列语句中,错误的语句是()。

A.p=s+5;

B.s=p+s;

C.$出=凡4];

D.*p=s[O];

对的答案:

5.以下程序的输出是().main(){chara[2][5]={"6937”,"8254”};inti,j,s

=0;for(i=O;i<2:i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]

一’0';printf("s=%d",s);}

A.6385

B.69825

C.63825

D.693825

对的答案:

6.C编译系统提供了对C程序的编辑、编译、连接和运营环境,以下可以不在该环境下

进行的环节是()。

A.编辑和编译

B.编译和连接

C.连接和运营

D.编辑和运营

对的答案:

7.已知:struct{inti;charc;floata;}test;则sizeof(test)的值是(7

A.4

B.5

C.6

D.7

对的答案:

8.下列说法中对的的是()。

A.break用在switch语句中,而continue用在循环语句中。

B.break用在循环语句中,而continue用在switch语句中。

C.break能结束循环,而c。ntinue只能结束本次循环。

D.continue能结束循环,而break只能结束本次循环。

对的答案:

9.下面个选项组中,均属于C语言关键字的一组是()。

A.auto,enum,inc1ude

B.switch,typedef,continue

C.signed,union,scanf

D.if,struct,type

对的答案:

10.若有chara[80],b[80];则对的的是()。

A.puts(a,b);

B.printf("%s,%s"a[],b[]);

C.putchar(a,b);

D.puts(a);puts(b);

对的答案:

11.说明语句uint(*p)();”的含义是()o

A.p是一个指向一维数组的指针变量

B.p是一个指针变量,指向一个整型数据

C.P是一个指向函数的指针,该函数的返回值是一个整型

D.以上都不对

对的答案:

12.执行以下程序段后,a,b,c的值分别是()。inta,b=100,c,x=l0,y=9;a=(--x==y

++)?-x:++y;if(x<9)b=x++;c=y;

A.9,9,9

B.8,8,10

C.9,10,9

D.1,11,10

对的答案:

13.若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则对的的输入语

句是()o

A.scanf("%f",&c);

B.scanf("8.4f",&c);

C.scanf("%6.2F,&c);

D.scanf("8f',&c);

对的答案:

14.若有以下定义和语句:structstudent{intnum,age;};structstudentstu

[3]={{1001,20),{1001,19),{1003,21}};structstudent*p=stu;则以下错误

的引用是()o

A.(p++)—>num

B.p++

C.(*p).num

D.p=&stu.age

对的答案:

15.已知:inta,*p=&a;则下列函数调用中错误的是()

A.scanf(”%d”,&a);

B.scanf(n%d”,p);

C.printfC^d",a);

D.printf("%d”,p);

对的答案:

16.运用fseek函数可以()。

A.改变文献的位置指针

B.实现文献的顺序读写

C.实现文献的读写

D.以上答案均对的

对的答案:

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

A.地址传递

B.值传递

C.由实参传给形参,并由形参传回给实参

D.由用户指定传递方式

对的答案:

18.if语句的控制条件()。

A.只能用关系表达式

B.只能用关系表达式或逻辑表达式

C.只能用逻辑表达式

D.可以是任何表达式

对的答案:

19.若intx;则执行下列程序段后输出是()。for(x=10;x>3;x-){if(x%3)x-;--

x;-x;printf("%d",x);}

A.63

B.74

C.62

D.73

对的答案:

20.下面程序的输出结果是()。main(){inti,j;floats;for(i=6;i>4;i-){s=0.0;f

or(j=i;j>3;j-)s=s+i*j;}printf("%f”,s);}

A.135.000000

B.90.000000

C.45.000000

D.60.000000

对的答案:

21.下列程序执行的结果是()oA=1;b=2;c=3;While(b<a<c){t=a;a=b;b=t;c

--;}printfd,%d”,a,b,c);

A,1,2,0

B.2,1,0

C.1,2,1

D.2,1,1

对的答案:

22.main(argc,argv)中形式参数argv的对的说明形式应当为()。

A.char*argv[]

B.charargv[][]

C.charargv[]

D.char*argv

对的答案:

23.以下对C语言中联合类型数据的对的叙述是()。

A.一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员

B.一个联合变量中可以同时存放其所有成员

C.一个联合变量中不能同时存放其所有成员

D.联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定

义中

对的答案:

24.执行下列程序段后,x、y和z的值分别是()。intx=10,y=20,z=30;if(x>y)z=x;

x=y;y=z;

A.10,20,30

B.20,30,30

C.20,30,10

D.20,30,20

对的答案:

25.以下()不是C语言的特点。

A.语言的表达能力

B.语言定义严格

C.数据结构系统化

D.控制流程结构化

对的答案:

26.以下程序的输出结果是()。main(){inti,x[3][3]={1,2,345,6,7,8,9};for

(i=0;i<3;i++)printf("%d,”x[i][2-i]);}

A.1,5,9

B.1,4,7

C.3,5,7

D.3,6,9

对的答案:

27.执行下面的语句后x的值为()。inta=14,b=15,x;charc='A,;x=((a&b)

&&(cv'a1));

A.TRUE

B.FLASE

C.O

D.1

对的答案:

28.以下程序的输出结果是()。main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i

++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+l)];for(i=0;i〈3;i++)k+=p[i]*2;printf(“%d”,

k);)

A.20

B.21

C.22

D.23

对的答案:

29.己知“inta=4,b=5,c;。则执行表达式“c=a=a>b”后变量a的值为()。

A.0

B.1

C.4

D.5

对的答案:

30.要判断char型变量m是否是数字字符,可以使用下列表达式()。

A.0<=m&&m<=9

B.'0'<=m&&m<='9,

C."0"v=m&&mv="9''

D.前3个答案都是错误的

对的答案:

31.若inta,b,c;则为它们输入数据的对的的语句是()。

A.read(a,b,c);

B.scanf("%d%d%d",a,b,c);

C.scanf(u%D%D%DM,&a,&b,&c);

D.scanf(M%d%d%d“,&a,&b,&c);

对的答案:

32.下列对字符串的定义中错误的是()。

A.charstr[7]="FORTRAN"

B.charstr[]="FORTRAN"

C.char*str="FORTRAN"

D.charstr[J={,F'/O','R',TR'

对的答案:

33.在以下对C语言的描述中,对的的是()。

A.在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参

B.C语言函数既可以嵌套定义又可以递归调用

C.函数必须有返回值,否则不能使用函数

D.C语言程序中有定义关系的所有函数都必须放在同一源文献中

对的答案:

34.不能对的为字符数组输入数据的是()。

A.chars[5];scanf("%s",&s);

B.chars[5];scanf("%s”,s);

C.chars[5];scanf("%s”,&s[0]);

D.chars[5];gets(s);

对的答案:

35.已知:structsk{inta;floatb;}data,*p;若有p=&data,则对data中的成员

a的对的引用是()»

A.(*p).data,a

B.(*p).a

C.p—>data.a

D.p.data,a

对的答案:

36.为了显示一个文本文献的内容,在打开文献时,文献的打开方式应当时()»

A."r+"

B."w+"

C."wb+"

D."ab+"

对的答案:

37.下列程序段()。x=3;do{y=x—;if(!y)(printf("x");continue;}printf(a#,t);}

whi1e(l<=x<=2);

A.输出

B.

C.输出##x

D.是死循环

E.有语法错

对的答案:

38.在C语言的函数定义过程中,假如函数finA调用了函数funB,函数funB又调用了函

数funA,则()„

A.称为函数的直接递归

B.称为函数的间接递归

C.称为函数的递归定义

D.C语言中不允许这样的递归形式

对的答案:

39.以下对的的数组定义语句是()。

A.intyll][4]={1,2,3,4,5);

B.floatx:3][]={{1},{2},{3});

C.longs[2][3]={{1},{1,2},{1,2,3));

D.doublet[][3]={0};

对的答案:

40.下面描述中,不对的的是()。

A.递归法的关键是必须有一个递归终止的条件。

B.递归算法规定语言具有反复自我调用子程序的能力。

C.对于同一个问题,递推算法比递归算法的执行时间要长。

D.递推算法总可以转换为一个递归算法。

对的答案:

北理工《C语言程序设计》在线作业

二、判断题(共10道试题,共20分。)

1.“%”运算两侧的数据可以是任意类型的数据。

A.错误

B.对的

对的答案:

2.在标准C语言中,在定义带参数的宏时也要定义参的类型。

A.错误

B.对的

对的答案:

3.在标准C语言中,可以用typedef定义类型,所以用typedef可以增长C语言的数据类

型。

A.错误

B.对的

对的答案:

4.在C语言的scanf()中可用"%m.nf”形式的格式字符指定输入数据的精度。

A.错误

B.对的

对的答案:

5.在C语言中,枚举元素作为常量,它们是有拟定的值的,它们的值按顺序从0开始依次增

长且不可以改变。

A.错误

B.对的

对的答案:

6."A"是一个字符常串量。

A.错误

B.对的

对的答案:

7.switch(表达式)中的表达式可以是任意类型的表达式。

A.错误

B.对的

对的答案:

8.在C语言中解决文献时文本文献和二进制文献都可采用EOF作为判断文献是否读写结

束。

A.错误

B.对的

对的答案:

9.设有变量定义chars[]="hello”,则数组中有6个元素。

A.错误

B.对的

对的答案:

10.在C语言中,逻辑表达式中只允许出现逻辑型数据。

A.错误

B.对的

对的答案:

北理工《C语言程序设计》在线作业

一、单选题(共40道试题,共80分。)

1.已知:structsk{inta;floatb;}data,*p;若有p=&data,则对data中的成员a的

对的引用是()。

A.(*p).data.a

B.(*p).a

C.p->data.a

D.p.data.a

对的答案:

2.以下程序的输出结果是()«main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i

=0;i<3;i++)printf(“%d,"x[i][2-i]);}

A.1,5,9

B.1,4,7

C.3,5,7

D.3,6,9

对的答案:

3.若inta,b,c;则为它们输入数据的对的的语句是()。

A.read(a,b,c);

B.scanf("%d%d%d",a,b,c);

C.scanf("%D%D%D",&a,&b,&c);

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

对的答案:

4.以下程序的输出结果是()omain(){inti,k,a[l0],p[3];k=5;for(i=0;i<10;i++)

a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;print

f(“%d",k);)

A.20

B.21

C.22

D.23

对的答案:

5.为了显示一个文本文献的内容,在打开文献时,文献的打开方式应当时()。

A."r+"

B."w+"

C,"wb+"

D."ab+"

对的答案:

6.以下对的的数组定义语句是()。

A.inty[l][4]={1,2,3,4,5);

B.f1oatx[3][>{{1},{2},{3});

C.longs[2][3]={{1},{1,2},{1,2,3}};

D.doublet[][3]={0};

对的答案:

7.若intx;则执行下列程序段后输出是()。for(x=10;x>3;x——){if(x%3)x.

—x;-----x;printf("%d”,x);}

A.63

B.74

C.62

D.73

对的答案:

8.下列对字符串的定义中错误的是()o

A.charstr[7]=nFORTRANM

B.charstr[]=nFORTRAN”

C.char*str="FORTRAN',

D.charstr[]={'F''A'JN'

对的答案:

9.要判断char型变量m是否是数字字符,可以使用下列表达式()。

A.0<=m&&m<=9

B.'O'<=m&&m<='9,

C."0"v=m&&mv="9”

D.前3个答案都是错误的

对的答案:

10.不能对的为字符数组输入数据的是()。

A.chars[5];scanf("%s",&s);

B.chars[5];scanfV'%s",s);

C.chars[5];scanf("%s”,&s[O]);

D.chars[5];gets(s);

对的答案:

11.以下()不是C语言的特点。

A.语言的表达能力

B.语言定义严格

C.数据结构系统化

D.控制流程结构化

对的答案:

12.执行下面的语句后x的值为()。inta=14,b=15,x;charc='A';x=((a&b)&

&(c<'a'));

A.TRUE

B.FLASE

C.0

D.1

对的答案:

13.在C语言的函数定义过程中,假如函数finA调用了函数funB,函数funB又调用了函

数funA,则()。

A.称为函数的直接递归

B.称为函数的间接递归

C.称为函数的递归定义

D.C语言中不允许这样的递归形式

对的答案:

14.下面描述中,不对的的是()。

A.递归法的关键是必须有一个递归终止的条件。

B.递归算法规定语言具有反复自我调用子程序的能力。

C.对于同一个问题,递推算法比递归算法的执行时间要长。

D.递推算法总可以转换为一个递归算法。

对的答案:

15.若有chara[80],b[80];则对的的是()。

A.puts(a,b);

B.printf("%s,%s"a[],b[]);

C.putchar(a,b);

D.puts(a);puts(b);

对的答案:

16.执行以下程序段后,a,b,c的值分别是()。inta,b=100,c,x=10,y=9;a=(-x==y+

+)?—x:++y;if(x<9)b=x++;c=y;

A.9,9,9

B.8,8,10

C.9,10,9

D.1,11,10

对的答案:

17.已知“inta=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为()。

A.0

B.1

C.4

D.5

对的答案:

18.main(argc,argv)中形式参数argv的对的说明形式应当为()。

A.char*argv[]

B.charargv[]L]

C.charargv[]

D.char*argv

对的答案:

19.下面个选项组中,均属于C语言关键字的一组是()o

A.auto,enum,include

B.switch,typedef,continue

C.signed,union,scanf

D.if,strucl,type

对的答案:

20,已知:struct{inti;charc;floata;}test;则sizeof(test)的值是()。

A.4

B.5

C.6

D.7

对的答案:

21.以下对C语言中联合类型数据的对的叙述是()。

A.一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员

B.一个联合变量中可以同时存放其所有成员

C.一个联合变量中不能同时存放其所有成员

D.联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型

定义中

对的答案:

22.下列程序段()。x=3;do{y=x-;if(!y){printf("x");continue;}printf("#");}

while(l<=x<=2);

A.输出

B.

C.输出##x

D.是死循环

E.有语法错

对的答案:

23.说明语句"int(*p)();"的含义是()。

A.p是一个指向一维数组的指针变量

B.p是一个指针变量,指向一个整型数据

C.p是一个指向函数的指针,该函数的返回值是一个整型

D.以上都不对

对的答案:

24.运用fseek函数可以()。

A.改变文献的位置指针

B.实现文献的顺序读写

C.实现文献的读写

D.以上答案均对的

对的答案:

25.下列说法中对的的是()。

A.break用在switch语句中,而continue用在循环语句中。

B.break用在循环语句中,而continue用在switch语句中。

C.break能结束循环,而continue只能结束本次循环。

D.continue能结束循环,而break只能结束本次循环。

对的答案:

26.以下程序的输出是()»main(){chara[2][5]={“6937",”8254”};inti,j,

s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9,;j+=2)s=10*s+a[i][j]-

'0';printf("s=%d",s);}

A.6385

B.69825

C.63825

D.693825

对的答案:

27.若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则对的的输入语

句是()。

A.scanf("%f",&c);

B.scanf("8.4f",&c);

C.scanf("%6.2f',&c);

D.scanf("8f",&c);

对的答案:

28.若有以下定义和语句:structstudent{intnum,age;};structstudent

stu[3]={{1001,20},{1001,19],{1003,21});structstudent*p=stu;则以下错误的

引用是()。

A.(p++)->num

B.p++

C.(*p).num

D.p=&stu.age

对的答案:

29,已知:chars[10],*p=s,则在下列语句中,错误的语句是()。

A.p=s+5;

B.s=p+s;

C.s[2]=p[4];

D.*p=s[0];

对的答案:

30.if语句的控制条件()。

A.只能用关系表达式

B.只能用关系表达式或逻辑表达式

C.只能用逻辑表达式

D.可以是任何表达式

对的答案:

31.C编译系统提供了对C程序的编辑、编译、连接和运营环境,以下可以不在该环境

下进行的环节是()。

A.编辑和编译

B.编译和连接

C.连接和运营

D.编辑和运营

对的答案:

32.C语言结构类型变量在程序执行期间()。

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部提成员驻留在内存中

D.没有成员驻留在内存中

对的答案:

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

A.地址传递

B.值传递

C.由实参传给形参,并由形参传回给实参

D.由用户指定传递方式

对的答案:

34.执行以下程序段后,c3的值是()。intc1=1,c2=2,c3;c3=c1/c2;

A.0

B.1/2

C.0.5

D.1

对的答案:

35.在以下对C语言的描述中,对的的是()。

A.在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参

B.C语言函数既可以嵌套定义又可以递归调用

C.函数必须有返回值,否则不能使用函数

D.C语言程序中有定义关系的所有函数都必须放在同一源文献中

对的答案:

36.下列程序执行的结果是()oA=1;b=2;c=3;While(b<a<c){t=a;a=b;b=t;c-

—;}printf("%d,%d,%d",a,b,c);

A.1,2,0

B.2,1,0

C.1,2,1

D.2,1,1

对的答案:

37,已知:intx=l,y=2,z;贝ij执行z=x>y?++x:++y;贝ijz的值为()。

A.1

B.2

C.3

D.4

对的答案:

38.执行下列程序段后,x、y和z的值分别是()。intx=10,y=20,z=30;if(x>y)z=

x;x=y;y=z;

A.10,20,30

B.20,30,30

C.20,30,10

D.20,30,20

对的答案:

39.已知:inta,*p=&a;则下列函数调用中错误的是()

A.seanf("%d",&a);

B.scanf("%d",p);

C.prinlf("%d",a);

D.printfp);

对的答案:

40.指出程序结束时,j、i、k的值分别是()。main(){inta=10,b=5,c=5,d=5,i=0,j=0,

k=0;for(;a>b;++b)i++;while(a>++c)j++;dok++;while(a>d++):}

A.j=5,i=4,k=6;

B.i=5,j=4,k=6;

C.j=6,i=5,k=7

D.j=6,i=6,k=6;

对的答案:

北理工《C语言程序设计》在线作业

二、判断题(共10道试题,共20分。)

1.结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。

A.错误

B.对的

对的答案:

2.在C语言中,函数中只能有一个return语句。

A.错误

B.对的

对的答案:

3.若函数的返回值与return表达式类型不一致时,以return表达式类型为准。

A.错误

B.对的

对的答案:

4.在标准C语言中,所有函数在调用之前都要进行声明。

A.错误

B.对的

对的答案:

5.在C语言中解决文献时文本文献和二进制文献都可采用EOF作为判断文献是否读写结

束。

A.错误

B.对的

对的答案:

6.switch(表达式)中的表达式可以是任意类型的表达式。

A.错误

B.对的

对的答案:

7.在标准C语言中,可以用typedef定义类型,所以用typedef可以增长C语言的数据

类型。

A.错误

B.对的

对的答案:

8.在标准C语言中,在定义带参数的宏时也要定义参的类型。

A.错误

B.对的

对的答案:

9.在C语言中,参与运算的数据类型必须完全一致,不一致时要先将较低的数据类型转

换为较高的数据类型。

A.错误

B.对的

对的答案:

10.“%”运算两侧的数据可以是任意类型的数据。

A.错误

B.对的

对的答案:

北理工《C语言程序设计》在线作业

一、单选题(共40道试题,共80分。)

1.以下程序的输出是()。main(){chara⑵[5]={“6937”,“8254”};inti,

j,s=0;for(i=0;i<2;i++)for(j=0;a[i][jj>'0'&&a[i][j]<='9j+=2)s=10*s+a[i]

W-'0';printf("s=%d",s);}

A.6385

B.69825

C.63825

D.693825

对的答案:

2.已知:struct{inti;charc;floata;}test;则sizeof(test)的值是()。

A.4

B.5

C.6

D.7

对的答案:

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

A.地址传递

B.值传递

C.由实参传给形参,并由形参传回给实参

D.由用户指定传递方式

对的答案:

4.以下()不是C语言的特点。

A.语言的表达能力

B.语言定义严格

C.数据结构系统化

D.控制流程结构化

对的答案:

5.执行下面的语句后x的值为()。inta=14,b=15,x;charc='A';x=((a&b)&

&(c<'a'));

A.TRUE

B.FLASE

C.O

D.1

对的答案:

6.已知:inta,*p=&a;则下列函数调用中错误的是()

A.scanf("%d",&a);

B.seanf(H%d”,p);

C.printf(H%d",a);

D.primf("%d”,p);

对的答案:

7.已知:structsk{inta;floatb;}data,*p;若有p=&data,则对data中的成员a的对的

引用是()o

A.(*p).data.a

B.(*p).a

C.p->data.a

D.p.data.a

对的答案:

8.要判断char型变量m是否是数字字符,可以使用下列表达式()。

A.0<=m&&m<=9

B.,0'<=m&&m<='9,

C."0"v=m&&mV="9”

D.前3个答案都是错误的

对的答案:

9.不能对的为字符数组输入数据的是()。

A.chars[5];scanfA%s”,&s);

B.chars[5];scanf(“%s,5,s);

C.chars[5];scanf("%s'',&s[0]);

D.chars[5];gets(s);

对的答案:

10.执行以下程序段后,a,b,c的值分别是()。inta,b=100,c,x=10,y=9;a=(-x==y++)?

—x:++y;if(x<9)b=x++;c=y;

A.9,9,9

B.8,8,10

C.9,10,9

D.1,11,10

对的答案:

11.下面个选项组中,均属于C语言关键字的一组是()。

A.auto,enum,inelude

B.switch,typedef,continue

C.signed,union,scanf

D.if,struct,type

对的答案:

12.若有chara[80],b[80];则对的的是()。

A.puts(a,b);

B.printf("%s,%s5,a[],b[]);

C.putchar(a,b);

D.puts(a);puts(b);

对的答案:

13.C编译系统提供了对C程序的编辑、编译、连接和运营环境,以下可以不在该环境下进

行的环节是(

A.编辑和编译

B.编译和连接

C.连接和运营

D.编辑和运营

对的答案:

14.main(argc,argv)中形式参数argv的对的说明形式应当为()。

A.char*argv[]

B.charargv[][]

C.charargv[]

D.char*argv

对的答案:

15.运用fseek函数可以()。

A.改变文献的位置指针

B.实现文献的顺序读写

C.实现文献的读写

D.以上答案均对的

对的答案:

16.下面程序的输出结果是()。main(){inti,j;f1oats;for(i=6;i>4;i—){s=0.0;f

or(j=i;j>3;j--)s=s+i*j;}printf("%f",s);}

A.135.000000

B.90.000000

C.45.000000

D.60.000000

对的答案:

17.执行以下程序段后,c3的值是intc1=1,c2=2,c3;c3=cl/c2;

A.0

B.1/2

C.0.5

D.1

对的答案:

18.在以下对C语言的描述中,对的的是()。

A.在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参

B.C语言函数既可以嵌套定义又可以递归调用

C.函数必须有返回值,否则不能使用函数

D.C语言程序中有定义关系的所有函数都必须放在同一源文献中

对的答案:

19.若inta,b,c;则为它们输入数据的对的的语句是()。

A.read(a,b,c);

B.scanf("%d%d%d",a,b,c);

C.scanf("%D%D%D",&a,&b,&c);

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

对的答案:

20.下列说法中对的的是()。

A.break用在switch语句中,而continue用在循环语句中。

B.break用在循环语句中,而continue用在switch语句中。

C.break能结束循环,而continue只能结束本次循环。

D.continue能结束循环,而break只能结束本次循环。

对的答案:

21.以下程序的输出结果是()。main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i+

+)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf

(“%d”,k);)

A.20

B.21

C.22

D.23

对的答案:

22.以下对C语言中联合类型数据的对的叙述是()。

A.一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员

B.一个联合变量中可以同时存放其所有成员

C.一个联合变量中不能同时存放其所有成员

D.联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定

义中

对的答案:

23.下列程序执行的结果是()。A=1;b=2;c=3;Whi1e(b<a<c){t=a;a=b;b=t;c-;}p

rintf(“%d,%d,%d”,a,b,c);

A.1,2,0

B.2,1,0

C.1,2,1

D.2,1,1

对的答案:

24.已知:chars[10],*p=s,则在下列语句中,错误的语句是()。

A.p=s+5;

B.s=p+s;

C.s[2]=p[4];

D.*p=s[OJ;

对的答案:

25.以下对的的数组定义语句是()。

A.inty[1][4]={1,2,3,4,5);

B.f1oatx[3][]={{1},{2},{3});

C.Iongs[2][3]={{1},{1,2},{1,2,3));

D.doub1et[][3]={0};

对的答案:

26.以下程序的输出结果是()omain(){inti,x[3][3]={1,2,3,4,5,6,7,8,9);for(i

=0;i<3;i++)printf(“%d,”x[i][2-i]);}

A.1,5,9

B.1,4,7

C.3,5,7

D.3,6,9

对的答案:

27.执行下列程序段后,x、y和z的值分别是()ointx=l0,y=20,z=30;if(x>y)z

=x;x=y;y=z;

A.10,20,30

B.20,30,30

C.20,30,10

D.20,30,20

对的答案:

28.说明语句"int(*p)();”的含义是()。

A.p是一个指向一维数组的指针变量

B.p是一个指针变量,指向一个整型数据

C.p是一个指向函数的指针,该函数的返回值是一个整型

D.以上都不对

对的答案:

29.下列程序段()。x=3;do{y=x—;if(!y){printf("x"continue;}printf("#");}while(l<=

x<=2);

A.输出

B.

C.输出##x

D.是死循环

E.有语法错

对的答案:

30.已知“inta=4,b=5,c;",则执行表达式“c=a=a>b”后变量a的值为()。

A.0

B.1

C.4

D.5

对的答案:

31.下面描述中,不对的的是()。

A.递归法的关键是必须有一个递归终止的条件。

B.递归算法规定语言具有反复自我调用子程序的能力。

C.对于同一个问题,递推算法比递归算法的执行时间要长。

D.递推算法总可以转换为一个递归算法。

对的答案:

32.若intx;则执行下列程序段后输出是()。for(x=10;x>3;x-){if(x%3)xx;

printf("%d",x);)

A.63

B.74

C.62

D.73

对的答案:

33.若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则对的的输

入语句是()。

A.scanf("%f',&c);

B.scanf("8.4f",&c);

C.scanf("%6.2f',&c);

D.scanf("8f,&c);

对的答案:

34.C语言结构类型变量在程序执行期间()。

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部提成员驻留在内存中

D.没有成员驻留在内存中

对的答案:

35.在C语言的函数定义过程中,假如函数finA调用了函数funB,函数funB又调用了函

数funA,则(

A.称为函数的直接递归

B.称为函数的间接递归

C.称为函数的递归定义

D.C语言中不允许这样的递归形式

对的答案:

36.if语句的控制条件()。

A.只能用关系表达式

B.只能用关系表达式或逻辑表达式

C.只能用逻辑表达式

D.可以是任何表达式

对的答案:

37.若有以下定义和语句:structstudent{intnum,age;};struetstudentstu[3]={{10OL

20},{1001,19},(1003,21}};structstudent*p=stu;则以下错误的引用是()。

A.(p++)->num

B.p++

C.(*p).num

D.p=&stu.age

对的答案:

38.指出程序结束时,j、3k的值分别是()。main(){inta=10,b=5,c=5,d=5,i=0,j=0,k=0;

for(;a>b;++b)i++;while(a>++c)j++;dok++;while(a>d++);}

A.j=5,i=4,k=6;

B.i=5,j=4,k=6;

C.j=6,i=5,k=7

D.j=6,i=6,k=6;

对的答案:

39.为了显示一个文本文献的内容,在打开文献时,文献的打开方式应当时()。

A."r+"

B."w+"

C."wb+"

D."ab+"

对的答案:

40.下列对字符串的定义中错误的是()。

A.charstr[7]="FORTRAN"

B.charstr[]="FORTRAN"

C.char*str="FORTRAN"

D.charstr[]={zF','0','R',T,'R'N'/

对的答案:

北理工《C语言程序设计》在线作业

二、判断题(共10道试题,共20分。)

1.switch(表达式)中的表达式可以是任意类型的表达式。

A.错误

B.对的

对的答案:

2.“%”运算两侧的数据可以是任意类型的数据。

A.错误

B.对的

对的答案:

3.结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。

A.错误

B.对的

对的答案:

4.在C语言中,for语句后的三个表达式必须都出现。

A.错误

B.对的

对的答案:

5.在C语言中,函数中只能有一个return语句。

A.错误

B.对的

对的答案:

6.在C语言中,逻辑表达式中只允许出现逻辑型数据。

A.错误

B.对的

对的答案:

7.在C语言中,参与运算的数据类型必须完全一致,不一致时要先将较低的数据类型转换为

较高的数据类型。

A.错误

B.对的

对的答案:

8.在C语言中解决文献时文本文献和二进制文献都可采用EOF作为判断文献是否读写结

束。

A.错误

B.对的

对的答案:

9.在C语言中,以“r”方式不能打开并不存在的文献。

A.错误

B.对的

对的答案:

10.在C语言的scanf()中可用"%m.nf”形式的格式字符指定输入数据的精度。

A.错误

B.对的

对的答案:

北理工《C语言程序设计》在线作业

一、单选题(共40道试题,共80分。)

1.C语言结构类型变量在程序执行期间()。

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部提成员驻留在内存中

D.没有成员驻留在内存中

对的答案:

2.不能对的为字符数组输入数据的是()。

A.chars[5];scanf("%s”,&s);

B.chars[5J;scanf("%s”,s);

C.chars[5];scanf("%s”,&s[0]);

D,chars[5J;gets(s);

对的答案:

3.main(argc,argv)中形式参数argv的对的说明形式应当为()。

A.char*argv[]

B.charargv[][]

C.charargv[]

D.char*argv

对的答案:

4.运用fseek函数可以()o

A.改变文献的位置指针

B.实现文献的顺序读写

C.实现文献的读写

D.以上答案均对的

对的答案:

5.执行以下程序段后ab,c的值分别是()ointa,b=100,c,x=10,y=9;a=(--x=

=y++)?—x:++y;if(x<9)b=x++;c=y;

A.9,9,9

B.8,8,10

C.9,10,9

D.1,11,10

对的答案:

6.以下程序的输出结果是()。main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i+

+)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;prin

tfC%d”,k);}

A.20

B.21

C.22

D.23

对的答案:

7.下列程序执行的结果是()oA=l;b=2;c=3;While(b<a<c){t=a;a=b;b=t;c-;)

printf(u%d,%d,%d”,a,b,c);

A,1,2,0

B.2,1,0

C.1,2,1

D.2,1,1

对的答案:

8.下列程序段()。x=3;do{y=x--;if(!y){printf("x");continue;}printf("#");}

while(1<=x<=2);

A.输出

B.

C.输出##x

D.是死循环

E.有语法错

对的答案:

9.已知“inta=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为()。

A.0

B.1

C.4

D.5

对的答案:

10.若inta,b,c;则为它们输入数据的对的的语句是()。

A.read(a,b,c);

B.scanf("%d%d%d",a,b,c);

C.scanf("%D%D%D",&a,&b,&c);

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

对的答案:

11.以下对的的数组定义语句是()。

A.inty[1][4]={1,2,3,4,5);

B.floatx[3][]={{1},{2},{3});

C.longs[2][3]={⑴,{1,2},{1,2,3}};

D.doublet[][3]={0};

对的答案:

12.已知:intx=l,y=2,z;则执行z=x>y?++x:++y;则z的值为()。

A.1

B.2

C.3

D.4

对的答案:

13.若有chara[80],b[80];则对的的是()。

A.puts(a,b);

B.printf(“%s,%s“a[],b[]);

C.putchar(a,b);

D.puts(a);puts(b);

对的答案:

14.以下()不是C语言的特点。

A.语言的表达能力

B.语言定义严格

C.数据结构系统化

D.控制流程结构化

对的答案:

15.若intx;则执行下列程序段后输出是().for(x=10;x>3;x-----){if(x%3)x-

xx;printf("%d",x);}

A.63

B.74

C.62

D.73

对的答案:

16.执行下列程序段后,x、y和z的值分别是()。intx=10,y=20,z=30;if(x>y)z=x;

x=y;y=z;

A.10,20,30

B.20,30,30

C.20,30,10

D.20,30,20

对的答案:

17.说明语句“int(*p)();"的含义是()。

A.p是一个指向一维数组的指针变量

B.p是一个指针变量,指向一个整型数据

C.p是一个指向函数的指针,该函数的返回值是一个整型

D.以上都不对

对的答案:

18.下列说法中对的的是()o

A.break用在switch语句中,而continue用在循环语句中。

B.break用在循环语句中,而continue用在switch语句中。

C.break能结束循环,而continue只能结束本次循环。

D-continue能结束循环,而break只能结束本次循环。

对的答案:

19.若有以下定义和语句:structstudent{intnum,age;};structstudentstu[3]=

{{1001,20},{1001,19),{1003,21}};structstudent*P=stu;则以下错误的引用是()。

A.(p++)—>num

B.p++

C.(*p).num

D.p=&stu.age

对的答案:

20.以下程序的输出结果是()。main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};fo

r(i=0;i<3;i++)printf("%d,"x[i][2-i]);}

A.1,5,9

B.1,4,7

C.3,5,7

D.3,6,9

对的答案:

21.已知:structsk{inta;floatb;}dala,*p;若有p=&data,则对data中的成

员a的对的引用是()。

A.(*P).data.a

B.(*p).a

C.p->data.a

D.p.data.a

对的答案:

22.C编译系统提供了对C程序的编辑、编译、连接和运营环境,以下可以不在该环境下

进行的环节是()。

A.编辑和编译

B.编译和连接

C.连接和运营

D.编辑和运营

对的答案:

23.已知:struct{inti;charc;floata;}test;则sizeof(test)的值是()。

A.4

B.5

C.6

D.7

对的答案:

24.以下程序的输出是()。main(){chara[2][5]={“6937”,“8254”};inti,

温馨提示

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

评论

0/150

提交评论