c语言试题1 6.docx
- 文档编号:17508552
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:18
- 大小:19.25KB
c语言试题1 6.docx
《c语言试题1 6.docx》由会员分享,可在线阅读,更多相关《c语言试题1 6.docx(18页珍藏版)》请在冰点文库上搜索。
c语言试题16
一、填空共5题(共计20分)
第1题(4.0分)题号:
1167
若有以下数组a,数组元素:
a[0]~a[9],其值为
941282107513
该数组中下标最大的元素的值是【1】.
答案:
(答案1)3
第2题(4.0分)题号:
682
已知a=10,b=15,c=1,d=2,e=0,则表达式c==b>e的值为【1】.
答案:
(答案1)1
第3题(4.0分)题号:
1532
c语言程序的三种基本结构是:
顺序结构,选择结构,【1】结构.答案:
(答案1)循环
第4题(4.0分)题号:
310
当a=3,b=2,c=1;时,执行以下程序段后c=【1】.
if(a>b)a=b;
if(b>c)b=c;
elsec=b;
c=a;
答案:
(答案1)2
第5题(4.0分)题号:
1522
若有定义:
inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是【1】.
c=(a-=(b-5));
c=(a%11)+(b=3);
答案:
(答案1)3
二、单项选择共15题(共计30分)
第1题(2.0分)题号:
672
C语言允许函数类型缺省定义,此时函数值隐含的类型是()。
A:
float
B:
int
C:
long
D:
double
答案:
B
第2题(2.0分)题号:
707
若有说明:
int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是()。
A:
p1=&m;p2=&p1
B:
p1=&m;p2=&n;*p1=*p2;
C:
p1=&m;p2=p1;
D:
p1=&m;*p2=*p1;
答案:
C
第3题(2.0分)题号:
431
下列程序的输出结果是()。
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
case0:
a++;break;
;case1:
b++;break;
case2:
a++;b++;break;
case3:
a++;b++;break;
}
printf("a=%d,b=%d\n",a,b);
}
A:
a=1,b=0
B:
a=2,b=1
C:
a=1,b=1
D:
a=2,b=2
答案:
B
第4题(2.0分)题号:
647
以下能对二维数组a进行正确初始化的语句是()。
A:
inta[2][]={{1,0,1},{5,2,3}};B:
inta[][3]={{1,2,3},{4,5,6}};C:
inta[2][4]={{1,2,3},{4,5},{6}};
D:
inta[][3]={{1,0,1}{},{1,1}
答案:
B
第5题(2.0分)题号:
666
若调用一个函数,且此函数中没有return语句,则正确的说法是:
该函数()。
A:
没有返回值
B:
返回若干个系统默认值
C:
能返回一个用户所希望的值
D:
返回一个不确定的值
答案:
D
第6题(2.0分)题号:
516
staticcharstr[10]="China";数组元素个数为()。
A:
5
B:
6
C:
9
D:
10答案:
D
第7题(2.0分)题号:
503
以下语句中,不能实现回车换行的是()。
A:
printf("\n");
B:
putchar("\n");
C:
fprintf(stdout,"\n");
D:
fwrite("\n",1,1,stdout);答案:
B
第8题(2.0分)题号:
617
执行语句for(i=1;i++<4;);后变量i的值是()。
A:
3
B:
4
C:
5
D:
不定答案:
C
第9题(2.0分)题号:
182
执行下面程序后,输出结果是()。
main()
{a=45,b=27,c=0;
c=max(a,b);
printf("%d\n",c);
}
intmax(x,y)
intx,y;
{intz;
if(x>y)z=x;
elsez=y;
return(z);
}
A:
45
B:
27
C:
18
D:
72
答案:
A
第10题(2.0分)题号:
107
设C语言中,int类型数据占2个字节,则long类型数据占()。
A:
1个字节
B:
2个字节
C:
4个字节
D:
8个字节答案:
C
第11题(2.0分)题号:
151
以下程序的运行结果是()。
main()
{
inti=1,sum=0;
while(i<10)sum=sum+1;i++;
printf("i=%d,sum=%d",i,sum);
}
A:
i=10,sum=9
B:
i=9,sum=9
C:
i=2,sum=1
D:
运行出现错误
答案:
D
第12题(2.0分)题号:
557
打开文件时,方式“w”决定了对文件进行的操作是()。
A:
只写盘
B:
只读盘
C:
可读可写盘
D:
追加写盘
答案:
A
第13题(2.0分)题号:
743
C语言结构体类型变量在程序执行期间()。
A:
所有成员一直驻留在内存中
B:
只有一个成员驻留在内存中
C:
部分成员驻留在内存中
D:
没有成员驻留在内存中
答案:
A
第14题(2.0分)题号:
728
已知函数的调用形式:
fread(buffer,size,count,fp);其中buffer
代表的是()。
A:
一个整数,代表要读入的数据项总数
B:
一个文件指针,指向要读的文件
C:
一个指针,指向要读入数据的存放地址
D:
一个存储区,存放要读的数据项
答案:
C第15题(2.0分)题号:
538
位字段数据的单位是()位。
A:
十六进制
B:
八进制
C:
二进制
D:
十进制
答案:
C
三、程序填空共5题(共计30分)
第1题(6.0分)题号:
35
功能:
计算并输出high以内最大的10个素数之和,high由主函数传
给fun函数,若high的值为100,则函数的值为732。
-------------------------------------------------------*/
#include
#include
#include
intfun(inthigh)
{
intsum=0,n=0,j,yes;
/***********SPACE***********/
while((high>=2)&&(【?
】))
{
yes=1;
for(j=2;j<=high/2;j++)
/***********SPACE***********/
if(【?
】)
{
yes=0;
break;
}
if(yes)
{
sum+=high;
n++;
}
high--;
}
/***********SPACE***********/
【?
】;
}
main()
{
printf("%d\n",fun(100));
}答案(答案1)n<10
或10>n(答案2)high%j==0
或!
(high%j)(答案3)
returnsum或return(sum)
第2题(6.0分)题号:
394
功能:
用条件编译方法实现以下功能。
输入一行电报文字,可以任
选两种方式输出,一种为原文输出;另一种将字母变成下
一个字母(如a变成b,C变成D,其他字符不变)输出。
#include
#defineCHANGE
main()
{
/***********SPACE***********/
charstr[80],【?
】=str;
printf("inputstring:
");
/***********SPACE***********/
gets【?
】;
printf("Outputstring:
");
#ifdefCHANGE
for(;*s!
='\0';s++)
{
if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')
{
(*s)++;
if(*s>'Z'&&*s<'Z'+2)
/***********SPACE***********/
【?
】;
if(*s>'z')
/***********SPACE***********/
*s=【?
】;
}
}
printf("%s\n",str);
#else
printf("%s\n",str);
#endif
}
答案:
(答案1)*s(答案2)(str)或(s)(答案3)*s='A'
(答案4)'a'
第3题(6.0分)题号:
32
功能:
计算并输出500以内最大的10个能被13或17整除的自然数之和。
#include
#include
/***********SPACE***********/
intfun(【?
】)
{
intm=0,mc=0;
/***********SPACE***********/
while(k>=2&&【?
】)
{
/***********SPACE***********/
if(k%13==0||【?
】)
{
m=m+k;
mc++;
}
k--;
}
/***********SPACE***********/
【?
】;
}
main()
{
printf("%d\n",fun(500));
}
答案:
(答案1)intk
(答案2)mc<10或10>mc
或mc<=9或9>=mc(答案3)k%17==0或!
(k%17或
k/17*17==k
(答案4)returnm
或return(m)
第4题(6.0分)题号:
401
功能:
输入某年某月某日,判断这一天是这一年的第几天?
#include
main()
{
intday,month,year,sum,leap;
printf("\npleaseinputyear,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)
{
case1:
sum=0;break;
case2:
sum=31;break;
case3:
sum=59;break;
/***********SPACE***********/
case4:
【?
】;break;
case5:
sum=120;break;
case6:
sum=151;break;
case7:
sum=181;break;
case8:
sum=212;break;
case9:
sum=243;break;
case10:
sum=273;break;
case11:
sum=304;break;
case12:
sum=334;break;
default:
printf("dataerror");break;
}
/***********SPACE***********/
【?
】;
/***********SPACE***********/
if(year%400==0||(【?
】)
leap=1;
else
leap=0;
/***********SPACE***********/
if(【?
】)
sum++;
printf("itisthe%dthday.",sum);
}答案:
答案1)sum=90
(答案2)sum=sum+day
或sum=sum+day
(答案3
year%4==0&&year%100!
=0)(答案4)leap==1&&month>2或leap==1&&month>2或leap==1&&2 第5题(6.0分)题号: 458 功能: 用等分法在有序的循环数组中,找到最小元素的位置。 #include intcyclic_min(intx[],intn) { intleft=0; intright=n-1; intmid; /***********SPACE***********/ while(【? 】) { mid=(left+right)/2; if(x[mid] /***********SPACE***********/ 【? 】; else /***********SPACE***********/ 【? 】; } returnleft; } #include voidmain(void) { intx[]={20,23,28,35,39,40,42,8,10,15,17,19}; intn=sizeof(x)/sizeof(int); intloc,i; printf("\nFindCyclicMinimum"); printf("\n==================="); printf("\n\nGivenArraySortedinCyclicFashion: \n"); for(i=0;i printf("%3d",x[i]); loc=cyclic_min(x,n); printf("\n\nMinimumislocatedatx[%d]=%d",loc,x[loc]); }答案: (答案1)left (答案2)right=mid (答案3)left=mid+1 或left=1+mid 四、程序设计共2题(共计20分) 第1题(10.0分)题号: 394 功能: 产生20个[30,120]上的随机整数放入二维数组 a[5][4]中,求其中的最小值。 #include"stdlib.h" #include voidwwjt(); intamin(inta[5][4])/**********Program**********/ /**********End**********/ } main() { inta[5][4],i,j; for(i=0;i<5;i++) for(j=0;j<4;j++) a[i][j]=random(120-30+1)+30; for(i=0;i<5;i++) { for(j=0;j<4;j++) printf("%5d",a[i][j]); printf("\n"); } printf("min=%d\n",amin(a)); wwjt(); } voidwwjt() { FILE*IN,*OUT; intm,n; inti[5][4]; into; IN=fopen("in.dat","r"); if(IN==NULL) { printf("ReadFILEError"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("WriteFILEError"); } for(m=0;m<5;m++) for(n=0;n<4;n++) { fscanf(IN,"%d",&i[m][n]); } o=amin(i); fprintf(OUT,"%d\n",o); fclose(IN); fclose(OUT); }答案: ---------------------- inti,j,s; s=a[0][0]; for(i=0;i<5;i++) for(j=0;j<4;j++) if(s>a[i][j])s=a[i][j]; return(s); ---------------------- 第2题(10.0分)题号: 23 功能: 从键盘输入一个大于3的整数,调用函数fun判断 其是否素数,然后在main函数中输出相应的结论 信息。 例如: 7是素数,8不是素数。 请编写fun函数。 素数是 仅能被1和自身整除的数 #include voidwwjt(); intfun(intn) { /**********Program**********/ /**********End**********/ } main() { intm,flag; printf("inputaninteger: "); scanf("%d",&m); flag=fun(m); if(flag) printf("%disaprime.\n",m); else printf("%disnotaprime.\n",m); wwjt(); } voidwwjt() { FILE*IN,*OUT; intiIN,iOUT,i; IN=fopen("5.IN","r"); if(IN==NULL) { printf("PleaseVerifyTheCurrerntDir..itMayBeChanged"); } OUT=fopen("5.out","w"); if(OUT==NULL) { printf("PleaseVerifyTheCurrentDir..itMayBeChanged"); } for(i=0;i<10;i++) { fscanf(IN,"%d",&iIN); iOUT=fun(iIN); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); } 答案: ---------------------- inti; intj; j=1; for(i=2;i {if(n%i==0)j=0; } returnj; ----------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言试题1 语言 试题