北理工17春秋《C语言程序设计》在线作业 下载本文

谋学网www.mouxue.com

一、单选题(共40道试题,共80分。)V1.已知:intx=1,y=2,z;则执行z=x>y?++x:++y;则z的值为()。 A.1 B.2 C.3 D.4

2.指出程序结束时,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;

3.执行以下程序段后,c3的值是()。intc1=1,c2=2,c3;c3=c1/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.s[2]=p[4]; D.*p=s[0];

5.以下程序的输出是()。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

6.C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是()。 A.编辑和编译 B.编译和连接 C.连接和运行 D.编辑和运行

7.已知:struct{inti;charc;floata;}test;则sizeof(test)的值是()。 A.4 B.5 C.6 D.7

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

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

谋学网www.mouxue.com

B.break用在循环语句中,而continue用在switch语句中。 C.break能结束循环,而continue只能结束本次循环。 D.continue能结束循环,而break只能结束本次循环。 9.下面个选项组中,均属于C语言关键字的一组是()。 A.auto,enum,include

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.说明语句\的含义是()。 A.p是一个指向一维数组的指针变量 B.p是一个指针变量,指向一个整型数据

C.p是一个指向函数的指针,该函数的返回值是一个整型 D.以上都不对

12.执行以下程序段后,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

13.若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是()。

A.scanf(\B.scanf(\C.scanf(\D.scanf(\14.若有以下定义和语句: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

15.已知:inta,*p=&a;则下列函数调用中错误的是() A.scanf(\B.scanf(\C.printf(\D.printf(\

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

谋学网www.mouxue.com

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;for(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.下列程序执行的结果是()。A=1;b=2;c=3;While(b

22.main(argc,argv)中形式参数argv的正确说明形式应当为()。 A.char*argv[] B.charargv[][] C.charargv[] D.char*argv

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

A.一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员 B.一个联合变量中可以同时存放其所有成员 C.一个联合变量中不能同时存放其所有成员

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