Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12705
  • 博文数量: 3
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 25
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-04 16:01
文章分类
文章存档

2012年(3)

我的朋友

分类:

2012-10-08 15:32:22

原文地址:三篇c语言笔试题 作者:sillyboytao

1:编译程序的功能是
A.将汇编语言程序转换为目标程序
B.将汇编语言程序转换为高级语言程序
C.将高级语言程序转换为目标程序
D.将高级语言程序转换为汇编语言程序
2:在C语言中,若定义函数时类型缺省,则类型隐含为
A.int
B.char
C.float
D.void
3:设int x;,则以下语句中错误的输入是
A.scanf (″%d″,x);
B.scanf (″%d″,&x);
C.scanf (″%o″,&x);
D.scanf (″%x″,&x);
4:下列错误的是
A.char s[]=″China″;
B.char s[10]={″China″};
C.char s[10]; s=″China″;
D.char s[10]={′C′, ′h′, ′i′,;′n′, ′a′};
5:对于程序段 float f1(int a)
  {int b ;…… }
  main( )
  { int m,n;
   m=f1(n); ……
}
  char f2(int x,int y)
  {int a; …… }
  变量 m,n 的作用范围是
A.整个程序段
B.main 函数
C.main 函数和 f2 函数
D.mian 函数和 f1 函数
6:位运算中,操作数左移一位,其结果相当于操作数
A.乘以2
B.除以2
C.乘以4
D.除以4
7:设char c[5]={′a′,′b′,′\0′,′c′,′\0′};则printf″%s″,c的输出是
A.′a′′b′
B.ab
C.abc
D.″ab\0c″
8:A 的 Ascii 码值为 41H ,则 H 的 Ascii 码值为
A.48H
B.48
C.72
D.72H
9:设double * p[6];则
A.p是指向double型变量的指针
B.p是double型数组
C.p是指针数组,其元素是指向double型变量的指针
D.p是数组指针,指向double型数组
10:执行下列语句
  int a=8,b=7,c=6;

  if(ac){a=c;c=b;}

  printf(″%d,%d,%d\n″,a,b,c);
