C+通信原理
答题须知: 1.参加笔试意味着您同意对此试卷承担保密义务,如不同意承担此义务,请立即提出并退出笔试; 2.请认真仔细对待每一道题,本试卷的结果会直接影响您的面试结果,本试题满分为100分; 本答题时间不得超过50分钟。
姓名:
请输入您的手机号码:
您的性别:
男
女
学校:
一.选择题(单选)(共30题,每题1分,共30分)
1.下列C语言运算符中,( )不是逻辑运算符
A)&&
B)&
C)!
D)||
2.关于宏定义的说法中,不正确的是( )
A)宏定义必须用大写字母表示
B)宏定义是用宏名代替字符串
C)宏定义无需在行末加分号
D)宏替换只占用编译时间,不占用程序运行时间
3.关于枚举类型的说法中,不正确的是( )
A)定义枚举类型用enum开头
B)可以把一个枚举元素范围内的整数直接赋给枚举变量
C)枚举值可用于比较大小
D)枚举变量的值只限于枚举元素范围内的值
4.有以下程序
main()
{
int x[8]={8,7,6,5,4,3};
int *p;
p=x+3;
printf("%d\n",p[2]);
}
程序运行后的输出结果是( )
随机值
3
5
6
5.以下程序段中while循环执行的次数是( )
int k=O;
while(k=1)k++;
执行一次
一次也不执行
无限次
有语法错,不能执行
6.定义一个结构体
struct student
{
int a;
int b;
};
定义变量struct student stu[36];
定义指针变量struct student *p;
则printf(”%x\n”,*p++);
的输出结果是(D)
a的值
p的地址
stu[0]的地址
取决于编译器的具体实现,不建议此编程方式
7.int (*p)()中的p为( )
一个指向函数的指针
一个返回值为指针的函数
一个指向整型数据的指针
一个指针数组
8.下列程序打印信息为 ( )
unsigned int a = 6;
int b = -20;
int c = a + b;
if ((a+b) > 6)
{
printf("(a+b)>6\n");
}
else
{
printf("(a+b)<=6\n");
}
if (c > 6)
{
printf("c>6\n");
}
else
{
printf("c<=6\n");
}
(a+b)>6 c>6
(a+b)>6 c<=6
(a+b)<=6 c>6
(a+b)<=6 c<=6
9.C语言中函数局部变量的缺省存储类型是( )
A)static
B)register
C)auto
D)extern
10.若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是( )
A)EOF
B)-1
C)非零值
D)NULL
11.设非空文件file1.dat和file2.dat已存在,下列程序段的功能是( )
#include <stdio.h>
FILE *fp1, *fp2;
fp1=fopen("file1.dat","r");
fp2=fopen("file2.dat","w");
while(feof(fp1)) putc(getc(fp1),fp2);
A)将文件file1.dat的内容复制到文件file2.dat中
B)将文件file2.dat的内容复制到文件file1.dat中
C)屏幕输出file1.dat的内容
D)什么也不干
12.下面对文件的叙述正确的是( )
A) 用“r”方式打开的文件可以从文件读数据,也可以向文件写数据
B) 用“b”方式也可以打开文件
C) 用“w”方式打开的文件只能用于向文件写数据,且该文件可以不存在
D) 用“a”方式可以打开不存在的文件
13.已知有共用体变量data1定义如下
union data
{
short i;
char ch;
float f;
}data1;
则变量data1所占的内存存储空间可表示为( )
A) sizeof(short)
B) sizeof(char)
C) sizeof(float)
D) sizeof(int)+sizeof(char)+sizeof(float)
14.下列运算符的优先级排列正确的是( )
A) 算术运算符<关系运算符<赋值运算符<逻辑与运算符
B) 算术运算符<赋值运算符<逻辑与运算符<关系运算符
C) 关系运算符<逻辑运算符<算术运算符<赋值运算符
D) 赋值运算符<逻辑与运算符<关系运算符<算术运算符
15.若有两条语句:char x[] = "abcdef";char y[] = {'a','b','c','d','e','f' };则下列说法正确的是( )
A)x 与y数组的长度相同
B)x数组的长度小于y数组的长度
C)x数组的长度大于y数组的长度
D)x和y数组完全相同
16.以下程序的运行结果为( )
# include <stdio.h>
#define p 2
#define POWER(x) p*x*x
void main(void)
{
int x = 1, y = 2;
printf("%d,%d",POWER(x+y),POWER(y+x));
}
A)18, 18
B)6, 7
C)6, 6
D)7, 7
17.以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( )
void main(void)
{
int *p, *q, a, b;
p = &a;
printf("input a:");
scanf("%d", *p);
……..
}
A)*p表示的是指针变量p的地址
B)*p表示的是变量a的值,而不是变量a的地址
C)*p表示的是指针变量p的值
D)*p只能用来说明p是一个指针变量
18.以下有关变量使用范围不正确的说法是( )
A)在不同函数中可以使用同名的变量
B)形式参数是局部变量
C)在函数内定义的变量只在本函数内有效
D)在函数外的全局变量默认初始化值为1
19.若有宏定义如下
#define m 5
#define n m + 1
#define 1 n * m / 2
则执行以下语句后,输出结果是( )
printf("%d,%d",l,m);
A)7, 6
B)12, 6
C)12, 5
D)7, 5
20.栈和队列的共同特点是( )
A)都是先进先出
B)都是先进后出
C)都是线性数据结构
D)没有共同点
21.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )
A)函数调用可以作为独立的语句存在
B)函数调用可以作为一个函数的实参
C)函数调用可以出现在表达式中
D)函数调用可以作为一个函数的形参
22.数组名作实参而指针变量作形参,函数调用实参传给形参的是( )
A)数组的长度
B)数组第一个元素的值
C)数组所有元素的值
D)数组第一个元素的地址
23.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下
void main(void)
{
int n,k;
double score,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{
for(k=1;k<=4;k++)
{
scanf("%lf",&score);
sum+=score;
}
ave=sum/4.0;
printf("NO%d:%lf\n",n,ave);
}
}
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )
A)sum=0.0;
B)sum+=score;
C)ave=sun/4.0;
D)printf("NO%d:%lf\n",n,ave);
24.下列代码执行结果是( )
#include<stdio.h>
int Fun(int n)
{
static int nI = 10;
nI = nI + n;
return nI;
}
void main(void)
{
int nI = 20;
nI = Fun(nI);
printf("%d \n",Fun(nI));
}
A)30
B)40
C)50
D)60
25.在C语言中,整数-8在内存中的存储形式是( )
A)1111 1111 1111 1000
B)1000 0000 0000 1000
C)0000 0000 0000 1000
D)1111 1111 1111 0111
26.关于break和continue的说法正确的是( )
A)break会跳出函数
B)break会跳出所有循环(多层循环)
C)continue会跳出函数
D)break可以用在switch/case语句中
27.在用class定义一个类时,数据成员和成员函数的默认访问权限是( )
A)public
B)private
C)protected
D)static
28.每个类( )构造函数
A)只能有一个
B)只可有公有的
C)可以有多个
D)只可有缺省的
29.在公有继承的情况下,基类成员在派生类中的访问权限( )
A)受限制
B)保持不变
C)受保护
D)不受保护
30.释放内存空间和调用析构函数这两个步骤的执行顺序是( )
A)先释放内存空间再调用析构函数
B)先调用析构函数再释放内存空间
C)释放内存空间之后要调用构造函数再调用析构函数
D)两者同时进行
二.选择题(多选)(共5题,每题2分,共10分)
1.以下描述正确的是( )
A)信源编码的目的是克服信号在信道中传输时所遭受的干扰和噪声影响
B)发射机主要由载波产生器、调制器、功率放大器和天线组成
C)提高信噪比或者减小系统带宽都可以提高信道的信息容量
D)衡量通信系统质量的主要指标是:信息传输速率和信息在传输过程中的失真程度
2.以下哪些编码方式属于纠错码( )
A)卷积码
B)CRC
C)Turbo码
D)重复编码
E)Reed-Muller编码
3.下面哪些项对于软件流水会有限制( )
A)循环中包含内联函数(intrinsics)
B)循环中包含函数调用
C)循环中有条件判断
D)循环体内修改循环计数器
E)循环体代码尺寸很大
4.关于信道衰落正确的描述是( )
A)阴影衰落会对无线信号产生时域弥散的效应
B)频率选择性衰落是信号传输的多径效应引起的
C)无线传播环境的多径效应会产生数字信号的时域扩展
D)码间串扰是频率选择性衰落产生的
5.物理层位于OSI参考模型中的最底层,它的主要任务是为上层提供数据传输服务以及完成其他一些基本过程,如物理层测量、小区选择、随机接入、同步建立与锁定等,以下是由物理层完成的功能有( )
A)信道的编码与复用
B)调制、解调
C)扩频、加扰
D)功率控制、同步控制
三.填空题(共10空,每空2分,共20分)
1.若一个人开车以50km/h的速度远离基站,此时其使用手机拨打电话与基站建立无线连接,基站的频率是2.6GHz,此时电话通信信号产生的多普勒频移是_____Hz
2.一个256点序列和一个128点序列线性相关的结果是____ 点的序列
3.dBm是____单位,dB是____单位,1W等于____ dBm
4.设序列x(n)={1,2,3}, y(n)={4,5,6}, 则二者的线性卷积z(n)={ _____ }
44. 5.计算一个长度N=128的有限长序列的128点DFT, 利用DFT的定义式, 需要的复乘次数为(请直接计算出得数)_________ , 复加次数为_________
45. 6.选择测量小尺度传播需要的适当的空间取样间隔,假设连续取样值有很强的时间相关性,在fc= 1900Mhz 以及速度V =50m/s的情况下,移动100米,需要_________个样值。假设测量能够在运动的车辆上实时进行,则进行这些测量需要_________s 时间
四.判断题(共10题,每题1分,共10分)
1.信道编码是为了提高信息传输的有效性
对
错
2.误码率是指传输过程中码元被传错的概率,是错误接收的码元数和传输总码元数之比。二进制信号误码率等于误信率
对
错
3.ASK、PSK、AM、QAM均属于数字调制方式
对
错
4.内联指令是直接参与dsp汇编指令映射的内联函数。使用内联指令可以告诉编译器编译时使用对应的指令,可以快速优化C代码
对
错
5.无限冲激响应数字滤波器的缺点是相位非线性
对
错
6.OFDM技术是将高速数据流分解为多路并行的低速数据流,在多个载波上同时进行传输
对
错
7.信道频率选择性衰落引入时延功率谱的扩散区间为t,传输消息符号持续时间为Ts,当Ts>>t时,必须使用自适应均衡来消除符号间干扰ISI
对
错
8.功率相同条件下,64QAM的调制方式比QPSK可靠性更高
对
错
9.其中的单位为弧度(错)改为:超短波及微波视距传播信道时随参信道
对
错
10.其中的单位为弧度(错)改为:超短波及微波视距传播信道时随参信道
对
错
五.问答题(共3题,每题10分,共30分)
1.什么是深衰落?窄带和宽带信号哪种适合于对抗深衰落信道,原因是什么?
2.简要描述NR中Frame、subframe、slot、symbol之间的关系
3.给定一个无序数组,包含正数,负数和0,编写一个程序,要求找出其中3个数的乘积,使得乘积最大。
输入描述:无序整数数组A;
输出描述:最大乘积结果
关闭
更多问卷
复制此问卷