(完整word)历年全国计算机二级C语言题库.doc

preview
需积分: 0 0 下载量 66 浏览量 更新于2022-11-15 收藏 55KB DOC 举报
【知识点详解】 1. C语言的基本概念:C语言是一种高级编程语言,它的程序设计强调结构化,具有高效、灵活的特点。C程序可以没有输入或输出,但通常需要至少有一个输出来展示程序的结果。 2. 用户标识符:在C语言中,用户自定义的标识符可以由字母、数字和下划线组成,且不能以数字开头。`void`, `define`, `WORDB`, `_123`, `Car` 都是合法的标识符,但 `For`, `-abc`, `IFCase` 不符合规则,因为`For`是保留字,`-abc`以非字母数字字符开头,`IFCase`中包含非法字符。 3. 常量:C语言中的常量可以是整数、浮点数、字符或字符串。选项A `-80` 是合法的,而B `-080` 和C `-8e1.0` 不合法,因为八进制数不能以0开头,且浮点数的小数点和指数部分之间不能有空格。D `-80.0e` 也是不合法的,因为它缺少了指数部分的数值。 4. 指针和数组:在C语言中,`char *line[5]` 定义了一个指针数组,其中每个元素都是一个指向字符的指针,这意味着它可以存储五个字符串的地址。不是指向一个长度为5的字符数组,也不是一个指向函数的指针。 5. 变量声明:A选项的初始化错误,应为 `int a = 0, b = 0;`。B选项正确,其中`A`是ASCII值65,`b`是字符'b'。C选项的`*c = &b`错误,`c`应该是指向`float`的指针。D选项的`double a = 0.0;`正确,但接着的`b=1.1;`是非法的,因为它没有声明`b`。 6. 输出格式:`printf`函数用于输出,`%c`对应字符,`%d`对应整数。程序段将输出`a`的ASCII值97,`k`的值12,因为第二个`printf`缺少一个输出项,所以结果是不确定的。正确输出应为`a, 97, 12, k=12`。 7. 条件判断与循环:`for`循环用于迭代,`if`条件判断检查`i`是否能被5和3整除。满足条件的`i`会被累加到`s`,最后输出`s`的值为所有既能被5整除又能被3整除的数之和,结果是12+18+24+30=94。 8. 逻辑表达式:当`c`不等于2、4、6时,表达式`(c>=2 && c<=6) && !(c%2)`会返回“真”,因为它是检查`c`是否在2到6之间且是偶数。 9. 分支语句:`if`结构检查`a`是否大于`b`,然后是`c`是否等于`a`。如果`c`不等于`a`,则赋值`c=b`。在这个例子中,初始值`a=3, b=5, c=7`,所以不会改变`a`和`c`的值,输出是`3, 5, 7`。 10. `switch`语句:这个程序首先检查`x`的值,然后根据`y`的值执行相应的子`switch`。当`x=1`时,进入`case1`,然后检查`y`,由于`y=0`,执行`a++`,然后`break`跳出子`switch`。因此`a`为1,主`switch`继续到下一个`case`,但`break`使得程序不再执行后面的`case`,所以`b`保持为0。 11. 循环与条件判断:这个程序计算偶数和奇数的个数。外层循环迭代1到9,内层`if`检查`i`是否为偶数,如果是,则`a++`;否则,`b++`。所以`a`是偶数计数,`b`是奇数计数,结果是`a=4, b=5`。 12. 数组和指针:`int a[10] = {1,2,3,4,5,6,7,8,9,10}`定义了一个10个元素的数组,`p=a`表示`p`是`a`数组的第一个元素的地址。`*(p+2)`表示访问`p`后的第三个元素,即数组的第三个元素,输出是3。 13. 数组初始化:A选项中,数组`x`的定义不完整,只初始化了前三个元素。B和C选项都是合法的,它们初始化了4x3的二维数组,且所有元素都相同。D选项定义了一个3列的二维数组,但只提供了4个初始值,这是不合法的,因为至少需要3个值来初始化第一行。 14. 字符处理函数:`ss`函数接收一个字符串和字符`c`,然后将字符串中所有等于`c`的字符替换为其大写形式。给定的程序将字符串`str1`中所有'd'替换为'D',输出是`"abcDDfefDbd"`。 以上是对题目中涉及的C语言知识点的详细解释。
Mmnnnbb123
  • 粉丝: 761
  • 资源: 8万+
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源