一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。 A.32 B.12 C.21 D.22 答:C
【解析】C 语言中函数参数传递满足“单向传递”,实现传递值的功能,实参能传给形参,形参却不能传回 给实参。fun 函数体内输出p 的值为2,并不影响到fun 函数外a 的值,a 的值在main 函数内依然为1。
2. 有以下程序:
程序的运行结果是( )。 A.5,5,5,5,5 B.3,5,5,5,5 C.5,3,3,3,5 D.3,5,3,5,5
答:A
【解析】程序执行过程为:p 指向i ,q 指向j ,调用函数f ,将i 与j 地址传递给s 与t ,判断i 是否小于j ,成立则将j=5赋值给i ,则i=5,返回指向i 的指针并赋给r ,则r 指向i ,最后输出5,5,5,5,5,故A 选项正确。
3. 有以下程序:
程序的运行结果是( )。 A.4 B.5 C.6 D.7 答:C
【解析】fun 函数是递归函数,用来计算从0到n 的整数和。调用fun 函数,n=3,
返回
【程序有错,
4. 有以下程序:
程序运行后的输出结果是( )。
答:D
应为】
,在【解析】D 项正确,main 函数中,首先为结构变量a ,b 初始化,再调用函数f ( )f ( )函数中,使用结构体变量a 对指针b 指向的结构体进行赋值,使得指针b 指向的结构体成员依次赋值为结构体a 的成员,然后依次输出指针b 指向的结构体成员的值;由于f 函数形参b 为指针,所以指针b 指向的值被修改为a 的同时,main 函数中的实参b 的值也被修改成a 。
5. 以下选项中合法的C 语言赋值语句是( )。
答:A 【解析】B 项和C 项缺少分号,不合法。D 项类型转换不合法,应为
6. 以下函数不能用于向文件写入数据的是( )。
A.ftell B.fwrite C.fputc D.fprintf 答:A
【解析】函数ftell ( )用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁地前后移动,程序不容易确定文件的当前位置。调用函A 项不能写入数据,BCD 三项都可以向文件中写入。 数ftell 就能非常容易地确定文件的当前位置。
7. 以下函数findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。
造成错误的原因是( )。 A. 定义语句B. 赋值语句C. 语句D. 赋值语句答:D
【解析】本题中for 循环中首先将MIN 值赋值给max , 然后用
中max 未赋初值
中,不应给max 赋MIN 值
中判断条件设置错误
放错了位置
与max 的值比较。每次都是