第1题
以下叙述中正确的是( )。
赋值语句是一种执行语句,必须放在函数的可执行部分
scanf和printf是C语言提供的输入和输出语句
由printf输出的数据都隐含左对齐
由printf输出的数据的实际精度是由格式控制中的域宽和小数的域 宽来完全决定的
第2题
在scanf函数的格式串中,必须有与输入项一一对应的格式转换说 明符
只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指 定输入数据占的宽度
scanf函数中的字符串是提示程序员的,输入数据时不必管它
复合语句也被称为语句块,它至少要包含两条语句
第3题
以下能正确输出字符a的语句是( )。
printf("%s", "a");
printf("%s", 'a');
printf("%c", "a");
printf("%d", 'a');
第4题
以下不能输出字符A的语句是( )。(注:字符A的ASCII码值 为65,字符a的ASCII码值为97。)
printf("%c\n",'a'-32);
printf("%d\n",'A');
printf("%c\n",65);
printf("%c\n",'B'-1);
第5题
设有定义:
double x=2.12;
以下不能完整输出变量x值的语句是 ( )。
printf("x=%5.0f\n",x);
printf("x=%f\n",x);
printf("x=%lf\n",x);
printf("x=%0.5f\n",x);
第6题
有以下程序:
#include <stdio.h>
main()
{
int
k=10;
printf
(
"%4d,%o,%x\n"
,k,k,k);
}
程序的运行结果是( )。(u代表一个空格)
10,12,a
uu10,012,a
010,12,a
uu10,12,a
第7题
k=-17;
"%d,%o,%x\n"
,k,1-k,1-k);
程序的运行结果是( )。
-17,22,12
-17,12,22
-17,-22,-12
17,22,12
第8题
有以下程序段:
char
ch;
k;
ch=
'a'
;
k =12;
"%c,%d,"
,ch,ch,k);
"k=%d\n"
,k);
已知字符a的ASCII码十进制值为97,则执行上述程序段后输出的结果 是( )。
因变量类型与格式描述符的类型不匹配输出无定值
输出项与格式描述符个数不符,输出为零值或不定值
a,97,12k=12
a,97,k=12
第9题
a=1,b=0;
"%d,"
,b=a+b);
"%d\n"
,a=2*b);
程序运行后的输出结果是( )。
0,0
1,0
3,2
1,2
第10题
程序段:
x=12;
double
y=3.141593;
"%d%8.6f"
,x,y);
输出结果是( )。
123.141593
123.141493
12,3.141593
123.1415930
第11题
有以下程序
a=2,c=5;
"a=%%d,b=%%d\n"
,a,c);
a=2,b=5
a=%2,b=%5
a=%d,b=%d
a=%%d,b=%%d
第12题
a,b,c,d;
scanf
"%c%c"
,&a,&b);
c=
getchar
();d=
();
"%c%c%c%c\n"
,a,b,c,d);
当执行程序时,按下列方式输入数据(从第一列开始,代表回 车,注意:回车是一个字符) 1234则输出结果是( )。
12<CR>3
12
1234
12<CR>34
第13题
设有:
s[5],c;
则调用函数scanf能正确给s和c读入数据的是 ( )。
scanf("%s%c",s,c);
scanf("%d%c",&s,&c);
scanf("%d%c",s,&c);
scanf("%s%c",s,&c);
第14题
a,b;
float
x,y;
则以下选项中对语句所作的注释叙述错误的是( )。
scanf("%d%d%f",&a,&b); /* 多余的格式符%f完全不起作用 */
scanf("%d%d",&a,&b,&x); /* 多余的输入项不能获得输入数据 */
scanf("%d%f%d",&a,&b,&x); /* 输入项与格式符类型不匹配,变 量b和x得不到正确的输入数据 */
scanf("Input:%d%d",&a,&b); /* 格式串中允许加入格式符以外的 字符串 */
第15题
若有定义和语句
"%d,%d"
以下选项中的输入数据,不能把值3赋给变量 a、5赋给变量b的是 ( )(说明:符号u表示空格)。
3,5,
3,5,4
3,u5
3,5
第16题
若有定义:
通过语句
"%d;%d"
能把整数3赋给变量a,5赋给变量b的输入数据是( )。
3 5
3;5
35
第17题
设有以下语句:
ch1,ch2;
,&ch1,&ch2);
若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是 ( )。
A和B之间用逗号间隔
A和B之间不能有任何间隔符
A和B之间可以用回车间隔
A和B之间用空格间隔
第18题
c1,c2,c3;
"%c%c%c"
,&c1,&c2,&c3);
若要给c1、c2、c3分别输入字母A、B、C,则以下对输入形式的描述 正确的是( )。
字母A、B、C之问可以用空格分隔
字母A、B、C之间不能有分隔符
字母A、B、C之间可以用回车符分隔
字母A、B、C之间可以用Tab键分隔
第19题
a;
b;
c;
程序运行时输入:
a=1,b=2,c=3<回车>
能把值1输入给变量a、值2输 入给变量b、值3输入给变量c的输入语句是( )。
scanf("a=%d,b=%f,c=%lf",&a,&b,&c);
scanf("%d%f%lf",&a,&b,&c);
scanf("a=%d,b=%lf,c=%lf",&a,&b,&c);
scanf("a=%d,b=%f,c=%f",&a,&b,&c);
第20题
若有定义语句
x,y,*px,*py;
执行了px=&x;py=&y;之后,输入语句正确的是( )。
scanf("%f%f",x,y);
scanf("%f%f"&x,&y);
scanf("%1f%1e",px,py);
scanf("%1f%1f",x,y);
第21题
a,b,c,*p=&c;
接着执行以下选项中的语句,则能正确执行的语句是( )。
scanf("%d%d%d",a,b,c);
scanf("%d",p);
scanf("%d",a,b,c);
scanf("%d",&p);
第22题
name[20];
num;
"name=%s num=%d"
,name,&num);
当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为( )。
Lili
name=Lili
Lili num=
name=Lili num=1001
第23题
设有定义
x[10],*p=x;
以下能给数组x下标为6的元素读入数据的正确语句是( )。
scanf("%f",&x[6]);
scanf("%1f",*(x+6));
scanf("%1f",p+6);
scanf("%1f",p[6]);
第24题
a1,a2;
c1,c2;
"%d%c%d%c"
,&a1,&c1,&a2,&c2);
"%d,%c,%d,%c"
,a1,c1,a2,c2);
若想通过键盘输入,使得a1的值为12,得a2的值为34.得c1的值为a, 得c2的值为b,程序输出结果是:12,a,34,b则正确的输入格式是(以下_代表空格,代表回车)( )。
12a34b<CR>
12_a_34_b<CR>
12,a,34,b<CR>
12_a34_b<CR>
第25题
若变量已正确定义为int型,要通过语句
"%d,%d,%d"
,&a,&b,&c);
给a赋值1、给b赋值2、给c赋值3,以下 输入形式中错误的是(u代表一个空格)( )。
1u2u3<回车>
uuu1,2,3<回车>
1,uuu2,uuu3
1,2,3
第26题
1,2,3<回车>
第27题
设变量均已正确定义,若要通过
语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是 (注:u代表空格字符)( )。
10X20Y
10uX20uY
10uXu20uY
第28题
若有定义
程序运行时输入:3 4 5<回车>能把值3输入给变量a、4输入给变量b、5输入给变量C的语句是 ( )。
scanf("%lf%lf%lf",&a,&b,&c);
scanf("%d%lf%lf",&a,&b,&c);
scanf("%d%f%f",&a,&b,&c);
第29题
c1,c2,c3,c4,c5,c6;
"%c%c%c%c"
, &c1,&c2,&c3,&c4);
c5=
c6=
putchar
(c1);
(c2);
"%c%c\n"
,c5,c6);
程序运行后,若从键盘输入(从第1列开始)123<回车>45678<回车>则输出结果是( )。
1245
1256
1278
1267
第30题
有以下程序段
j;
y;
name[50];
"%2d%f%s"
,&j,&y,name);
当执行上述程序段,从键盘上输入55566 7777123后,y的值为 ( )。
566.0
55566.0
7777.0
566777.0
第31题
执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876 543.0,则a和b的值分别是( )。
87和6.0
876和543.0
87和543.0
76和543.0
第32题
有以下结构体说明、变量定义和赋值语句
struct
STD
name[10];
age;
sex;
}s[5],*ps;
ps = &s[0];
则以下scanf函数调用语句有错误的是( )。
scanf("%s",s[0].name);
scanf("%d",&s[0].age);
scanf("%c",&(ps->sex));
scanf("%d",ps->age);
第33题
a,b,c;
a=10;b=50;c=30;
if
(a>b)a=b,b=c;c=a;
"a=%db=%dc=%d"
,a,b,c);
程序的输出结果是( )。
a=10 b=50 c=30
a=10 b=50 c=10
a=10 b=30 c=10
a=50 b=30 c=50
选择题(1- 33题,共计100分)