- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式C高级编程 笔试试卷 A
一、选择题(35*2’) 注意程序运行在32位系统下
1.申请一个结构体大小的空间,应该用( )
struct test
{
int data;
char b;
};
struct test *p;
p = _______________;
A. (struct test*)malloc(5) B.malloc(sizeof(struct test*))
C. malloc(sizeof(8)) D.(struct test *)malloc(sizeof(struct test))
2.如何使s2中的字符串等于s1中的字符串?( )
A s1 = s2 B *s1 = *s2
C s1[] = s2[] D strcpy(s1, s2)
3 用只读方式打开一个文本文件,哪种方式最正确的? ( )
A FILE fp = fopen(a.txt, r)
B FILE *fp;
if(fp = fopen(a.txt, r) ==NULL)
{
printf(open error\n);
return;
}
C FILE *fp;
fp = open(a.txt, r);
if(fp == NULL)
{
printf(open error\n);
return;
}
D FILE *fp;
fp = fopen(a.txt, r);
if(fp == NULL)
{
printf(open error\n);
return;
}
4 在C语言代码中,有一个函数,
void my_malloc(void *data, int size)
{
data = malloc(size);
}
如果有如下调用:
void *tmp = NULL;
my_malloc(tmp, sizeof(int*2));
那么,那个正确( )
A. tmp的值仍为NULL
B. sizeof(tmp) 的值在32位机下等于8
C.tmp指向了一段被分配的内存,此内存长度为8
D.tmp的值可能为NULL
5.int a[10] = {3 , 2, 1};
int *p = a + 4;
那么printf(%d, %d\n, a[2], *p);会打印?( )
A. 2, 0
B 段错误
C 1, 0
D 1, 1
6.float a = 3.2;
(int)a;
printf(a = %d, \n, a);打印什么?运行后a的类型是?( )
A. 3.000000, int
B. 3, int
C. 3.0 float
D. 既不是3,也不是3.000000, float
7.在C语言中const 关键词的意思是?( )
A.静态 B.常量 C.易变 D.只读
8.有函数
void func()
{
static int c;
c++;
printf(%d\n, c);
}
那么连续调用两次,打印的结果是?( )
A. 1, 1
B. 1, 2
C. 123495,123496(因为c没初始化,内部的值随机,第二次会比第一次加1)
D. 123495, 123495(因为c没初始化,内部的值随机,并且,值不会增加)
9.free(p);
哪个是错误的( )
A. p的值必须是malloc的返回值
B. 一个指针不能被连续free两次
C. free了p以后p是野指针,应该置为NULL
D. free了以后p的值会自动置为NULL,所以*p = 9会段错误
10.编译时,源码在/home/nia下
如果有个头文件的路径在/home/nia/launcher/下
名为nihao.h
那么添加的选项和参数是?( )
A -lnihao(第一个字母是L的小写)
B -I nihao.h(第一个字母是i的大写)
C -I /home/nia/launcher (第一个字母是i的大写)
D不必添加,如果用的是#include nihao.h 双引号,gcc会帮忙找的
11. 程序中定义以下宏 #define S(a,b) a*b
?若定义 int area; 且令area=S(3+1,3+4),则变量area的值为( ? )
A? 10????????? B? 12???????? C? 21???????? D ?28
12. 语句printf(″s\\t″)的输出结果为(??? ?)
A ?s\\t?????
原创力文档


文档评论(0)