欢迎来到天天文库
浏览记录
ID:44810947
大小:106.01 KB
页数:15页
时间:2019-10-29
《100条经典C语言笔试题目(全)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、100条经典C语言笔试题目1、请填写bool,float,指针变量与“零值”比较的if语句。提示:这里“零值”可以是0,0.0,FALSE或者“空指针”。例如int变量n与“零值”比较的if语句为:if(n==0)if(n!=0)以此类推。(1)请写出boolflag与“零值”比较的if语句:【标准答案】if(flag)if(!flag)(2)请写出floatx与“零值”比较的if语句:【标准答案】constfloatEPSINON=0.00001;if((x>=-EPSINON)&&(x<=EPSINON)不可
2、将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。(3)请写出char*p与“零值”比较的if语句【标准答案】if(p==NULL)if(p!=NULL)2、以下为Linux下的32位C程序,请计算sizeof的值。charstr[]=“Hello”;char*p=str;intn=10;请计算(1)sizeof(str)=(2)sizeof(p)=(3)sizeof(n)=【标准答案】(1)6、(2)4、(3)4(4)voidFunc(charstr[100]){……;}请计算
3、sizeof(str)=(5)void*p=malloc(100);请计算sizeof(p)=【标准答案】(4)4、(5)43、longa=0x801010;a+5=?【标准答案】0x801010用二进制表示为:“100000000001000000010000”,十进制的值为8392720,再加上5就是8392725。4、用变量a给出下面的定义e)一个有10个指针的数组,该指针是指向一个整型数的;f)一个指向有10个整型数数组的指针;g)一个指向函数的指针,该函数有一个整型参数并返回一个整型数;h)一个有10个
4、指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数;【标准答案】e)int*a[10];f)int(*a)[10]g)int(*a)(int);h)int(*a[10])(int)5、设有以下说明和定义:typedefunion{longi;intk[5];charc;}DATE;structdata{intcat;DATEcow;doubledog;}too;DATEmax;则语句printf("%d",sizeof(structdate)+sizeof(max));的执行结果是:_____【
5、标准答案】DATE是一个union,变量公用空间.里面最大的变量类型是int[5],占用20个字节.所以它的大小是20data是一个struct,每个变量分开占用空间.依次为int4+DATE20+double8=32.所以结果是20+32=52.当然...在某些16位编辑器下,int可能是2字节,那么结果是int2+DATE10+double8=206、请问以下代码有什么问题:intmain(){chara;char*str=&a;strcpy(str,"hello");printf(str);return0;
6、}【标准答案】没有为str分配内存空间,将会发生异常问题出在将一个字符串复制进一个字符变量指针所指地址。虽然可以正确输出结果,但因为越界进行内在读写而导致程序崩溃。7、请问以下代码有什么问题:char*s="AAA";printf("%s",s);s[0]='B';printf("%s",s);有什么错?【标准答案】"AAA"是字符串常量。s是指针,指向这个字符串常量,所以声明s的时候就有问题。cosntchar*s="AAA";然后又因为是常量,所以对是s[0]的赋值操作是不合法的。8、int(*s[10])(
7、int)表示的是什么啊【标准答案】int(*s[10])(int)函数指针数组,每个指针指向一个intfunc(intparam)的函数。9、c和c++中的struct有什么不同?【标准答案】c和c++中struct的主要区别是c中的struct不可以含有成员函数,而c++中的struct可以。c++中struct和class的主要区别在于默认的存取权限不同,struct默认为public,而class默认为private10、voidgetmemory(char*p){p=(char*)malloc(100);
8、strcpy(p,“helloworld”);}intmain(){char*str=NULL;getmemory(str);printf(“%s/n”,str);free(str);return0;}会出现什么问题?【标准答案】程序崩溃,getmemory中的malloc不能返回动态内存,free()对str操作很危险。11、charszstr[10];strcpy(s
此文档下载收益归作者所有