C语言期末复习总结卷习题doc.docx
- 文档编号:30132756
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:18
- 大小:26.57KB
C语言期末复习总结卷习题doc.docx
《C语言期末复习总结卷习题doc.docx》由会员分享,可在线阅读,更多相关《C语言期末复习总结卷习题doc.docx(18页珍藏版)》请在冰豆网上搜索。
C语言期末复习总结卷习题doc
期末总复习(基础知识+程序设计部分)
1.己知charch=,A:
则下列表达式的值是:
a
Ch=(chx'A'&&ch<=,Z,)?
(ch+32):
ch;
2.若x=l,y=2,z=3,则表达式z+二++x+y++之值是
3.若x=2,y=3,则x%二y+3Z值为2
4..若有定义inty=3;floatz=5.2,x=4.8;则表达式y+=(int)x+x+z的值为17
5.设x,y,z为int型变量,且x=3,y=・4,z=5,请写岀下列各表达式的值
1)(x&&y)==(x||z)1
2)!
(x>y)+(y!
二z)||(x+y)&&(y・z)0
3)x++-y+什+z)13
6.设x,y,z为int型变量,请用C语言表达式描述下列命题
1)x和y中有——个小于z(xvz&&y>z||x>z&&yvz)=1
2)x,y和z中有两个为负数
(x<0&&y<0&&z>=0||z<0&&yv0&&x>=0||yv0&&x<0&&z>=0)==l
3)y是奇数y%2!
二0
7.下面for循环语句最多可执行4次
For(x=0,y=0;(y!
=99)&&(x<4);x++)
8.设i,j,k均为ini型变量,则执行以下for语句后,k的值是_10
for(i=0,j=10;i<=j;i++,j・・)
k二i+j;
9.若已知x,y,z,m,n均为int型变量,则执行下面语句后,x的值为7v的值
为z的值为
m=10;n=5;
x=(—m==n++)?
—m:
++n;
y二m++;
z=n;
10.若有说明语句:
w=l,x=2,y=3,z=4;则表达式w>x?
w:
z>y?
z:
x值是4
11.若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符
12.凡在函数中未指定存储类型的变量,其隐含的存储类别为
13.在C语言屮,一个函数直接或I、可接地调用自身,编构成函数的
14•如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成在调用函数的文件中将该函数说
明为型。
15.对于所定义的二维数组a[2][3],元素a[l][2]是数组的第6个元素。
N*j+m+l
16.若有定义:
char*str=,lamastudent.^^;则字符串在存储单元中占16个字
节。
17.在执行ima[]⑶二{{1,2},{3,4}};语句后,a[l][2]的值是°
18.调用strlen(uabc\0ef\0g")的返回值是一3。
\0为停止符
19.设有定义:
chars[12]="string";则printf(<<%d\n,,,strlen(s));的输出值是6
20.执行下列程序段后,和等于
inta[5J={1,3,5,7,9};*p=a;p++;
2.判断(trueorfalse)
1.调用函数吋,实参的类型、个数和顺序与函数定义吋形参的类型、个数和顺序完全一致。
T
2.函数可以嵌套定义F
3.函数必须有返回值,否则不能正确作用F
4.C程序中有调用关系的所有函数必须放在同一源程序文件中。
F
5.全局变量与函数体内定义的局部变量重名吋,局部变量不起作用。
F
6.函数定义时可以不制定形参的类型,函数调用时由实参的类型决定形参的类型F
7.当函数定义放在main()®数前面时,可以缺省函数声明。
T
8.C语言中允许函数嵌套调用T
9.局部静态变量是在编译时赋初值的,即只赋一次初值。
T
10.外部变量必须定义在文件的开头部分F
11.字符是字符串的结朿标记,其ASCII码为0.T
12.若有说明:
inta[3][4]={0};则数组a中每个元素的初值都为0.T
13.若有说明:
inta[2][4]={0,0);则只有a[0][0]和a[0][l]的初值为0,其余元素的初值均不为0.F
14.若有说明:
inta[3][4];则数组a中各元素可在程序的编译阶段达到初值0.F
15.若用数组名作为函数调用时的实参,则实际上传递给形参的是数组的第一个元素值。
F
16.在两个字符串的比较中,字符个数多的字符串比字符少的字符串大。
F
17.当需要接受用户从键盘上输入的含有空格的字符串时,应使用gets()函数。
T
1&在C语言中,二维数组元素在内存中的存放顺序可以随意调整变化。
F
19.&b指的是变量b的地址处所存放的值;F
20.指针变量可用于保存同类型变量的地址值;F
21.存放地址的变量同其他类型的变量一样,可以存放任何类型的数据;F
22.指向同一数组的两指针pl,p2相减的结果与所指元素的下标相减的结杲是相同的。
F
23.如果泄义函数时参数是指针变量,那么,调用函数时的参数就可以是同类型的指针变量,数组名或简单变量的地址T
24.char*name[5]定义了一个一维指针数组,它有5个元素,每个元素都是指向字符数据的指针型数据。
F
25.语句y=*p++;和y=(p)++;是等价的。
F
26.函数指针指向的是函数的入口地址。
T
27.int*p;定义了一个指针变量,英值是整型的。
F
28.用指针作为函数参数时,釆用的是“地址传送”方式・T
三、选择题
1.下列变量名中哪些是合法的?
n2aa#C$t3
var0int
2.语言中用表示逻辑值“真”
o
A)trueB)整型值0
C)非零整数值
D)T
3.下列合法的字符常量为。
A)naHB)1\nf
C)1china1
D)a
4.设有语句charc=*\72';则变量c。
A)包含1个字符B)包含2个字符C)包含3个字符D)不合法
5.字符串n\t\nName\\Address\nn的长度为。
A)19B)15C)18D)不合法
6.设a.fb,c为int型变量,且a=3,b=4,c=5,下面表达式值为0的是
A)faf&&
B)a<=b
C)a||b+c&&
b-c
D)!
((a
&&!
c||
1)
7.
若有以下定义:
chara;
intb
;floatc;
doubled;
则表达式a*b
+d-c
的值的类型为.
A)float
B)int
C)
char
D)double
设有语句inta=
3;执行了语句m+=a-
=a*a;
后,
变量a的值是
A)3
B)0
C)
9
D)-12
9.设有语句inta=3;执行了语句printf(n%dnz-a++);后,输出的结果是_C,变量a的值是_Do
A)3B)4C)・3D)-2
10.将下列数学表达式表示为合法的C语言表达式。
(1)
y/a2+b?
(2)
|(a+b)(c+c/)+2
(3)
(lnx+sin(y))/2
2c
(4)
(5)
1
(6)
sin(3(T)+2K
1+-
2y+>严
X
12.
F列可作为C语言赋值语句的是:
0
A)
x=3,y=5
B)a
=b=c
C)i—;
D)y=int(x
13.以下程序的输出结果为:
o
main()
{
inta=2,c=5;
printf(ua=%%d,b=%%d\n“,a,c);
A)a=%2zb=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%d
14.在下面的条件语句中,只有一个在功能上与其它三个语句不等价(其中si和s2表示
它是C语句),这个不等价的语句是:
。
A)if(a)si;elses2;
B)if(?
a)s2;elsesi;
C)if(a!
=0)si;elses2;
D)if(a==0)si;elses2;
15.设有声明语句:
inta=lzb=0;Km行以下语句后输出为:
o
switch(a)
{
case1:
switch(b)
case0:
printf(f,**0**,f);break;
case1:
prin;break;
}
case2:
printf(H**2**n)/break;
}
A)**0**B)**0****2**c)**0****l****2**D)有语法错误
16.在while(x)语句中的x与下面条件表达式等价的是:
o
A)x==0B)x==1C)x!
=1D)x!
=0
17.若intx;且有下面的程序片断,则输出结果为:
o
for(x=3;x<6;x++)
print£((x%2)==0?
:
x);
}
A)
**3
B)##3
C)##3D)**3##4
##4
★*4
**4##5**5
**5
##5
18.以下能对外部的一维数组a(含有10个元素)进行正确初始化的语句是:
o
A)inta[10]=(0,0,0,0,0);
B)inta[10]={};
C)inta[]={0};
D)inta[10]={10*1};
19.以下能对外部的二维数组a进行正确初始化的语句是:
o
A)inta[2][]={{1,0,1},{5,2,3}};
B)inta[][3]={{1,2,1},{5,2,3}};
C)2inta[2][4]={{1,2,1},{5,2},{6}};
D)inta[][3]={{1,0,2},{},{2,3}};
20.若二维数组a有m列,则在a[i][j]之前的元素个数为:
。
A)j*m+iB)i*m+jC)i*m+j-1D)i*m+j+1
21.已知:
staticinta[3][4];则数组3中各元素。
A)可在程序运行阶段得到初值0B)可在程序编译阶段得到初值0
C)不能得到确定的初值D)可在程序的编译或运行阶段得到初值()
22.判断字符串si是否大于字符串s2,应当使用:
。
A)if(si>s2)B)if(strcmp(slzs2))
C)if(strcmp(s2zsi)>0)D)if(strcmp(si,s2)>0)
23..若用数组名作为函数调用时的实参,则实际上传递给形参的是:
。
A)数组的首地址;B)数组的第一个元素值;
C)数组中全部元素的值;D)数组元素的个数。
24.在函数调用吋,以下说法中正确的是:
。
A)在C语言中,实参与其对应的形参各占独立的存储单元;
B)在C语言中,实参与其对应的形参共占同一个存储单元;
C)在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;
D)在C语言中,形参是虚拟的,不占存储单元。
25.C语言中形参的缺省存储类别是:
。
A)自动(auto)B)静态(static)C)寄存器(register)D)外部
(extern)
26.C语言规定:
简单变量做实参时,它和对应形参之间数据的传递方式为:
—A)地址传递;B)单向值传递;
C)由实参传给形参,再由形参传回给实参;D)由用户指定传递方式。
27.
(1)阅读程序,选择程序的运行结果。
#include
intTry(intn)
{
if(n>0)
return(n*Try(n-2));
else
return1;
}
main()
{
intx;
x=Try(5);
printf(,,%d\nl\x);
}
A・15B・120C・1D・前面三个答案都是错的
(2)下面的函数f两次进行调用,请选择程序的运行结果。
#include
intFun(intm)
{
staticintn=0;
m/=2;
m=m*2;
if(m)
{
n*=m;
return(Fun(m-2));
}
else
returnn;
}
main()
inta,i,j;
a=Fun(4+i);printf(-^dXn-^a);
}
}
1第一次输出的结果A.8B.0
2第一次输出的结果A.8B・0
c.
64
c.
64
D.4
D.4
28.设有语句:
inta[10],
A)P=P+1B)P[O]=*P+1
*p=a;,则在下面语句中,不正确的是
C)a[0]=a[0]+1D)a=a+l
29.指向变量的指针,其含义是指该变量的
A)值B)地址C)名D)—个标志
30.若int(*p)[5];,则其中p的含义是
A)5个指向整形变量的指针;
B)指向5个整形变量的函数指针;
C)一个指向具有5个整形元素的一维数组的指针;
D)具有5个指针元素的一维数组指针,每个元素都只能指向整型量;
31・设有定义:
inta=3zbz*p=&a;则下列语句中使b不为3的语句是—A)b=*&a;B)b=*P;C)b=a;D)b=*a;
32.设char"s;则以下表达式中,正确的是
A)s=〃computer";B)*s=,,computer,/;
C)**s=,,computer,/;D)*s=,s'
33.设chars[10]z*p=s;z以下表达式屮不正确的是
A)p=s+5;B)s=s+p;C)s[2]=p[4];D)*p=s[0];
34・执行下列程序段后,*p等于
inta[5]={1,3,5,7,9},*p=a;p++
A)1;B)3;C)5;D)7;
程序设计题
1.编程计算1*2*3+3*4*5+99*100*101的值。
#include
intmain()
{
intij,k,sum=O;
for(i=1,j=2,k=3;i<100,j<101,k printf(”%d\n",sum); } 2.编程计算a+aa+aaa+….+aa・・a(n个a)的值,n和a的值由键盘输入。 #include Voidmain() { intn,a,i; intsum,na; printf(nPleaseinputnanda: 11); scanf(”%d%d“,&n,&a); sum=0; na=a; for(i=l;i<=n;i++) { sum+=na; na=na*10+a; ) printf(,,sum=%d\n,',sum); } 3.利用£=前go项之积计算 2133557 #include intmain() { floata=2,b=1; doublenum=l; inti; for(i=l;i<=100;i++) { num*二a/b; if(i%2==0)a+=2; elseb+=2; } num*=2; printfC1^%」61IV',num); 4.按如下格式打印100以内整数的平方根表。 0 1 2 3 4 5 6 7 8 9 0 0.000 1.000 1.414 1.732 2.000 2.236 2.449 2.646 2.828 3.000 1 3」62 3.317 3.464 3.606 3.742 3.873 4.000 4.123 4.243 4.359 2 4.472 4.583 4.690 4.796 4.899 5.000 5.099 5」96 5.292 5.385 3 5.477 5.568 5.657 5.745 5.831 5.916 6.000 6.083 6」64 6.245 4 6.325 6.403 6.481 6.557 6.633 6.708 6.782 6.856 6.928 7.000 5 7.071 7」41 7.211 7.280 7.348 7.416 7.483 7.550 7.616 7.681 6 7.746 7.810 7.874 7.937 8.000 8.062 8.124 &185 8.246 8.307 7 8.367 8.426 8.485 8.544 8.602 8.660 8.718 8.775 8.832 8.888 8 8.944 9.000 9.055 9.11() 9.165 9.220 9.274 9.327 9.381 9.434 9 9.487 9.539 9.592 9.644 9.695 9.747 9.798 9.849 9.899 9.950 #include"stdio-h" #include”math.h” voidmainO { intsri=O,j=O,k=O;doublet;for(i;i<10;i++)p「intf(”%6d”,i); printf(n\nn);for(s=0;s<100;s++){ printf(n%d\k);t=sqrt(s); printf(H%4.3f”,t); j++; 5. 编程计算 k\ (jn-k)! 的值。 (m,k从键盘上输入,m>k) if(j%10==0)printfCAn**); #include intfac(intn) { inti,s=1; for(i=1;i<=n;i++) s*=i; returns; } main() { intm,k: printtflnput scanfC%d%dH,&m,&k); printf(',%d\n,,,fac(k)/fac(m-k)); } /XlA27Tr-lTT4-i 6.用整数1-12依次表示1-12M,由键盘输入一个月份数,输出对应的季节英文名称(12-2月为冬季,3-5月为春季,6-8月为夏季,9-11月为秋季),要求输入输111表达的意义清楚明白。 ■•■•■■■■.■■■■■ ^include main() { intmontii.r loop: printf('Enteraninteger(l~12): n1): scanfif"%d"? &month): if(month r=month°ol2: r=r3: if(i==0)printf(,r\\rinterseasonn,r); elseif(t=l)printf("Springseasonn,r); elseif(t=2)printf("Summerseasonn,f); elseprintf("Autumnseasonn,r); } 7.编程打印以下图形 1 121 12321 1234321 12345678987654321 8.用递归的方法求n的阶乘 #include doublefun(intn);intmain(void) { intn; printfCentern: ");scanf(“%cT',&n);printf(',%lf\n',,fun(n));return0; } doublefun(intn) { if(n==0||n==1) return1; else returnn*fun(n-1);} 9・编写求两个整数的最人公约数和最小公倍数的函数 #include intgcdiintm,intn) { intt; if(m { t二m;m=n;n=t; } while(t1=0) { t二Mn; m=n; n=t; } returnm; } returnid; l Lntlcd(intm,intn,intg? r I return(irF^n/gj; l zoidmain(.void) r I intid,n; printf("InputtwoNumbers: ; scanf(”%d&皿fen); printf("最大公约数为: %d\f;gcd(m,n));printfC'最小公倍数为: %d\n\led血n,g));
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 复习 总结 习题 doc