华师c语言期末考试题及其答案.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【C语言知识点详解】 1. **C语言源程序的基本单位**:C语言源程序的基本单位是函数。每个C程序都由一个或多个函数组成,其中包含一个特殊的函数`main()`,它是程序执行的起点。 2. **整型变量与运算**:在C语言中,整型变量用于存储整数。例如,变量`a`和`b`可以是整型,表达式`(a=5,b=2,a>b?a++:b++,a+b)`的值取决于运算顺序,这里的结果是8,因为`a`被赋值为5,`b`被赋值为2,然后`a++`使其变为6,`b++`使`b`变为3,最后`a+b`得到9。 3. **浮点数转换与模运算**:当一个浮点数参与模运算时,它会被转换为整数部分,所以`a=125.534; a=(int)125.521%4;`会将`a`赋值为125,然后`a=5<<2;`左移操作使得`a`的值变成20。 4. **条件判断与循环控制**:`while(k=0) k=k-1;`这个循环永远不会执行,因为`k=0`是一个赋值操作,其结果为0,`while`条件永远为假。 5. **循环与函数调用**:C语言允许函数调用的嵌套,但函数定义不能嵌套。在给定的代码段中,`void prt( )`函数被调用多次,体现了函数调用的嵌套特性。 6. **输出控制**:`for`循环与`printf`结合,`for(i=5;i<8;i++) printf("%c",'*')`会在每一行打印三个星号。在主循环中,`for(i=5;i<=8;i++)`调用`prt()`三次,因此输出为`*** *** ***`。 7. **函数调用与参数传递**:函数调用可以有零个或多个参数,`func((e1,e2),(e3,e4,e5))`表示传递了两个参数,每个参数都是一个元组。 8. **宏定义与计算**:在`#define ADD(x) x*x`之后,`ADD(a+b)*c`会被替换为`(a+b)*(a+b)*c`,如果`a=4`,`b=6`,则`d`的值为`100*7`,即700。 9. **联合体与内存分配**:在C语言中,结构体`worker`中包含一个整型、一个字符数组、一个字符和一个联合体。联合体占用的内存大小等于其中最大成员的大小,这里是`int`,4字节。加上其他成员,系统为`w`分配的总空间是25字节。 10. **枚举常量的值**:枚举类型`enum week`中,`tue`的值默认为1,因此值为5的枚举常量是`tue`。 11. **赋值语句**:正确赋值语句是`*p="abcd";`,这将字符串"abcd"的地址赋给指针`p`所指向的字符数组。 12. **指针与结构体**:表达式`(*p).n++`将首先访问`p`所指向的结构体的`n`成员,然后加1,使得值为6。 13. **文件类型**:C语言中的文件类型包括ASCII码文件(文本文件)和二进制文件。 14. **程序段分析与判断**: - **整型数据占2个字节**:通常情况下,取决于编译器,32位系统中通常是4字节。 - **switch case**:输出结果为"B",因为没有`break`,`case 2`后继续执行`case 1`。 - **break与continue**:描述正确。 - **递归调用**:描述正确。 - **strlen函数**:返回不包括结束符`\0`的字符数,因此`strlen("ASDFG\n")`是6。 - **return语句**:函数只能带回一个返回值。 - **结构体类型**:结构体类型可以有多种,可以包含不同类型的成员。 - **字符型指针**:描述正确,`p`指向字符串"girl"的首字符地址。 - **函数声明**:`char *p(char a[10])`声明了一个接受字符数组的函数,返回字符指针。 - **文件打开模式**:"r+"模式允许读写,但初始位置在文件开头,需要先移动到合适位置才能修改。 这些题目覆盖了C语言的关键概念,如基本数据类型、运算符、流程控制、函数、字符串处理、内存管理和文件操作等。理解和掌握这些知识点对于学习和使用C语言至关重要。
剩余15页未读,继续阅读
- 粉丝: 3
- 资源: 11万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助