式规定,即不能规定读入数据的小数点后的数字位数。
*3.9 已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是 。 int a1,a2;char c1,c2;
scanf(\
A)10A□20B
*3.10 已有定义int x;float y;且执行scanf(\语句时,从第一列开始输入数据12345□678
⑴ A)12345 B)123 C)45 D)345 ⑵ A)无定值 B)45.0 C)678.0 D)123.0 参考答案:B B
参考分析:读取数据格式中规定域宽时,系统仅读取指定宽度的数据。
**3.11 已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是 。 int a1,a2;char c1,c2;
scanf(\scanf(\
A)1020AB
3.12 已有程序段和输入数据的形式,程序中输入语句的正确形式应当为 。
main()
{ int a;float f;
printf(\(输入语句)
printf(\}
Input number:4.5□□2
A)scanf(\ B)scanf(\C)scnaf(\ D)scanf(\参考答案:D
3.13 根据定义和数据的输入方式,输入语句的正确形式为 。
已有定义:float f1,f2; 数据的输入方式:4.52 3.5
A)scanf(\ B)scanf(\
C)scanf(\ %2.1f\ D)scanf(\参考答案:B
*3.14 阅读以下程序,当输入数据的形式为:25,13,10
main() {int x,y,z;
scanf(\printf(\
}
A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)不确定的值 参考答案:D
参考分析:由于提供数据的格式与规定格式不一致,变量y,z不能获取正确的数据,均为随机值,故三变量之和也是随机数。
3.15 根据题目中已给出的数据输入和输出形式,程序中输入输出语句的正确内容是 。
main()
{int x;float y;
printf(\输入语句 输出语句 }
输入形式:enter x,y:2 3.4 输出形式:x+y=5.40
A)scanf(\ B)scanf(\ printf(\ printf(\C)scanf(\ D)scanf(\ printf(\ printf(\参考答案:B
3.16 以下说法正确的是 。
A)输入项可以为一个实型常量,如scanf(\
B)只有格式控制,没有输入项,也能进行正确输入,如scanf(\C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(\
D)当输入数据时,必须指明变量的地址,如scanf(\参考答案:D
*3.17 根据下面程序及数据的输入和输出形式,程序中输入语句的正确形式应该为 。
main()
{char ch1,ch2,ch3; 输入语句
printf(\}
输入形式:A□B□C 输出形式:A□B
A)scanf(\B)scanf(\C)scanf(\D)scanf(\参考答案:A
参考分析:字符控制格式中有无空格对数据的读取有影响,B)ch1读取A,ch2和ch3为随机字符。C)三个变量分别为A、B、C。D)ch3为随机字符。
3.18 有输入语句:scanf(\为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是 。
A)132
C)a=1□b=3□c=2
参考答案:D
3.19 以下能正确地定义整型变量a,b和c并为其赋初值5的语句是 。
A)int a=b=c=5; B)int a,b,c=5; C)int a=5,b=5,c=5; D)a=b=c=5; 参考答案:C
*3.20已知ch是字符型变量,下面不正确的赋值语句是 。 A)ch='a+b'; B)ch='\\0'; C)ch='7'+'9'; D)ch=5+9 参考答案:A
参考分析:B)为转义字符。C)为7和9两个字符ASCII码值之和的字符。D)为码值为14的字符(控制字符)。
3.21 已知ch是字符型变量,下面正确的赋值语句是 。
A)ch='123'; B)ch='\\xff'; C)ch='\\08'; D)ch=\参考答案:B
3.22 若有以下定义,则正确的赋值语句是 。
int a,b;float x;
A)a=1,b=2, B)b++; C)a=b=5 D)b=int(x); 参考答案:B
参考分析:这里强调的是赋值语句,请注意赋值表达式与赋值语句的区别。 3.23设x、y均为float型变量,则以下不合法的赋值语句为________。 A) ++x; B)y=(x%2)/10; C)x*=y+8 D)x=y=0 参考答案:B
*3.24 设x、y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x、y和z的值是 。
A)x=10 B)x=10 C)x=10 D)x=10 y=15 y=10 y=10 y=5 z=10 z=10 z=15 z=10 参考答案:A
3.25 设有说明:double y=0.5,z=1.5;int x=10;则能够正确使用C语言库函数的赋值语句是 。
A)z=exp(y)+fabs(x); B)y=log10(y)+pow(y); C)z=sqrt(y-z);
D)x=(int)(atan2((double)x,y)+exp(y-0.2)); 参考答案:D
参考分析:本题有些偏,其他选项错误的原因为A)fabs(x),x不是double型。B)pow(y)其格式原型为double pow(double y,double x)。C)y-z为负数。 3.2 填空题
*3.26以下程序的输出结果为( )。
main() {short i; i=-4;
printf(\}
参考答案:i:dec=-4, oct=177774, hex=fffc, unsigned=65532 *3.27 以下程序的输出结果为( )。
main()
{printf(\
}
参考答案:*3.140000,3.142*
分析:不能输出的位会向前一位四舍五入输出。 3.28以下程序的输出结果为( )。
main() {char c='x';
printf(\}
参考答案:c:dec=120, oct=170, hex=78, ASCII=x
*3.29 已有定义int d=-2;执行以下语句后的输出结果是( )。
printf(\printf(\参考答案:*d(1)=-2*d(2)=□-2*d(3)=-2□*
*d(4)=177776*d(5)=□177776*d(6)=177776□* 3.30已有定义int d=-2;执行以下语句后的输出结果是( )。
printf(\printf(\参考答案:*d(1)=-2*d(2)=□-2*d(3)=-2□*
*d(4)=fffe*d(5)=□□fffe*d(6)=fffe□□*
*3.31已有定义float d1=3.5,d2=-3.5;执行以下语句后的输出结果是( )。
printf(\printf(\
参考答案:*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=□3.500e+00*
*d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00□*
参考分析:通过本题应注意%f和%e在规定小数点后位数的区别。%e小数位后面位数含e标志。
3.32 以下程序的输出结果是( )。
main()
{int x=1,y=2;
printf(\printf(\}
参考答案:x=1 y=2 *sum*=3 10 Squared is :100
*3.33 以下程序的输出结果是( )。
#include
{int x=10;float pi=3.1416; printf(\printf(\printf(\printf(\printf(\printf(\printf(\printf(\}
参考答案:(1)10