
C语言基础知识练习及答案
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOC
简介:
《C语言基础知识练习及答案》是一本专为初学者设计的学习指南,通过丰富的例题和详尽解析帮助读者掌握C语言的核心概念与编程技巧。
### C语言基础题目解析
《C语言》中的这些题目可以帮助初学者更好地理解编程的基本概念和技术细节。以下是每个题目的详细解释:
1. **题目:** `define` 是预处理器指令关键字,不能作为用户标识符使用。
- **答案:** D.可以把 `define` 定义为用户标识符,但不能把 `if` 定义为用户标识符
- **解析:**
* C语言中的关键字如 `if`, `else`, 和其他控制结构的关键字是保留的,不允许作为变量或函数名使用。
* 预处理器指令(例如 `#define`)在编译前由预处理程序解释执行,并不会影响到C代码中标识符的选择。
2. **题目:** 函数 `prtv(int x)` 接受一个整数指针,然后输出该地址指向的值加1。
- **答案:** B.26
- **解析:**
* 在主函数调用时传入变量`a`(其初始值为 25)的地址给 `prtv(&a)`。
* 函数内部通过指针递增操作将输入整数值加1,因此输出结果是26。
3. **题目**:
- 定义了一个结构体类型`struct ex`和一个实例变量 example。成员包括x, y 和 z。
- 问:下面哪个选项正确?
* A.`example` 是结构体的实例
* B.`ex`是结构体类型的定义,但不是 `example`
* C.以上都不对
* D.`example` 是结构体类型名
**答案**:
- D错误。
- **解析:**
- 结构体类型命名规则为 `struct ex`; 其中实例化变量的声明形式如 `struct ex example;`
- 所以,选项D是错的,因为`example` 是一个具体的对象(instance),不是类型名。
4. **题目**:
- 根据函数能否被其他源文件调用来区分内部和外部函数。
* A.C语言中不支持过程
* B.C语言中的所有变量都是全局可见的
* C.C语言编译时检查语法错误,但无法在运行时发现
* D.根据是否能通过其它源文件被调用来区别
**答案**:
- D正确。
- **解析:**
- 函数的作用域由其声明方式决定。`static` 关键字用于限定函数或变量只能在其定义的文件内使用,即内部作用;而没有 `static` 修饰符则可被其他源文件调用,属于外部作用。
5. **题目**:
- 给定指针 p 和整型变量 i, j。下面哪个操作使i等于j?
* A.*p = &i;
* B.i = j;
* C.p = &j
* D.*p = *&j;
**答案:**
- D正确。
- **解析**:
- 选项D通过指针 `*p` 将变量 `j` 的值赋给它指向的地址,即变量i。
6. **题目**:
- 字符串长度和数组大小
* A.5,20
* B.4,19
* C.5,19
* D.4,20
**答案:**
- A正确。
- **解析**:
- 给定字符串 `hello\0t`,有效字符为 hello(不含转义符),共 5 字节。而数组大小包括末尾的空终止符 `\0`, 故总共有20字节。
7. **题目**:
- 主函数参数形式
* A.main(int argc, char *argv[])
* B.main(int argn, char argv[])
* C.main(int argc,char *argv)
* D.main()
**答案**:
- A正确。
- **解析:**
- 标准的主函数定义为 `int main (int argc, char* argv[])`。
8. **题目**:
- 从键盘输入三个整数,并依次赋值给变量 a、b 和 c。下面哪个选项是正确的?
* A.printf(%d %d %d, &a, &b, &c);
* B.gets(a,b,c);
* C.scanf(%d%d%d,&a,&b,&c);
**答案**:
- C正确。
- **解析:**
- 使用 `scanf` 函数读取整数输入,参数中需要使用地址符(
全部评论 (0)


