通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
第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题
#include <stdio.h> main() { int k=-17; printf("%d,%o,%x\n",k,1-k,1-k); }
程序的运行结果是( )。
-17,22,12
-17,12,22
-17,-22,-12
17,22,12
第8题
有以下程序段:
char ch; int k; ch='a'; k =12; printf("%c,%d,",ch,ch,k); printf("k=%d\n",k);
已知字符a的ASCII码十进制值为97,则执行上述程序段后输出的结果 是( )。
因变量类型与格式描述符的类型不匹配输出无定值
输出项与格式描述符个数不符,输出为零值或不定值
a,97,12k=12
a,97,k=12
第9题
#include <stdio.h> main() { int a=1,b=0; printf("%d,",b=a+b); printf("%d\n",a=2*b); }
程序运行后的输出结果是( )。
0,0
1,0
3,2
1,2
第10题
程序段:
int x=12; double y=3.141593; printf("%d%8.6f",x,y);
输出结果是( )。
123.141593
123.141493
12,3.141593
123.1415930
第11题
有以下程序
#include <stdio.h> main() { int a=2,c=5; printf("a=%%d,b=%%d\n",a,c); }
a=2,b=5
a=%2,b=%5
a=%d,b=%d
a=%%d,b=%%d
第12题
#include <stdio.h> main() { char a,b,c,d; scanf("%c%c",&a,&b); c=getchar();d=getchar(); printf("%c%c%c%c\n",a,b,c,d); }
当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回 车,注意:回车是一个字符)
12<CR> 34<CR>
则输出结果是( )。
12<CR>3
12
1234
12<CR>34
第13题
设有:
char 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题
int 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题
若有定义和语句
int a,b; scanf("%d,%d",&a,&b);
以下选项中的输入数据,不能把值3赋给变量 a、5赋给变量b的是 ( )(说明:符号u表示空格)。
3,5,
3,5,4
3,u5
3,5
第16题
若有定义:
int a,b;
通过语句
scanf("%d;%d",&a,&b);
能把整数3赋给变量a,5赋给变量b的输入数据是( )。
3 5
3;5
35
第17题
设有以下语句:
char ch1,ch2; scanf("%c%c",&ch1,&ch2);
若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是 ( )。
A和B之间用逗号间隔
A和B之间不能有任何间隔符
A和B之间可以用回车间隔
A和B之间用空格间隔
第18题
char c1,c2,c3; scanf("%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题
int a; float b; double 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题
若有定义语句
double 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题
int a,b,c,*p=&c;
接着执行以下选项中的语句,则能正确执行的语句是( )。
scanf("%d%d%d",a,b,c);
scanf("%d",p);
scanf("%d",a,b,c);
scanf("%d",&p);
第22题
char name[20]; int num; scanf("name=%s num=%d",name,&num);
当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为( )。
Lili
name=Lili
Lili num=
name=Lili num=1001
第23题
设有定义
double x[10],*p=x;
以下能给数组x下标为6的元素读入数据的正确语句是( )。
scanf("%f",&x[6]);
scanf("%1f",*(x+6));
scanf("%1f",p+6);
scanf("%1f",p[6]);
第24题
#include <stdio.h> main() { int a1,a2; char c1,c2; scanf("%d%c%d%c",&a1,&c1,&a2,&c2); printf("%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型,要通过语句
scanf("%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题
设变量均已正确定义,若要通过
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
语句为变量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题
#include <stdio.h> main() { char c1,c2,c3,c4,c5,c6; scanf("%c%c%c%c", &c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf("%c%c\n",c5,c6); }
程序运行后,若从键盘输入(从第1列开始)123<回车>45678<回车>则输出结果是( )。
1245
1256
1278
1267
第30题
有以下程序段
#include <stdio.h> main() { int j; float y; char name[50]; scanf("%2d%f%s",&j,&y,name); }
当执行上述程序段,从键盘上输入55566 7777123后,y的值为 ( )。
566.0
55566.0
7777.0
566777.0
第31题
int a;float b;
执行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 { char name[10]; int age; char 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题
int a,b,c; a=10;b=50;c=30; if(a>b)a=b,b=c;c=a; printf("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分)