首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明、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
61
问题
阅读以下说明、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
程序员下午应用技术考试
软考初级
相关试题推荐
Windows系统的控制面板不包括__________功能。
在Excel中,设单元格A1中的值为100,B1中的值为200,A2中的值为300,B2中的值为400,若在A3单元格中输入函数“=SUM(A1:B2)”,按回车键后,A3单元格中的值为()。
双击某个非可执行程序的文件名将(24)。
为将演示文稿置于另一台不带PowerPoint系统的计算机上放映,那么在放映前应该对演示文稿进行()。
许多书上都说,人一次只能记住或处理5~9(7±2)条信息。为了检验这个结论是否正确,宜采用()调查方法。经过多次调查统计研究发现,人一次平均只能记住或处理4条信息。经考证,原来7±2的说法只是一位专家在一个讲演稿中的估计,并不是真正的调研报告,但却
用计算机处理信息时,常对许多信息采用适当的编码。例如职工编码、商品编码、性别编码、文化程度编码等。编码有许多好处,但不包括(66)。
某Word文档共有100页,现需要打印该文档的第5页到第9页和第12页,在打印对话框中,可输入打印页码()。
在网页中创建一个如下图所示的表单控件的HTML代码是(26)。
随机试题
钙通道阻滞药扩张冠状动脉作用强,是治疗变异型心绞痛的首选药。
怎样判定青霉素皮试结果?
左颈总动脉起于
A/延长动作电位时程药B/具有交感神经抑制作用的抗高血压药C/钙拮抗药D/主要用于治疗心力衰竭的药E/特异性抑制磷酸二酯酶的药地高辛是
患儿,9岁。其母叙述曾因癫痫强直阵挛性发作治疗,服苯巴比妥10个月,因疗效不佳,2日前改服苯妥英钠,结果反而病情加重入院,最可能的原因是
远端用户模块属于程控数字交换机的()。
某公司目前的资本来源包括每股面值l元的普通股800万股和平均利率为10%的3000万元债务。该公司现在拟投产一个新产品,该项目需要投资4000万元,预期投产后每年可增加息税前利润400万元。该项目备选的筹资方案有三个:(1)按11%的利率平价
Howlongdoesittakefromheretoyourhomeonfoot?
ApartmentforRentModernstudioapartmentlocated10minutesfromshopsandsubway2bedrooms,kitchen,living/diningr
MargaretMitchell,theauthoroftheenormouslypopularnovelGoneWiththeWind,diedin1949attheageofforty-nine.Shewas
最新回复
(
0
)