c语言程序改错题指针程序设计,C语言程序设计指针习题课.ppt

1 假如p是一个指针变量 下列表达式中正确的是 A p 2B p C p D p 2 假定有数组a 3 7 下列表达式中 是错误的 A a 2 B a 1 C a 0 0 2 D a 2 5 答案 A 答案 D 练习题 3 对表达式double f int char 的正确理解为 Af是一个返回双精度指针的函数Bf是一个需要两个参数的函数 该函数为double型C该函数是一个返回double型的需要两个参数的双精度指针Df是一个需要两个参数的返回double型的函数指针 答案 D 4 设有inta p 下列表达式中 不正确表达式是 A p B a C p D a 5 已知inta 5 5 int pa 5 正确赋值语句是 Apa a 1 Bpa a 1 Cpa 答案 B 答案 D 6 假定有数组inta 4 4 下列表达式中 不是a 2 3 的地址 Aa 2 3B a 2 3C a 2 3 D a 2 3 答案 D 7 已知函数fp原型是 intfp double 10 下列数组 可作为参数 Adouble arr 10 Bdouble arr 5 10 Cdoublearr 5 10 Ddouble arr 10 8 假定有inta 3 7 pt pa 7 下列语句 是错误的 Apt 答案 B 答案 D 9 对表达式char pa 3 char 的正确理解为 Apa是一个返指针的函数数组 需要一个字符指针参数Bpa是一个需要字符指针参数的函数 该函数返回char 型C该函数是一个返回char 型的需要一个char 参数指针数组D由3个指针组成的数组 每个指针指向返回char 型 需要char 型参数的函数 答案 D 10 假如有语句char s1 abc chars2 xyz 下列 语句是错误的 A s1 B s2 C s1 1 D s2 1 11 执行下列语句后 屏幕上输出的是 defineTESTchars xyz p s ifndefTESTwhile p while p s printf c p elsewhile p printf c p endifAxyzBzyxC无输出D乱码 答案 B 答案 A 12 对表达式int fp 5 char 的正确理解为 Afp是一个返指针的函数 需要一个字符型指针参数Bfp是一个需要字符型指针参数的函数 该函数返回int 型Cfp是一个指向一个返回int 型的需要一个char 参数的函数指针Dfp是一个指针数组 数组的元素是指向返回int 需要char 做参数的函数的指针 答案 D 13 已知函数fn原型是 char fn char char char 且有char v1 char v2 char fp char 正确的函数调用语句是 Afn fp 3 v2 Bfn v1 v2 Cfn fp 答案 D 14 设有intarr 3 3 p pa 3 表达式 的类型是int 型 AarrBDpa 答案 C 改错1 strcmp return0ifs t includeintstrcmp char s char t for s t s t if s 0 return0 return s t 答案 9 strcmp return0ifs t includeintstrcmp char s char t for s t s t if s 0 return0 if s 0 return s t return s t 改错2 下列函数的功能是用冒泡法对6个字符串由小到大排序 voidbubblesort int a 6 inti j char p for j 0 j0 p a j a j a i a I p 答案 voidbubblesort char a 6 inti j char p for j 0 j0 if strcmp a j a i 0 p a j a j a i a i p a j a i 改错3 函数revs将一个字符串反转voidrevs char s chart p s while p p while p s t p p s s t 答案 voidrevs char s chart p s while p p while p s 改为 p s t p p s s t s t 或 s t s 改错4 下列程序的功能是将两个字符串链接起来 includevoidstrcat char s char t for s s while s t s t 答案 includevoidstrcat char s char t for s s 删除该行while s t 将s t 用 扩起来s t 改错5 函数doublefn int x 的功能是计算整型数组x中所有正数的平均值并返回 该数组用0作为结束标志 doublefn int x intsum 0 0 intc 0 while x if x 0 sum x c x sum c returnsum 答案 doublefn int x intsum 0 0 intc 0 floatsum 0 0 while x if x 0 sum x c x sum c returnsum sum c 分析下面程序的运行结果inta 3 3 10 9 8 7 6 5 4 3 2 int pa 3 a 0 a 1 a 2 int p a 0 main inti for i 0 i 3 i printf d t d t d n a i pa i p i 101010779448 六 假定内存的初始分配如下图左方所示 执行下述语句后 分析内存分配情况 将结果写在右边内存示意图相应位置 short pi pj t long pl double pd pd double pi pi 六 假定内存的初始分配如下图左方所示 执行下述语句后 分析内存分配情况 将结果写在右边内存示意图相应位置 short pi pj t long pl double pd pd double pi pi 编写一个函数delodds 功能是从字符串s中删除所有ASCII码位奇数的字符 串中剩余字符形成一个新串放在t所指的数组中 函数原型如下 10分 voiddelidds char s chart voiddelodds char s chart inti j 0 n n strlen s for i 0 i n i if s i 2 0 t j s i t j 0 六 分析下面程序的运行结果 10分 includevoidmain chars1 gawsie chars2 bletonism char ps inti 0 for ps s1 ps ps if ps a ps e putchar ps else ps putchar ps putchar n while s2 i printf c i 3 s2 i i faavrhee le on sm

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值