后输出的结果是
A.6,7,7
B.6,7,8
C.8,7,6
D.8,7,8
11:下列保留字中用于构成循环结构的是
A.if
B.while
C.switch
D.default
12:
int x[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, *p=x, k;且0≤k<10, 则对数组元素x[k]的错误引用是
A.p+k
B.*(x+k)
C.x[p-x+k]
D.*(&x[k])
13:设 char s[6],*ps=s;, 则正确的赋值语句是
A.s= " 12345 " ;
B.*s= " 12345 " ;
C.ps= " 12345 " ;
D.*ps= " 12345 " ;
14:执行语句“ k=5 ∧ 3 ;”后,变量 k 的当前值是
A.15
B.125
C.8
D.6
15:字符变量 ch= '' A '', int 类型变量 k=25 ,语句 printf( “ %3d,%d3 \ n ”, ch,k) ;输出
A.65 25
B.65 253
C.65 253
D.A 25
简答题
16:以下程序的功能是用选择法对数组a中的整数由小到大进行排序。

void sort(int b[],int n)
{ int i,j,t;
  for(i = 0;i< - 1;i ++)
   for(______;j< ++)
   if(b[i]_____b[j])
   {t = b[i];_____________;b[j]=t;}
}

  main()

  { int a[]={5,8,6,2,7,4,1,3};

  int i;

  sort(a,8);

  for(i = 0;i<8;i ++ )

  printf(″﹪5d″,a[i]);

  printf(″\ n″);

  }
补充完整。
17:输入一个正整数 m ,如果 m 是素数,输出“ Yes ”,否则,输出“ No ”。要求定义并调用函数 isprime(x) 来判断 x 是否为素数 ( 素数:除了 1 和此数本身之外,不能被其它整数整除的自然数, 1 不是素数, 2 是素数 ) ,在下面空出的位置完成程序,不能定义新的变量,可不用已定义的某些变量。
18:Write a program to print a histogram of the frequencies of different characters in its input.
19:已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。
20:面向对象是什么意思,C++是如何实现的;
21:char * const p;
char const * p
const char *p
上述三个有什么区别?
22:请写出下面代码在 32 位平台上的运行结果,并说明 sizeof 的性质:
#include
#include

int main(void)
{
char a[30];
char *b = (char *)malloc(20 * sizeof(char));
printf(\"%d\n\", sizeof(a));
printf(\"%d\n\", sizeof(b));
printf(\"%d\n\", sizeof(a[3]));
printf(\"%d\n\", sizeof(b+3));
printf(\"%d\n\", sizeof(*(b+4)));
return 0 ;
}
23:链表排序(从小到大)
节点定义为:
struct Node{
int nValue;
struct Node* pNext;
};
最后一个节点的pNext = NULL.
Node* SortChain( Node* pHead );
返回值:链表头

================================================================================
================================================================================




1c51单片机的串口异步通信和同步通信的区别,说说他们的优缺点。

2C51单片机的数据总线和地址总线是如何复用的,说明原理。

3C51单片机的绝对寻址范围是多少k

4、说明下面的寻址方式

     (1)MOV A , #30H                                          (2)MOV A,@R0

     (3)ADD A , R4                                                (4)MOV  A+@DPTR

5、写出下面分别是什么指针? 

     (1)int *a[10];                                                (2)int  (*a)[10];   

     (3)int  (*P)(int) ;                                            (4)int (*a[10])(int);

6

void swapint aint b

{

       int temp

       temp = a;

        a=b;

        b=temp

}

main(void)

{

         int x="3"y=4;

         swap(x,y)

}

 上面程序执行完后 x= ?,y=?

7typedef struct  test{

             int i;

              short s

              char c

             union{

                   int a

                   short b;

            }

    }example 

    int y 

    y = sizeof(example)

请问在TC环境下,y=?

8、编程实现数组的逆置,例如,“hello,world!”  逆置后为“!dlrow,olleh”

9、你认为嵌入式操作系统包括哪些部分?说说实时操作系统有哪些特点。

10、冯诺依曼结构的计算机由哪几部分组成?

11、说说程序,进程,线程的区别。

12、说说你怎样理解

        程序 = 数据 + 结构 + 算法

13、根据函数原型编程实现 一个数组,按从大到小的冒泡排序。

       void tibbuleint a[],int n;//a[]为数组,n为数组长度

14OSI有哪几层?tcp/ip包括哪几层?

15、编程实现一个双链表的节点插入和删除。





============================================================================================================================================================================================

//MTK深圳嵌入式软件工程师笔试题(B卷)
//1*****************************************
#define pi 3.14
#define Area(R) pi*R*R
main()
{
 int r1=5,r2=2;
 double s=0;
 s=Area(r1-r2);
 printf("The area is %f",s);
}
//求结果

//2*********************************************
//函数 int compare(int a,int b),定义为该函数的函数指针P:为_______________
//3*********************************************
#include
void sub(char*s,int num)
{
 int i ,j=num;
 char t;
 while(j-->1)
 {
   for(i=0;i   {
     if(s[i]     {
       t=s[i];
       s[i]=s[i+1];
       s[i+1]=t;
     }
   }
 }
}
main()
{
 char*s="CEAeded";
 sub(s,6);
 printf("%s\n",s)
}
//求结果
//4**********************************************
//交换两个变量的值,不使用第三个变量,即a=3,b=5交换
//后b=3,a=5
     unsigned char a=3,b=5;
     
     
//5**************************************************
#define N 100
void GetMemory1(char*p)
{
 p=(char*)malloc(sizeof(char)*N);
 strcpy(p,"Have a good day!");
}
char*GetMemory2(void)
{
 char p[]="Have a good day!";
 return p;
}
void main(void)
{
 char*str1=NULL,*str2=NULL;
 GetMemory1(str1);
 GetMemory2(str2);
 printf("\nstr1:%s",str1);
 printf("\nstr2:%s",str2);
 
//6******************************************************
//构造N个结点的单链表返回链表头指针,要求链表中各结点顺序
//与结点数据输入顺序相反,例如输入1,2,3,4,5,形成的链表为
//head->5 4 3 2 1 ,补充程序
#define N 10
typedef struct Node
{
 int data;
 struct Node*next;
}NODE;
int Get_Data(int i);//定义省略
Node*Create_u()
{
 int i;
 NODE*p,*Head=NULL;
 for(i=0;i {
  VP=New NODE;
  P->Data=Get_Data(i);
  ________________;
  ________________;
 }
 return Head;
}
//7**********************************************
//N个结点链表,每个结点中存放一个字符,判断链表存放的字符是否
//中心对称,即a b c c b a或a b c b a,补充程序
typedef struct Node
{
 int data;
 struct Node*next;
}NODE;
bool Is_symmeic(NODE*head,*int n)
{
 char D[N];
 int i,d;
 __________;
 for(i=0;i {
  D[i]=head->data;
  head=head->next;
 }
 if(__________)
 {
  head=head->next;
 }
 while(head)
 {
  _______________;
  if(D[i]!=head->data)
  {
   return false;
  }
  head=head->next;
 }
 return true;
}

//8*************************************
//str中只含有大写和小写字母函数change_move(char*str)将字符串中大写改成*并
//移到前面小写后返回*的个数
//如AabBdcYY改为*****abd,返回5
int chang_move(char*str)
{
 int len,i,curstr=-1;
 len=strlen(str);
 for(i=len-1;i>=0;i--)
 {
  if(str[i]>=''A''&&str[i]<=''Z'')
   {
    str[i]=''*'
    if(cursor==-1)
    {
     cursor=i;
    }
    else if(cursor>i)
    {
     _____________;
     str[i]=''*'
     _____________;
     
    }
 }
 return____________;
}
//9***********************************************
//求两个字符串的第一个公共子串,并返回该子串
//如:"a b c d e f g e h i" "a a c d e f * * g e h i"
//第一个为"c d e f";不许用strcmp()
char*Maxf(char*str1,char*str2)
{

}

阅读(2748) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~