C 语言程序设计第三单元单元测试答案 一 选 择 题 1
以 下 程 序 的 运 行 结 果 是
void sub (int x,int y,int *z) {*z=y-x;} main() {int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf("%4d,%4d,%4d",a,b,c); } A) 5, 2, 3 B) -5, -12, -7 C) -5, -12, -17 D) 5, -2, -7 参 考 答 案 : A 2
执 行 以 下 程 序 后 , a 的 值 为 【 1】, b 的 值 为 【 2】
main() {int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(-*p1)/(*p2)+7; printf("a=%d,b=%d\n",a,b); } 【 1】 A)- 1 B)1 C)0 D)4 【 2】 A)5 B)6 C)7 D)10 参 考 答 案 :【 1】 C 【 2】 C 3
下 面 程 序 欲 对 两 个 整 型 变 量 的 值 进 行 交 换 ,以 下 正 确 的 说 法 是
main() {int a=10,b=20; printf("(1)a=%d,b=%d\n",a,b); swap(&a,&b); printf("(2)a=%d,b=%d\n",a,b); } swap (int p,int q) {int t; t=p;p=q;q=t;} A) 该 程 序 完 全 正 确 B) 该 程 序 有 错 ,只 要 将 语 句 swap(&a,&b);中 的 参 数 改 为 a,b 即 可 C) 该 程 序 有 错 ,只 要 将 swap()函 数 中 的 形 参 p、q 和变 量 t 均定义为 指针即 可 D) 以 上说 法 都不正