cms.comq=dedecomq=cms" target="_blank">cm" />
欢迎来到站长资源网!

站长资源网

当前位置: 主页 > zblog >

c语言常考的笔试题1tc语言笔试题

时间:2011-04-06 14:28来源:网友供稿 作者:admin 点击:
最近答了7次笔试题,稍有些心得,企业再面试com&kwtype=0&q=cms" target="_blank">cms.com&kwtype=0&q=dedecom&kwtype=0&q=cms" target="_blank">cm
最近答了7次笔试题,稍有些心得,企业再面试com&kwtype=0&q=cms" target="_blank">cms.com&kwtype=0&q=dedecom&kwtype=0&q=cms" target="_blank">cms" target="_blank">dedecms.com&kwtype=0&q=c%25e8%25af%25ad%25e8%25a8%2580" target="_blank">c语言不会像过去的那种读程序题写结果或者简单的函数编写,再或者考你一些简单的逻辑,c的精华是内存以及指针的运用,围绕这些我想写一些东西供自己总结以及给同事们、同学们、学弟们参考。如下是常见到的笔试题,要是有笔试,前一天看一遍这些题结果不会让你失望的。一、想说一说关于集中数据类型的sizeof问题,这题浮现率40%sizeof就是求在内存总占几多字节的问题,最基本的char 1字节short 2字节int 4字节任何的指针都是4字节sizeof(数组名)=数组占的巨细(这里必须注意虽然数组名可作为只想数组首地址的指针,但是sizeof(数组名)求得的不是指针的巨细,而是数组巨细)另有就是sizeof(结构体)sizeof(结合体)举两个例子struct stu {Char a;Int b;Char c;};struct teacher {Char a;Char c;Int b;};Sizeof (stu) =12;内存中如许存储char空空空intchar 空空空内存4字节对其问题Sizeof (teacher) =8;内存中如许存储char char空空int关于结合体Union std{Char a[10];Int b[3];}Sizeof(std)=12;结合体公用内存,取其中所占内存最大的元素为结合体所占内存以下为Windows NT下的32位C++程序,请计较sizeof的值charstr[] = “Hello” ;char*p = str ;intn = 10;1.请计较sizeof (str ) =6sizeof ( p ) =4sizeof ( n ) =4void Func ( char str[100]){请计较sizeof( str ) =4}void *p = malloc( 100 );请计较sizeof ( p ) =4另有位段的问题如下分析:struct bit{int a:3;intb:2;int c:3;};int main(){bit s;char *c=(char*)&s;coutdedecms.com&kwtype=0&q=c%25e8%25af%25ad%25e8%25a8%2580" target="_blank">c语言又供给了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的地区范围,并申明每一个地区范围的位数。每一个域有一个dedecms.com&kwtype=0&q=%25e5%259f%259f%25e5%2590%258d" target="_blank">域名,许可在程序中按域名举行操作。如许就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义以及位域变量的申明位域定义与结构定义相似,其形式为:struct位域结构名{位域列表};其中位域列表的形式为:类型申明符位域名:位域长度例如:struct bs{int a:8;int b:2;int c:6;};位域变量的申明与结构变量申明的方式相同。可采用先定义后申明,同时定义申明或者直接申明这三种方式。例如:struct bs{int a:8;int b:2;int c:6;}data;申明data为bs变量,共占两个字节。其中位域a占8位,位域b占2位,位域c占6位。对位域的定义尚有以下几点申明:1.一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单位起存放该位域。也能够有意使某位域从下一单位起头。例如:struct bs{unsigned a:4unsigned :0unsigned b:4unsigned c:4}在这个位域定义中,a占熬头字节的4位,后4位填0表示不使用,b从第二字节起头,占用4位,c占用4位。2.由于位域不许可跨两个字节,是以位域的长度不能大于一个字节的长度,也就是说不能超过8位二进位。3.位域可以无位域名,这时它只用来作填充或调解位置。无名的位域是不能使用的。例如:struct k{int a:1int :2int b:3int c:2};从以上分析可以看出,位域在素质上就是一种结构类型,不过其成员是按二进位分配的。位域的使用位域的使用以及结构成员的使用相同,其一般形式为:位域变量名•位域名位域许可用各类格式输出。main(){struct bs{unsigned a:1;unsigned b:3;unsigned c:4;} bit,*pbit;bit.a=1;bit.b=7;bit.c=15;pri (责任编辑:站长资源网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
栏目列表
推荐内容