C语言复习题一Word下载.docx
- 文档编号:8234201
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:12
- 大小:21.24KB
C语言复习题一Word下载.docx
《C语言复习题一Word下载.docx》由会员分享,可在线阅读,更多相关《C语言复习题一Word下载.docx(12页珍藏版)》请在冰点文库上搜索。
chara[30]=”china\0\t’\\”;
则strlen(a)和sizeof(a)的值是(B)
A、3030B、530
8函数调用“strcat(strcpy(str1,str2),str3)”的功能是()
A将字符串str1复制到字符串str2后再连接到字符串str3之后
B将字符串str1连接到字符串str2后再复制到字符串str3之后
C将字符串str2复制到字符串str1后再将字符串str3连接到字符串str1之后
D将字符串str2复制到字符串str1后再将字符串str1连接到字符串str3之后
9以下对C语言函数的有关描述,正确的使(A)
A在C中调用函数时,只有把实参的值传给形参,形参的值不能传给实参
B函数既可以嵌套定义又可以递归调用
C函数必须有返回值,否则不能使用函数
D程序中有调用关系的所有函数必须放在同一个源程序文件中
10inti=9,执行下列程序后i的值是:
()
swith(i)
{case9:
i+=1;
case10:
case11:
i-=1;
defaut:
}
11、已知:
intx=1,y=2,则执行z=x>
y?
++x:
++y,z的值为()
12已知:
a=b=c=1且均为int型变量,则执行以下语句:
++a||++b&
&
++c;
变量a值为①(),b值为②()。
①
A.不正确B.0C.2D.1
②
A.1B.2C.不正确D.0
13.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是(B)。
A.地址传递B.单向值传递
C.双向值传递。
即由实参传给形参,再由形参传回给实参
D.由用户指定传递方式
14.若有语句:
inta=4,*p=&
下面均代表地址的一组选项是(C)。
A.a,p,&
*aB.*&
a,&
a,*pC.&
a,p,&
*pD.*&
p,*p,&
a
15.下述对C语言字符数组的描述中错误的是(B)。
A.字符数组可以存放字符串。
B.字符数组的字符可以整体输入、输出。
C.可以在赋值语句中通过赋值运算符"
="
对字符数组整体赋值。
D.可以用关系运算符对字符数组中的字符进行比较。
16.以下关于do-while循环的不正确描述是(B)。
17.下面的选项中正确的赋值语句是(chara[5],*p=a;
)()。
Ap=“abcd”;
Ba=“abcd”;
C*p=“abcd”;
D*a=“abcd”;
18.若k为整形,则while循环执行()次。
k=2;
while(k==0)printf(“%d”,k);
k--;
printf(“\n”);
A10B9C0D1
19.数组名作为实参传递给形参时,数组名被处理为( )。
A该数组的长度B该数组的元素个数C该数组的首地址D该数组中各元素的值
20.以下程序的输出结果是()。
{intk1=1,k2=2,k3=3,x=15;
if(!
k1)x--;
elseif(k2)if(k3)x=4;
elsex=3;
printf(“x=%d\n”,x);
Ax=4Bx=15Cx=14Dx=3
1.以下程序的输出结果是( )。
{chars1[20]=“China”,s2[20]=“for”,s[10];
if(strcmp(s1,s2))printf(“%s\n”,strcat(s2,s1));
elseprintf(“%d\n”,strlen(s1));
AChinaforB5CforChinaD3
2.若有下面的变量定义,以下语句中合法的是()。
inti,a[10],*p;
Ap=a+2;
Bp=a[5];
Cp=a[2]+2;
Dp=&
(i+2);
3.以下的for循环()。
for(x=0,y=0;
(y!
=123)&
(x<
4);
x++);
(A)执行3次(B)执行4次
(C)循环次数不定(D)是无限循环
4.以下程序的输出结果为()。
main()
{inti=010,j=10,*pi,*pj;
pi=&
i;
pj=&
j;
%d.%d\n"
*pi,*pj);
(A)10,10(B)8,10(C)010,10(D)8,8
5.在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为()。
A只能是逻辑表达式B只能是关系表达式
C只能是逻辑表达式或关系表达式D可以是任意表达式
6.数组名作为实参数传递给函数时,数组名被处理为()。
A该数组的长度B该数组的元素个数
C该数组的首地址D该数组中各元素的值
7.若有下面的变量定义,以下语句中合法的是()。
inti,a[10],*p;
8.C语言源程序的基本单位是()。
A过程B函数C子程序D标识符
9.下列程序的输出结果是()。
main()
{inta=7,b=5;
printf("
%d\n"
b=b/a);
A5B1C0D不确定值
10.设有如下程序段,下面描述中正确的是()。
intk=10;
while(k=0)k=k-1;
A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次
11.在C语言程序中,以下说法正确的是( )。
A函数的定义可以嵌套,但函数的调用不可以嵌套
B函数的定义不可以嵌套,但函数的调用可以嵌套
C函数的定义和函数的调用都不可以嵌套
D函数的定义和函数的调用都可以嵌套
12.以下函数调用语句中含有()个实参。
func(e1,e5));
A2B3C5D语法错误
13.下面选项中正确的赋值语句是(设chara[5],*p=a;
Ap="
abcd"
;
Ba="
C*p="
D*a="
14、若有定义:
inta=8,b=5,c;
执行语句c=a/b+0.4
;
后,c的值为()。
A)1.4B)1C)2.0D)2
15、以下各语句或语句组中,正确的操作是()。
A)chars[5]="
abcde"
B)char*s;
gets(s);
C)char*s;
s="
D)chars[5];
%s"
&
s);
16、对以下程序段,while循环执行的次数是()。
intk=0
while(k=1)k++;
A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次
17、函数调用:
strcat(strcpy(str1,str2),str3)的功能是()。
A)将串str1复制到串str2中后再连接到串str3之后
B)将串str1连接到串str2之后再复制到串str3之后
C)将串str2复制到串str1中后再将串str3连接到串str1之后
D)将串str2连接到串str1之后再将串str1复制到串str3中
18、以下程序的输出结果是()。
#include<
stdio.h>
{inta=5,b=4,c=6,d;
printf(“%d\n”,d=a>
b?
(a>
c?
a:
c):
b);
A)5B)4C)6D)不确定
19、以下程序的输出结果是()。
voidmain()
{inta=4,b=5,c=0,d;
d=!
a&
!
b||!
c;
printf(“%d\n”,d);
A)1B)0C)非0的数D)–1
20、执行以下程序段后的输出结果是()。
intx=2,y=3,z;
z=(x++,y++);
printf(“%d”,z);
A)3B)2C)5D)4
21、执行以下程序后的输出结果是()。
voidmain(void)
inti=010,j=10,a=0x10;
printf(“%d,%d,%d\n”,i,j,a);
A)8,10,16B)8,10,10C)10,10,10D)10,10,16
22、以下程序执行后sum的值是()
{
inti,sum;
for(i=1;
i<
6;
i++)sum+=i;
sum);
A)15B)14C)不确定D)0
23、执行以下程序段后的输出结果是()
intx=10;
printf(“%d”,++x);
printf(“%d”,x--)
A)1110B)1111C)1011D)1010
24、执行以下程序后的输出结果是()
intx=10;
printf(“%d%d%d\n”,++x,--x,-x++);
A)1110-10B)1010-10C)1011-11D)1111-10
25、若变量c为char类型,则能正确判断出c为小写字母的表达式是()。
A)'
a'
<
=c<
='
z'
B)(c>
)||(c<
)
C)('
=c)and('
>
=c)D)(c>
)&
(c<
+15、设有语句chara='
\72'
则变量a包含的字符个数是()。
A)1B)2C)3D)说明不合法
填空
1.若有定义:
charc='
\010'
则变量C中包含的字符个数为()。
2.设a、b、c均是int型变量,则执行以下for循环后,c的值为()。
for(a=1,b=5;
a<
=b;
a++)c=a+b;
3.设a=3,b=4,c=5,则表达式a||b+c&
b==c的值是()。
4.若a=6,b=4,c=2,则表达式!
(a-b)+c-1&
b+c/2的值是()。
5.下面程序片段中循环体的执行次数是()次。
for(i=1,s=0;
11;
i+=2)s+=i;
6.若有以下定义和语句:
inta[4]={0,1,2,3},*p;
a[2];
则*--p的值是
(1)。
7.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()。
8.设a、b、c均是int型变量,则执行以下for循环后,c的值为()。
9.若a=2,b=4,则表达式!
(x=a)||(y=b)&
0的值是(0)。
10.若有定义:
inta[]={2,4,6,8,10,12},*p=a;
则*(p+1)的值是(4),*(a+5)的值是(12)。
11.若有以下定义和语句:
inta[5]={1,3,5,7,9},*p;
则++(*p)的值是(6)。
12.若有inta[3]={10,12,30};
则a+1是()的地址,*(a+2)=()。
+1.当执行完以下语句后,变量a的值为(),b的值为(),c的值为()。
a=6;
b=++a;
c=--a;
13.C语言源程序文件名的后缀是(),经过编译后,生成文件的后缀是(),经过连接后,生成文件的后缀是()
简答题:
书中概念略
编程题:
读程序
1补充程序,以下函数的功能是,把两个整数型指针所指的存储单元中的内容进行交换。
voidexchange(int*x,int*y)
intt;
t=*y;
*y=;
*x=;
2.以下程序实现:
输入三个整数,按从大到小的顺序进行输出。
intx,y,z,c;
%d%d%d"
x,&
y,&
z);
if(z>
y){c=y;
y=z;
z=c;
if(z>
x){c=x;
x=z;
if(y>
x=y;
y=c;
%d,%d,%d"
x,y,z);
3.以下程序完成输出3到1000之间的所有素数。
#include<
viodmain()
{inti,j;
for(i=3;
=1000;
i++)
{for(j=2;
j<
=i-1;
j++)
if(__i%j==0__)
break;
if(j==i)
printf(“%5d”,i);
4如下程序利用指针变量使x和y变量之值进行交换。
main()
{swap(int*ptr1,int*ptr2);
intx,y,*ptr1,*ptr2;
printf(“Inputx,y”);
scanf(“%d%d”,&
y);
printf(“%d\t%d\n”,x,y);
ptr1=&
x;
ptr2=&
y;
if(x<
y)swap(_ptr1,ptr2_);
voidswap(int*ptr1,int*ptr2)
{inttemp;
temp=*ptr1;
*ptr1=*ptr2;
*ptr2=temp;
5、读下面程序写出运行结果:
{
intx=35,y=12;
printf(“
(1)x=%dy=%d\n”,x,y);
swap(x,y);
printf(“(4)x=%dy=%d\n”,x,y);
swap(intc,intd)
intt;
printf(“
(2)c=%dd=%d\n”,c,d);
t=c;
c=d;
d=t;
printf(“(3)c=%dd=%d\n”,c,d);
运行结果:
编程序:
1以下程序实现:
输入圆的半径r和运算标志m(像信号灯一样),按照运算标志进行指定计算。
标志运算
a面积
b周长
c二者均计算
参考:
#definepi3.14159
charm;
floatr,c,a;
inputmarka,corbandr:
"
%c%f"
m,&
r);
if(m=='
){a=pi*r*r;
areais%f"
a);
c'
){c=2*pi*r;
circleis%f"
c);
b'
c=2*pi*r;
areaandcircleare%f%f"
a,c);
2.求100~200间的素数(素数>
1,且除了1和自身外,不能被任何其它整数整除),每行输出5个素数。
(可能用到的库函数:
math.h"
中的sqrt原型:
doublesqrt(doublex)计算√x,求x的平方根)。
3.用选择法对数组中的10个数据按由大到小排序。
4.用“起泡法”对输入的10个数据排序后按从小到大的次序输出。
5.用指针作函数参数,编程序求四个数中的最大和最小值。
6.用冒泡法对任意10个按从大到小排序后并输出。
7将一个书组中的值按逆序存放,例如,原先顺序8,6,5,4,1,结果为1,4,5,6,8
{inta[10],i,temp;
for(i=0;
10;
i++)
a[i]);
%5d"
a[i]);
\n"
10/2;
{temp=a[i];
a[i]=a[9-i];
a[9-i]=temp;
8、编写程序,当输入的字母为大写时将其转换成小写字符输入,若为小写字母则原样输出,若输入的不是字母,则打印输出“Yourinputisnotaletter!
”(提示:
ASCII值:
A:
065,Z:
090,a:
097,z:
122)
9、sum=2+5+8+11+14----,输入正整数n,求sum的前n项和。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习题
![提示](https://static.bingdoc.com/images/bang_tan.gif)