【C语言基础知识】
1. C语言源程序经过编译器编译后生成的文件后缀是`.obj`,这是中间文件,通常用于链接阶段。而最终的可执行文件的后缀是`.exe`。
2. 当C语言源程序经过编译器连接后,会生成一个后缀为`.exe`的可执行文件,这是可以直接运行的程序。
3. 从C源文件到生成执行文件的步骤通常是:编译、连接,最后运行。因此,正确的顺序是B. 编译 连接。
4. 正确的说法是D. 编译工具是程序设计必不可少的一个工具。C源程序编译后不会直接生成可执行程序,需要经过链接过程;`.obj`文件不能直接执行;编译器的作用不仅仅是文本编辑和程序编译。
5. 一个C程序的执行始终从`main`函数开始,直到`main`函数结束,因此答案是A.
6. 有关C语言函数的正确说法是C. 函数的采用方便程序进行模块化设计。函数声明不是程序的必要环节,函数可以嵌套声明但不能嵌套定义,且C源程序必须包含`main`函数。
7. 在C语言中,每个语句必须以分号`;`结束。
8. 合法的C语言用户标识符是B. `nit`。`int`是保留字,`123`不能作为开头,`a+b`包含非法字符。
9. C语言程序的正确组成是:C程序中一定有变量或常量。C程序至少包含一个函数,可以没有头文件,但通常需要。
10. 合法的C常量是C. `0x12`,它是一个十六进制数字。A中的`a=12`是赋值语句,B中的`0139`在C语言中不是合法八进制数,D中的`'ab'`是非法字符常量。
11. `unsigned int n = -1;`在C语言中,`-1`会被解释为无符号整数的最大值,即65535(对于16位系统)。所以`printf("%d", n)`会输出C. 65535。
12. 对于`int n = 65535;`,在32位系统中,`printf("%d", n)`会输出65535,因为65535在32位整数范围内。
考点1.2:
1. 该段代码的输出结果取决于输入字符`ch`,只有当`ch`在'a'到'z'之间时才会进行转换。根据输入123Abc#!,输出将是字符`A`到`z`之间的字符,即'Bcd'。
2. `strlen(a)`计算字符串长度,不包括终止符,`sizeof(a)`计算数组的总字节数,包括终止符。对于字符串"ab\t\n\\cdef",输出结果是14, 15。
3. 非法的字符常量是B. '\087',因为八进制数字不能以0开头。
4. 程序段的输出结果是9,因为`strlen(s)`不计算转义字符的长度,`printf(s)`打印出字符串本身。
5. 合法的C常量是C. '\\',它代表反斜杠字符。
6. 不合法的C常量是B. '\n\xab',因为转义序列不能嵌套。
7. 对于`char ch='\\0';`,D是正确的,这与语句`char ch=0;`等价,`ch`的值是字符0。
8. 程序段的输出结果是9,因为`strlen(s)`计算字符串长度,不包括转义字符。
9. 程序段的输出结果是5,因为`strlen(s)`只计算`hello`的长度,`\0`终止了字符串,`world`不会被计算在内。
10. 程序段的结果因平台和编译器不同可能略有差异,但`printf("%d\n", c)`可能会输出非预期的值,因为353超过`unsigned char`的范围,而`printf("%c", c)`将输出对应的ASCII字符。
11. 程序段的结果是-1,然后是对应负1的ASCII字符,通常是一个不可打印的控制字符。
以上是针对甘肃省专升本考试C语言部分复习题的详细解析,涵盖了C语言的基础概念,如文件类型、编译过程、函数、语句结构、标识符、常量、字符编码以及字符串处理等方面的知识点。这些内容对于准备C语言考试的学生来说至关重要。
- 1
- 2
前往页