- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程序的实践问题11_12_1c_b体积
2011/2012一学期C程序设计试卷
一、填空题(将答案写在答卷纸相应题号下。每小题2分,共20分)
⑴ 声明“float a=13.6; int b;”,执行“b=(int)a%5,--b-1;”后a、b当前值分别为:
⑵ s、n分别为0、6,执行“do s=s+n; while(--n);”后s、n的当前值分别为:
⑶ 声明语句为“float a[4]={2,4,6};”,表达式“*(a+3)+1”的值为:
⑷ 声明“char a[20]=Windows,b[]=/xp;”,语句puts(strcpy(a,b))输出:
⑸ 函数声明为“f(double *a,int n)”,其中a为(数组/指针变量):
⑹ 自定义函数f计算并返回m行n列float类型数组全体元素之和,函数原型为:
⑺ 对下列递归函数f,函数调用f(18)的返回值为:
int f(int n) { return n=1 ? 1:2+f(sqrt(n));}
⑻ 将字符变量x的最低位设置为1(新赋值的赋值语句为:
⑼ 执行语句“a=12|6;”后,a的当前值为:
⑽ 打开二进制文件写数据的函数访问模式为wb、读数据的读写模式为:
二、程序阅读题(将运行时的输出结果写在答卷纸相应题号下。每小题8分,共24分)
⑴ #include stdio.h
void main()
{ int a[7]={2,5,7,9,4,3,1},b[6]={4,-2,6,5,8,7},i,j,k;
for(i=0;i7;i++) {
for(j=0;j6;j++) if(a[i]==b[j]) break;
if(j==6) printf(%d-,a[i]);
}
printf(\b \n);
}
⑵ #includestdio.h
void main()
{ int a[4][4]={{2,5,7,9},{4,3,1,2},{6,9,8,7},{0,5,4,2}},i,j,ii;
for(j=0;j4;j++) {
ii=0; for(i=1;i4;i++) if(a[i][j]a[ii][j]) ii=i;
printf((%d,%d) ,ii,j);
}
putchar(\n);
}
⑶ #includestdio.h
int f(char *s)
{ int k=0,i;
for(i=1;s[i]!=\0;i++) if(s[i-1]s[i]) k++; return k;
}
void main()
{ char a[]=windows; int i;
for(i=0;i4;i++) printf(%d ,f(a+i)); putchar(\n);
}
三、程序填空题(阅读下列程序和说明,将答案填写在答卷纸相应题号下。每空2分,共24分)
1.【程序说明】输入16个整数到1维数组a,将其中的非零元素存储到数组b并输出。
#includestdio.h
⑴
void main()
{ int a[16],i,k,n=0, ⑵ ;
for(i=0;i16;i++) { scanf(%d,a+i); if(⑶ ) n++; }
b=(int*)malloc(n*sizeof(int));
⑷ ;
for(i=0;i16;i++) if(a[i]!=0) b[k++]=a[i];
for(i=0;in;i++) printf(%d ,b[i]);
putchar(\n);
}
2.⑴ f(double *a, int n, ⑵ )
{ int i;
⑶ ;
for(i=0;in;i++) *v=*v+a[i]; ⑷ ;
for(i=0;in;i++) *d=*d+pow(a[i]-*v,2);
*d=sqrt(*d/n);
}
3.【函数说明】函数形参分别为方程的系数,返回root类型数据:若方程有实根则成员flag为1,x1、x2为根;若方程有虚根则成员falg为0,x1为根的实部系数、x2为虚部系数。
struct root { float x1,x2; int flag;};
⑴
文档评论(0)