cfor51公选复习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

cfor51公选复习题
一、单选题:(40分)
1.以下编译器支持51单片机的是
A) keil 2 B) wintc C) bc31 D) mplab
2.以下编译器支持PIC单片机的是
A) keil 2 B) wintc C) bc31 D) mplab
3.以下编译器支持ARM的是
A) keil 2 B) wintc C) ADS1.2 D) mplab
4.以下不是嵌入式操作系统的是
A) ios B) ucosii C) winxp D) uclinux
5.以下是嵌入式操作系统的是
A) vista B) ucosii C) winxp D) win7
6.C源程序通过编译后通常得到那种文件
A) exe B) jpg C) c D) obj
7.C源程序通过编译链接后通常得到那种文件
A) exe B) jpg C) c D) obj
8.要想使得C源程序能在51或者PIC单片机中运行,需要生成那种文件
A) bin B) jpg C) c D) obj
9.C生成的EXE文件,可以使用以下那种方式进行调试
A) 直接执行 B)debug C) 编译 D) 链接
10.C生成的EXE文件,可以使用以下那种方式得到汇编源程序
A) 直接执行 B) 链接 C) 编译 D) 反汇编
11.在windows下,C要生成EXE文件,下面那种编译器不行
A) keil 2 B) wintc C) bc31 D) vc
12.在linux操作系统下,C的常见编译器是
A) keil 2 B) wintc C) bc31 D) gcc
13.在一般的51或者PIC单片机的C应用中,常见的C程序实际是一个
A) 死循环 B) 条件语句 C) 分支语句 D) 顺序语句14.当C只包含一个函数时,函数名必须是( ) .
A) scanf B) printf C) main D) return
15.设有 int x=11; 则表达式 (x++ *1/3 ) 的值是
A) 0 B) 3 C) 11 D) 12
16.以下叙述中不正确的是
A) 在不同的函数中可以使用相同名字的变量
B) 函数中的形式参数是局部变量
C) 在一个函数内定义的变量只在本函数范围内有效
D) 在一个函数内的复合语句中定义的变量在本函数范围内有效
17.在keil2中,定义一个指针char *p,则指向的数据格式是
A) int; B) char; C) float; D) long int;
18.在keil2中,定义一个指针char *p,则指针本身占用字节长度是
A) 1; B) 2; C) 3; D) 4;
19.定义 int str[12][9] ; 关于str[9] 下面哪个说法是错误的:
A)str[9] 与 &str[9][0] 相等
B)str[9] 与 ++*(str+8) 相等
C)str[9] 与 *(str+9) 相等
D)str[9] 与 (str+9) 相等
20.下面关于字符数组str的输入语句中,正确的是( )
A) scanf(“%c”,&str[0]); B) scanf(“%s”,&str);
C) scanf(“%s”,str[0]); . D) scanf(“%c”,str[0]);
21.若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;
则不能表示a数组元素的表达式是
A) *p B) a[10] C) *a D) a[p-a]
22.下列程序片段中不正确的字符串赋值或初始化方式是()
A) char *str; B) char str[10];
str=”string”; str=”string”;
C) char str[7]={‘s’,’t’,’r’,’i’,’n’,’g’,’\0’};
D)char str[]=”string”;
23.以下叙述正确的是
A) do-while语句构成的循环不能用其它语句构成的循环来代替。

B) do-while语句构成的循环只能用break语句退出。

C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。

23.C语言的说明语句“ char *line[5];”的含义是指()。

A) line是一个数组,其数组的每一个元素是指向字符型的指针变量;
B)line是一个指针,指向一个数组,数组的元素为字符型;
C)A和B均不对,但它是C语言正确的语句;
D)C语言不允许这样的说明语句。

24.一个C语言程序是从__________开始执行。

A.程序中的第一个语句
B.包含文件的第一个函数
C.main函数
D.程序中的第一个函数
25.以下各标识符组中,合法的用户标识符为________。

A. Pad、#abc
B. b_1、a10
C. void、max
D. 8a、temp
26.下面的常数表示中不正确的是__________。

A. -0.
B. '\55'
C. 0x2a3
D. '103'
27.C语言中各种基本数据类型的存储空间长度排列为 __。

A.char≤long≤int≤float≤double
B.double≤float≤long≤int≤char
C.char≤int≤long≤float≤double
D.float≤int≤long≤char≤double
28.下面程序的输出是 _。

main( )
{
char x=060;
printf("%d\n", x);
}
A. 48
B. 96
C. 60
D. 24
29.设x和y均为int型变量,则执行以下语句后的输出值为
x=15;
y=5;
printf("%d",x%=(y/=2));
A. 0
B. 1
C. 2
D. 3
30.设实型变量f1,f2,f3,f4的值均为2,整型变量a,b的值均为1。

则表达式(a=f1<=f2)&&(b=f3>f4)的值是
A. 0
B. 1
C. 2
D.出错
31.设a和b为整型变量,执行语句b=(a=2+3,a*4),a+5;后,a和b
的值为。

A. 5,10
B. 20,25
C. 5,25
D. 5,20
32.对下面三条语句(其中s1和s2为内嵌语句),正确的叙述是。

(1)if(a) s1;else s2
(2)if(a==0)s2;else s1
(3)if(a!=0)s1;else s2
A. 三者相互等价
B. (1)和(2)等价,但与(3)不等价
C. 三者互不等价
D. (1)和(3)等价,但与(2)不等价
33.下面程序的输出为________
#include
main( )
{ int y=-9;
while(++y);
printf("y=%d\n",y);
}
A. y=0
B. while构成无限循环
C. y=1
D. y=-1
34.退出一个循环语句(不终止函数的执行)的有效措施是。

A.用break语句
B.用continue语句
C.用return语句
D.用exit语句
35.当在源程序中使用到函数sin()时,先要用include命令将
_________头文件包含进来。

A. math.h
B. string.h
C.stdio.h
D. stdlib.h
36.数组名作为参数传递给函数,作为实际参数的数组名被处理为______。

A.该数组的长度
B.该数组的元素的个数
C.该数组各元素的值
D.该数组的首地址
37.下面程序的输出是。

main( )
{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\n",*(p+3));
}
A. 3
B. 4
C. 1
D. 2
38.若有以下语句,已知int类型占两个字节,则结构变量stud所占的字节数
为。

struct st
{
char a[8];
int b;
float c;
};
struct st stud;
A. 10
B. 8
C. 14
D. 18
二、简答题(40分)
1.在软件开发方式中,IDE通常是指什么?
2.试例举5个以上常见的支持C的开发环境?
3.常见的C程序的开发流程?
4.试例举3个以上常见的嵌入式操作系统?
5.嵌入式操作系统有什么特点?
6.分别列出支持51单片机、PIC单片机、ARM7的开发环境。

7.在KEIL2中,定义idata,code,xdata分别是指定义的数据放在哪个存储区?
8.Turbo C 2.0中,如何编译、连接程序?如何运行程序?如何观察程序的运行结果?如何将源程序改名另存?
9.在C语言中,从变量的作用域来分,变量可以分为哪两种?
三、论述题(20分)
1.阅读以下程序,说明这段程序在嵌入式C中的功能,并分析嵌入式C和标准C有什么相同点和不同点?
void delay_ms(unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)< p="">
for(j=0;j<114;j++)
;
}
</ms;i++)<>。

相关文档
最新文档