c语言复习题Word格式文档下载.docx
- 文档编号:16692839
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:16
- 大小:22.06KB
c语言复习题Word格式文档下载.docx
《c语言复习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言复习题Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
10、C语言对嵌套if语句的规定是:
else总是与()配对。
A、其之前最近的ifB、第一个if
C、缩进位置相同的ifD、其前面最近的尚未配对的if
11、C语言的while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,
因此,进入while循环后,一定要有能使此表达式的值变为()的操作,否则,循环将
会无限制地进行下去。
A、0B、-1C、1D、NULL
12、以下关于数组的描述正确的是:
()
A、数组的大小是固定的,但可以有不同类型的数组元素
B、数组的大小是可变的,但所有数组元素的类型必须相同
C、数组的大小是固定的,但所有数组元素的类型必须相同
D、数组的大小是可变的,可以有不同类型的数组元素
13、在C语言程序中,下列描述正确的是()。
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义不可以嵌套,但函数的调用可以嵌套
C、函数的定义和调用均可以嵌套
D、函数的定义和调用均不可以嵌套
14、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。
A、地址传递B、单向值传递
C、由用户指定传递方式D、由实参传给形参,再由形参传回给实参
15、若用数组名作为函数调用时的实参,则实际上传递给形参的是()。
A、数组首地址B、数组的第一个元素值
C、数组中全部元素的值D、数组元素的个数
16、为了判断两个字符串S1和S2是否相等,应当使用()。
A、if(s1==s2)B、if(s1=s2)
C、if(strcpy(s1,s2))D、if(strcmy(s1,s2)==0)
17、在一个源文件中定义的全局变量的作用域为()。
A、本文件的全部范围B、本程序的全部范围
C、本函数的全部范围D、从定义该变量的位置开始到本文件结束
18、在执行charstr[10]=“china”;
strlen(str)的结果是()。
A、5B、6C、7D、9
19、以下4个数组定义中,()是错误的。
A.inta[7];
B.#defineN5longb[N];
C.charc[5];
D.intn,d[n];
20、当接收用户键入的含空格的字符串时,应使用()函数。
A、scanf()B、gets()C、getchar()D、getc()
21、若定义inta[10];
则对a数组元素的正确引用是()
A、a[10]B、a[4.3]C、a(5)D、a[6-6]
22、以下正确的C语言标识符是:
()。
A、%xB、a+bC、a123D、test!
23、、inta[4]={5,3,8,9};
其中a[3]的值为()
A.5B.3C.8D.9
24、若t为double类型,表达式t=1,t+5,t++的值是()。
A、1B、6.0C、2.0D、1.0
25、设a=2,b=3,执行表达式c=b*=a-1后,变量c的值是
A、5B、3C、2D、4
26、在C语言中,横向跳格字符是()
A、\cB、\vC、\mD、\t
27、设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。
A、552B、144C、264D、-264
28、在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为()。
A只能是逻辑表达式B只能是关系表达式
C只能是逻辑表达式或关系表达式D可以是任意表达式
29、数组名作为实参数传递给函数时,数组名被处理为()。
A该数组的长度B该数组的元素个数
C该数组的首地址D该数组中各元素的值
30、关于return语句,下列正确的说法是()。
A可以在同一函数中出现多次B在主函数中不能出现
C必须在每个函数中出现D只能在除主函数之外的函数中出现一次
31、在C语言中,引用数组元素时,其数组下标的数据类型允许是()
A整型常量
B整型表达式或整型常量
C实型常量
D任何类型的表达式
32、、C语言中,哪一个运算符的优先级最高( )
A、<
= B、+ C、||D、>
=
33、若已知a=5,b=6,则表达式!
a<
b的值为( )
A、-1 B、2 C、1 D、0
34、C语言中,下列运算符的操作数必须是int类型的运算是
A、%B、/C、—D、++
35、已知intx=6;
则执行x+=x-=x*x;
语句后,x的值为:
( )
A、36 B、-60C、60D、-24
36、设整型变量m,n,a,b,c,d均为1,执行“(m=a>
b)&
(n=c>
d)”后m,n的值是()。
A、0,0B、0,1C、1,0D、1,1
二、写出程序执行结果:
1、main()
{intk=4,m=1,p;
p=func(k,m);
printf(“%d,”,p);
printf(“%d\n”,p);
}
func(a,b)
inta,b;
{staticintm=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
2、main()
{int*p1,*p2,*p3,a[2]={2,3},b[3]={5,6,7};
p3=p1=&
a[0];
p2=&
b[0];
printf(“%u\t”,p1);
printf(“%d\t”,*p1++);
printf(“%d\t”,*p1);
printf(“%d\t”,p1-p3);
printf(“%dt”,*(p2=p2+2));
printf(“%d\t”,*--p2);
设p1指向65494单元,请写出上述程序运行结果
3、func(intm)
{intn;
if(m==0||m==1)return(3);
n=m-func(m-2);
returnn;
}
main()
{printf(“%d\n”,func(9));
4、main()
{charstr[]={“1a2b3c”};
intk;
for(k=0;
str[k]!
=‘\0’;
k++)
if(str[k]>
=’0’&
str[k]<
=’9’)
printf(“%c”,str[k]);
printf(“\n”);
5、main()
{inta=5;
floatx=67.846;
staticchard[10]=“abc”;
printf(“%4d,%4.1f,%c”,a,x,d[2]);
6、main()
{intt=3;
while(t++<
=4)
printf(“%d\t”,t);
printf(“%d\n”.t);
7、main()
{chars1[]="
12345"
s2[]="
1234"
;
printf(“%d\n”,strlen(strcpy(s1,s2)));
8、main()
{intx=3;
do
{printf(“%2d”,x--);
}while(!
x);
9、main()
{intfinal;
intm[7]={1,2,3,4,5,6,7};
int*p1,*p2;
p1=&
m[2];
p2=&
m[6];
final=p2-p1;
printf(“%d\n”,final);
10、main()
{intanswer,result;
answer=100;
result=answer-10;
printf(“Theresultis%i,%d\n”,result+5,result);
11、下列程序的执行结果是:
main()
{ints=0,k;
for(k=7;
k>
=0;
k--)
{switch(k)
{case1:
case4:
case7:
s++;
break;
case2:
case3:
case6:
break;
case0:
case5:
s+=2;
}}
printf(“s=%d\n”,s);
12、main()
{ints=0,i=4;
{if(i==0)
else
{s=s+i;
printf(“%d\t”,s);
}while(--i);
13、以下程序的输出结果是:
{inta[3][3]={{1,2,3},{3,4,5},{5,6,7}},i,j,s=0;
for(i=0;
i<
3;
i++)
for(j=0;
j<
j++)
s=s+a[i][j];
printf(“%d\n”,s);
14、main()
{inti,j,i1=0,j1=0,m;
ints[3][3]={{101,201,301},{11,18,30},{60,20,70}};
m=s[0][0];
for(i=0;
for(j=0;
if(s[i][j]<
m)
{m=s[i][j];
i1=i;
j1=j;
printf(“%d,%d,%d”,m,i1,j1);
15、
{inti,x;
for(i=1,x=1;
=20;
{if(x>
=10)
if(x%2==1)
{x+=5;
continue;
x-=3;
printf(“%d,%d”,x,i);
三、编写程序:
1、编程实现求百钱买百鸡的方法。
设公鸡每只5钱,母鸡每只3钱,
小鸡3只1钱。
2、对用户输入的所有整数进行累加,直到输入0为止
3、编写一个程序,判定1+2+3+4+5+…+n大于1000的最小整数值n
4、编程:
用一维数组计算Fibonacci数列的前20项,该数列为:
1,1,2,3,5,8,13,21,34,
5、某市不同车牌的出租车3公里的起步价和计费分别是:
夏利7元,3公里以外2.1元/公里;
富康8元,3公里以外2.4元/公里;
桑塔纳9元,3公里以外2.7元/公里。
编程:
从键盘输入乘车的车型及公里数,输出应付的车资。
6、输入某年和相应的月份,输出该月的天数。
7、从键盘输入一个整数,判断这个数是奇数还是偶数.
8、从键盘输入一位整数,当输入是1至7时,显示对应的英文星期名称的略写(如下所示).
1Mon2Tue3Wed4Thu
5Fri6Sat7Sun
9、编写程序,求1!
+2!
+3!
+……+10!
10、编写程序,用公式π/4=1-(1/3)+(1/5)-(1/7)+…
求π的近似值,直到最后一项的绝对值小于10-6为止。
11、编写程序,求任意整数的各个数位上的数字之和,如输入整数67401,结果为18(因为1+0+4+7+6=18)。
12、定义一个5×
4(5行4列)的二维数组,存储5个学生4门课的成绩,录入成绩,并求每一个学生的最低成绩。
13、从键盘输入10个互不相同的数并存放在一维数组中,找出最大值并将其从数组中删除。
14、编写一个程序显示ASCII码65~90(十进制)的字符对照表.
15、某班级有40名同学,请编程从键盘输入三名同学的姓名、学号、年龄、语文成绩、数学成绩、英语成绩。
求40名同学的平均年龄;
每名同学的平均分。
并输出结果。
四、程序填空:
1、
•wwww
•wwww
•wwww
•voiddraw(intn)
•{inti,j,k,r,m
•for(i=1;
____________;
•{for(j=1;
=2;
•{for(r=1;
r<
=i;
r++)
•printf(“”);
•printf(“w”);
•for(k=1;
k++)
•for(m=1;
m<
m++)
•}
•____________________;
•#include<
conio.h>
•main()
•{intn;
•printf(“inputanumber:
”);
•_______________;
•draw(n);
2、请在横线上填入合适的表达式,使数组元素按大小顺序排列。
{inta[12]={2,14,16,20,9,21,86,75,17,30,11,99},i,j,k;
for(k=0;
k<
12;
for(i=k;
if(a[i]>
___________)
{j=a[i];
a[i]=_______________;
_______________=j;
printf(“%4d”,a[i]);
3、请在横线上填入合适的表达式,使程序完成将字符串“Hello”逆序显示。
{
pt(“Hello”);
pt(charstr[])
inti=0,j=0;
while(_______________)
{j++;
i++}
for(;
j>
j--)
printf(“%c”,______________);
4、下列程序的功能是统计从键盘输入的字符中大写字母的个数。
输入时用“*”作为输入结束的标记。
#include<
stdio.h>
ctype.h>
{charc1;
inti,count=0;
while(()!
=‘*’)
if(isupper(c1))count++;
printf(““,count);
5、以下函数的功能是求x的y次方,请填空。
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;
i<
y;
i++)
z=z*___________;
returnz;
2、航空公司规定在旅游的旺季7~9月份,如果订票数超过20张,票价优惠15%,20张以下,
优惠5%;
在旅游的淡季1~5月份、10月份、11月份,如果订票数超过20张,票价优惠30%,
20张以下,优惠20%;
其他情况一律优惠10%。
设计程序,根据月份和订票张数来计算总的订票
金额,假设每张飞机票单价为600元。
{intmonth,x;
floaty;
scanf(“%d,%d”,&
month,&
switch(month)
{case7:
case8:
case9:
if(x>
=20)y=x*600*0.85;
elsey=x*600*0.95;
case1:
case2:
case3:
case4:
Case5:
case10:
case11:
=20)y=x*600*0.7;
elsey=x*600*0.8;
case6:
case12:
y=x*600*0.9;
printf(“y=%f”,y);
3、编写程序,用公式π/4=1-(1/3)+(1/5)-(1/7)+…
#include<
math.h>
{floatn,t,pi;
intf;
t=1,pi=0;
n=1;
f=1;
while(fabs(t)>
1e-6)
{pi=pi+t;
n=n+2;
f=-f;
t=f/n;
pi=pi*4;
printf(“pi=%10.6f\n”,pi);
4、银行换零钱。
假定你拿1张百元钞票到银行换零,要求是必须换成若干张20元、10元和5元。
请编写程序,找出所有可能的找零组合,如1张20元,5张10元,6张5元。
main()
{
inta,b,c;
for(a=0;
=5;
a++)
{
for(b=0;
b<
=10;
b++)
for(c=0;
c<
c++)
if(a*20+b*10+c*5==100)
printf(“%d张20元,%d张10元,%d张5元\n”,
a,b,c);
}
}
5、编写一个统计某班3门课程成绩的程序,3门课程分别是语文,数学和英语。
先输入学生人数,
然后按学号输入学生成绩,最后统计每门课全班的总成绩和平均成绩及每个学生课程的总成绩和
平均成绩。
{intscore[50][5],total[3],avg[3];
inti,j,n;
printf(“学生人数:
“);
scanf(“%d”,&
n);
printf(“输入成绩:
\n”);
n;
{printf(“第%d个学生:
”,i+1);
scanf(“%d%d%d”,&
score[i][0],&
score[i][1],&
score[i][2]);
{for(j=0,score[i][3]=0;
score[i][3]+=score[i][j];
score[i][4]=score[i][3]/3;
{for(i=0,total[j]=0;
total[j]+=score[i][j];
avg[j]=total[j]/n;
printf(“\n学号语文数学英语总分平均分\n”);
{printf(“%5d:
”,i+1);
5;
printf(“%7d”,score[i][j]);
printf(“全班总分:
printf(“%7d”,total[i]);
printf(“全班平均分:
printf(“%7d”,avg[i]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习题