C语言考试复习专用三套题附答案.docx
- 文档编号:14353198
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:25
- 大小:30.06KB
C语言考试复习专用三套题附答案.docx
《C语言考试复习专用三套题附答案.docx》由会员分享,可在线阅读,更多相关《C语言考试复习专用三套题附答案.docx(25页珍藏版)》请在冰点文库上搜索。
C语言考试复习专用三套题附答案
《C语言程序设计》习题集
习题一
一、 语言基础(共20分,每题2分)
(一)设x为一数字字符,则其所对应的十进制数值为。
A)xB)x-‘0’C)*xD)&x
(二)说明语句chars=‘\t’,使s包含了几个字符?
。
A)1B)2C)3D)说明有错
(三)设a=6,b=4,则表达式b*=a+3的值为。
A)3B)18C)27D)36
(四)若给定表达式(m)?
a++:
a--,则其中表达式m和
等价。
A)m==0B)m!
=0C)m=0D)m=1
(五)设有说明语句inta[10],则数组a包括了个数组元素。
A)1B)9C)10D)20
(六)以下函数test返回值类型为。
test(intx)
{printf(“%f\n”,(float)x);
}
A)intB)floatC)voidD)不确定或错误
(七)C语言规定,main函数的参数。
A)只能有0个B)只能有0个或一个
C)只能有0个或2个D)可有任意个
(八)设x为整型变量,p基类型为整型的指针变量,则正确的赋值表达式是。
A)p=&xB)p=xC)*p=&xD)*p=*x
(九)TurboC中,int型数据在存储器中占二个字节,则以下类型数据在存储器中占的字节数为:
。
structtest
{intx;
floaty;
charz;
};
A)2B)3C)6D)7
(十)rewind()函数的作用是。
A)重新打开文件
B)使文件位置指针重新回到文件的开始
C)使文件位置指针重新回到文件的末
D)返回文件长度值
二、阅读下列程序,写出运行结果(共18分,每题3分)
[程序1]
#include
voidmain()
{inta=1,b=4,c=2;运行结果:
1
a=(a+b)/c;
printf(“%d\n”,--a);
}
[程序2]
voidmain()
{charc1=67;/*‘A’的ASCII码值为65*/
if(‘A’<=c1&&c1<=’Z’)运行结果:
67,D
printf(“%d,%c”,c1,c1+1);
elseprintf(“%c”,c1);}
[程序3]
viodmain()
{inta=0,n=5;运行结果:
1,5,4,3,2,0
for(;;)
{a++;n--;
printf(“%d,”,a);
a=n;
if(n==0)break;
}
printf(“%d”,a);
}
[程序4]
main()
{inti,j;运行结果:
1,2,4,8,16,32,64,128,256,512
staticinta[10]={1,1,1,1,1,1,1,1,1,1};
for(i=0;i<10;i++)
for(j=0;j
a[i]=a[i]+a[j];
for(i=0;i<10;i++)
printf(“%d,”,a[i]);
}
[程序5]
intk=2;
f(intm)运行结果:
6,8
{m+=k;k+=m;5,9
printf(“%d,%d\n”,m,k++);
}
main()
{inti=4;
for(i++);
printf(“%d,%d\n”,i,k);}
[程序6]
voidmain()
{staticinta[10],i;运行结果:
13579
for(i=0;i<10;i++)
a[i]=i+1;
for(i=0;i<10;i=i+2)
printf(“%d”,*(a+i));
}
三、阅读分析下列程序,在处填上适当的内容使程序(或函数)完整(共21分,每空3分)
(一) 以下程序输出所有大写字母和其对应的ASCII码值。
voidmain()
{intch;
for(ch=’A’;ch<=’Z’;ch++)
printf(“字母%c的ASCII码值是:
%d\n”,ch,1);
}
答案:
ch
(二)以下函数的功能是将一个字符串S的内容颠倒过来。
voidreserve
(2)答案:
chars[]
{inti,j,k;
for(i=0,j=strlen(s)-1;3;i++,j--)答案:
i {k=s[i];s[i]=s[j];s[j]=k;} } (三)由键盘输入三个数a,b,c,计算以这三个数为边长的三角形面积。 #include voidmain() {floata,b,c,s,s1; scanf(“%f%f%f”,4);答案: &a,&b,&c if((a+b)>c&&(a+c)>b&&(b+c)>a) {s=(a+b+c)/2; s1=s*(s-a)*(s-b)*(s-c); s=5;答案: sqrt(s1) printf(“\n三角形面积为: %f\n”,s); } else printf(“\n不是三角! \n”); } (四)从键盘输入一个字符串,把它输出到文件中,文件名由键盘输入。 #include voidmain() {FILE*fp; charch,*fn; scanf(“%s”,fn); if((fp=fopen(fn,6))==NULL)答案: “w” {printf(“打开文件出错\n”); exit (1); } while((ch=getchar())! =EOF) {fputc(7);答案: ch,fp putchar(ch); } fclose(fp);} 四、编程题(共21分) 1.从键盘输入3个整数,输出其中最大数。 (5分) main() {inti=0,x,mx=-32768; while(i++<3) {scanf(“%d”,&x); if(x>mx)mx=x; } printf(“\n%d\n”,mx); } 2.编写一函数uf(s),将字符串s中的第一个和最后一个字母改写成大写字母(如原来不是字母或已是大写字母,则不变)。 (5分) #include uf(char*s) {inti; i=strlen(s); if(i==0)return; if(s[0]>=’a’&&s[0]<=’z’) s[0]+=’A’-‘a’; if(s[i-1]>=’a’&&s[i-1]<=‘z’) s[i-1]+=’A’–‘a’; } main() {chars[]=”asdfgh”; uf(s); printf(“\n%s\n”,s); } 3.从键盘输入10个浮点数,输出其平均值及所有低于平均值的数。 (5分) #include main() { floata[10],ave=0; inti; for(i=0;i<10;i++) { scanf(“%f”,&a[i]); ave+=a[i]; } ave/=10; for(i=0;i<10;i++) if(a[i] printf(“%f\t”,a[i]); } 习题二 一、语言基础(共20分,每题2分) (一) 若a为float类型变量,且a=4.6785,则表达式(int)(a*100+0.5)/100.0 的值为4.68。 (二)设有intx=11,y=10;则以下表达式的值为10。 x-->y? 10: 11>y++? ’a’: ’z’ (三)若所有变量都已正确定义为int型则执行下列程序段后x的值为79。 x=80;a=10b=16;y=9;z=0; if(a if(b! =15) if(! y)x=81; elseif(! z)x=79; (四)i,j为int型的变量,则下面程序中的循环体的执行次数为5。 i=1;j=0; while(i+j<=10) {if(i>jj=j+2); elsei=i+2;} (五)若有数组a[10],类型为int型,元素及值如下所示: 数组元素: a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9] 元素中的值: 9483267015 则*(a+a[9])的值为6。 (六)以下函数调用语句中实参的个数为3. Sub((x1,x2),(x3,x4,x5),x6) (七)若有以下函数定义: int(*hs)() { ……/*函数体*/ } 则函数hs返回的值是整形。 (八)某C编译程序规定,int型数据存储占2个字节,float型数据存储占4个字节,char型数据存储占1个字节,现有记录描述如下: structstu { union { charbj[5]; intbh[2]; }class; charxm[8]; floatcj; }xs; 则sizseof(xs)的值为17。 (九)设有以下定义: #definea6 #defineba+4 则执行语句c=b*10(c为int型数据)后,c的值为46。 (十)在C中,文件指针变量的类型只能是FILE。 二、阅读下列程序,写出运行结果(共20分,每题4分) [程序1] #include main() { inti;运行结果: i=18,J=29.44 floatj; i=18; j=29.4361; printf(“i=%4d,j=%2.2f”,i,j); } [程序2] main() {intk=10;charc=’b’; do swith(c++)运行结果: 12 { case‘a’: k++; case‘b’: k--; case‘c’: k+=3;break; case‘d’: k=k%4; } while(c! =’c’); printf(“%d\n”,k);} [程序3] main() { chara[]=”computer”; chart; inti,j=0;运行结果: utrpomec for(i=0;I<8;I++) for(j=i+1;j<8;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试 复习 专用 三套题附 答案