C重点基础自测第一部分(精华)-创新互联
*答案在末尾!
10年积累的成都网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有磴口免费网站建设让你可以放心的选择与我们合作。1、写出bool、float、指针变量与“零值”比较的if语句;
2、在linux32位操作系统下,计算sizeof的值;
char str[] = “heoll”;
char* p = str;
int n;
void fun(int arr[])
{}
void* ptr = malloc(168);
sizeof(str);sizeof(p);sizeof(n);sizeof(arr);sizeof(ptr);
3、给出下列的定义
a、一个有10个指针的数组,该指针的是指向一个整型的;
b、一个指向有10个整型数组的指针;
c、一个指向函数的指针,该函数有一个整数参数并返回整型;
d、一个有10个指针的数组,指针指向一个函数,该函数有一个整型参数并返回整型;
4、以下代码有什么问题?
int main()
{
char a;
char* str = &a;
strcpy(str,“hello”);
printf(str);
return 0;
}
5、以下代码有什么问题?
str = “aaa”;
printf("%s\n",str);
str[0] = 'A';
printf("%s\n",str);
6、C/C++中的struct有什么不同?
7、以下代码有什么问题?
void getmetmemory(char *p)
{
p = (char*)malloc(100);
strcpy(p,"hello world");
}
int main()
{
char* str = NULL;
getmemory(str);
printf("%s\n"str);
free(str);
return 0;
}
8、以下代码会产生什么结果,为什么?
char str[10];
strcpy(str."0123456789");
9、volatile关键字的作用;
/*************************************************************
答案
/*************************************************************
1、一般规范的:
bool:if(falg) if(!flag)
float:const float EPS = 0.000001; if((x >= -EPS )&&(x <= EPS))
指针:if(p == NULL) if(p != NULL)
2、6、4、4、4、4;
3、int* a[10]; int(*a)[10]; int (*a)(int); int (*a[10])(int);
4、没有为str分配内存空间,将一个字符串拷贝到一个字符变量指针所指地址。可以出预期结果
但是越界进行读写导致程序崩溃。
5、“aaa”是字符串常量,str是指针,指向这个字符串常量,所以声明str的时候就有问题了。
又const char* str = “aaa”;是常量对str[0]的赋值操作是不合法的。
6、重要区别是C中struct不可以包含成员函数,而在C++中它就是一个类只是默认是public的罢了。
7、p传给getmemory函数的是p的一个副本,在函数体为p开辟了空间超了函数体p还给还给操作系统了,
p所指向的内存空间没有释放导致内存泄漏。
8、str越界写入数据,会导致段错误。
9、一个定义为volatile的变量表示该变量会经常被改变。多用于下面三个地方
(1)、中断服务程序中修改的供其它程序检测的变量需要加volatile;
(2)、多任务环境下各任务间共享的标志应该加volatile;
(3)、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能由不同意义;
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
本文名称:C重点基础自测第一部分(精华)-创新互联
浏览路径:http://ybzwz.com/article/dgchgg.html