第三部分 順序結(jié)構(gòu):輸入與輸出
一、選擇題
(1)有以下程序
main()
{ int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
}
若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是
A)m=123n=456p=789
B)m=123 n=456 p=789
C)m=123,n=456,p=789
D)123 456 789
(2) 有以下程序
main()
{ int m=0256,n=256;
printf("%o %o\n",mn,n);
}
程序運行后的輸出結(jié)果是
A) 0256 0400 B) 0256 256 C) 256 400 D) 400 400
(3) 有以下程序
main()
{ int a=666,b=888;
printf("%d\n",a,b);
}
程序運行后的輸出結(jié)果是
A) 錯誤信息 B) 666 C) 888 D) 666,888
(4) 有以下程序
main( )
{
int x=102,y=012;
printf(“%2d,%2d\n”,x,y);
}
執(zhí)行后輸出結(jié)果是
A) 10,01 B) 02,12 C) 102,10 D) 02,10
(5) 有以下程序
main()
{ int a; char c=10;
float f=100.0; double x;
a=f/=c*=(x=6.5);
printf("%d %d %3.1f %3.1f\n",a,c,f,x);
}
程序運行后的輸出結(jié)果是
A) 1 65 1 6.5 B) 1 65 1.5 6.5
C) 1 65 1.0 6.5 D) 2 65 1.5 6.5
(6) 有定義語句:int x,y;, 若要通過scanf("%d,%d",&x,&y);語句使變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入形式中,錯誤的是
A) 11 12<回車> B) 11,12<回車>
C) 11,12<回車> D) 11,<回車>
12<回車>
(7) 設(shè)有如下程序段:
int x=2002,y=2003;
printf("%d\n",(x,y));
則以下敘述中正確的是
A) 輸出語句中格式說明符的個數(shù)少于輸出項的個數(shù),不能正確輸出
B) 運行時產(chǎn)生出錯信息
C) 輸出值為2002
D) 輸出值為2003
(8)若有以下程序段(n所賦的是八進制數(shù))
int m=32767,n=032767
printf("%d,%o/n",m,n);
執(zhí)行后輸出結(jié)果是
A) 32767,32767 B) 32767,032767
C) 32767,77777 D) 32767,077777
(9)若有以下程序段
int m=0xabc,n=0xabc;
m-=n;
printf("%X\n",m);
執(zhí)行后輸出結(jié)果是
A) 0X0 B) 0x0 C) 0 D) 0XABC
(10) 已知i、j、k為int型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1、j的值為2、k的值為3,以下選項中正確的輸入語句是
A) scanf(“%2d%2d%2d”,&i,&j,&k);
B) scanf(“%d %d %d”,&i,&j,&k);
C) scanf(“%d,%d,%d”,&i,&j,&k);
D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
(11) 設(shè)有定義:long x=-123456L;,則以下能夠正確輸出變量x值的語句是
A)printf(“x=%d\n”,x); B) printf(“x=%1d\n”,x);
C)printf(“x=%8dL\n”,x); D)printf(“x=%LD\n”,x);
(12) 以下程序段的輸出結(jié)果是
int a=1234;
printf("%2d\n",a);
A) 12 B) 34 C) 1234 D) 提示出錯、無結(jié)果
(13) x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),正確的輸入語句是
A) INPUT x、y、z; B) scanf(“%d%d%d”,&x,&y,&z);
C) scanf(“%d%d%d”,x,y,z); D) read(“%d%d%d”,&x,&y,&z);
(14) 若變量已正確說明為float類型,要通過語句scanf(“%f %f %f ”,&a,&b,&c);給a賦于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是:
A) 10<回車> B) 10.0,22.0,33.0<回車>
22<回車>
33<回車>
C) 10.0<回車> D) 10 22<回車>
22.0 33.0<回車> 33<回車>
(15) 有如下程序
main0
{ int y=3,x=3,z=1;
printf(“%d %d\n”,(++x,y++),z+2);
}
運行該程序的輸出結(jié)果是
A) 3 4 B) 4 2 C) 4 3 D) 3 3
(16) 下列程序執(zhí)行后的輸出結(jié)果是(小數(shù)點后只寫一位)
A) 6 6 6.0 6.0 B) 6 6 6.7 6.7
C) 6 6 6.0 6.7 D) 6 6 6.7 6.0
main()
{ double d; float f; ling l; int i;
i=f=1=d=20/3;
printf("%d %ld %f %f \n", i,l,f,d);
}
(17) 以下說法中正確的是
A) #define和printf都是C語句 B) #define是C語句,而printf不是
C) printf是C語句,但#define不是 D) #define和printf都不是C語句
(18) 以下程序的輸出結(jié)果是
A) 17,021,0x11 B) 17,17,17
B) 17,0x11,021 D) 17,21,11
main( )
{ int k=17;
printf("%d,%o,%x \n",k,k,k);
}
(19) 以下敘述中正確的是
A) 輸入項可以是一個實型常量,如:
scakf("%f",3.5);
B) 只有格式控制,沒有輸入項,也能正確輸入數(shù)據(jù)到內(nèi)存,例如:
scakf("a=%d,b=%d");
C) 當(dāng)輸入一個實型數(shù)據(jù)時,格式控制部分可以規(guī)定小數(shù)點后的位數(shù),例如:
scakf("%4.2f",&f);
D) 當(dāng)輸入數(shù)據(jù)時,必須指明變量地址,例如:
scakf("%f",&f);
(20) 若有以下定義和語句:
int u=010,v=0x10,w=10;
printf("%d,%d,%d\n,u,v,w);
則輸出結(jié)果是:
A) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,10
(21) 請讀程序片段:
int i=65536; printf("%d\n",i);
上面程序片段的輸出結(jié)果是
A) 65536 B) 0 C) 有語法錯誤,無輸出結(jié)果 D) -1
(22) 若x和y都是int型變量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的輸出結(jié)果是
A) 200 B) 100 C) 100 200 D) 輸出格式符不夠,輸出不確定的值
(23) 請讀程序:
#include
main()
{ int a; float b, c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d, b=%f, c=%f\n", a, b, c);
}
若運行時從鍵盤上輸入9876543210(表示回車),則上面程序的輸出結(jié)果是
A) a=98, b=765, c=4321 B) a=10, b=432, c=8765
C) a=98, b=765.000000, c=4321.000000 D) a=98, b=765.0, c=4321.0
(24)以下程序的輸出結(jié)果是 【24】 。
# include
# include
main()
{ int a=1,b=4,c=2;
float x=10..5 , y=4.0 , z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
pritnf("%f\n",z); }
A) 14.000000 B) 015.400000 C) 13.700000 D) 14.900000
(25)以下程序的輸出結(jié)果是 【25】 。
# include
main()
{ int a=2,c=5;
printf("a=%%d,b=%%d\n",a,c); }
A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d
(26) 執(zhí)行下面程序中的輸出語句,a的值是
A) 65 B) 20 C) 15 D) 10
main()
{ int a;
printf("%d\n",(a=3*5,a*4,a+5));} 二、填空題:
(1)以下程序運行后的輸出結(jié)果是 【1】 。
main() { int x=0210; printf("%X\n",x); }
(2)以下程序運行后的輸出結(jié)果是 【2】 。
main()
{ char c; int n=100;
float f=10; double x;
x=f*=n/=(c=50);
printf("%d %f\n",n,x);
}
(3)以下程序運行時若從鍵盤輸入:10 20 30<回車>。輸出結(jié)果是 .
#include
main()
{ int i=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d\n",i,j,k);
}
(4) 以下程序段的輸出結(jié)果是 【4】 。
int i=9;
printf("%o\n",i);
(5) 以下程序運行后的輸出結(jié)果是 【5】 。
main()
{ int a,b,c;
a=25;
b=025;
c=0x25;
printf("%d %d %d\n",a,b,c);
}
(6) 有以下語句段
int n1=10,n2=20;
printf(“ 【6】 ”,n1.n2);
要求按以下格式輸出n1和n2的值,每個輸出行從第一列開始,請?zhí)羁铡?BR> n1=10
n2=20
(7)若有語句
int i=-19,j=i%4;
printf("%d\n",j);
則輸出結(jié)果是 【7】 。
(8)若有程序
main()
{ int i,j;
scanf("i=%d,j=%d";&i,&j);
printf("i=%d,j=%d\n",i,j);
}
要求給i賦10,給j賦20,則應(yīng)該從鍵盤輸入 【8】 。
(9) 以下程序的輸出結(jié)果是【9】 。
main()
{ int a=177;
printf("%o\n",a);
}
(10) 以下程序的輸出結(jié)果是【10】 。
main()
{ int a=0
a+=(a=8);
printf("%d\n",a);
}
(11)以下程序的輸出結(jié)果是 【11】
main()
{ int a=1, b=2;
a=a+b; b=a-b; a=a-b;
printf(“%d,%d\n”, a, b );
}
(12)下列程序的輸出結(jié)果是16.00,請?zhí)羁??!?BR> main()
{ int a=9, b=2;
float x= 【12】 , y=1.1,z;
z=a/2+b*x/y+1/2;
printf(“%5.2f\n”, z );
}
(13) 以下程序的輸出結(jié)果是 [13] 。
main()
{ unsigned short a=65536; int b;
printf(“%d\n”,b=a);
}
(14) 若想通過以下輸入語句使a=5.0,b=4,c=3,則輸入數(shù)據(jù)的形式應(yīng)該是 【14】 。
int b,c; float a;
scanf("%f,%d,c=%d",&a,&b,&c);
(15) 若想通過以下輸入語句給a賦于1,給b賦于2,則輸入數(shù)據(jù)的形式應(yīng)該是 【15】 。
int a,b;
scanf("a=%b,b=%d,&a,&b);
答案:
一、選擇題
1) A 2) C 3) B 4) C 5) B 6) A 7) D 8) A 9) C 10) C
11) B 12) C 13) B 14) B 15) D 16) A 17) D 18) D 19) D 20) A
21) B 22) A 23) C 24) C 25) D 26) C 27) 28) 29) 30)
二、填空題
(1) 88
(2) 2 20.000000
(3) 10 30 0
(4) 11
(5) 25 21 37
(6) n1=%d\nn2=%d
(7) -3
(8) i=10,j=20
(9) 261
(10) 16
(11) 2,1
(12) 6.6
(13) 0
(14) 5.0,4,c=3
(15) a=1,b=2
一、選擇題
(1)有以下程序
main()
{ int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
}
若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是
A)m=123n=456p=789
B)m=123 n=456 p=789
C)m=123,n=456,p=789
D)123 456 789
(2) 有以下程序
main()
{ int m=0256,n=256;
printf("%o %o\n",mn,n);
}
程序運行后的輸出結(jié)果是
A) 0256 0400 B) 0256 256 C) 256 400 D) 400 400
(3) 有以下程序
main()
{ int a=666,b=888;
printf("%d\n",a,b);
}
程序運行后的輸出結(jié)果是
A) 錯誤信息 B) 666 C) 888 D) 666,888
(4) 有以下程序
main( )
{
int x=102,y=012;
printf(“%2d,%2d\n”,x,y);
}
執(zhí)行后輸出結(jié)果是
A) 10,01 B) 02,12 C) 102,10 D) 02,10
(5) 有以下程序
main()
{ int a; char c=10;
float f=100.0; double x;
a=f/=c*=(x=6.5);
printf("%d %d %3.1f %3.1f\n",a,c,f,x);
}
程序運行后的輸出結(jié)果是
A) 1 65 1 6.5 B) 1 65 1.5 6.5
C) 1 65 1.0 6.5 D) 2 65 1.5 6.5
(6) 有定義語句:int x,y;, 若要通過scanf("%d,%d",&x,&y);語句使變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入形式中,錯誤的是
A) 11 12<回車> B) 11,12<回車>
C) 11,12<回車> D) 11,<回車>
12<回車>
(7) 設(shè)有如下程序段:
int x=2002,y=2003;
printf("%d\n",(x,y));
則以下敘述中正確的是
A) 輸出語句中格式說明符的個數(shù)少于輸出項的個數(shù),不能正確輸出
B) 運行時產(chǎn)生出錯信息
C) 輸出值為2002
D) 輸出值為2003
(8)若有以下程序段(n所賦的是八進制數(shù))
int m=32767,n=032767
printf("%d,%o/n",m,n);
執(zhí)行后輸出結(jié)果是
A) 32767,32767 B) 32767,032767
C) 32767,77777 D) 32767,077777
(9)若有以下程序段
int m=0xabc,n=0xabc;
m-=n;
printf("%X\n",m);
執(zhí)行后輸出結(jié)果是
A) 0X0 B) 0x0 C) 0 D) 0XABC
(10) 已知i、j、k為int型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1、j的值為2、k的值為3,以下選項中正確的輸入語句是
A) scanf(“%2d%2d%2d”,&i,&j,&k);
B) scanf(“%d %d %d”,&i,&j,&k);
C) scanf(“%d,%d,%d”,&i,&j,&k);
D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
(11) 設(shè)有定義:long x=-123456L;,則以下能夠正確輸出變量x值的語句是
A)printf(“x=%d\n”,x); B) printf(“x=%1d\n”,x);
C)printf(“x=%8dL\n”,x); D)printf(“x=%LD\n”,x);
(12) 以下程序段的輸出結(jié)果是
int a=1234;
printf("%2d\n",a);
A) 12 B) 34 C) 1234 D) 提示出錯、無結(jié)果
(13) x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),正確的輸入語句是
A) INPUT x、y、z; B) scanf(“%d%d%d”,&x,&y,&z);
C) scanf(“%d%d%d”,x,y,z); D) read(“%d%d%d”,&x,&y,&z);
(14) 若變量已正確說明為float類型,要通過語句scanf(“%f %f %f ”,&a,&b,&c);給a賦于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是:
A) 10<回車> B) 10.0,22.0,33.0<回車>
22<回車>
33<回車>
C) 10.0<回車> D) 10 22<回車>
22.0 33.0<回車> 33<回車>
(15) 有如下程序
main0
{ int y=3,x=3,z=1;
printf(“%d %d\n”,(++x,y++),z+2);
}
運行該程序的輸出結(jié)果是
A) 3 4 B) 4 2 C) 4 3 D) 3 3
(16) 下列程序執(zhí)行后的輸出結(jié)果是(小數(shù)點后只寫一位)
A) 6 6 6.0 6.0 B) 6 6 6.7 6.7
C) 6 6 6.0 6.7 D) 6 6 6.7 6.0
main()
{ double d; float f; ling l; int i;
i=f=1=d=20/3;
printf("%d %ld %f %f \n", i,l,f,d);
}
(17) 以下說法中正確的是
A) #define和printf都是C語句 B) #define是C語句,而printf不是
C) printf是C語句,但#define不是 D) #define和printf都不是C語句
(18) 以下程序的輸出結(jié)果是
A) 17,021,0x11 B) 17,17,17
B) 17,0x11,021 D) 17,21,11
main( )
{ int k=17;
printf("%d,%o,%x \n",k,k,k);
}
(19) 以下敘述中正確的是
A) 輸入項可以是一個實型常量,如:
scakf("%f",3.5);
B) 只有格式控制,沒有輸入項,也能正確輸入數(shù)據(jù)到內(nèi)存,例如:
scakf("a=%d,b=%d");
C) 當(dāng)輸入一個實型數(shù)據(jù)時,格式控制部分可以規(guī)定小數(shù)點后的位數(shù),例如:
scakf("%4.2f",&f);
D) 當(dāng)輸入數(shù)據(jù)時,必須指明變量地址,例如:
scakf("%f",&f);
(20) 若有以下定義和語句:
int u=010,v=0x10,w=10;
printf("%d,%d,%d\n,u,v,w);
則輸出結(jié)果是:
A) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,10
(21) 請讀程序片段:
int i=65536; printf("%d\n",i);
上面程序片段的輸出結(jié)果是
A) 65536 B) 0 C) 有語法錯誤,無輸出結(jié)果 D) -1
(22) 若x和y都是int型變量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的輸出結(jié)果是
A) 200 B) 100 C) 100 200 D) 輸出格式符不夠,輸出不確定的值
(23) 請讀程序:
#include
main()
{ int a; float b, c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d, b=%f, c=%f\n", a, b, c);
}
若運行時從鍵盤上輸入9876543210
A) a=98, b=765, c=4321 B) a=10, b=432, c=8765
C) a=98, b=765.000000, c=4321.000000 D) a=98, b=765.0, c=4321.0
(24)以下程序的輸出結(jié)果是 【24】 。
# include
# include
main()
{ int a=1,b=4,c=2;
float x=10..5 , y=4.0 , z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
pritnf("%f\n",z); }
A) 14.000000 B) 015.400000 C) 13.700000 D) 14.900000
(25)以下程序的輸出結(jié)果是 【25】 。
# include
main()
{ int a=2,c=5;
printf("a=%%d,b=%%d\n",a,c); }
A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d
(26) 執(zhí)行下面程序中的輸出語句,a的值是
A) 65 B) 20 C) 15 D) 10
main()
{ int a;
printf("%d\n",(a=3*5,a*4,a+5));} 二、填空題:
(1)以下程序運行后的輸出結(jié)果是 【1】 。
main() { int x=0210; printf("%X\n",x); }
(2)以下程序運行后的輸出結(jié)果是 【2】 。
main()
{ char c; int n=100;
float f=10; double x;
x=f*=n/=(c=50);
printf("%d %f\n",n,x);
}
(3)以下程序運行時若從鍵盤輸入:10 20 30<回車>。輸出結(jié)果是 .
#include
main()
{ int i=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d\n",i,j,k);
}
(4) 以下程序段的輸出結(jié)果是 【4】 。
int i=9;
printf("%o\n",i);
(5) 以下程序運行后的輸出結(jié)果是 【5】 。
main()
{ int a,b,c;
a=25;
b=025;
c=0x25;
printf("%d %d %d\n",a,b,c);
}
(6) 有以下語句段
int n1=10,n2=20;
printf(“ 【6】 ”,n1.n2);
要求按以下格式輸出n1和n2的值,每個輸出行從第一列開始,請?zhí)羁铡?BR> n1=10
n2=20
(7)若有語句
int i=-19,j=i%4;
printf("%d\n",j);
則輸出結(jié)果是 【7】 。
(8)若有程序
main()
{ int i,j;
scanf("i=%d,j=%d";&i,&j);
printf("i=%d,j=%d\n",i,j);
}
要求給i賦10,給j賦20,則應(yīng)該從鍵盤輸入 【8】 。
(9) 以下程序的輸出結(jié)果是【9】 。
main()
{ int a=177;
printf("%o\n",a);
}
(10) 以下程序的輸出結(jié)果是【10】 。
main()
{ int a=0
a+=(a=8);
printf("%d\n",a);
}
(11)以下程序的輸出結(jié)果是 【11】
main()
{ int a=1, b=2;
a=a+b; b=a-b; a=a-b;
printf(“%d,%d\n”, a, b );
}
(12)下列程序的輸出結(jié)果是16.00,請?zhí)羁??!?BR> main()
{ int a=9, b=2;
float x= 【12】 , y=1.1,z;
z=a/2+b*x/y+1/2;
printf(“%5.2f\n”, z );
}
(13) 以下程序的輸出結(jié)果是 [13] 。
main()
{ unsigned short a=65536; int b;
printf(“%d\n”,b=a);
}
(14) 若想通過以下輸入語句使a=5.0,b=4,c=3,則輸入數(shù)據(jù)的形式應(yīng)該是 【14】 。
int b,c; float a;
scanf("%f,%d,c=%d",&a,&b,&c);
(15) 若想通過以下輸入語句給a賦于1,給b賦于2,則輸入數(shù)據(jù)的形式應(yīng)該是 【15】 。
int a,b;
scanf("a=%b,b=%d,&a,&b);
答案:
一、選擇題
1) A 2) C 3) B 4) C 5) B 6) A 7) D 8) A 9) C 10) C
11) B 12) C 13) B 14) B 15) D 16) A 17) D 18) D 19) D 20) A
21) B 22) A 23) C 24) C 25) D 26) C 27) 28) 29) 30)
二、填空題
(1) 88
(2) 2 20.000000
(3) 10 30 0
(4) 11
(5) 25 21 37
(6) n1=%d\nn2=%d
(7) -3
(8) i=10,j=20
(9) 261
(10) 16
(11) 2,1
(12) 6.6
(13) 0
(14) 5.0,4,c=3
(15) a=1,b=2