- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二○○九年上海师范大学专升本招生考试
《C语言程序设计》试卷
考生注意:1、本试卷共有4大题,共12页,满分150分,考试时间150分钟。
2、答题前将密封线内的项目填写清楚。
3、用蓝、黑钢笔或圆珠笔将答案写在答题纸上。
一、单选题(每小题2分,共20分)
1、下列程序的输出结果是___D_______。
main()
{char c1=97,c2=98;
printf(%d,%c\n,c1+c2,c2-32);
}
(A) b,195
(B) 195,b
(C) B,195
(D) 195,B
2、下面程序段的执行结果是____D___B____。
#define prt(a,b) if(!a) b=a
main(){
int x=1,y=0;
if(xy) prt(x, y);
else prt(y,x);
printf(“%d,%d”,x, y);}
(A) 1,0
(B) 0,0
(C) 0,1
(D) 编译出错
3、以下程序的运行结果是___A_______。
main()
{int m=4;
if(--m4) printf(%d\n,m);
else printf(%d\n,m++);
}
(A) 3
(B) 4
(C) 5
(D) 6
4、在函数调用语句fun(a+b, (x,y), fun(n, m, (a,b)));中,实参的个数是____3_D_____。
(A) 语句有错误
(B) 5
(C) 4
(D) 3
5、已知int a=0,b=8,c=4; 则a||b!c的值为___D______。
(A) 1
(B) 8
(C) 6
(D) 0
6、下列程序的输出结果是_____C_____。
main()
{float s=2.734;
printf(%1.2f\n,s);
}
(A) 2.70
(B) 2.7
(C) 2.72
(D) 2
7、若x=2,y=4,则x1y的结果是____A_D______。
(A) 4
(B) 2
(C) 1
(D) 0
8、当顺利执行了文件关闭操作时,fclose函数的返回值是__D__C_____。
(A) TRUE
(B) -1
(C) 0
(D) 1
9、若已定义char s[10],则在下面表达式中不表示s[1]的地址是____A_C____。
(A) s[0]+1
(B) s+1
(C) s++
(D) s[1]
10、下列变量赋值语句中,错误的是______C___。
(A) char c=0x61;
(B) int f=1;
(C) int t=d=a=6;
(D) float a=3;
二、填空题(每小题2分,共40分)
1、编写程序,将1到9这九个数字分成三个三位数,要求:第2个三位数是第1个三位数的两倍;第3个三位数是第1个三位数的三倍。
#include stdio.h
int a[9];
int OK(int t,int *s)
{
int *p,*q;
for(p=s; (1) ;p++)
{
(2) ;
t=t/10;
for(q=a;qp;q++)
if(*p==0|| (3) ) return(0);
}
}
main()
{int m,count=0;
for(m=123;m=333;m++)
if(OK(m,a) (4) (5) )
printf(NO. %d:%d %d %d\n,++count,m,2*m,3*m);
}
2、下列程序将字符串a复制为字符串b,并输出字符串b。
#include string.h
main()
{char a[]=ABCDE,b[20],*p1,*p2;
int i;
(6) ;
p2=b;
for(; (7) ;p1++,p2++)
*p2=*p1;
(8) ;
printf(string a is : %s\n,a);
printf(string b is:);
for(i=0;b[i]!=\0;i++)
printf( (9) ,b[i]);
printf(\n);
}
3、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。算法如下:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
main( )
{
int a[11]={1,4,6,9,13,16,19,28,40,100};
int temp1,temp2,number,end,i,j;
printf(original
文档评论(0)