下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计基础(山东工商学院)智慧树知到期末考试答案2024年程序设计基础(山东工商学院)源程序编译后生成的文件是()。
A:扩展名为obj的文件B:扩展名为c的文件C:扩展名为txt的文件D:扩展名为exe的文件答案:obj以下与int*q[5];等价的定义语句是()。
A:int*(q[5]);B:int*q;C:intq[5];D:int(*q)[5];答案:int*(q[5])下面哪种情况下feof函数返回非零值?()。
A:使用fseek之后B:读写位置指针指向结束标志时又进行了读数据操作或读数据的尝试C:读写位置指针指向结束标志时D:刚打开文件时答案:读写位置指针指向结束标志时又进行了读数据操作或读数据的尝试字符串存储时的结束标志是()。
A:‘\r’B:‘\n’C:‘\\’D:‘\0’答案:‘\0’根据变量的存储类别将变为分为()。
A:静态变量和动态变量B:自动变量和临时变量C:全局变量和局部变量D:自动变量和寄存器变量答案:静态变量和动态变量程序编译连接后显示"0error,0warning"代表()。
A:程序中没有逻辑错误B:程序中没有语法错误C:程序中可能存在语法错误D:程序运行结果不会错误答案:程序中没有语法错误intn=3,x;x=n++;上面程序段执行后,x的值是()。
A:3B:2C:5D:4答案:3打开文件时若发生错误,fopen()的返回值是()。
A:1B:0C:EOFD:-1答案:0关于文件操作,下面说法正确的是()。
A:缓冲文件系统中,缓冲区须由程序员负责开辟、管理并释放B:用fopen函数打开文件时,只能使用高级输入输出函数,用open函数打开文件时,只能使用低级输入输出函数C:用fread、fprintf函数读写的数据是经过缓冲区的,用read、putw函数读写的数据是不经过缓冲区的D:一个文件在内存中分配两个缓冲区:输入缓冲区和输出缓冲区答案:用fread、fprintf函数读写的数据是经过缓冲区的,用read、putw函数读写的数据是不经过缓冲区的关于指针和指针变量,以下说法正确的是()。
A:指针是指针变量的一部分B:指针变量是指针的一种C:其他三种说法都不对D:指针与指针变量是同一个概念答案:指针变量是指针的一种把程序分成几个函数的优点有()。
A:符合结构化程序设计的要求B:方便编译和调试C:增加程序可读性D:减少代码书写,提高代码重用率答案:符合结构化程序设计的要求###减少代码书写,提高代码重用率###方便编译和调试###增加程序可读性若有定义inta;constintb=1;则下列表达式错误的有()。
A:b=2B:b=aC:b++D:a=b答案:b=a###b++###b=2设指针p已正确定义,以下语句中,能动态分配的两个连续的int型变量并使p指向首变量的语句有()。
A:p=2*(int*)malloc(sizeof(int));B:p=(int*)malloc(2*1);C:p=(int*)calloc(2,sizeof(int));D:p=(int*)malloc(2*sizeof(int));答案:p=(int*)malloc(2*sizeof(int))###p=(int*)calloc(2,sizeof(int))文件共8字节(0~7),读写位置指针指在文件的第5字节,能将它移动到第3字节的代码有()。
A:fseek(fp,-4,2);B:rewind(fp);fseek(fp,3,0);C:fseek(fp,-2,1);D:fseek(fp,-2,0);E:fseek(fp,-5,2);答案:fseek(fp,-5,2)###fseek(fp,-2,1)###rewind(fp);fseek(fp,3,0)把程序写成若干个函数,应遵循的原则有()。
A:每个函数都要"独立"地完成"一"项任务B:与主调或被调函数之间的任务分配要合理C:函数要有较高的利用率和适用性D:函数与外界的耦合性要弱,尽量少用或不用全局变量答案:每个函数都要独立地完成一项任务;与主调或被调函数之间的任务分配要合理;函数与外界的耦合性要弱,尽量少用或不用全局变量;函数要有较高的利用率和适用性关于结构体和共用体,下面说法正确的有()。
A:共用体变量有全局和局部之分B:共用体定义有全局和局部之分C:结构的定义有全局和局部之分D:结构体数组有全局和局部之分答案:结构的定义有全局和局部之分###结构体数组有全局和局部之分###共用体定义有全局和局部之分###共用体变量有全局和局部之分下列选项中属于正确的字符常量的有()。
A:'\x41'B:"ABC"C:‘\80’D:‘\101’答案:1以下与库函数strcpy(char*p,char*q)功能相等的程序段有()。
A:strcpy2(char*p,char*q){while((*p=*q)!='\0'){p++;q++;}}B:strcpy1(char*p,char*q){while((*p++=*q++)!='\0');}C:strcpy3(char*p,char*q){while(*p++=*q++);}D:strcpy4(char*p,char*q){while(*p)*p++=*q++;}答案:strcpy4(char*p,char*q){while(*p)*p++=*q++;}以下关于C语言描述中正确的有()。
A:每个语句的最后必须有一个分号B:一个C程序可以包含多个main函数C:C语言的注释通常以"/*"开始并以"*/"结束D:一个C程序总是从main函数开始执行答案:一个C程序可以包含多个main函数要想通过指针变量p访问变量a,下面代码正确的有()。
A:inta,*p;*p=a;printf("%d",*p);B:inta,*p=printf("%d",*p);C:inta,*p=a;printf("%d",*p);D:inta,*p;p=printf("%d",*p);答案:inta,*p;p=printf(%d,*p);;inta,*p=printf(%d,*p);一个被调函数(函数有形参)的执行,所包括的过程有()。
A:执行被调函数函数体B:传递参数C:给形参分配空间D:释放形参答案:传递参数###执行被调函数函数体###给形参分配空间###释放形参以下关于宏定义的四种说法中,正确的有()。
A:宏定义可以简化书写B:宏定义最终还是要被换回它所代表的字符C:有参数的宏定义,其参数不占内存空间D:用不用宏定义,对最终的exe文件没有影响答案:宏定义可以简化书写###宏定义最终还是要被换回它所代表的字符###有参数的宏定义,其参数不占内存空间###用不用宏定义,对最终的exe文件没有影响设有代码:inta,*p=关于用直接寻址还是间接寻址访问a,下面说法正确的有()。
A:在p的作用域内,可以用间接访问的方式B:任何时候都可以直接访问aC:任何时候都可以间接访问aD:在a的作用域内,可以用直接访问的方式答案:在a的作用域内,可以用直接访问的方式###在p的作用域内,可以用间接访问的方式下面4个选项中,能从文件中读取一个字符并存入char型变量的函数有()。
A:fscanfB:freadC:fgetcD:fgets答案:fscanf###fread以下不能正确定义二维数组的有()。
A:inta[][3]={};B:inta[][3]={2*3};C:inta[][3];D:inta[2][3]={{1},{2},{3,4}};答案:int关于变量的作用域和命名等问题,下面说法正确的有()。
A:不同的函数中可以使用相同的变量名B:形式参数是局部变量C:同一个作用域内可以使用相同的变量名D:在一个函数内定义的变量只能在本函数范围内使用答案:不同的函数中可以使用相同的变量名###在一个函数内定义的变量只能在本函数范围内使用###形式参数是局部变量下面四个宏定义中,正确的有()。
A:#defineN3;B:#definen3abC:#defineN=2D:definePI3.14答案:#defineN3####definen3ab若有定义:intb[4][6],*p,*q[4];且0≤i<4,则正确的赋值语句有()。
A:q[i]=&b[0][0];B:p=b[i];C:p=b;D:q[i]=b[i];答案:p=ba、b、c1、c2、x、y均为整型变量,错误的switch语句有()。
A:switch(a*2.0){casec1:y=a+b;break;casec2:y=a-b;break;default:x=a+b;}B:switch(a*a+b*b);{case1:y=a+b;case0:y=a-b;}C:swtich(a-b){default:y=a*b;break;case3:case2:y=a+b;}D:swich(a+b){case1:y=a+b;break;case0:y=a-b;break;}答案:swich(a+b){case1:y=a+b;break;case0:y=a-b;break;};switch(a*a+b*b);{case1:y=a+b;case0:y=a-b;};switch(a*2.0){casec1:y=a+b;break;casec2:y=a-b;break;default:x=a+b;}#include<stdio.h>intmain(){intx,t;for(t=1;t<100;t++){scanf("%d",&x);if(x<0)continue;printf("%d\n",t);}return0;}对上面的程序描述错误的有()。
A:printf函数永远也不会被执行B:最多允许输出100个非负整数C:当x<0时,整个循环结束D:当x>=0时,程序没有输出答案:最多允许输出100个非负整数设有宏定义#defineNum123则代码inta=Num456相当于inta=123456()
A:错B:对答案:错!是按位取反运算符()
A:正确B:错误答案:~若有说明:char*language[]={“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则language[2]的值是一个字符()
A:对B:错答案:错#include"stdio.h"intmain(intargc,char*argv[]){intm;for(m=1;m<argc;m++)printf("%c",*argv[m]);return0;}假定上面程序的可执行文件名为file.exe,则在该程序所在的子目录下输入命令行:filegirlboy↙后,程序的输出结果是girlboy()
A:错B:对答案:错文件的内容是:0000001000000001,用fread()函数读取一个短整数,则短整数的值是513()
A:对B:错答案:错switch语句中,case和default的位置次序可以任意互换,不会影响程序的执行结果。()
A:对B:错答案:错inta[2][3];int*p=a[0];p++;以上代码运行后,p指向a[1][0]()
A:错B:对答案:错按位或|常用来让某些位翻转()
A:错B:对答案:对结构在内存中所占的空间大小,等于各成员所占空间大小之和(不考虑内存对齐规则)()
A:错B:对答案:错编译能发现注释中的拼写或语法错误。()
A:对B:错答案:错x是整型变量,j是实型变量,执行x=(int)j后,j的类型变为整型。()
A:对B:错答案:错在main函数中定义的变量一般是全局变量()
A:对B:错答案:错指针就是地址,地址就是指针()
A:对B:错答案:对函数声明和函数定义的区别是,函数定义包括函数体,而函数声明没有函数体,且后面带分号.()
A:对B:错答案:对文件的二进制内容是:0011000100110010,用文本方式从文件中读出一个整数,则整数的值是12()
A:错B:对答案:对c语言中,空语句表示什么都不做,因此可以省略。()
A:对B:错答案:错一个源文件必须且只能有一个主函数。()
A:对B:错答案:错字符数组定义后,不能用赋值语句将一字符串常量或字符数组直接赋给它()
A:对B:错答案:对C语言规定:宏定义时,宏名必须用大写()
A:对B:错答案:错逻辑表达式中,有些运算符可能不会执行到。()
A:错B:对答案:对关于文件的读写位置指针,下面说法正确的是()。
A:文件的读写位置指针,指向FILE型变量中的某字节B:文件的读写位置指针,对应着下一次要读(写)的那个字节C:文件的读写位置指针,指向文件D:文件的读写位置指针,是个变量,用来存储缓冲区的首地址答案:AI参考:正确答案是B:文件的读写位置指针,对应着下一次要读(写)的那个字节。\n\n文件的读写位置指针是指向下一次要读(写)的那个字节,而不是指向FILE型变量中的某字节、文件、缓冲区的首地址等。因此,选项B是正确的。选项A和D中的描述不够准确,选项C则完全错误。'inta=321,b=65536;
printf("%ld,%hd,%c\n",a,b,a);
上面程序段的运行结果是()。
A:321000,-32767,256B:321,0,AC:其他三个答案都不对D:321,32767,0答案:AI参考:程序段的运行结果是:321,-32767,0。\n\n解释:\n\n1.`inta=321`:声明了一个整数变量a,并初始化为321。\n2.`b=65536`:声明了一个整数变量b,并初始化为65536。由于整数在计算机内部是以二进制形式存储的,所以65536在内存中实际上是0xFFFF0000(十进制表示为-32767)。\n3.`printf("%ld,%hd,%c\n",a,b,a);`:使用printf函数输出变量a、b和a的值。\n\n\n\t*`%ld`用于输出长整型数值,即a的值(由于a的值为321,所以输出为321)。\n\t*`%hd`用于输出短整型数值,即b的值(由于b的值为-32767,所以输出为-32767)。\n\t*`%c`用于输出字符型数据,即a的值(由于a是一个整数,所以输出为对应的字符A)。\n\n因此,程序的运行结果是:321,-32767,0。所以,正确答案是D。'设整数也只用一个字节存储,则整数1与字符‘1’在内存中的存储形式分别是()。
A:0011000100000001B:0000000100110001C:0011000100110001D:0000000100000001答案:"AI参考:正确答案是【D:0000000100000001】。整数1在内存中的存储形式是二进制数,即00000001;字符1在内存中的存储形式是ASCII码,即对应的二进制数,即00110001。所以答案是D。"是否要在写文件时对00001010进行加字节的处理,取决于()。
A:打开方式B:文件类型C:文件类型和所用函数D:所用的函数答案:AI参考:正确选项是【C:文件类型和所用函数】。\n\n在写文件时,是否需要对00001010进行加字节的处理,取决于文件类型和所用函数。不同的文件类型和函数可能需要不同的处理方式,例如二进制文件和文本文件可能需要不同的处理方式。因此,需要根据具体情况来确定是否需要进行加字节的处理。选项A、B、D都不足以解释为什么需要进行加字节的处理。'关于结构定义的位置,下面说法正确的是()。
A:结构的定义一般放在函数外面,以便增加它的生命期B:结构的定义一般放在函数内部作为局部定义,以减少它占用内存的时间C:结构的定义一般放在函数里,以便尽量减少它的作用域D:结构的定义一般放在函数之外,以便增加它的作用域答案:AI参考:正确答案是D:结构的定义一般放在函数之外,以便增加它的作用域。\n\n在C语言中,结构体是一种自定义的数据类型,可以用来存储一组相关的数据。结构的定义一般放在函数之外,以便增加它的作用域,这样可以使得结构体中的数据可以在多个函数之间共享,提高代码的可重用性和可维护性。因此,选项D是正确的。选项A、B、C都存在一定的局限性,不适合作为正确答案。'inttest()
{
intx=0;
staticinty=5;
y+=++x;
returnx+y;
}
intmain()
{
test();
printf("%d\n",test());
return0;
}
上面程序段的运行结果是()。
A:5B:6C:8D:7答案:AI参考:程序段中,函数test()返回的是x和y的和,其中x的值在函数调用时被递增,y的值在函数调用时保持不变。因此,函数test()返回的结果是x+y,即7。在main()函数中,调用了test()函数并打印了返回的结果,所以最终打印的结果也是7。因此,正确答案是D:7。'关于while(a>b>c){…},以下说法正确的是()。
A:循环条件有语法错误B:当a>b且b>c时,条件成立C:当a<b且c<0时,条件成立D:当a>b且c>0时,条件成立答案:AI参考:正确答案是D:当a>b且c>0时,条件成立。\nwhile(a>b>c)这个语句中,首先a>b是一个条件,其次b>c也是一个条件,所以只要同时满足这两个条件,就会进入循环体。因此选项D是正确的。其他选项中,A和B都存在语法错误,C则不符合逻辑。'以下数据定义语句中,能对a进行自增运算并且自增后有意义的是()。
A:char(*a)[3];B:char*a[]={"12","ab"};C:intb[10],*a=b;D:inta[3][2];答案:AI参考:正确答案是:C:intb[10],*a=b;。\nC选项正确。解释如下:在C语言中,char类型的指针不能指向字符数组,char*类型的指针可以指向字符数组,但该指针必须是指向数组首元素的指针,不能是数组本身。选项A中的a是一个指向包含三个元素的字符数组的指针,无法对其进行自增运算。选项B中的a是一个字符数组的指针,可以通过*a进行自增运算,但是它不能指向一个字符串,所以该语句在自增后可能没有意义。选项D中的a是一个二维数组,可以进行自增运算,但是该语句本身并没有对a进行定义,所以不能进行自增运算。而选项C中的a是一个指向整型数组的指针,可以进行自增运算,并且自增后指向下一个元素,有意义。因此,选项C是正确的。'在内存的栈区(动态存储区)分配空间的是()。
A:全局变量B:寄存器变量C:局部静态变量D:局部自动变量答案:AI参考:正确选项是D:局部自动变量。\n\n在内存的栈区(动态存储区)分配空间的是局部自动变量,用于存储局部变量的数据。全局变量和静态变量通常在数据区(静态存储区)分配空间。寄存器变量通常在寄存器中分配空间,而不是在内存中分配空间。'关于函数声明,下面说法错误的是()。
A:函数定义中包含着函数声明B:函数不声明,系统默认它是int型C:改变函数声明的位置不会影响程序的执行D:函数声明必须写形参类型,除非函数不带参数答案:AI参考:关于函数声明,下面说法错误的是D:函数声明必须写形参类型,除非函数不带参数。\n\n在C和C++中,函数声明必须包含形参类型,即使函数没有实际参数。这是函数声明的规则之一,用于告诉编译器函数的返回类型以及输入参数的类型,以便进行类型检查和代码优化。如果忽略了形参类型,可能会导致编译错误或意外的行为。因此,选项D是错误的。其他选项A、B和C都是正确的,它们描述了函数声明的一些常见实践和规则。'关于变量的存储类别和初值等
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工智能的快速应用
- 针刺伤安全管理制度
- 中国债券市场统计数据报告
- 浙江省“南太湖”联盟2024-2025学年高一上学期第一次联考英语题卷 含解析
- 幼儿中班手电筒课件
- 托育机构卫生评价表、托幼机构卫生评价申请书、卫生评价报告(托育)
- 生物初二知识课件
- 幼儿园管理巡班培训
- 下雨天大班安全
- 2025年高三二轮总复习化学考前回归 下篇 类型1 化学实验基础
- 全国高中生物奥林匹克竞赛考试大纲
- 质量控制工作重难点分析及其应对措施
- 绿植租赁维护摆放服务实施方案
- 2024年公司股权转让中介的协议范本
- 部编人教版道德与法治八年级上册:(1-4)单元全套练习题4套(含解析)
- 危险废物库房建设项目竣工环保验收监测调查报告
- 九年级历史下册(部编版)第17课 二战后资本主义的新变化(教学设计)
- 2024年医院护理部年度工作计划(七篇)
- 招标代理机构选取投标方案(技术标)
- 2024年中国电动卷帘电机市场调查研究报告
- 2024年新人教版七年级上册生物课件 第三章 微生物 综合实践项目 利用细菌或真菌制作发酵食品
评论
0/150
提交评论