2017年北京信息科技大学经管学院817数据结构和C语言之C程序设计考研仿真模拟题
● 摘要
一、选择题
1. 以下选项中正确的定义语句是( )。
【答案】C
【解析】定义同一类型的变量时,不同变量之间需要用分隔。A 项错误,a 和b 之间缺少逗号而用分号,是不正确的,分号是语句结束标志;B 项错误,定义变量的同时为变量初始化赋值不能用连等;D 项错误,在double 和a 之间多了一个逗号,变量类型说明后面不应用逗号,应用空格分离。
2. C 语言中char 类型数据占字节数为( )。
A.3
B.4
C.1
D.2
【答案】C
【解析】char 为关键字。字符变量在内存中占一个字节,可以存放ASCII 字符集中的任何字符。
3. 以下涉及字符串数组、字符指针的程序段,不会产生编译错误的是( )。 A. B. C. D.
【答案】A
【解析】将字符指针变量初始化为一个字符串有两种方式,一种通过赋值运算使一个字符指针指向一个字符串常量:
并且初始化为一个字符串的首地址:
变量,所以不能给一个数组名赋值,
如A 选项正确。另一种是定义一个字符指针变量,字符指针变量与字符数组都可以用来实错误,B 选项错误;(2. 字符型的指针变现字符串的存储和运算,但二者是有区别的:(1. 数组名是一个地址常量,而字符指针变量是一个量的值是可以改变的;(3. 字符指针变量和字符数组在内存中的 存储情形不同,数组指的是按照数组长度分配的若干存储空间,而指针只是一个存储字符串首地址的存储空间,所以相同类型指针可以相互赋值,而数组不能直接用“=”赋值,C 选项错误。数组不可以直接赋值字符
串
. 不合法,只有在数组初始化时可以直接赋值,
如
合法,并且定义数组时必须指定数组长度,不
合法,故D 选项错误。
4. 以下选项中叙述正确的是( )。
A. 文件指针是指针类型的变量
B. 文件指针可同时指向不同文件
C. 文件指针的值是文件在计算机磁盘中的路径信息
D. 调用fscanf 函数可以向文本文件中写入任意字符
【答案】A
【解析】文件指针,是指向一个结构体类型的指针变量,这个结构体中包含有文件的一些信息,如缓冲区的地址,在缓冲区中当前存取的字符的位置,对文件是“读”还是“写”,是否出错,是否已经遇到文件结束标志等信息。文件指针本身是指针类型的变量,A 项正确。一个指针在同一时间只能指向一个文件,B 项错误。文件指针是指针类型变量,存储的是文件缓存区首地址,而不是文件在计算机磁盘中的路径信息,C 项错误。fscanf 函数从文本文件中按格式读入到程序中,而不是向文本文件中写入数据,D 项错误。
5. 以下函数的功能是计算a 的n 次方作为函数值返回:
为实现上述功能,函数中下画线处应填入的是( )。 A. B. C. D.
【答案】B
,【解析】for 循环语句,i=l时,最后返回s 。
6. 设函数中有整型变量n ,为保证其在未赋值的情况下初值为0, 应选择的存储类别是 ( )。
A.auto
B.register
C.static
D.auto 或 register
【答案】C
【解析】静态存储类型定义变量在未对其初始化时会对其初始化为默认值,其中int 型的默认初始化是0,其他选项的存储类型不能保证。
7. 有以下程序:
程序运行后的输出结果是( )。 A. B. C. D.
【答案】A
【解析】本题执行过程为:i=l, 1%2=1,if 条件成立,输出*与#; i=2, 2%2=0, if 条件不成立,
i=3,3%2=1,执行continue 结束本次循环,执行下一次循环;输出*与#; i=4, 4%2=0,执行continue ,
开始下一次循环;i=5,5%2=1,输出*与#; i=6退出循环。最后输出$,A 项正确。
8. 有以下程序:
程序运行后的输出结果是( )。
A.1
B.123
C.23
D.3
【答案】A 【解析】
和
,不执行if 后面的语句,所以最后输出只有1,故答案为A 选项。 是转义字符,表示空字符,故成立,输出1; 是字符常量和0不等,
都是字符常量,因为
9. 有以下程序:
相关内容
相关标签