第四章最简单的C程序设计 4.1选择题 【题4.1】 putchar函数可以向终端输出一个 A)整型变量表达式值 B)实型变量值 C)字符串 D)字符或字符型变量值 【题4.2】以下程序的输出结果是 main printf(“\n*s2=%-5s*”,“chi”) A)*sl=chinabeijing* 3) *sl=chinabei jing sk C) *sl=kchinabei* D)*s1 InabelJingi *s2=chi=k *s2=chi*k 【题4.3】 printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字 符串长度大于5,则输出按方式【1】:如果字符串长度小于5,则输出按方式【2】。 A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出 )右对齐输出该字串,左补空格 D)输出错误信息 【题4.4】已有定义inta=-2;和输出语句: printf(“‰81x”,a);以下正确的叙述 是 A)整型变量的输出格式符只有%d一种 B)%x是格式符的一种,它可以适用于任何一种类型的数据 C)%x是格式符的一种,其变量的值按十六进制输出,但%81x是错误的 D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度 【题4.5】以下C程序正确的运行结果是 man long y=-43456 printf(“y=%-81dn”,y) (“y=%-081dn”,y)
第四章 最简单的 C 程序设计 4.1 选择题 【题 4.1】putchar 函数可以向终端输出一个 。 A) 整型变量表达式值 B)实型变量值 C)字符串 D) 字符或字符型变量值 【题 4.2】以下程序的输出结果是 。 main() { printf(“\n*s1=%15s*”, “chinabeijing”); printf(“\n*s2=%-5s*”, “chi”); } A)*s1=chinabeijing * B)*s1=chinabeijing * *s2=**chi* *s2=chi * C)*s1=*chinabeijing* D)*s1= chinabeijing* *s2=chi* *s2=chi * 【题 4.3】printf 函数中用到格式符%5s,其中数字 5 表示输出的字符串占用 5 列。如果字 符串长度大于 5,则输出按方式【1】;如果字符串长度小于 5,则输出按方式【2】。 A) 从左起输出该字串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字串,左补空格 D) 输出错误信息 【题 4.4】已有定义 int a=-2;和输出语句:printf(“%8lx”,a);以下正确的叙述 是 。 A) 整型变量的输出格式符只有%d 一种 B) %x 是格式符的一种,它可以适用于任何一种类型的数据 C) %x 是格式符的一种,其变量的值按十六进制输出,但%8lx 是错误的 D) %8lx 不是错误的格式符,其中数字 8 规定了输出字段的宽度 【题 4.5】以下 C 程序正确的运行结果是 。 main() { long y=-43456; printf(“y=%-8ld\n”,y); printf(“y=%-08ld\n”,y);
printf(“y=%081dn”,y) printf(“y=%+8ld\n”,y) A)y=-43456 B)y=-43456 y=-43456 y=-43456 y=-0043456 y=-0043456 y=-43456 y=+-43456 C)y=-43456 D)y=-43456 y=-43456 y=-0043456 y=00043456 【题4.6】以下C程序正确的运行结果是 printf(“y=%3on”,y) printf(“y=%8oⅦn”,y) printf(“y=%#8o\n”,y) A)y=2456 4630 ########2456 y=######4630 C)y=245 D)y=4630 2456 =4630 y=024 y=04630 【题4.7】以下C程序正确的运行结果是 long y=23456 printf(“y=%3xn”,y) printf(“y=%8xn”,y) printf(“y=%#8xn”,y) D) y=5ba0 bad Ox5ba0 y=0x5ba0 y=####5ba0 【题4.8】若x,y均定义为int型,z定义为 double型,以下不合法的 scanf函数调用语 句是
printf(“y=%08ld\n”,y); printf(“y=%+8ld\n”,y); } A)y= -43456 B)y=-43456 y=- 43456 y=-43456 y=-0043456 y=-0043456 y=-43456 y=+-43456 C)y=-43456 D)y= -43456 y=-43456 y=-0043456 y=-0043456 y=00043456 y= -43456 y=+43456 【题 4.6】以下 C 程序正确的运行结果是 。 main() { int y=2456; printf(“y=%3o\n”,y); printf(“y=%8o\n”,y); printf(“y=%#8o\n”,y); } A)y= 2456 B)y= 4630 y= 2456 y= 4630 y=########2456 y=########4630 C)y=2456 D)y=4630 y= 2456 y= 4630 y= 02456 y= 04630 【题 4.7】以下 C 程序正确的运行结果是 。 main() { long y=23456; printf(“y=%3x\n”,y); printf(“y=%8x\n”,y); printf(“y=%#8x\n”,y); } A)y=5ba0 B)y= 5ba0 C)y=5ba0 D)y=5ba0 y= 5ba0 y= 5ba0 y=5ba0 y= 5ba0 y= 0x5ba0 y= 0x5ba0 y=0x5ba0 y=####5ba0 【题 4.8】若 x,y 均定义为 int 型,z 定义为 double 型,以下不合法的 scanf 函数调用语 句是
A) scanf(“%d%1x,%le”,&x,&y,&z); B) scanf(“%2d*%d%f”,&x,&y,&z); D) scanf(“%x%o%6.2f”,&x,&y,&z) 【题4.9】已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B, 当从第一列开始输入数据时,正确的数据输入方式是 int al, a2: char cl c2 scanf(“%d%c%d%c”,&al,&cl,&a2,&c2); A)10A 20B<CR> B)10 A 20 B<CR> C) 10A20B<CR> D) 10A20 B<CR> 【题4.10】己有定义intx; float y:且执行 scanf(“‰3d%f”,&x,&y);语句,若从第一列 开始输入数据12345678<回车>,则x的值为【1】,y的值为【2】 1】A)12345B)123 D)345 【2】A)无定值B)45.000000C)678.000000D)123.000000 【题4.11】已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B, 当从第一列开始输入数据时,正确的数据输入方式是 int al, a2: char c1, c2 scanf(“%d%d”,&a1,&a2) scanf(“%c%c”,&c1,&c2); A)1020AB<CR> B)1020<CR> AB<CR C)10 20 AB<CR> D) 10 20AB<CRY 【题4.2】己有程序段和输入数据的形式如下,程序中输入语句的正确形式应当 mal nt a: float f. printf(“\ iNput number:”) 输入语句 printf(“\nf=%f,a=%d\n”,f,a) nput number: 4.5 2<CR> A) scanf(“%d,%f”,&a,&f) B) scanf(“%f,%d”,&f,&a) C) scanf(“%d%f”,&a,&f) D) scanf(“%f%d”,&f,&a);
A) scanf(“%d%lx,%le”,&x,&y,&z); B) scanf(“%2d*%d%lf”,&x,&y,&z); C) scanf(“%x%*d%o”,&x,&y); D) scanf(“%x%o%6.2f”,&x,&y,&z); 【题 4.9】已有如下定义和输入语句,若要求 a1,a2,c1,c2 的值分别为 10,20,A 和 B, 当从第一列开始输入数据时,正确的数据输入方式是 。 int a1,a2; char c1,c2; scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2); A)10A 20B<CR> B)10 A 20 B<CR> C)10A20B<CR> D)10A20 B<CR> 【题 4.10】已有定义 int x; float y;且执行 scanf(“%3d%f”,&x,&y);语句,若从第一列 开始输入数据 12345 678<回车>,则 x 的值为【1】,y 的值为【2】。 【1】A)12345 B)123 C)45 D)345 【2】A)无定值 B)45.000000 C)678.000000 D)123.000000 【题 4.11】已有如下定义和输入语句,若要求 a1,a2,c1,c2 的值分别为 10,20,A 和 B, 当从第一列开始输入数据时,正确的数据输入方式是 。 int a1,a2; char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A)1020AB<CR> B)10 20<CR> AB<CR> C)10 20 AB<CR> D)10 20AB<CR> 【题 4.12】已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当 为 。 main() { int a; float f; printf(“\nInput number:”); 输入语句 printf(“\nf=%f,a=%d\n”,f,a); } Input number:4.5 2<CR> A) scanf(“%d,%f”,&a,&f); B) scanf(“%f,%d”,&f,&a); C) scanf(“%d%f”,&a,&f); D) scanf(“%f%d”,&f,&a);
【题4.13】根据定义和数据的输入方式,输入语句的正确形式为 已有定义: float fI,f2; 数据的输入方式:4.52 A) scanf(“%f,%f”,&f1,&f2) B) scanf(“%f%f”,&f1,&f2) C) scanf(“%3.2f%2.lf”,&f1,&f2) D) scanf(“%3.2f%2.1f”,&f1,&f2) 【题4.14】阅读以下程序,当输入数据的形式为25,13,10<CR〉正确的输出结果 mall int X, y, Z scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z) A)x+y+z=48 B)x+y+z=35 D)不确定值 【题4.15】阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是 main int x: float printf(“ enter x,y:"”) 输入语句 输出语句 输入形式 enter x, y: 2 3 4 输出形式 A) scant(“%d,%f”,&x,&y); printf(“\nx+y=%4.2f”,x+y); B) scanf(“%d%f”,&x,&y) printf(“nx+y C) scanf(“%d%f”,&x,&y) (“\nx+y=%6.1f”,x+y) D) scanf(“%d%3.lf”,&x,&y);
【题 4.13】根据定义和数据的输入方式,输入语句的正确形式为 。 已有定义:float f1,f2; 数据的输入方式:4.52 3.5 A) scanf(“%f,%f”,&f1,&f2); B) scanf(“%f%f”,&f1,&f2); C) scanf(“%3.2f %2.1f”,&f1,&f2); D) scanf(“%3.2f%2.1f”,&f1,&f2); 【题 4.14】阅读以下程序,当输入数据的形式为 25,13,10<CR> 正确的输出结果 为 。 main() { int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值 【题 4.15】阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是 。 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); 【题4.16】以下说法正确的是_。 )输入项可以为一实型常量,如 scanf(“%f”,3.5) B)只有格式控制,没有输入项,也能进行正确输入,如 nf(“a=%d,b=%d”) C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf(“%4.2f”,&f) D)当输入数据时,必须指明变量的地址,如 scanf(“%f”,&f); 【题4.17】根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确的形式 应该为 mall char chl, ch2, ch3 输入语句 printf(“%c%c%c”,chl,ch2,ch3) 输入形式:ABC 输出形式:AB A) scanf(“%c%c%c”,&ch1,&ch2,&ch3) B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3); C) scanf(“%c%c%”,&ch1,&ch2,&ch3) D) scanf(“%c%c”,&chl,&ch2,&ch3) 【题4.18】有输入语句: scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b 为3,c为2,从键盘输入数据的正确形式应当是 A)132<回车> B)1,3,2<回车 C)a=1b=3c=2回车> D)a=1,b=3,c=2<回车 【题4.19】以下能正确地定义整型变量a,b和c并为其赋初值5的语句是 A) int a=b=c=5 B) int a b c=5 C)a=5,b=5,c=5 D) a=b=c=5 【题4.20】已知ch是字符型变量,下面不正确的赋值语句是 A)ch=‘a+b’;B)ch=‘\0 C)ch=“7’+“9’;D)ch=5+9 【题4.21】已知ch是字符型变量,下面正确的赋值语句是 A)ch=4123’;B)ch=‘xff’;C)ch=‘08’;D)ch=“\
printf(“\nx+y=%4.2f”,x+y); 【题 4.16】以下说法正确的是 。 A) 输入项可以为一实型常量,如 scanf(“%f”,3.5); B) 只有格式控制,没有输入项,也能进行正确输入,如 scanf(“a=%d,b=%d”); C) 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf(“%4.2f”,&f); D) 当输入数据时,必须指明变量的地址,如 scanf(“%f”,&f); 【题 4.17】根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确的形式 应该为 。 main() { char ch1,ch2,ch3; 输入语句 printf(“%c%c%c”,ch1,ch2,ch3); } 输入形式:A B C 输出形式:A B A) scanf(“%c%c%c”,&ch1,&ch2,&ch3); B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3); C) scanf(“%c %c %c”,&ch1,&ch2,&ch3); D) scanf(“%c%c”,&ch1,&ch2,&ch3); 【题 4.18】有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量 a 的值为 1,b 为 3,c 为 2,从键盘输入数据的正确形式应当是 。 A) 132<回车> B) 1,3,2<回车> C) a=1 b=3 c=2<回车> D) a=1,b=3,c=2<回车> 【题 4.19】以下能正确地定义整型变量 a,b 和 c 并为其赋初值 5 的语句是 。 A)int a=b=c=5; B)int a,b,c=5; C)a=5,b=5,c=5; D)a=b=c=5; 【题 4.20】已知 ch 是字符型变量,下面不正确的赋值语句是 。 A)ch=‘a+b’; B)ch=‘\0’; C)ch=‘7’+‘9’; D)ch=5+9; 【题 4.21】已知 ch 是字符型变量,下面正确的赋值语句是 。 A)ch=‘123’; B)ch=‘\xff’; C)ch=‘\08’; D)ch=“\”;