2016年北京邮电大学信息与通信工程学院C语言程序设计复试笔试仿真模拟题
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
答:D
【解析】函数f 对结构体进行修改,并返回新的结构体;main 函数先定义了一个结构体变量a 并为它赋初值,然后调用函数f 修改结构体变量的成员值,最后输出新的结构体变量成员。
2. 有如下程序:
程序运行后的输出结果是( )。 A.12 B.14 C.20 D.13 答:C
【解析】整型常量中,十进制整常量没有前缀,输出格式控制符为为前缀,输出格式控制符为
十六进制整常量以
或
第 2 页,共 35 页
八进制整常量以0作
十六
作为前缀,输出格式控制符为
进制数表示成十进制数为19,以十进制格式输出
3. 以下叙述中正确的是( )。
A.
语句B.
语句C.
语句D. 语句符
答:A
是合法的
是不合法的,遗漏了数组的大小
故C 项正确。
是合法的,定义了一个包含两个字符的数组
是合法的,因为数组有三个字符空间的容量,可以保存两个字
【解析】A 项正确,表示定义了长度为8的int 型数组,它里面的每个元素都是0。当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0。B 项错误,C 语言规定可以通过赋初值来定义数组的大小,这时数组说明符的一对方括号中可以不指定数组的大小;C 项错误,a 是char 类型的数组,里面的元素应该是字符而非字符串,应该用单引号括起来;D 项错误,数组变量一旦定义,其地址值不可改变,不能给数组名重新赋值。
4. 有以下程序:
程序运行后的输出结果是( )。 A.3344 B.2050 C.3040 D.0304 答:C
【解析】main 函数的主体是一个for 循环语句,for 循环中包含一个switch 语句,如果判断条件为0则进入第二个switch 语句,如果判断语句为1则执行
,最后将数组顺序输出。所
以程序功能是将数组的偶数项设为0, 奇数项如果为奇数则减1,为偶数就加1,最后得到结果。
5. 有以下程序:
第 3 页,共 35 页
程序运行后的输出结果是( )。 A.b »B ,b ,A B.b ,B ,B ,A C.a ,B ,B ,a D.a ,B ,a ,B 答:A
【解析】fun ( )函数中的两个局部变量(:和山c 是一个字符指针变量,在程序中取出指针所指内存单元的值进行修改,对其进行的修改影响调用函数中对应的变量的值;而d 是一个整型变量,在程序中进行的修改是局部的,不影响其他函数。 【程序错误,】
6. 以下关于指针的叙述正确是( )。
A. 所有类型的指针变量所占内存的大小是一样的
B. 指针变量所占内存的大小与其类型有关,char 型指针变量只占1个字节,double 型指针变量占8个字节
C. 指针变量可直接指向任何类型的变量,而不会出现编译或运行错误
D. 指针变量既可以直接指向结构体,也可直接指向结构体中某个成员,而不会出现编译或运行错误
答:A
【解析】专门用来存放变量地址的变量称为“指针变量”,所有地址值所占字节都是一样的,故指针变量所占内存大小一样,A 选项正确,B 选项错误。由于一个变量的地址(指针)还隐含有这个变量的类型信息,所以不能随意把一个地址存放到任何一个指针变量中去,只能把具有相同类型的变量的地址,存放到这个指针变量中, 结构体变量与某个成员类型不同,不能用同样的指针指向它们,C 、D 选项错误。
7. 有以下程序
第 4 页,共 35 页
相关内容
相关标签