出自:兰州大学C语言程序设计
21.
(4分)设有以下程序片段, int i=010,j=10,k=0xl0;printf(.%d,%d,%d.,k,j,i);请问执行后的输出结果是( )
A. 16,10,8
B. 8 10 16
C. 10,10,10
D. 8,10,16
18.
(4分)已有程序段和输入数据的形式,main(){ int a;float f;printf(.Input number:.);(输入语句)printf(. f=%f,a=%d .,f,a);}Input number:4.5uu2(u代表空格)
A. scanf(.%d,%f.,&a,&f)
B. scanf(.%f,%d.,&f,&a)
C. scnaf(.%d%f.,&a,&f)
D. scanf(.%f%d.,&f,&a)
1.
(4分)根据下面的定义,能打印出字母“M”的语句是( )struct person{char name[9];int age;};struct person class[10]={.John.,17,.Paul.,19,.Mary.,18,.adam.,16 };
A. printf(.%c\n.,class[3].name)
B. printf(.%c\n.,class[3].name[l])
C. printf(.%c\n.,class[2].name[l])
D. printf(.%c\n.,class[2].name[0])
18.
(4分)以下程序的运行结果是( )void sub (int x,int y,int *z){*z=y-x;}main(){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(.%4d,%4d,%4d.,a,b,c);}
A. 5, 2, 3
B. -5, -12, -7
C. -5, -12, -17
D. 5, -2, -7
17.
(4分)已有程序段和输入数据的形式,main(){ int a;float f;printf(.Input number:.);(输入语句)printf(. f=%f,a=%d .,f,a);}Input number:4.5uu2(u代表空格)
A. scanf(.%d,%f.,&a,&f)
B. scanf(.%f,%d.,&f,&a)
C. scnaf(.%d%f.,&a,&f)
D. scanf(.%f%d.,&f,&a)
7.
(4分)根据题目中已给出的数据输入和输出形式,main(){int x;float y;printf(.enter x,y:.);输入语句;输出语句}输入形式:enter x,y:2 3.4输出形式:x+y=5.40, 程序中输入输出语句的正确内容是( )
A. scanf(.%d,%f.,&x,&y),printf(.\nx+y=%4.2f.,x+y)
B. scanf(.%d%f.,&x,&y),printf(.\nx+y=%4.2f.,x+y)
C. scanf(.%d%f.,&x,&y),printf(.\nx+y=%6.1f.,x+y)
D. scanf(.%d%3.1f.,&x,&y),printf(.\nx+y=%4.2f.,x+y)
12.
(4分)若有以下定义:int a[ ]={1,2,3,4,5,6,7,8,9},*p=a;则值为5的表达式是( )
A. p+=4,*(p++)
B. p+=4,*++p
C. p+=5,*p++
D. p+=4,++*p