C语言程序设计复习汇总Word下载.docx
- 文档编号:1211160
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:23
- 大小:32KB
C语言程序设计复习汇总Word下载.docx
《C语言程序设计复习汇总Word下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习汇总Word下载.docx(23页珍藏版)》请在冰点文库上搜索。
)不能少在scanf()函数内尽量不要使用换行标志\n
printf("
变量名)
同上
引号内的字符串,除格式控制符(如%d%c%f以及换行符\n)等等之外,其它都按照原样输出。
18.算术运算符:
+(加)
-(减)
*(乘)
/(除)
%(求余/模)
19.逻辑表达式:
&
&
(和/与/且)
||(或)
!
(非)
表达式1&
表达式2
当表达式1和表达式2同时成立时候,它的值是真,否则为假
表达式1||表达式2
当表达式1或者表达式2任何一个成立的时候,或者两个都成立的时候,它的值是真,否则是假
表达式
当表达式的值是真,那么结果就是假反之当表达式的值是假,它的值就是真。
20.在C语言中,0表示假,非0表示真。
21.自增(++)自减(--)运算符,不建议初学者过多的使用,知道有这家伙就可以了。
22.条件语句:
if语句如果是相等比较,那么要注意等于的关系运算符是(==)而不是(=),=是赋值运算符
if(条件)
{
语句;
}
else
elseif(条件)
23.switch-case语句
switch(整型表达式)
case情况1:
语句1;
break;
case情况2:
case情况3:
语句2;
break;
default:
语句n;
24.循环语句:
for语句while语句do-while语句
for(循环计数器初始化表达式;
循环判断条件表达式;
循环计数器表达式)
循环体;
while(循环判断条件表达式)
do
}while(循环判断条件表达式);
//在这里记得要在while()后面加分号.
25.forwhiledo-while语句的区别:
for和while语句是先判断循环条件,如果成立就执行循环体,反之则直接跳到循环后面的语句继续执行。
do-while语句是先执行一次循环体,然后再判断循环条件是否成立,如果成立则继续执行循环体,否则,直接跳到循环后面的语句继续执行。
forwhile语句的循环体可能一次也不会被执行,但是do-while语句的循环体至少会被执行一次。
26.while和do-while通常用于循环此数不确定的情况,而for语句通常用于循环次数已知的情况。
27.break语句:
用于中止循环,跳到循环后面语句中继续执行。
或者跳出switch语句。
28.continue语句:
用于结束本次循环,进入到下一次循环的条件判断,
29.数组:
数组是由多个具有相同数据类型的变量组成的数据结构。
就像是一个集合。
30.数组的声明:
类型数组名[数组元素总数]={初始值};
31.数组的下标从0开始。
32.数组元素的使用:
数组名[下标]
复习题题型
一.单项选择题:
(每小题1分,共25分)
二.判断题:
(每小题1分,共10分)
三.阅读程序写结果:
(每小题4分,共20分)
四.程序填空:
(每空2分,共14分)
五.编程题(4小题共31分)
单项选择题:
1.算法具有五个特性,以下选项中不属于算法特性的是__________。
B
A)有穷性B)简洁性C)可行性D)确定性
2.以下叙述中正确的是__________。
C
A)用C语言实现的算法必须要有输入和输出操作
B)用C语言实现的算法可以没有输出但必须要有输入
C)用C程序实现的算法可以没有输入但必须要有输出
D)用C程序实现的算法可以既没有输入也没有输出
3.不合法的八进制数是__________。
B
A)0B)028C)077D)01
4.在C语言的if语句中,用作判断的表达式为__________D
A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式
5.若变量已定义,要求完成求5!
的计算,不能完成此操作的程序段是___。
A)for(i=1,p=1;
i<
=5;
i++)p*=i;
B)for(i=1;
i++){p=1;
p*=i;
C)i=1;
p=1;
while(i<
=5){p*=i;
i++;
D)i=1;
do{p*=i;
}while(i<
=5);
6.已有定义:
chara[]="
xyz"
b[]={'
x'
'
y'
z'
};
以下叙述中正确的是__________。
A)数组a和b的长度相同B)a数组长度小于b数组长度
C)a数组长度大于b数组长度D)上述说法都不对
7.有以下程序__________。
A
main()
{chara='
a'
b;
print("
%c,"
++a);
%c\n"
b=a++);
程序运行后的输出结果是
A)b,bB)b,cC)a,bD)a,c
有以下程序__________。
inta=3,b=4,c=5,d=2;
if(a>
b)
if(b>
c)
8.printf("
d+++1);
++d+1);
%d\n"
d);
A)2B)3C)43D)44
9.表达式__________是满足:
当c的值为1、3、5三个数时值为“真”,否则值为“假”的表达式D
A)(c=1)||(c=3)||(c=5)B)(c!
=1)&
(c!
=3)&
=5)
C)(c==1)&
(c==3)&
(c==5)D)(c==1)||(c==3)||(c==5)
10.若变量已正确说明,则以下程序段输出为__________。
a=10;
b=50;
c=30;
if(a>
b)
a=b,b=c;
c=a;
A)a=10b=50c=10B)a=10b=30c=10
C)a=50b=30c=10D)a=50b=30c=50
数字字符0的ASCII值为48,若有以下程序__________。
main()
{
chara='
1'
b='
2'
;
b++);
b-a);
}
程序运行后的输出结果是
(A)3,2(B)50,2(C)2,2(D)2,50
11.组成C程序的基本单位是________。
C
A)表达式与语句B)若干文件C)函数D)main函数
12.下列变量定义正确的是________。
A)intx_1;
y;
B)intx=y=5;
C)intfor=4;
D)intprintf=2,x_y=2;
13.任何复杂的程序,都是由________构成的。
A)分支结构、顺序结构、过程结构B)循环结构、分支结构、过程结构
C)顺序结构、循环结构、分支结构D)循环结构、分支结构
14.以下说法错误的是________。
A)do~while语句与while语句的区别仅是关键词“while”出现的位置不同
B)while语句是先进行循环条件判断,后执行循环体的
C)do~while是先执行循环体,后进行循环条件判断
D)while、do~while和for语句的循环体都可以是空语句
15.以下叙述错误的是________。
A)C语言本身没有输入输出语句
B)一个可执行的C源程序必须包含一个main函数
C)C程序中,注释说明只能位于一条语句的后面
D)C程序的基本组成单位是函数
16.以下对二维数组a的声明正确的是________。
A)inta[3][];
B)inta(3,4);
C)inta[1][4];
D)inta(3)(4);
17.下列函数头中形参说明错误的是________。
A)floataverage(floatarray[9],n)B)floataverage(float*array,intn)
B)floataverage(floatarray[],intn)C)floataverage(floatarray,intn
18.t为int类型,进入下面的循环之前t的值为0,以下叙述正确的是________。
while(t=l)
{……}
A)循环控制表达式的值为0B)循环控制表达式的值为1
C)循环控制表达式不合法D)以上说法都不对
19.若a为整型变量,则以下语句________。
a=-2L;
printf(“%d\n”,a);
A)赋值不合法B)输出值为-2C)输出为不确定值D)输出值为2
20.若有说明语句:
inty[][4]={0,0,0,0,0,0};
则正确的叙述是________。
A)数组y的每个元素都可得到初值0
B)二维数组y的行数为1
C)该说明等价于inty[0][4]={0};
D)有元素y[0][0]至y[0][5]可得到初值,其余元素均得不到初值0
21.若有定义:
intb[5];
则以下对b数组元素的正确引用是________。
A)*&
b[5]B)b+2
C)*(*(b+2))D)*(b+2)
22.C语言中规定,if语句的嵌套结构中,else总是与________配对。
A)与最近的if配套B)与第一个if配套
C)按缩进位置相同的if配套D)与最近的且尚未配对的if配套
23.若用数组名作为函数调用时的参数,则实际上传递给形参的是________。
A)数组元素的个数B)数组的第一个元素值
C)数组中全部元素的植D)数组首地址
24.若在一个C源程序文件中定义了一个允许其他源文件引用的实型外部变量x,则在另一文件中可以使用的引用说明是________。
A)externfloatx;
B)floatx;
C)externautofloatx;
D)externstaticfloatx;
25.若有定义charx[]="
12345"
chary[]={'
'
3'
4'
5'
};
则。
A)x数组与y数组的长度相同B)x数组长度大于y的长度
C)x数组长度小于y数组长度D)x数组等价与y数组
判断题:
( )1、“A”是一个字符常量。
X
( )2、在标准C中,使用所有输入输出函数必须包含“stdio.h”文件。
3、设整型变量s,c1,c2的值均为2,则执行语句(s=(c1==c2))后,s的值为:
(
)。
A)0
B)1
C)2
D)3
()4、关系运算符中,==的优先级要高于>
=的优先级。
()5、判断a,b两个数是否相等,用a=b。
()6、在循环过程中,使用break语句和continue语句的作用是一样的。
)7、数组的下标从1开始。
X
)8、数组边定义边赋值时,大括号内数据项的数目可以大于或等于数组的长度。
()9、空指针的值为NULL。
正确
()10、函数的返回值必须与函数定义时的返回类型一致。
阅读程序写结果
1.阅读以下程序,若输入5<
回车>
,写出程序运行结果。
stdio.h>
intmain()
{inti,n;
doublefact;
scanf("
&
n);
fact=1;
for(i=1;
=n;
i++)
fact*=i;
printf("
%.0f\n"
fact);
120
2.阅读以下程序,若输入a<
charch;
ch=getchar();
if(ch>
='
ch<
)
ch=ch-‘a’+’A’;
elseif(ch>
A'
ch=ch-'
+'
putchar(ch);
3.阅读以下程序,若输入19340<
{intx,sum;
x);
sum=0;
while(x>
0)
{if(x%2==0)sum+=x;
}
sum);
4
4.阅读以下程序,若输入45795<
{inti,index,n;
inta[10];
for(i=0;
i<
n;
i++)
a[i]);
index=0;
{if(a[i]<
a[index])index=i;
}
min=%d,index=%d\n"
a[index],index);
Min=5,index=0
5.写出以下程序的运行结果。
#include<
intx;
voidcude()
{x=x*x*x;
voidmain()
{x=5;
cude();
x);
125
6.写出以下程序的运行结果。
inta[]={1,3,5,7,9};
inty=0,x,*p;
p=&
a[0];
for(x=0;
x<
3;
x++)y+=*(p+x);
y);
9
7.阅读以下程序,写出程序的功能。
inta[10]={2,4,0,-5,10,6,-8,9,6,7};
inti,s=0,count=0;
10;
if(a[i]>
0)s+=a[i],count++;
elsecontinue;
printf("
s=%d,count=%d\n"
s,count);
S=44,count=7
8.阅读以下程序,写出程序的运行结果。
#defineN6
inta[N]={4,5,8,3,6,1};
intj,t;
for(j=0;
j<
N-1;
j++)
if(a[j]>
a[j+1])
{t=a[j];
a[j]=a[j+1];
a[j+1]=t;
N;
%5d"
a[j]);
答案
1.120
2.A
3.4
4.min=5,index=0
5.125
6.9
7.s=44,count=7
8.1
3
4
5
6
8
程序填空:
1.以下程序的功能是计算1+1/2+1/3+1/4+..的前n项和,请填空。
inti,n;
floatsum;
;
{
%.3f\n"
2.以下程序的功能是从键盘输入n个整数,输出其中的最大值,请填空。
int
a,max,i,n;
max);
for(
if(
max=a;
minis%d\n"
max);
3.以下程序的功能是对10个整数从小到大排序
voidsort(intarr[],intn);
inta[10],*p,i;
input10numbers:
"
);
for(i=0;
\ntheoriginalarrayis:
for(p=a;
p<
a+10;
p++)
%d
"
*p);
\nthepresentarrayis:
for(p=a;
p<
p++)
voidsort(intarr[],intn)
int*p1,*p2,temp;
for(p1=arr;
p1<
arr+(n-1);
p1++)
for(
p2<
arr+n;
p2++)
if(
temp=*p1;
*p1=*p2;
*p2=temp;
4.以下程序完成对键盘输入的正整数进行求和、平均值、最大值和最小值,输入负数时循环结束。
请填写缺少的语句。
inti,j,n,max,min,a[100],s=0;
=100;
%d,"
if(
)
s+=a[i];
n=i-1;
min=max=a[1];
for(j=2;
)max=a[j];
)min=a[j];
n=%d\taverage=%f\tmax=%d\tmin=%d\n"
n,(float)s/n,max,min);
1
sum=0
i++
sum+1.0/i
3
sort(a)
p2=p1+1
*p1>
*p2
2
i=1
a)
a>
max
if(a[i]>
a[j]>
a[j]<
min
编程题
1.输入2个整数,求两数的平方和并输出。
#include<
main()
{intta,b,s;
pleaseinputa,b:
\n"
%d%d”,&
a,&
b);
s=a*a+b*b;
theresultis%d\n"
s);
2.输入一个圆半径(r),当r>
=0时,计算并输出圆的面积和周长,否则,输出提示信息。
stdio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 复习 汇总