嵌入式C语言笔试题及答案

时间:2025-11-06 13:55:27 银凤 嵌入式培训 我要投稿
  • 相关推荐

嵌入式C语言笔试题及答案(通用7套)

  无论在学习或是工作中,我们最少不了的就是试题了,试题可以帮助参考者清楚地认识自己的知识掌握程度。一份好的试题都是什么样子的呢?下面是小编帮大家整理的嵌入式C语言笔试题及答案,供大家参考借鉴,希望可以帮助到有需要的朋友。

嵌入式C语言笔试题及答案(通用7套)

  嵌入式C语言笔试题及答案 1

  1: 第1题请编写函数fun,其功能使:将两个两位正整数a b合并形成一个整数放在c中。合并的方式使:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。

  答案:

  void fun(int a,int b,long *c)

  {*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}

  2: 第2题请编写一个函数fun,它的功能使:计算n门课程的平均分,计算结果作为函数值返回。

  答案:

  float fun(float *a,int n)

  {float ave=0.0;

  int i;

  for(i=0;i

  ave+=a;

  ave/=n;

  return ave;}

  3: 第3题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的*号不删除。

  答案:

  void fun(char *a)

  {int i=0;

  char *p,*q;

  p=q=a;

  while(*p)

  p++;

  p--;

  while(*p==‘*’)

  p--;

  while(q<=p)

  {a=*q;

  i++;

  q++;}

  a=‘’;}

  4: 第4题请编写函数fun,其功能是:将两个两位数的.正整数a b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

  答案:

  void fun(int a,int b,long *c)

  {c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}

  5: 第5题 n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。

  答案:

  double fun(strec *h)

  {double aver=0.0;

  while(h!=null)

  {aver+=h->s;

  hy=h->next;}

  aver/=n;

  return aver;}

  6: 第6题请编写函数fun,计算并输出给定10个数的方差。

  答案:

  double fun(double x[10])

  {int i,j;

  double s=0.0,s1=0.0;

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

  s1+=x;

  s1/=10;

  for(j=0;j<10;j++)

  s+=(x[j]-s1)*(x[j]-s1);

  s/=10;

  s=pow(s,0.5);

  return s;}

  7: 第7题请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。

  答案:

  void fun(int a,int b,long *c)

  {*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;}

  嵌入式C语言笔试题及答案 2

  1. c#中错误处理机制有哪些

  CLR提供的结构化错误处理机制,用try..catch..finally 捕获

  2. public/protect/private/internal修饰符的区别

  public:任何类和成员都可以访问

  protect:该类和派生类能访问

  private:只能该类访问

  internal:只能在包含它的程序集中访问

  3. 大量数据(如3000万条数据)并发处理时,有哪几种机制

  存储过程或事务.取得最大标识的时候同时更新,注意主键不是自增量方式.这种方法并发的时候是不会重复主键的.,

  取得最大标识要有一个存储过程来获取.

  4. String/StringBuilder的异同

  string是一个不可变的数据类型,一旦对字符串对象进行了初始化,该字符串对象就不能改变了。修改字符串内容的方法

  和运算符实际上是创建一个新的字符串.

  stringbuilder分配好内存,对字符串的修改就在赋予stringbuilder实例的存储单元中进行.

  举例:

  string的确是不能修改的:

  string str = "a";

  str = "b"//str是被赋值了"b"没错,但是str里面原来的string值"a"并没有被修改。

  string str = "a";

  string str1 = str;

  str += "b";//此时str = "ab",str1 = "a";

  StringBuilder str = new StringBuilder( "a" );

  StringBuilder str1 = str;

  str.Append( "b" );

  str.ToString()和str1.ToString()都是"ab"。

  5. 解释string str=null/string str=""

  str=null,声明而不分内存空间,str=""声明而分内存空间

  6. 什么是单例模式,写个运用单例模式的类

  Singleton模式包含的角色只有一个,就是Singleton。Singleton拥有一个私有构造函数,确保用户无法通过new直接

  实例它

  // Singleton pattern -- Structural example

  using System;

  // "Singleton"

  class Singleton

  {

  // Fields

  private static Singleton instance;

  // Constructor

  protected Singleton() {}

  // Methods

  public static Singleton Instance()

  {

  // Uses "Lazy initialization"

  if( instance == null )

  instance = new Singleton();

  return instance;

  }

  }

  /**////

  /// Client test

  ///

  public class Client

  {

  public static void Main()

  {

  // Constructor is protected -- cannot use new

  Singleton s1 = Singleton.Instance();

  Singleton s2 = Singleton.Instance();

  if( s1 == s2 )

  Console.WriteLine( "The same instance" );

  }

  }

  7. ASP.NET页面间传递有哪几种方式

  QueryString, response.Redirect(), session, server.Transfer

  8. 解释重载/覆盖

  9. Web Services的含义/UDDI的含义

  Web服务是利用SOAP在HTTP上执行远程方法调用的一种新方法。

  UDDI的含义:统一描述发现和集成(UDDI)提供一种发布和查找服务描述的方法。

  10.虚函数/抽象函数各自的定义

  虛函數:由virtual聲明,它允許在派生類中被重寫,要重寫方法,必須先聲名為virtual

  public class myclass

  {

  public virtual int myint()

  {

  函數体;

  }

  }

  class myclass1:myclass

  {

  public override int myint()

  {

  函數体1;

  }

  }

  抽象類、抽象函數:由abstract聲明,在抽象類中可以定義抽象方法,抽象方法基本沒有執行代碼,派生類必須重寫它,提供其執行代碼

  public abstract class myclass

  {

  public abstract int myint();

  }

  public class myclass1:myclass

  {

  public override int myint()

  {

  函數体;

  }

  }

  嵌入式C语言笔试题及答案 3

  1.C语言编译程序的功能是()。

  A.执行一个C语言编写的源程序

  B.把C源程序翻译成ASCII码

  C.把C源程序翻译成机器代码

  D.把C源程序与系统提供的库函数组合成一个二进制执行文件

  【答案】C

  【解析】编译程序的功能是将“高级语言”翻译为“机器语言”。每条C语言语句,经过编译最终都将转换成二进制的机器指令。答案选择C选项。

  2.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是()。

  A. C语言程序仅可以编译执行

  B. C语言程序仅可以解释执行

  C. C语言程序既可以编译执行,又可以解释执行;

  D.以上说法都不对

  【答案】A

  【解析】编译执行是指程序执行前需要一个专门的编译过程把程序编译成机器语言的文件,再次运行时不需要重新翻译,执行效率高;解释执行是指每个语句都是执行的时候才翻译,执行效率低。用C语言编写的程序必须经过编译器编译后,转换为二进制的机器指令来运行。答案选择A选项。

  3.以下叙述中错误的是()。

  A. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

  B. C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件

  C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中

  D. C语言源程序经编译后生成后缀为的目标程序

  【答案】A

  【解析】A项错误,注释语句不会被翻译成二进制的机器指令。C源程序经过C编译程序编译之后生成后缀为的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把文件与各种库函数连接起来生成一个后缀为的可执行文件。答案选择A选项。

  4.以下叙述中错误的是()

  A.C语言的可执行程序是由一系列机器指令构成的

  B.用C语言编写的源程序不能直接在计算机上运行

  C.通过编译得到的二进制目标程序需要连接才可以运行

  D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的exe文件

  【答案】D

  【解析】A项正确,C语言的可执行程序是由一系列机器指令组成的;BC项正确,用C语言编写的源程序必须经过编译,生成二进制目标代码,再经过连接才能运行;D项错误,C语言经过编译链接后的二进制目标代码可以脱离C语言集成开发环境独立运行。答案选择D选项。

  5.以下叙述正确的是()。

  A. C编译程序把文件后缀为.c的源程序文件编译成文件后缀为的二进制文件

  B. C编译程序把文件后缀为.c的`源程序文件编译成文件后缀为的可执行文件

  C. C编译程序把文件后缀为的二进制文件编译成文件后缀为的可执行文件

  D.链接程序把文件后缀为.c的源程序文件链接成文件后缀为的可执行文件

  【答案】A

  【解析】C编译程序把文件后缀为C的源程序文件编译成文件后缀为的二进制文件,链接将一个或多个目标文件与程序用到的库文件连接起来,形成一个可以在操作系统直接运行的执行程序,故排除B、C、D项,答案选择A选项。

  6.以下叙述中正确的是(A.在C语言程序中,main函数必须放在其他函数的最前面

  B.每个后缀为.c的C语言源程序都可以单独进行编译

  C.在C语言程序中,只有main函数才可以单独进行编译

  D.每个后缀为.c的C语言源程序都应该包含一个main函数

  【答案】B

  【解析】main函数可以在程序的任何位置。每一个可执行的C程序都必须有一个且只能有一个主函数。后缀名为.c的C语言源程序都可以单独进行编译。main函数只是让执行程序的系统知道该从哪里开始执行程序(从主函数处执行),其他有关这个程序的子函数是通过函数调用来实现其功能(不需main函数)。答案选择B选项。

  7.以下叙述中错误的是()。

  A. C语言编写的函数源程序,其文件名后缀可以是.c

  B. C语言编写的函数都可以作为一个独立的源程序文件

  C. C语言编写的每个函数都可以进行独立的编译并执行;

  D.一个C语言程序只能有一个主函数

  【答案】C

  【解析】C源程序经过C编译程序编译之后生成一个后缀为的二进制文件(称为目标文件),然后由称为“连接程序”(Link)的软件,把此文件与C语言提供的各种库函数连接起来生成一个后缀为的可执行文件。只有含有main函数的经过编译链接才能执行。答案选择C选项。

  8.以下叙述中错误的是(A.一个C程序可以包含多个不同名的函数

  B.一个C程序只能有一个主函数

  C. C程序在书写时,有严格的缩进要求,否则不能编译通过

  D. C程序的主函数必须用main作为函数名

  【答案】C

  【解析】一个C程序有且只有一个主函数main。一个C程序可以包含多个不同名字的子函数。C程序在书写时没有严格的缩进要求。答案选择C选项。

  9.以下叙述中正确的是()。

  A. C语言规定必须用main作为主函数名,程序将从此开始执行

  B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

  C. C语言程序将从源程序中第一个函数开始执行;

  D. main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等

  【答案】A

  【解析】用户不能指定某函数为主函数,C语言规定,程序从main函数开始执行,从main函数退出,C语言函数名区别大小写。答案选择A选项。

  10.下列叙述中错误的是()。

  A. C程序可以由一个或多个函数组成

  B. C程序可以由多个程序文件组成

  C.一个C语言程序只能实现一种算法

  D.一个C函数可以单独作为一个C程序文件存在

  【答案】C

  【解析】一个C程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C语言程序可以实现多种算法,答案选择C选项。

  嵌入式C语言笔试题及答案 4

  1.下列叙述中正确的是()。

  A.所有数据结构必须有根结点

  B.所有数据结构必须有终端结点(即叶子结点)

  C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构

  D.没有根结点或没有叶子结点的数据结构一定是非线性结构

  【答案】D

  【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素"且惟一②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”,④除第一个元素外,其他数据元素均有惟一的“前驱”。所以没有根结点或没有叶子结点的数据结构一定是非线性结构。AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。答案选择D选项。

  2.以下叙述中错误的是()。

  A. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

  B. C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件

  C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中

  D. C语言源程序经编译后生成后缀为.obj的目标程序

  【答案】A

  【解析】A项错误,注释语句不会被翻译成二进制的机器指令。C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。答案选择A选项。

  3. C语言主要是借助以下()功能来实现程序模块化的。

  A.定义函数

  B.定义常量和外部变量

  C.三种基本结构语句

  D.丰富的数据类型

  【答案】A

  【解析】C程序的模块化主要通过函数来实现。C语言允许对函数单独进行编译,从而可以实现模块化。答案选择A选项。

  4.有以下程序段:

  char ch;

  int k;

  ch='a';

  k=12;

  print("%c,%d,",h,ch,k);

  printf("k=%d",k);

  已知字符a的ASCII码十进制值为97,则执行上述程序段后输出的结果是()。

  A.因变量类型与格式描述符的类型不匹配输出无定值

  B.输出项与格式描述符个数不符,输出为零值或不定值

  C.a,97,12k=12

  D. a,97,k=12

  【答案】D

  【解析】字符变量的值是该字符的ASCII码值,可以参与整型变量所允许的任何运算。"ch='a",%c表示以字符格式输出ch的.值,所以输出为a;%d表示以十进制代码的形式输出ch的值,为97;k没有对应的输出格式,不输出。在第二个语句中,首先输出"k=",然后以十进制代码输出k的值,为12。答案选择D选项。

  5.下列叙述中正确的是()。

  A.栈是“先进先出”的线性表

  B.队列是“先进后出"的线性表

  C.循环队列是非线性结构

  D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

  【答案】D

  【解析】有序的线性表既可采用顺序存储结构,也可以采用链式存储结构。A项错误,栈是“先进后出"的线性表B项错误,队列是“先进先出"的线性表;C项错误,循环队列是线性结构的,有序的线性表既可采用顺序存储结构,也可采用链式存储结构。

  6.某二叉树的中序序列为DCBAEFG,后序序列为DCBGFEA,则该二叉树的深度(根结点在第1层)为()。

  A. 5

  B. 40

  C.3

  D. 2

  【答案】B

  【解析】二叉树的后序序列为DCBGFEA,则A为根结点。中序序列为DCBAEFG,则DCB为左子树结点,EFG为右子树结点。同理B为C父结点,C为D父结点。根据分析,可画出左子树,同理E为F父结点,F为G父结点。根据分析,可画出右子树,故二叉树深度为4层。答案选择B选项。

  7.设有定义:struct{intn;floatx;}s[2],m[2]={{10,2.8},{0,0.0}};,则以下赋值语句中正确的是()。

  A. s[0]=m[1];

  B. s=m;

  C.s.n=m.n;

  D. s[2].x=m[2].x;

  【答案】A

  【解析】定义了结构体类型数组s,长度为2,结构体类型数组m,长度为2,并对数组m进行了初始化。同类型的结构体可以直接用变量名实现赋值,A项正确;数组名为数组首地址,地址常量之间不可以相互赋值,B项错误;数组名为地址常量不是结构体变量,不能引用成员,C项错误;s[2]与m[2]数组越界,D项错误。答案选择A选项。

  8.关于C语言标识符,以下叙述错误的是()。

  A.标识符可全部由数字组成

  B.标识符可全部由下划线组成

  C.标识符可全部由小写字母组成

  D.标识符可全部由大写字母组成

  【答案】A

  【解析】C语言标识符只能由字母、数字、下划线构成,且只能以字母、下划线开头,故答案选择A选项。

  9.以下程序段中的变量已定义为int类型,则

  sum=pAd=5;

  pAd=sum++,++pAd,pAd++;

  printf("%d",pAd);

  程序段的输出结果是()。

  A. 6

  B. 4

  C. 5

  D. 7

  【答案】D

  【解析】自增和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。执行pAd=sum++,sum++是后置自增,执行完后,pAd=5,sum=6。++pAd和pAd++语句中没有其他运算,即效果相同,pAd分别加1,两句执行完后,pAd7。答案选择D选项。

  10.设循环队列为Q(1:m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=20,rear=15。现要在该循环队列中寻找最小值的元素,最坏情况下需要比较的次数为()。

  A. 5

  B. 6

  C.m-5

  D. m-6

  【答案】D

  【解析】循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用队首指针指向队首元素的前一个位置,因此,从队首指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,队列初始状态为front=rear=m,当front=20,rear=15时,队列中有m-20+15=m-5个元素,最坏情况下需要比较次数为m-6次。答案选择D选项。

  嵌入式C语言笔试题及答案 5

  (1)算法的时间复杂度是指_______。

  A)执行算法程序所需要的时间

  B)算法程序的长度

  C)算法执行过程中所需要的基本运算次数

  D)算法程序中的指令条数

  答案:C

  评析:所谓算法的时间复杂度,是指执行算法所需要的计算工作量。

  (2)下列叙述中正确的是________。

  A)线性表是线性结构B)栈与队列是非线性结构

  C)线性链表是非线性结构D)二叉树是线性结构

  答案:A

  评析:一般将数据结构分为两大类型:线性结构与非线性结构。线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

  (3)下面关于完全二叉树的叙述中,错误的是_________。

  A)除了最后一层外,每一层上的结点数均达到最大值

  B)可能缺少若干个左右叶子结点

  C)完全二叉树一般不是满二叉树

  D)具有结点的完全二叉树的深度为[log2n]+1

  答案:B

  评析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。

  C语言笔试题答案篇

  (1)结构化程序设计主要强调的是_________。

  A)程序的规模B)程序的易读性

  C)程序的执行效率D)程序的可移植性

  答案:B

  评析:结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的'正确性。

  (2)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是________。

  A)概要设计B)详细设计C)可行性分析D)需求分析

  答案:D

  评析:需求分析是对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。

  (3)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_________。

  A)控制流B)加工C)数据存储D)源和潭

  答案:A

  评析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭。

  (4)软件需求分析一般应确定的是用户对软件的__________。

  A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求

  答案:D

  评析:软件需求分析中需要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,是用户明确自己的任务。因此,需求分析应确定用户对软件的功能需求和非功能需求。

  C语言笔试题答案篇

  (1)下述关于数据库系统的叙述中正确的是________。

  A)数据库系统减少了数据冗余

  B)数据库系统避免了一切冗余

  C)数据库系统中数据的一致性是指数据类型的一致

  D)数据库系统比文件系统能管理更多的数据

  答案:A

  评析:由数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值。

  (2)关系表中的每一横行称为一个________。

  A)元组B)字段C)属性D)码

  答案:A

  评析:在关系数据库中,关系模型采用二维表来表示,简称“表”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。

  (3)数据库设计包括两个方面的设计内容,它们是________。

  A)概念设计和逻辑设计B)模式设计和内模式设计

  C)内模式设计和物理设计D)结构特性设计和行为特性设计

  答案:A

  评析:数据库设计可分为概念设计与逻辑设计。概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。逻辑设计的主要工作是将ER图转换为指定的RDBMS中的关系模型。

  (4)请读程序:

  #include

  main

  {

  int a;float b,c;

  scanf(“%2d%3P%4f’,&a,&b,&C);

  printf(” a=%d,b=%ec。%f ”,a,b,C);

  }

  若运行时从键盘上输入9876543210l,则上面程序的输出结果是________。

  A)a=98,b=765,c=432 1

  B)a=1 0,b=432,c=8765

  C)a=98,b=765.000000,c=432 1.000000

  D)a=98,b=765.0,c=432 1.0

  答案:C

  评析:scanf把用户从键盘录入的数字的第1、2位存入整型变量a;把第3、4、5位存入单精度实型变量b,把第6、7、8、9位存入单精度实型变量c,用户录入的第10位被scanf遗弃。这时变量a、b、c的值分别为:98、765.000000、4321.000000。

  (5)一个良好的算法由下面的基本结构组成,但不包括__________。

  A)顺序结构B)选择结构C)循环结构D)跳转结构

  答案:D

  评析:1966年,Bohra和Jacopini提出了以下三种基本结构,用这三种基本结构作为表示一个良好算法的基本单元:1、顺序结构;2、选择结构;3、循环结构。

  (6)请选出以下程序的输出结果________。

  #include

  sub(x,y,z)

  int x,y,星符号z:

  {星符号z变化,所以此次函数被调用后,a的值为y-x=-5,同理可知,在sub(7,a,&b)后,b的值发生变化,其值为-5-7=-12,在sub(a,b,&C)后,c的值发生变化,其值为-12-(-5)=-7。

  (7)下面程序在屏幕上的输出是________。

  main

  {

  printf(”ab c”);

  }

  A)ab c B)a c C)abc D)ab c

  答案:B

  评析:c语言中允许使用一种特殊形式的字符常量,、就是以一个“”开头的字符序列,这样的字符称为“转义字符”。常用的转义字符有: ,换行;,水平制表;,退格;,回车。

  (8)若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是_______。

  A)pb=&x; B)pb=x; C)星符号pb=星符号、/)还包括自增自减运算符(++、–),在c语言解析表达式时,它总是进行贪婪咀嚼,这样,该表达式就被解析为i++ ++ +i,显然该表达式不合c语言语法。

  (10)若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元

  int星符号int) D)(int星符号)

  答案:D

  评析:不论p是指向什么类型的指针变量,都可以通过强制类型转换的方法使之类型一致,强制类型转换的格式为(数据类型+)。

  (11)下面程序输出的结果是__________。

  main

  {

  int i=5,J=9,x;

  x=(I==j?i:(j=7));

  printf(” %d,%d”,I,J);

  }

  A)5,7 B)5,5 C)语法错误D)7,5

  答案:A

  评析:条件表达式的一般形式为:表达式I?表达式2:表达式3;先求解表达式1,若为真则求解表达式2;若表达式l的值为假,则求解表达式3。本题中先判断i==j,不等,执行j=7;然后执行x=7。故本题为A。

  嵌入式C语言笔试题及答案 6

  1. 以下程序执行后sum 的值是

  main()

  { int i , sum;

  for(i=1;i<6;i++) sum+=i;

  printf("%d ",sum);

  }

  A)15

  B)14

  C) 不确定

  D)0

  你所选择的答案是:C,正确答案是:C √

  2. 当调用函数时,实参是一个数组名,则向函数传送的是

  A) 数组的长度

  B) 数组的首地址

  C) 数组每一个元素的.地址

  D) 数组每个元素中的值

  你所选择的答案是:B,正确答案是:B √

  3. 以下只有在使用时才为该类型变量分配√

  4. 以下程序的输出结果是

  main()

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

  for(i=0;i<3;i++) printf("%d,",x[i][2-i]);

  }

  A) 1,5,9

  B) 1,4,7

  C) 3,5,7

  D)3,6,9

  你所选择的答 案是:C,正确答案是:C √

  5. 以下程序的输出结果是

  #define SQR(X) X*X

  main()

  { int a=16, k=2, m=1;

  a/=SQR(k+m)/SQR(k+m);

  printf("d ",a);

  }

  A) 16

  B) 2

  C) 9

  嵌入式C语言笔试题及答案 7

  1.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?

  可以用任意类型

  C#中的索引器通常用于索引数组,楼上的THIS就是索引器了。

  索引器不单能索引数字(数组下标),还能索引一些HASHMAP的字符串,所以,通常来说,C#中类的索引器通常只有一个,就是THIS,但也可以有无数个,只要你的参数列表不同就可以了

  索引器和返回值无关

  class A

  {

  int[] i=new int[10];

  publib int this[int v]

  {

  return i[v];

  }

  2.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m

  if(m%2 == 1){

  S = (m + 1) / 2;

  } else {

  S = -m / 2;

  }

  int Num = this.TextBox1.Text.ToString() ;

  int Sum = 0 ;

  for (int i = 0 ; i < Num + 1 ; i++)

  {

  if((i%2) == 1)

  {

  Sum += i ;

  }

  else

  {

  Sum = Sum - I ;

  }

  }

  System.Console.WriteLine(Sum.ToString());

  System.Console.ReadLine() ;

  3.

  using System;

  class A

  {

  public A()

  {

  PrintFields();

  }

  public virtual void PrintFields(){}

  }

  class B:A

  {

  int x=1;

  int y;

  public B()

  {

  y=-1;

  }

  public override void PrintFields()

  {

  Console.WriteLine("x={0},y={1}",x,y);

  }

  }

  当使用new B()创建B的`实例时,产生什么输出? X=1,Y=0;x= 1 y = -1

  4..什么叫应用程序域?

  应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。

  5.CTS、CLS、CLR分别作何解释?

  CTS:通用语言系统。CLS:通用语言规范。CLR:公共语言运行库。

  6.什么是装箱和拆箱?

  从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。

  7.什么是受管制的代码?

  unsafe:非托管代码。不经过CLR运行。

  8.什么是强类型系统?

  RTTI:类型识别系统。

  9.在.net中,配件的意思是?

  程序集。(中间语言,源数据,资源,装配清单)

  10.常用的调用WebService的方法有哪些?

  1.使用WSDL.exe命令行工具。

  2.使用VS.Net中的Add Web Reference菜单选项

【嵌入式C语言笔试题及答案】相关文章:

2017年嵌入式c语言笔试题及答案09-09

嵌入式C语言面试题(附答案)06-15

2016年嵌入式c语言面试题及答案05-05

嵌入式开发—C语言面试题11-07

2016年嵌入式面试C语言试题「精选」09-25

2016年嵌入式c语言笔试题08-16

华为C语言上机试题及答案07-01

2016年嵌入式软件C语言笔试题10-02

计算机C语言试题及答案07-26