1.解释灌电流和拉电流。
2.一段PCI接口的英文翻译。
3.非门晶振电路计算输出频率。
4.一个电路晶振22.1182MHz,串口通讯波特率为9600,数据位8位,停止位1位,使用T1模式,求SMOD参数设置值。
5.异步逻辑电路设计一个。
6.一个简单的51单片机系统外围电路及其需要注意的问题。
7.PWM压控震荡电路的输出电压的设定。求R1,R2电阻。
8.通过CPLD芯片,运用VHDL语言来描述一个硬件信号传输接口。
9.一个VDD以10-40V输出,由于输出端容易和地接触,设计一个电源保护电路。
10.LM833等音频放大芯片主要技术指标。
1.求二进制中1的个数
unsigned int FindOneInBitNember(unsigned int x)
{
unsigned int n;
for(n=0; x; n++)
x &= x-1;
return n;
}
2.p操作使进程__加锁___,v操作使进程__解锁____
3.有5个进程,有一个正在运行状态,则就绪状态的进展最多的个数:
A.0 B.1 C.4 D.5
4.查错:
unsigned int sum(unsigned int base)
{
static unsinged int sum=0;
unsigned int index;
for(index=1;index<=base;index++)
sum+=index;
return sum;
}
5. DMA方式的特点:优点速度快、控制简单;缺点:DMA接口与CPU存在竞争冲突
6.CPU物理地址映射方式:端口和内存两种
7.中断的响应时间:中断的响应过程的时间
8.程序中变量和返回值等在内存中的存储位置:
1:设float a=2, b=4, c=3;,以下C语言表达式与代数式 (a+b)c计算结果不一致的是
A.(a+b)*c/2
B.(1/2)*(a+b)*c
C.(a+b)*c*1/2
D.c/2*(a+b)
2:为了向二进制文件尾部增加数据,打开文件的方式应采用
A.″ab″
B.″rb+″
C.″wb″
D.″wb+″
3:下述程序执行后的输出结果是
main(){
int x='f';
printf("%c/n",'a'+(x-'a'+1));
}
A.G
B.H
C.I
D.J
4:C语言中,下列运算符优先级最高的是
A.!
B.%
C.>>
D.= =
5:数组定义为“ int a [ 4 ] ; ”,表达式 ( ) 是错误的。
A.*a
B.a [ 0 ]
C.a
D.a++
6:执行语句“ k=7>>1; ”后,变量 k 的当前值是
A.15
B.31
C.3
D.1
7:定义函数时,缺省函数的类型声明,则函数类型取缺省类型
A.void
B.char
C.float
D.int
8:若main()函数带参数,参数个数最多是
A.0
B.1
C.2
D.3
9:若有宏定义:#define MOD(x,y) x%y
则执行以下语句后的输出结果是
int a=13,b=94;
printf(″%d/n″,MOD(b,a+4));
A.5
B.7
C.9
D.11
10:下列各个错误中,哪一个不属于编译错误
A.改变 x 原值 3 为 5 ,写作“ x==5 ;”
B.花括号不配对
C.复合语句中的最后一条语句后未加分号
D.变量有引用、无定义
11:下列程序段运行后, x 的值是( )
a=1;b=2;x=0;
if(!( -- a))x -- ;
if(!b)x=7;else ++x;
A.0
B.3
C.6
D.7
12:设
#define N 3
#define Y(n) ((N+1)*n)
则表达式2*(N+Y(5+1))的值是
A.42
B.48
C.54
D.出错
13:若定义了char ch[]={″abc/0def″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是
A.def
B.d
C.e
D.0
14:下列转义字符中错误的是
A.′/000′
B.′/14′
C.′/x111′
D.′/2′
15:算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为
A.算术运算、赋值运算、关系运算
B.算术运算、关系运算、赋值运算
C.关系运算、赋值运算、算术运算
D.关系运算、算术运算、赋值运算
16:设#define N 3
#define Y(n) ((N+1)*n)
则表达式2*(N+Y(5+1))的值是
A.42
B.48
C.54
D.出错
17:表达式 strcmp( “ 3.14 ”,“ 3.278 ” ) 的值是一个
A.非零整数
B.浮点数
C.0
D.字符
18:设struct
{ short a;
char b;
float c;
}cs;
则sizeof(cs)的值是
A.4
B.5
C.6
D.7
19:若变量已正确定义,表达式( j=3 , j++ )的值是
A.3
B.4
C.5
D.0
20:C 语言中运算对象必须是整型的运算符是
A.%
B./
C.!
D.**
简答题
21:打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,...
例子:当N =5,打印出下面的图形:
X X X X X
X Y Y Y X
X Y 0 Y X
X Y Y Y X
X X X X X
1: void assign(char **arr,int m,int n,char ch) 2: { 3: int i, j; 4: for (i=m; i
for
(j=m; j
int main(
void) 9: { 10:
char **array; 11:
int n,i,j,u,v; 12:
char ch='X'; 13: 14:
printf("
Enter lines,press 'q' to quit: "); 15:
while (
scanf("
%d", &n)==1) 16: { 17: array=(
char **)
calloc(n,
sizeof(
char *)); 18:
for (i=0;i
char *)
calloc(n,
sizeof(
char)); 20: u=0; 21: v=n; 22:
while (u<=v) 23: { 24:
if (u==2) 25: ch='0'; 26: assign(array, u, v, ch); 27: u++;v--; 28: ch++; 29: } 30:
for (i=0;i
for (j=0; j
printf("
%c ", array[i][j]); 34:
printf("
/n"); 35: } 36: ch='X'; 37:
printf("
/nEnter another lines, press 'q' to quit: "); 38: } 39:
system("
pause"); 40:
return 0; 41: }
22:谈谈COM的线程模型。然后讨论进程内/外组件的差别。
23:多态类中的虚函数表是Compile-Time,还是Run-Time时建立的?
24:#include
void main()
{
int c;
while ((c=
getchar())!= ′/ n ′ )
switch(c - ′ 2 ′ )
{
case 0:
case 1:
putchar(c+4);
break;
case 2:
putchar(c+4);
break;
case 3:
putchar(c+3);
break;
default:
putchar(c+2);
break;
}
printf( ″/ n ″ );
}
运行时输入: 2473 ,输出结果:
25:用两个栈实现一个队列的功能?
26:写一语句实现x是否为2的若干次幂的判断。
27:解二次方程:a*x*x+b*x+c
int Quadratic(
double a,
double b,
double c,
double& x1,
double& x2);
返回值:解的个数
28:如何判别一个数是unsigned。
29:执行下述程序的输出结果是__________________。
#include
char b[]="
ABCDEF";
main()
{
char *bp;
for (bp=b;*bp;bp+=2)
printf("
%s",bp);
printf("
/n");
}
30:已知一个数组table,用一个宏定义,求出数据的元素个数。