好文档 - 专业文书写作范文服务资料分享网站

浙大C程序设计期末试卷-c_2003B

天下 分享 时间: 加入收藏 我要投稿 点赞

浙江大学“C程序设计及实验”试题卷

2003-2004学年春季学期

考试时间: 2004年6月25日上午8:30-10:30

注意:答题内容必须写在答题卷上,写在本试题卷上无效

一.单项选择题(每题1分,共10分)

1. C 语言程序的三种基本结构是顺序结构、选择结构和______结构。

A.递归 B.转移 C.循环 D.嵌套 2. 下列运算符中,优先级最高的是_____。

A.+= B.[ ] C.? : D.& 3. 运算符_____ 不能做为单目运算符。

A./ B.& C.* D.+ 4. 以下选项中不正确的字符常量是_____。

A.'1' B.'\\0' C.'%d' D.10 5. 表达式 x&&1 等价于_____。

A.x==0 B.x==1 C.x != 0 D.x != 1 6. 已知字符 ‘a’ 的ASCII码为 97 ,执行下列语句的输出是_____。

printf (\

A.b99 B.98c C.9899 D.bc 7. 在C 语言程序中,在函数内部定义的变量称为______。

A.全局变量 B.外部变量 C.局部变量 D.内部变量 8. 执行语句 printf(\将得到出错信息。

A.%u B.%s C.%x D.%f 9. 对于以下的变量定义,表达式______是不正确的。 struct node { float x, y; } point, *p=&point;

A.p->x=2.0 B.(*p).y=3.0 C.point.x=2.0 D.*p->y=3.0 10. 对于变量定义:int **p[10], p 是一个______。

A.指针 B.数组 C.函数 D.数组元素

二、填空题(每题2分,共30分)

1. 写出计算s(s-a)(s-b)(s-c)的C语言表达式______。

2. 如果运算符 * 和 / 都是右结合的,则表达式7 * 2 / 3 的值是_____。 3. 表达式 !!10的值是_____。

4. 表达式 ~(~1<<1)的值是______。 5. 下列程序段的输出结果是_____。 #define MM(x,y) (x)+(y) printf(\MM(2*3,15)*2);

2003-2004学年春季学期“C程序设计及实验”试题卷 第 1 页(共8页)

6. 对于变量定义:int a[10], *p=a+3; 数组a的最后一个元素是p[__]。 7. 下列程序段的输出结果是_____。

int k=1, j=2; int *p=&k, *q=&j; (*p)++; k=j; (*p)++;

printf(\

8. 下列程序段的输出结果是_____。

char *st[ ]={\ printf(\9. 下列程序的输出结果是_____。 #include void p(int *x,int *y)

{ int *p; p=x; x=y; y=p; }

void main() { int x=0, y=3; p(&y, &x);

printf(\ }

10. 用typedef定义一个整型指针类型PA。

三、程序阅读题(每题5分,共30分)

1.输入2 59 60 <回车>后,下列程序的输出结果是_______。

#include void main( ) { int ri, repeat; int mark; scanf(\&repeat); for(ri=1; ri<=repeat; ri++) scanf(\ if(mark >= 60) printf(\ else

printf(\}

2.输入2+5*3/2$= <回车>后,下列程序的输出结果是_______。

#include void main( )

2003-2004学年春季学期“C程序设计及实验”试题卷 第 2 页(共8页)

{ int op1, op2, res; char operator; scanf(\&op1); operator = getchar(); while(operator!='='){ scanf(\&op2); switch(operator){ case '+': res = op1+op2; break; case '-': res = op1-op2; break; case '*': res = op1*op2; break; case '/': res = op1/op2; break; default: res = 0; } op1 = res;

printf(\ operator = getchar(); } }

3.调用函数f(2004, 4, 10)的返回值是_______。

int f(int x, int y, int z) { int k, flag; int tab[2][13]={ {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} };

flag=x%4==0 && x0!=0 || x@0==0; for(k=1; k

4.调用函数f(15)的输出结果是_______。

void f(int n) { if(n<3)

printf(\ else{ f(n/3);

printf(\n%3); }

return;

2003-2004学年春季学期“C程序设计及实验”试题卷 第 3 页(共8页)

}

5.输入How are you?<回车>后,下列程序的输出结果是_______。

(函数strcmp(s, t)的功能:若s和t相等,返回0;若s大于t,返回一个正数;若s小于t,返回一个负数)

#include #include void main( ) { int i; char s[80], ss[80];

scanf(\ strcpy(ss,s); for(i=1; i<3; i++){ scanf(\

if(strcmp(s, ss) > 0) strcpy(ss,s); }

printf(\ss); }

6.下列程序的功能是_______。 #include # include void main() { FILE *fpa, *fpb;

if((fpa=fopen(\== NULL){ printf(\not open file a.txt !\\n\ exit(0); }

if((fpb=fopen(\== NULL){ printf(\not open file b.txt!\\n\ exit(0); }

while(!feof(fpa))

fputc(fgetc(fpa), fpb);

fclose(fpa); fclose(fpb); }

四、程序(段)填空题(每空2分,共40分)

1.读入1 个正实数eps,计算并输出1-1/3+1/5-1/7+……,直到最后一项的绝对值小于eps。

2003-2004学年春季学期“C程序设计及实验”试题卷 第 4 页(共8页)

#include #include void main( ) {

int temp, flag; double eps, item, sum;

scanf(\&eps);

sum = 0; item = flag = temp = 1; while(fabs(item)>=eps){ sum = sum + item; temp = (1) ; (2) ;

item = (3) *flag/temp; }

printf(\sum); }

2.输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。

#include void main( )

{ int blank=0, digit=0, letter=0, other=0; char c;

c = getchar(); while( (4) ){ if( (5) ) /* 判断英文字母 */ letter++;

else if( (6) ) /* 判断数字字符 */ digit++;

else if( (7) ) /* 判断空格 */ blank++; else

other++; (8) ; }

printf(\blank=%d, digit=%d, other=%d\\n\}

3.a是一个3×3的矩阵,输入a的元素,如果a是下三角矩阵, 输出\否则, 输出\。(下三角矩阵,即主对角线以上的元素都为0, 主对角线为从矩阵的左上角至右下角的连线)

#include \

2003-2004学年春季学期“C程序设计及实验”试题卷 第 5 页(共8页)

浙大C程序设计期末试卷-c_2003B

浙江大学“C程序设计及实验”试题卷2003-2004学年春季学期考试时间:2004年6月25日上午8:30-10:30注意:答题内容必须写在答题卷上,写在本试题卷上无效一.单项选择题(每题1分,共10分)1.C语言程序的三种基本结构是顺序结构、选择结构和______结构。A.
推荐度:
点击下载文档文档为doc格式
2dftu84gc73z01x0bvw21wxgu8k84a00ncq
领取福利

微信扫码领取福利

微信扫码分享