测试C语言功力的几个问题
在实际的VC++教学中,发现很少有真正精通了C语言编程的学员,一般都有或多或少概念不是完全清楚的问题,特别是一些需要丰富的实战经验才能体会和明白的问题,如字符串,指针,类型转换,定义指向函数的指针类型,这也是导致学习VC++困难的一个原因。下面就来和小编一起看看测试C语言功力的几个问题吧。
int x=35; char str[10]; //问:strlen(str)和sizeof(str)的值分别是多少? strcpy(str,""/*共13个字母*/); //问:此时x和strlen(str)的值分别是多少? str="";//编译能通过吗? char *pstr; strcpy(pstr,""); //上句编译能通过吗?运行时有问题吗? const char *p1; char * const p2; //上面两句有什么区别吗? p1=(const char *)str; //如果是p1=str;编译能够通过吗?明白为什么要类型转换?类型转换的'本质是什么? strcpy(p1,"abc");//编译能够通过吗? printf("%d",str);//有问题吗? pstr=3000;//编译能过吗?如果不行,该如何修改以保证编译通过呢? long y=(long)pstr;//可以这样做吗? int *p=str; *p=0x00313200; printf("%s",str);//会是什么效果?提示0x31对应字符'1',0x32对应字符'2'。 p=3000;//p+1的结果会是多少? char *pc=new char[100];//上述语句在内存中占据几个内存块,怎样的布局情况? void test(char **p) { *p=new char[100]; }//这个编译函数有问题吗?外面要调用这个函数,该怎样传递参数? //能明白typedef int (*PFUN)(int x,int y)及其作用吗? |
对于许多类似的问题一般从书本上是看不到的,不通过大量的实践与调试是难以理解和令人困惑的,所以在本文中对于类似上述的C语言问题都将作出详细的解释和讲解。
-
C,C++,C#三者的阐述和区别
一、关于C语言C语言是一种结构化编程语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言的表现能力和处理能力极...
-
C语言猴子吃桃问题
猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?分析:1)设x1为前一天桃子数,设x2为第二天桃子数,则:x...
-
2017年计算机C语言考试编程练习题及答案
江山代有才人出,各领风骚数百年。以下是小编为大家搜索整理的`2017年计算机C语言考试编程练习题及答案,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!1.从键盘上输入8个浮点数,编程求出其和以及平均值。要求写出求和以及平均值的函数。答:编...
-
2017计算机二级C语言备考训练题
在复习阶段多做练习可以帮助我们巩固知识和提高做题速度以及掌握做题技巧等。下面是应届毕业生考试网小编为大家整理的2017年计算机二级C语言备考训练题,希望可以帮助到大家的学习!一、填空题(1)算法的基本特征是可行性、确定性、______和拥有足够的情报。答:有...