编辑: 于世美 2019-07-01
综合测试题一参考答案

一、填空题(表达式求值) (本大题共

10 小题,每小题

1 分,共10 分)设各语句的初始化 相同:int x=3,y=2,z=1;

1.

x=y==z x=【

0 】 2. x=!(z>y)&&!x||1 x=【

1 】 3. x=(y++*1/3) x=【

0 】 4. x=((x>y>z)?1:0) x=【

0 】 5. x*=2+3 x=【

15 】 6. x=(++z*y,y++,z%y) x=【

2 】 7. y=--z&&--x x=【

3 】 8. x=5||x!=y x=【

1 】 9. x=1.5+7%3*(int)(2.5+4.7)%2/4 x=【

1 】 10. x='a'-'A' x=【

32 】

二、读下列程序段,指出错误并改正(改错题) (本大题共

5 小题,每小题

4 分,共20 分) 说明:指出错误的表示形式为错误处加下划线:如int a[n][n];

改正形式为在错误语句之后加修改内容:如int a[4][4];

1. #include #define MAX(a,b) (a>=b?a:b) void main(){ //① a 数组无'\0',改为:char a[7]= "a1b2c3" int i;

// 或char a[7]={'a','1','b','2','c','3','\0'} char a[

6 ]={'a','1','b','2','c','3'};

//② 数组定义过小,不能存放串结束 char b[

6 ]="234def";

//符'\0'⑻至少应改为 a[7],b[7] for(i=0;

a[i]!='\0';

i++) printf("i=%d,max=%c\n",i, MAX(a[i],b[i]));

} 2.#include void main(){ int a=9;

//①函数应先定义后使用,否则事先声明,因此须加 double m;

//函数原型说明:double f1(double i,int j);

double f1(double i,int j);

//②形实参数的类型不匹配,应此须互换处理: m=f1(3.14, a);

// m=f1(a,3.14);

或printf("%f\n",m);

// double f1(double i,int j){ } double f1(int i,double j){ return(i*i+j*j);

} 3. #include void main(){ //字符指针数组不能直接存放字符串, int i;

//修改方案有 2: char *str[5];

//① char s[5][80];

然后每行的起始地址赋给 char s[5][80];

//指针数组的相应元素: for(i=0;

i

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题