2017年青海师范大学计算机学院822C语言程序设计考研导师圈点必考题汇编
● 摘要
一、选择题
1. 以下叙述中错误的是( )。
A. 当在程序的开头包含头文件stdio. h时,可以给指针变量赋NULL
B. 函数可以返回地址值
C. 改变函数形参的值,不会改变对应实参的值
D. 可以给指针变量赋一个整数作为地址值
【答案】D
【解析】不能将一个整数直接赋给指针变量作为地址,D 项错误。标准库文件stdiah 定义了 NULL 是一个 类型为void*,值等于0的对象。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。
2. 有如下定义:
若文件已正确打开,且数组x 的10个元素均已赋值,以下将数组元素写到文件中的语句错误的是( )。
【答案】A
【解析】A 项中,因为n=l, 即每次写入1个结构体数据,x 是数组的首地址,因此,每次写入的数据都是数组的首个结构体元素,没有将整个数组写入文件中去。
3. 有以下函数:
该函数的功能是( )。
A. 计算字符串的长度
B. 计算字符串所占字节数
C. 将字符串逆序存放
D. 实现字符串的复制
【答案】D
while 循环语句中,【解析】实现功能是把q 指针指向地址单元的值赋给P 指针指向的地址中,
且每次完成赋值后,移动指针,进行下一次赋值,直到q 指针指向字符串结束符时,退出while 循环,功能为把q 指向的字符串复制到p 指向的地址中。
4. 以下叙述中错误的是( )。
A.gets 函数用于从终端读入字符串
B.getchar 函数用于从磁盘文件读入字符
C.fputs 函数用于把字符串输出到文件
D.fwrite 函数用于以二进制形式输出数据到文件
【答案】B
【解析】fgeto 函数从磁盘文件中读入字符,getchar 函数从终端或者键盘接收字符。
5. 有以下程序:
程序运行后的输出结果是( )。
A.beijing B. china C. welcome D . tiananmen
【答案】C
【解析】strcmp 用于比较两字符串:当时,返回值当时,返回值=0; 当时,返回值>0。程序主要实现的是先对前两行进行比较,将码值大的调到后面,依次比较,即
即为 “weleome”。
以下关于其执“china”、“tiananmen”、“weleome”、“you”,最后的顺序为“beijing”、最后输出 6. 若有定义:inta=0,b=0, c=0, d=0; ,有C 语言表达式
行顺序的叙述正确是( )。
A. 先执行a++, 表达式a++的值为0,短路,得a++,执行它
B. 先执行a++,表达式a++的值为0; 再执行b++,表达式b++的值为0,由此可确定
值为0,因此执行d++
C. 先执行a++,表达式a++的值为1; 再执行b++,表达式b++的值为1, 由此可确定
值为1, 因此执行C++
D. 先执行b++,表达式b++的值为1; 再执行a++,表达式a++的值为1,由此可确定
值为1,因此执行C++
【答案】A
【解析】表达式1? 表达式2:表达式3, 若表达式1为真,则执行表达式2, 否则执行表达式3。逻辑与运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式>中,左操作数a++的值为0, 已经可以确定整个逻辑表达式的结果为0, 因此右操作数b++不再求解,直接执行表达式3, 即d++, A 项正确。
7. 以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。
A.
B.
C.
D.
【答案】A
【解析】A 选项a 为数组首地址,i++先取i 值再加1,scanf 读入的数据依次存放在数组中,A 选项正确。B 选项,进入死循环,i-直为0, 一直对a[i+l]读入数据,B 选项错误。C 选项,控制变量i 没有依次加1,无法结束循环,也无法对整个数组赋值,输入的数全是a[0], C 选项错误。D
,D 选项错误。故选A 。 选项数组元素引用错误,数组元素引用为不是( )
8. 以下选项中可用作c 语言中合法用户标识符的是( )。
A._123
B.void
C.-abc
D.2a
【答案】A
【解析】合法标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第一个字
B 项中void 符必须为字母或下划线,其中,关键字在程序中都代表着固定的含义,不能另作他用。
是关键字,不合法。C 项和D 项没有以字母或下划线开头,不合法。
9. 有如下程序:
相关内容
相关标签