北理工17春秋《C语言程序设计》在线作业北理工17春秋《C语言程序设计》在线作业.doc
一、单选题(共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用在循环语句中。
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.说明语句"int(*p)();"的含义是()。
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("%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;则以下错误的引用是()。
A.(p++)->num
B.p++
C.(*p).num
D.p=&stu.age
15.已知:inta,*p=&a;则下列函数调用中错误的是()
A.scanf("%d",&a);
B.scanf("%d",p);
C.printf("%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;-