2018年北京市培养单位中丹院864程序设计之C程序设计考研仿真模拟五套题
● 摘要
一、选择题
1. 有以下程序段,若变量已正确定义并赋值( )。
则与此程序段功能相同的选项是( )。
【答案】A
【解析】程序段执行过程为:如果a>b,输出x ,否则输出y ; 如果a<=b,i 加1,否则j 加1。A 项如果a>b,A 项正确。B 项如果a>b,输出x 且j 加1, 否则输出y 且i 加1, 与题目中功能相同,
输出x 且i 加1,否则输出y 且j 加1,与题目中功能不相同,B 项错误。C 项如果a<=b,输出x
C 项错误。D 项判断条件为a>=b,且i 加1,否则输出y 且j 加1,与题目中功能不相同,多了a=b,
D 项错误。
2. 有以下程序
执行后的输出结果是( )。
A.32
B.24
C.5
D.40
【答案】A
【解析】自增运算符“++”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算分量的值加1,但是它们的表达式的值不一样,前缀形式表达式的值为运算分量加1之后的值,而后缀形式表达式的值为运算分量加1之前的值。题目中使用了一个for 循环,循环变量i 从1递增到40。在循环体中有两条嵌套的if 语句,首先判断i++%5==0,即判断i++的值(i 加1之前的值)是否能被5整除(判断后i 被加1),然后再判断++i的值(i 加1之后的值)是否能
,被8整除(判断后i 被加1)若两个条件都满足了,就输出i 的值,只有i=30时,满足i++%5==0,
此时i=31,++i%8==0成立,此时i=32。
3. 有以下函数
该函数的功能是( )。
A. 计算S 所指字符串占用内存字节的个数
B. 比较两个字符串的大小
C. 计算s 所指字符串的长度
D. 将S 所指字符串复制到字符串t 中
【答案】A
【解析】本题中,首先让t 指向形参s , 然后通过一个循环体为空的while 循环,将t 逐次后移,直到其所指内容为(字符串结束标志)。此时t 仍然会被曾1, 所以从循环出来,t 指向的是s
是8所指字符串占用内存字节的个数,A 所指字符串的结束标志的后一个字节。因此,返回的
项正确。而C 项所说的长度并不包括字 符串结束标志位,错误。
4. 以下叙述中错误的是( )。
A. 当在程序的开头包含头文件
B. 函数可以返回地址值
C. 改变函数形参的值,不会改变对应实参的值
D. 可以给指针变量赋一个整数作为地址值
【答案】D
【解析】D 项错误,不能将一个整数直接赋给指针变量作为地址。A 项正确,NULL 是在头文件中定义的符号常量;B 项正确,函数的返回值可以是地址,即指针;C 项正确,函数调用中形参值的变化不会传递给实参。
5. 以下函数不能用于向文件写入数据的是( )。
A.ftell
时,可以给指针变量赋NULL
B.fwrite
C.fputc
D.fprintf
【答案】A
【解析】函数ftell ( )用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁地前后移动,程序不容易确定文件的当前位置。调用函
A 项不能写入数据,BCD 三项都可以向文件中写入。 数ftell 就能非常容易地确定文件的当前位置。
6. 有以下程序:
程序的运行结果是( )。
A.7, 4, 2
B.8, 7, 5, 2
C.9, 7, 6,4
D.8,5, 4,2
【答案】D
【解析】题目中的for 循环等价于:
第一次循环,x=8, for 循环条件为真,8%3=2, 不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值8, 然后将x 的值减1, 此时x=7。然后执行continue 语句结束本次循环,执行x--表达式,得x=6
第二次循环,x=6, for 循环条件为真,6%3=0, 则if 条件表达式为假,执行第二个输出语句,先将x 的值减1得x=5, 然后输出x 的值5, 执行x —表达式,得x=4。
第三次循环,x=4, for 循环条件为真,4%3=1,不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值4,然后将x 的值减1,此时x=3,然后执行continue 语句结束本次循环,执行x —表达式,得x=2。
第四次循环,x=2, for 循环条件为真,2%3=2, 不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值2, 然后将x 的值减1,此时x=l, 执行X-表达式,得x=0, for 循环条件为假,循环结束。
相关内容
相关标签