首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明、C程序代码和问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 设在某C系统中为每个字符型数据分配1个字节,为每个整型(int)数据分配4个字节,为每个指针分配4个字节,sizeof{(x)用于计算为x分配的字节数。
阅读以下说明、C程序代码和问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 设在某C系统中为每个字符型数据分配1个字节,为每个整型(int)数据分配4个字节,为每个指针分配4个字节,sizeof{(x)用于计算为x分配的字节数。
admin
2013-07-03
42
问题
阅读以下说明、C程序代码和问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
设在某C系统中为每个字符型数据分配1个字节,为每个整型(int)数据分配4个字节,为每个指针分配4个字节,sizeof{(x)用于计算为x分配的字节数。
【C代码】
#include
#include
int main()
{
int arr[5]={10,20,30};
char mystr[]=”JustAtest\n”;
char * ptr= mystr;
printf(”%d%d%d\n”,sizeof(int),sizeof(unsigned int),sizeof(arr));
printf(”%d%d\n”,sizeof(char),sizeof(mystr));
printf(”%d%d%d\n”,sizeof(ptr),sizeof(*ptr),strlen(ptr));
return 0:
}
【问题1】
请写出以上C代码的运行结果。
【说明】
const是C语言的一个关键字,可以用来定义“只读”型变量。
【问题2】
(1)请定义一个“只读”型的整型常量size,并将其值初始化为10;
(2)请定义一个指向整型变量a的指针ptr,使得ptr的值不能修改,而ptr所指向的目标变量的值可以修改(即可以通过ptr间接修改整型变量a的值)。
注:无须给出整型变量a的定义。
【问题3】
某c程序文件中定义的函数f如下所示,请简要说明其中static的作用,以及形参表“const int arr[]”中const的作用。
static int f(const int arr[])
{
/*函数体内的语句省略*/
}
选项
答案
【问题1】 4 4 20 1 11 4 1 10 【问题2】(1)const int size=10;或int const size=10; (2)int*const ptr=&.a; 【问题3】static的作用:说明f是内部函数(局部函数),只能在本文件中调用它。 const的作用:在函数f中不能修改数组元素的值,若修改,编译时会报错。
解析
本题考查考生对C语言中常用关键字的掌握和应用情况。
【问题1】本问题考查sizeof运算符,用于计算数据空间的字节数。
在第一个输出语句printf(”%d%d%d\n”,sizeof(int),sizeof(umsigned int),sizeof(arr))中,由于int型数据占4个字节,因此 sizeof(int)和sizeof(unsigned int)的值都是4。arr是整型数组,共有5个元素,因此sizeof(arr)的值为4×5=20。
在第二个输出语句printf(”%d%d\n”,sizeof(char),si-zeof(mystr))中,由于char型数据占1个字节,因此sizeof(char)的值是1。mystr是一个字符数组.由于其包含10个字符,加上字符串结束标志,共11个字符。因此,其sizeof的操作结果为11。
在第三个输出语句printf(”%d%d%d\n”,sizeof(ptr),sizeof(*ptr),strlen(ptr))中,ptr为一个指针,所有指针变量的sizeof操作结果均为4,因此,sizeof(ptr)的值为4。*ptr的值为字符’J’,因此sizeof(*ptr)的值为1。strlen()函数用于汁算字符数组中的字符数,以’\0’作为结束判断条件,不计算’\0’。因此,strlen(ptr)的值为10。
【问题2】本问题考查const的用法。
(1)const加在int x的前面,用来定义一个不可被改变的整型常量x,这个x必须在声明时赋值。因此,定义一个“只读”型的整型常量size,并将其值初始化为10,可用语句实现为:const int size=10。
(2)题目的描述用于定义const指针,即允许通过指针修改数据,但不能修改指针本身,其语法格式为:类型*const p=&x。因此,定义一个指向整型变量a的指针ptr,使得ptr的值不能修改,而ptr所指向的目标变量的值可以修改,可用语句实现为:int*const ptr=&a。
【问题3】在题目所给的函数f中,static关键字修饰f,说明f是一个局部函数,只能在本文件中调用它,而其他文件则无法调用。形参表中的const关键字表明在函数f中不能修改数组arr元素的值,若修改,编译时会报错。
转载请注明原文地址:https://kaotiyun.com/show/wnjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
西部某省考试机构工作人员统计了去年下半年三个地区四种资格的报考人数,将统计表抄录如下(其中有一个数据抄错了): 信息处理技术员小王很快就找出了错误的数据,并进行了纠正。错误的数据是(32),该数据应纠正为(33)。33.
Windows系统的控制面板不包括__________功能。
在Excel2010的A1单元格中输入函数“=IF(1<>2,1,2)”,按回车键后,A1单元格中的值为________________。
某种考试共有75个试题,每对一题得2分,每错一题扣1分。某考生最后的分数是54分,则该考生共做对______题。
______不属于企业信息系统存在的问题。
计算机使用了一段时间后,系统磁盘空间不足,系统启动时间变长,系统响应延迟,应用程序运行缓慢,此时,需要对系统进行优化。(28)________________不属于系统优化工作。
操作系统的功能不包括______。
在Excel2007的A1单元格中输入函数“=LEFT(“CHINA”,1)”,按回车键后,则A1单元格中的值为()。
开机后显示器和主机都没有任何反应,首先应该检查(21)。
该公司用一个C类地址块202.119.110.0/24组网,将下表中的(1)~(6)处空缺的主机地址或子网掩码填写在答题纸的相应位置。发现子公司A的某台PC机无法访问web服务器,做如下检查:1)查看网上邻居,发现该PC机可以访问子公司A内
随机试题
患者男性,68岁,有前列腺增生病史,排尿困难半年,尿量减少伴腹胀2天入院。查体:神志清,血压140/80mmHg,呼吸25次/分,腹胀,中下腹膨隆,叩诊浊音。为明确该患者病因,急需做的检查是
有关烧伤创面愈合过程,下列描述错误的是
有机磷酸酯农药抑制的酶是
为节约水泥,采用高强度等级水泥配制低强度等级混凝土,强度和耐久性都能满足要求。()
下列叙述正确的是()。
人力不可抗拒灾害主要是指自然灾害,由这类灾害造成的损失应由( ),也是常见的工程索赔之一。
某商品2004年度的销售目标为3000万元,行业标准周转率为15次/年,则该企业的年度商品平均库存额是()万元。
下列有关记账凭证账务处理程序的说法中不正确的是()。
一项工程,A单位单独施工需要1年才能完成,A单位施工1个季度后B单位再施工2个月恰好完成了工程的一半。现A、B两个单位合作一段时间后,剩下的由B单位单独完成,且这两段时间相等,则实际施工用了多久?()
设哈希表长m=14,哈希函数H(key)=keymod11。表中已有4个结点addr(15)=4,addr(38)=5,addr(61)=6,addr(84)=7,其余地址为空,如用二次探测再散列法处理冲突,则关键字为49的结点的地址是()。
最新回复
(
0
)