- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1,请写出bool,float,指针变量与“零值”比较的if语句
bool flag: if(flag) if(!flag)
float: const float EPSINON=0.00001
if((x=-EPSINON) (x=EPSINON))
char *p: if(p==NULL) if(p!=NULL)
2,32位系统,计算sizeof的值
char str[]=”hello”;
char *p;
int n=10;
sizeof(str)=6;
sizeof(p)=4;
sizeof(n)=4;
void func(char str[100]{...})
sizeof(func)=4;
void *p = malloc(100);
sizeof(p)=4;
3,long a = 0x801010;
a+5=?
0x801010,二进制 1000 0000 0001 0000 0001 0000
转化为十进制:8392720
所以a+5= 8392725
4,用变量a给出下面的定义
一个有10个指针的数组,指针指向的一个整型数
int *a[10];
一个指向有10个整型数数组的指针:
int (*a)[10];
一个指向函数的指针,该函数有一个整型参数并返回一个整型数
int (*a)(int);
一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数:
int (*a[10])(int)
5,
typedef union{long i;int k[5];char c;}DATE;
struct data {int cat;DATE cow;double dog;}too;
DATE max;
printf(“%d”,sizeof(struct date)+sizeof(max));
答案:
数组是相同类型的元素集合,所以int k[5],大小为20
所以union的大小是20,struct的大小是32,double是8个字节
最后的执行的结果是52
6下面代码有什么问题
int main()
{
char a;
char *str=a;
strcpy(str,”hello”);
printf(str);
return 0;
}
没有为str分配内存空间,将会发生异常,问题出在将一个字符串复制进一个字符变量指针所指地址。但因为越界进行内在读写而导致程序崩溃。
7,请问一下代码问题
char* s=”AAA”;
printf(“%s”,s);
s[0]=’B’;
printf(“%s”,s);
“AAA”是字符串常量,s是指针,指向字符串常量
所以声明应该为const char* s=”AAA”;
然后因为是常量,所以s[0]的赋值操作不合法
8,int (*s[10])(int)表示什么
函数指针数组,每个指针指向一个int func(int param)
9,c和c++中的struct有什么不同
c中struct不可以含有成员函数
c++可以含有成员函数
c++中的struct和class的主要求别是在于默认的权限不同,struct默认为public,class默认为private
10,
11,char szstr[10];
strcpy(szstr,”0123456789”);
产生什么结果,为什么
长度不一样,出现段错误,字符串拷贝会遇到“\0”停止
12,数组和链表的区别
数组:数据顺序顺序存储,固定大小;
链表:数据可以随机存储,大小动态变化
13,void main()
{
char aa[10];
printf(“%d”,strlen(aa));
}
sizeof()和初不初始化没有关系,strlen和字符串有关,打印结果未知
14,给定结构struct A
{
char t:4;
char k:4;
unsigned short i:8;
unsigned long m;
};
sizeof(A)=8;
8位(bit)是一个字节(byte)
15,struct name1{
char str;
short x;
int num;
};
sizeof(name1)=8
short是2byte,long是4byte,double是8byte
17,程序哪里有错误
wap(int *p1,int* p2)
{
int *p;
*p = *p1;
*p2=*p;
}
p位野指针
19,(void *)ptr和(*(void **))ptr的结果是否相同,其中ptr为同一个指针
其值是相同的
20,要对绝对地址0x100000赋值,可以用
(unsigned int*)0x100000 = 1234;
那么要想让程序跳转到绝对地址0x100
您可能关注的文档
- 人教教学细胞生活的环境剖析.ppt
- 嵌入式系统输入输出设备接口技术剖析.ppt
- 人教九级化学《水的组成》剖析.ppt
- 嵌入式系统体系结构实验指导书剖析.doc
- 人教九级化学水的组成剖析.ppt
- 嵌入式系统详细介绍剖析.doc
- 人教九级历史上册复习(精品免费)剖析.ppt
- 嵌入式系统选修剖析.docx
- 嵌入式系统硬件开发平台剖析.ppt
- 人教九级历史上册殖民地人民的抗争剖析.ppt
- 2022内科主治考试真题及答案5篇.pdf
- 2022年上海造价工程师考试真题卷二.pdf
- 2022小学学生寒假双减作业设计清单方案(详细版).pdf
- 2022年中考道德与法治二轮复习:守望精神家园 专项测试卷(部编版,含答案).pdf
- 2022年襄阳职业技术学院公共课《思想道德基础与法律修养》科目期末试卷A(有答案).pdf
- 2022年新疆师范大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案).pdf
- 2022年湖南冶金职业技术学院公共课《马克思主义基本原理概论》期末试卷A(有答案).pdf
- 2022信息科技课程标准解读心得体会(通用5篇).pdf
- PEP人教小学英语六年级上册单元检测试题附答案(全册).pdf
- 2022年安全生产法及相关法律知识.pdf
文档评论(0)