C语言参考题库.docx
- 文档编号:27530054
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:102
- 大小:48.01KB
C语言参考题库.docx
《C语言参考题库.docx》由会员分享,可在线阅读,更多相关《C语言参考题库.docx(102页珍藏版)》请在冰豆网上搜索。
C语言参考题库
作业:
完成以下所有的选择题与编程题。
一选择题复习:
1.(分值:
0.8分)已知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);
序号:
1030难度:
2考查点:
顺序结构
2.(分值:
0.8分)设有定义:
longx=-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);
序号:
1032难度:
1考查点:
顺序结构
3.(分值:
0.8分)若有以下程序:
main()
{intk=2,i=2,m;
m=(k+=i*=k);printf(“%d,%d\n”,m,i);
}
执行后的输出结果是()。
A:
8,6
B:
8,3
C:
6,4
D:
7,4
序号:
1033难度:
1考查点:
顺序结构
4.(分值:
0.8分)有以下程序段
intn=0,p;
do{scanf(“%d”,&p);n++;}while(p!
=12345&&n<3);
此处do—while循环的结束条件是
A:
P的值不等于12345并且n的值小于3
B:
P的值等于12345并且n的值大于等于3
C:
P的值不等于12345或者n的值小于3
D:
P的值等于12345或者n的值大于等于3
序号:
1038难度:
1考查点:
循环控制
5.(分值:
0.8分)x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输
入语句是
A:
INPUTx、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);
序号:
1085难度:
1考查点:
顺序结构
6.(分值:
0.8分)以下程序的输出结果是()。
main()
{inta=3;
printf(“%d\n”,(a+a-=a*a));
}
A:
–6
B:
12
C:
0
D:
-12
序号:
1086难度:
2考查点:
顺序结构
7.(分值:
0.8分)t为int类型,进人下面的循环之前,t的值为0
while(t=l)
{……}
则以下叙述中正确的是()。
A:
循环控制表达式的值为0
B:
循环控制表达式的值为1
C:
循环控制表达式不合法
D:
以上说法都不对
序号:
1090难度:
1考查点:
循环控制
8.(分值:
0.8分)以下程序的输出结果是()。
main()
{intnum=0;
while(num<=2)
{num++;printf(“%d\n”,num);
}
}
A:
1
2
3
4
B:
1
2
3
C:
1
2
D:
1
序号:
1091难度:
1考查点:
循环控制
9.(分值:
0.8分)以下程序的输出结果是
main()
{charc=’z’;
printf(“%c”,c-25);
}
A:
a
B:
Z
C:
z-25
D:
y
序号:
1096难度:
1考查点:
顺序结构
10.(分值:
0.8分)若变量已正确说明为float类型,要通过语句scanf(“%f%f%f”,&a,&b,&c);
给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:
A:
10<回车>
22<回车>
33<回车>
B:
10.0,22.0,33.0<回车>
C:
10.0<回车>
22.033.0<回车>
D:
1022<回车>
33<回车>
序号:
1138难度:
2考查点:
顺序结构
11.(分值:
0.8分)以下程序执行后sum的值是()。
min()
{inti,sum;
for(i=1;i<6;i++)sum+=i;
printf(“%d\n”,sum);
}
A:
15
B:
14
C:
不确定
D:
0
序号:
1142难度:
1考查点:
循环控制
12.(分值:
0.8分)有以下程序段
intx=3
do
{printf(“%d”,x-=2);}
while(!
(--x));
其输出结果是
A:
1
B:
30
C:
1-2
D:
死循环
序号:
1143难度:
1考查点:
循环控制
13.(分值:
0.8分)有如下程序
main()
{intx=23;
do
{printf(“%d”,x--);}
while(!
x);
}
该程序的执行结果是
A:
321
B:
23
C:
不输出任何内容
D:
陷入死循环
序号:
1194难度:
1考查点:
循环控制
14.(分值:
0.8分)有如下程序
main()
{intn=9;
while(n>6){n--;printf(“%d”,n);}
}
该程序段的输出结果是
A:
987
B:
876
C:
8765
D:
9876
序号:
1195难度:
1考查点:
循环控制
15.(分值:
0.8分)以下循环体的执行次数是()。
main()
{inti,j;
for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);
}
A:
3
B:
2
C:
1
D:
0
序号:
1239难度:
1考查点:
循环控制
16.(分值:
0.8分)以下叙述正确的是
A:
do-while语句构成的循环不能用其它语句构成的循环来代替。
B:
do-while语句构成的循环只能用break语句退出。
C:
用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D:
用do-while语句构成的循环,在while后的表达式为零时结束循环。
序号:
1240难度:
1考查点:
循环控制
17.(分值:
0.8分)下列程序的运行结果是()。
#include
main()
{inta=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
序号:
1245难度:
1考查点:
顺序结构
18.(分值:
0.8分)以下程序的输出结果是()。
main()
{intx=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d,%d",x--,y);
}
A:
10192
B:
9876
C:
10990
D:
101091
序号:
1289难度:
1考查点:
循环控制
19.(分值:
0.8分)以下程序的输出结果是()。
main()
{intn=4;
while(n--)printf("%d",--n);
}
A:
20
B:
31
C:
321
D:
210
序号:
1296难度:
1考查点:
循环控制
20.(分值:
0.8分)以下叙述中正确的是
A:
输入项可以是一个实型常量,如:
scanf("%f",3.5);
B:
只有格式控制,没有输入项,也能正确输入数据到内存,例如:
scanf("a=%d,b=%d")''
C:
当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:
scanf("%4.2f",&d);
D:
当输入数据时,必须指明变量地址,例如:
scanf("%f",&f);
序号:
1333难度:
1考查点:
顺序结构
21.(分值:
0.8分)当执行以下程序段时()。
x=-1;
do{x=x*x;}while(!
x);
A:
循环体将执行一次
B:
循环体将执行两次
C:
循环体将执行无限次
D:
系统将提示有语法错误
序号:
1341难度:
1考查点:
循环控制
22.(分值:
0.8分)在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出为
#include
main()
{charch;
while((ch=getchar())!
=''\n'')
{if(ch>=''A''&&ch<=''Z'')ch=ch+32;
elseif(ch>=''a''&&ch<=''z'')ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
A:
ABCdef
B:
abcDEF
C:
abc
D:
DEF
序号:
1364难度:
1考查点:
循环控制
23.(分值:
0.8分)若有定义:
intx,*pb;则以下正确的赋值表达式是()
A:
*pb=&x;
B:
pb=x;
C:
pb=&x;
D:
*pb=*x;
序号:
137难度:
1考查点:
指针
25.(分值:
0.8分)若有intk=2,*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执
行的语句是()
A:
k=*ptr1+*ptr2;
B:
ptr2=k;
C:
ptr1=ptr2;
D:
k=*ptr1*(*ptr2);
序号:
142难度:
1考查点:
指针
26.(分值:
0.8分)变量的指针,其含义是指该变量的
A:
值
B:
地址
C:
名
D:
一个地址
序号:
143难度:
1考查点:
指针
27.(分值:
0.8分)若有语句int*pointa=4;和point&a;下面均代表地址的一组选项是
()
A:
a,point,*&a
B:
&*a,&a,*point
C:
*&point,*point,&a
D:
&a,&*point,point
序号:
144难度:
1考查点:
指针
28.(分值:
0.8分)合法的数组定义是
A:
inta[]="string";
B:
inta[5]={0,1,2,3,4,5};
C:
vhsts="string";
D:
chara[]={0,1,2,3,4,5};
序号:
1442难度:
1考查点:
数组
29.(分值:
0.8分)若有以下定义和语句:
intu=010,v=0x10,w=10;
printf("%d,%d,%d\n",u,v,w);
则输出结果是:
A:
8,16,10
B:
10,10,10
C:
8,8,10
D:
8,10,10
序号:
1446难度:
1考查点:
顺序结构
30.(分值:
0.8分)若有说明:
int*p,m=5,n;下面正确的程序段是
A:
p=&n;scanf(“%d”,&p);
B:
p=&n;scanf(“%d”,*p);
C:
scanf(“%d”,&n);*p=n;
D:
p=&n;*p=m;
序号:
145难度:
1考查点:
指针
31.(分值:
0.8分)若有定义:
intx,y;chara,b,c;并有以下输入数据(此处
/u代表空格):
1u2
AuBuC
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程
序段是
A:
scanf("x=%dy+%d",&x,&y);a=getchar();b=getchar();c=getchar();
B:
scanf("%d%d",&x,&y);a=getchar();b=getchar();c=getchar();
C:
scanf("%d%d%c%c%c,&x,&y,&a,&b,&c);
D:
scanf("%d%d%c%c%c%c%c%c:
&x,&y,&a,&a,&b,&b,&c,&c);
序号:
1455难度:
2考查点:
顺序结构
32.(分值:
0.8分)设char*s=”\ta\017bc”;则指针变量s指向字符串所占的字节数是
A:
9
B:
5
C:
6
D:
7
序号:
147难度:
1考查点:
指针
33.(分值:
0.8分)下面程序段中,for循环的执行次数是()
char*s=”\ta\018bc”;
for(;s!
=’\0’;s++)printf(“*”);
A:
9
B:
5
C:
6
D:
7
序号:
148难度:
1考查点:
指针
34.(分值:
0.8分)下面能正确进行字符串赋值操作的是
A:
chars[5]={“ABCDE”};
B:
chars[5]={‘A’,’B’,’C’,’D’,’E’};
C:
char*ss="ABCDE";
D:
char*s;scanf(“%s”,s);
序号:
149难度:
1考查点:
指针
35.(分值:
0.8分)设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不
正确执行的赋值语句是()
A:
c=*p1+*p2;
B:
p2=c;
C:
p1=p2;
D:
c=*p1*(*p2);
序号:
151难度:
1考查点:
指针
36.(分值:
0.8分)设有下面的程序段:
chars[]=”china”;char*p;p=s;
则下列叙述正确的是()
A:
s和p完全相同
B:
数组s中的内容和指针变量p中的内容相等
C:
*P与s[0]相等
D:
s数组长度和p所指向的字符串长度相等
序号:
152难度:
1考查点:
指针
37.(分值:
0.8分)下面程序段的运行结果是()
char*format=”%s,a=%d,b=%d\n”;
inta=1,b=10;
a+=b;
printf(format,”a+=b”,a,b);
A:
for,”a+=b”,ab
B:
format,”a+=b”
C:
a+=b,a=11,b=10
D:
以上结果都不对
序号:
153难度:
1考查点:
指针
38.(分值:
0.8分__________)下述对C语言字符数组的描术中错误的是
A:
字符数组可以存放字符串
B:
字符数组中的字符串可以整体输入、输出
C:
可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D:
不可以用关系运算符对字符数组中的字符串进行比较
序号:
1541难度:
1考查点:
数组
39.(分值:
0.8分)定义如下变量和数组:
inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是
for(i=0;i<3;i++)printf("%d",x[i][2-i]);
A:
159
B:
147
C:
357
D:
369
序号:
1544难度:
1考查点:
数组
40.(分值:
0.8分)定义如下变量:
intn=10;则下列循环的输出结果是
while(n>7)
{n--;
printf("%d\n",n);
}
A:
10
9
8
7
B:
9
8
7
6
C:
10
9
8
D:
9
8
7
序号:
1552难度:
1考查点:
循环控制
41.(分值:
0.8分)若有语句:
chars1[]=”string”,s2[8],*s3,*s4=”string2”;则对库函
数strcpy()的正确调用是
A:
strcpy(s1,”string2”);
B:
strcpy(s4,”string1”);
C:
strcpy(s3,”string1”);
D:
strcpy(s2,s4);
序号:
156难度:
1考查点:
指针
42.(分值:
0.8分)下面的程序
main()
{intx=3;
do{
printf("%d\n",x-=2);
}while(!
(--x));}
A:
输出的是1
B:
输出的是1和-2
C:
输出的是3和0
D:
是死循环
序号:
1595难度:
1考查点:
循环控制
43.(分值:
0.8分)以下一维数组a的正确定义是()
A:
inta(10);
B:
floatn=10,a[n];
C:
intn;
scanf("%d",&n);
floata[n];
D:
#definesize10;
longa[size];
序号:
1668难度:
1考查点:
数组
44.(分值:
0.8分)已知:
intx,y;floatz;则以下输入语句错误的是
A:
scanf("%d,%d,%f",&x,&y,&z);
B:
scanf("%d%d%f",&x,&y,&z);
C:
scanf("%d%d%f",&x,&y,&z);
D:
scanf("%d%d%6.2f",&x,&y,&z);
序号:
1680难度:
1考查点:
顺序结构
45.(分值:
0.8分)合法的数组定义是
A:
inta[]="string";
B:
inta[5]={0,1,2,3,4,5};
C:
vhsts="string";
D:
chara[]={0,1,2,3,4,5};
序号:
1686难度:
1考查点:
数组
46.(分值:
0.8分)有以下程序
#include
main()
{chara,b,c,d;
scanf(R%c%cR,&a,&b);
c=getchar();d=getchar();
printf(R%c%c%c%cR,a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:
回车也是一个字符)
12
34
则输出结果是
A:
1234
B:
12
C:
12
3
D:
12
34
序号:
1797难度:
1考查点:
顺序结构
47.(分值:
0.8分)下面说明不正确的是
A:
chara[10]=”china”;
B:
chara[10],*p=a;p=”china”;
C:
char*a;a=”china”;
D:
chara[10],*p;p=a=”china”;
序号:
181难度:
1考查点:
指针
48.(分值:
0.8分)有以下程序
#include
main()
{intb[3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;
for(i=0;i<3;i++)
for(j=ij<=1;j++)t+=b[i][b[j][i]];
printf("%d",t);
}
程序运行后的输出结果是
A:
1
B:
3
C:
4
D:
9
序号:
1812难度:
1考查点:
数组
49.(分值:
0.8分)若有说明语句chara[]=”Itismine”;char*p=”Itismine”;
则以下不正确的叙述是()
A:
a+1表示的是字符t的地址;
B:
p指向另外的字符串时,字符串的长度不受限制;
C:
p变量中存放的地址值可以改变;
D:
a中只能存放10个字符;
序号:
182难度:
1考查点:
指针
50.(分值:
0.8分)以下不是死循环的语句为()
A:
for(y=1,x=1;x>=++y;x++)
B:
for(;;x++)
C:
while
(1){x++;}
D:
for(i=10;;i--)
序号:
1824难度:
1考查点:
循环控制
51.(分值:
0.8分)在C语言中,能实现字符串连接的函数是()
A:
strcat()
B:
strcmp()
C:
strcpy()
D:
strlen()
序号:
1827难度:
1考查点:
数组
52.(分值:
0.8分)若有定义chars[10];则在下面表达式中不表示s[1]的地址是
A:
s+1
B:
s++
C:
&s[0]+1
D:
&s[1]
序号:
183难度:
1考查点:
指针
53.(分值:
0.8分)下面程序段的运行结果是()
chars[6];s=”abcd”;printf(“\”%s\”\n”,s);
A:
”abcd”
B:
”abcd“
C:
\”abcd\”
D:
编译出错
序号:
184难度:
1考查点:
指针
54.(分值:
0.8分)在C语言中,执行语句:
for(j=2;j<=6;++j,j++)printf("%d",j);后,输出
结果是()。
A:
12345
B:
135
C:
246
D:
134
序号:
1841难度:
1考查点:
循环控制
55.(分值:
0.8分)若有下面定义,则对a数组元素的正确引用是()
inta[5],*p=a;
A:
*&a[5]
B:
a+2
C:
*(p+5)
D:
*(a+2)
序号:
187难度:
1考查点:
指针
56.(分值:
0.8分)若有下面定义,则对a数组地址的正确引用是()
inta[5],*p=a;
A:
&a[0]
B:
&a+1
C:
p+5
D:
*a+1
序号:
188难度:
1考查点:
指针
57.(分值:
0.8分)若有下面定义,则p+5表示()
inta[10],*p=a;
A:
元素a[5]的地址
B:
元素a[5]的值
C:
元素a[6]的值
D:
元素a[6]的地址
序号:
189难度:
1考查点:
指针
58.(分值:
0.8分)以下程序段给数组所有元素输入数据,空处应填入()
main()
{inta[10],i=0;
while(i<10)scanf(“%d”,_______________);}
A:
a+i
B:
&a[++i]
C:
a+(i++)
D:
&a[i]
序号:
191难度:
1考查点:
指针
59.(分值:
0.8分)下面程序是把数组元素中的最小值放入a[0]中,则在if语句中应填入
()
main()
{staticinta[10]={3,5,3,4,5,6,65,345,2,45},*p=a,i;
for(i=0;i<10;i++,p++)
if(___________)*a=*p;
}
A:
p B: *p C: *p<*a[0] D: *p[0]<*a[0] 序号: 193难度: 1考查点: 指针 60.(分值: 0.8分)在C语言中,以下的for循环()。 for(x=0,y=0;(y! =123)&&(x<4); x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 参考 题库