2011年c语言二级计算机考试,2011年计算机等级考试二级C语言常见问题(11)

第 11 章 ANSI/ISO 标准C

问题列表:

11.1 什么是“ANSI C 标准”?

11.2 我如何得到一份标准的副本?

11.3 我在哪里可以找到标准的更新?

11.4 很多ANSI 编译器在遇到以下代码时都会警告类型不匹配。

extern int func(float); int func(x) float x; { ...

11.5 能否混用旧式的和新型的函数语法?

11.6 为什么声明extern int f(struct x *p); 报出了一个奇怪的警告信息“结构x 在参数列表中声明”?

11.7 我不明白为什么我不能象这样在初始化和数组维度中使用常量:

const int n = 5; int a[n];

11.8 既然不能修改字符串常量, 为什么不把它们定义为字符常量的数组?

11.9 “const char *p” 和“char * const p” 有何区别?

11.10 为什么我不能向接受const char ** 的函数传入char **?

11.11 怎样正确声明main()?

11.12 我能否把main() 定义为void, 以避免扰人的“main无返回值”警告?

11.13 可main() 的第三个参数envp 是怎么回事?

11.14 我觉得把main() 声明为void 不会失败, 因为我调用了exit()而不是return , 况且我的操作系统也忽略了程序的退出/返回状态。

11.15 那么到底会出什么问题?真的有什么系统不支持void main()吗?

11.16 我一直用的那本书《熟练傻瓜C语言》总是使用void main() 。

11.17 从main() 中, exit(status) 和返回同样的status 真的等价吗?

11.18 我试图用ANSI “字符串化” 预处理操作符# 向信息中插入符号常量的值, 但它字符串化的总是宏的名字而不是它的值。

11.19 警告信息“warning: macro replacement within a string literal” 是什么意思?

11.20 在我用#ifdef 去掉的代码里出现了奇怪的语法错误。

11.21 #pragma 是什么, 有什么用?

11.22 “#pragma once” 是什么意思?我在一些头文件中看到了它。

11.23 a[3] = "abc"; 合法吗?它是什么意思?

11.24 为什么我不能对void* 指针进行运算?

11.25 memcpy() 和memmove() 有什么区别?

11.26 malloc(0) 有什么用?返回一个控指针还是指向0 字节的指针?

11.27 为什么ANSI 标准规定了外部标示符的长度和大小写限制?

11.28 我的编译对最简单的测试程序报出了一大堆的语法错误。

11.29 为什么有些ASNI/ISO 标准库函数未定义?

11.30 谁有把旧的C 程序转化为ANSI C 或相反的工具, 或者自动生成原型的工具?

11.31 为什么声称兼容ANSI 的Frobozz Magic C 编译器不能编译这些代码?

11.32 人们好像有些在意实现定义(implementation-defin-ed) 、未明确(unspecified) 和无定义(undefined) 行为的区别。它们的区别到底在哪里?

11.33 一个程序的“合法”, “ 有效” 或“符合” 到底是什么意思?

11.34 我很吃惊, ANSI 标准竟然有那么多没有定义的东西。标准的唯一任务不就是让这些东西标准化吗?

11.35 有人说i = i++ 的行为是未定义的, 但是我刚在一个兼容ANSI的编译器上测试, 得到了我希望的结果。

2010年9月计算机等级考试成绩查询时间汇总

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值