计算机程序设计(C语言)智慧树知到期末考试答案2024年_第1页
计算机程序设计(C语言)智慧树知到期末考试答案2024年_第2页
计算机程序设计(C语言)智慧树知到期末考试答案2024年_第3页
计算机程序设计(C语言)智慧树知到期末考试答案2024年_第4页
计算机程序设计(C语言)智慧树知到期末考试答案2024年_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机程序设计(C语言)智慧树知到期末考试答案2024年计算机程序设计(C语言)在C语言中,要求运算数必须是整型或字符型的运算符是().

A:&&B:!C:&D:||答案:%若给定条件表达式(M)?(a++):(a--),则其中表达式M().

A:和(M!=0)等价B:和(M!=1)等价C:和(M==0)等价D:和(M==1)等价答案:M!=0以下能对一维数组a进行正确初始化的语句是().

A:inta[10]={10*1};B:inta[]={0};C:inta[10]={};D:inta[10]=(0,0,0,0,0)答案:int下列程序段的输出结果为().floatk=0.8567;printf("%06.1f%%",k*100);

A:0085.7%B:0085.6%C:.857D:0085.6%%答案:0085.7%函数的形式参数隐含的存储类型说明是().

A:staticB:registerC:autoD:extern答案:auto下列字符序列中,不可用作C语言标识符的是().

A:b70B:symbolC:a_1D:#ab答案:ab下列程序的输出结果为().main(){intm=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);}

A:27.500000B:28.500000C:27.000000D:28.000000答案:27.000000char*match(charc)是().

A:函数定义的头部B:函数预说明C:函数调用D:指针变量说明答案:函数定义的头部下列程序段的输出结果为().intx=3,y=2;printf("%d",(x-=y,x*=y+8/5));

A:7B:3C:1D:5答案:3C语言中以下几种运算符的优先次序()的排列是正确的.

A:由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符B:由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,||C:由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符D:由高到低为:!,&&,||,算术运算符,赋值运算符答案:由高到低为:已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中不正确的是().

A:p=&a[j];B:p=a;C:p=&j,p=p1;D:p=10;答案:p=10;经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为().charx=65;floaty=7.3;inta=100;doubleb=4.5;

A:2,2,2,4B:1,2,2,4C:1,4,2,8D:2,4,2,8答案:1,4,2,8在一个C程序中().

A:main函数可以在任何地方出现B:main函数必须出现在所有函数之前C:main函数必须出现在所有函数之后D:main函数必须出现在固定位置答案:main函数可以在任何地方出现下列程序的输出结果是().main(){inta=011;printf("%d\n",++a);}

A:10B:9C:11D:12答案:10在C语言中,一维数组的定义方式为:类型说明符数组名().

A:[整型常量]B:[整型表达式]C:[整型常量]或[整型表达式]D:[常量表达式]答案:[常量表达式]若a=1,b=2则a|b的值是().

A:0B:3C:1D:2答案:3若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是().

A:函数调用可以出现在表达式中B:函数调用可以作为独立的语句存在C:函数调用可以作为一个函数的实参D:函数调用可以作为一个函数的形参答案:函数调用可以作为一个函数的形参下面四个选项中,均是不合法的用户标识符的选项是().

A:b-agotointB:AP_0doC:_123tempintD:floatla0_A答案:b-a在C语言中,要求运算数必须是整型的运算符是().

A:%B:!=C:++D:/答案:%C语言程序中,当调用函数时().

A:可以由用户指定是否共用存储单元B:实参和虚参可以共用存储单元C:计算机系统自动确定是否共用存储单元D:实参和虚参各占一个独立的存储单元答案:实参和虚参各占一个独立的存储单元以下对C语言函数的描述中,正确的是().

A:C函数既可以嵌套定义又可以递归调用B:函数必须有返回值,否则不能使用函数C:C程序中有调用关系的所有函数必须放在同一个程序文件中D:C程序必须由一个或一个以上的函数组成答案:C程序必须由一个或一个以上的函数组成设j和k都是int类型,则for循环语句for(j=0,k=0;j

A:最多执行9次B:是无限循环C:最多执行10次D:循环体一次也不执行答案:最多执行10次C语言中while和do-while循环的主要区别是().

A:do-while允许从外部转到循环体内B:do-while的循环体不能是复合语句C:do-while的循环体至少无条件执行一次D:while的循环控制条件比do-while的循环控制条件更严格答案:do-whileC语言源程序的基本单位是().

A:过程B:子程序C:函数D:标识符答案:函数表达式,0x13&0x17的值是().

A:0x13B:0xecC:0x17D:0xf8答案:0x13enuma{sum=9,mon=-1,tue};定义了().

A:枚举变量B:3个标识符C:枚举数据类型D:整数9和-1答案:枚举数据类型若有下列定义和语句,则对a数组元素的非法引用是().inta[2][3],(*pt)[3];pt=a;

A:pt[0][0]B:*(a[0]+2)C:*(pt[1]+2)D:*(pt+1)[2]答案:*(pt+1)[2]下列程序的输出为().main(){inty=10;while(y--);printf("y=%d\n",y);}

A:while构成无限循环B:y=0C:y=1D:y=-1答案:y=-1下面说明不正确的是().

A:chara[10],*p=a;p="china"B:chara[10]="china";C:chara[10],*p;p=a="china"D:char*a;a="china";答案:chara[10],*p;p=a=china下列程序的输出结果是().main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}

A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:a=2,b=1以下常量中,能够代表逻辑"真"值的常量是().

A:0'B:0C:\0'D:NULL答案:0用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是().longa=0xffffff;intb;charc;

A:-1和97B:指向同一地址C:0ffffff和0x61D:-1和98答案:-1和97inta[10];合法的数组元素的最小下标值为().

A:1B:9C:0D:10答案:0下面四个选项中,均是不合法的浮点数的选项是().

A:1232e4.2.e5B:-e3.2341e3C:-.18123e40.0D:160.0.12e3答案:123设a=12,且a定义为整型变量.执行语句a+=a-=a*=a;后a的值为().

A:132B:12C:144D:0答案:0经过以下语句定义后,表达式z+=x>y?++x:++y的值为().intx=1,y=2,z=3;

A:5B:6C:3D:2答案:6以下错误的描述是:函数调用可以().

A:出现在执行语句中B:做为一个函数的实参C:出现在一个表达式中D:做为一个函数的形参答案:做为一个函数的形参数组说明inta[3][]={1,2,3,4,5};是正确的.

A:对B:错答案:错在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char

A:对B:错答案:对将函数fun的入口地址赋给指针变量p的语句是p=fun();

A:对B:错答案:错在C程序中,赋值运算符的优先级最低.

A:对B:错答案:错#include"stdio.h"是每个程序中必须写的.

A:错B:对答案:错char*s1="A";是正确的.

A:对B:错答案:对如果#defineN10则floata[N];是错的.

A:对B:错答案:错如果想使一个数组中全部元素的值为0,可以写成inta[10]={0*10};

A:对B:错答案:错inta=7,b=9,t;t=(a>b)?a:b;t的值为7.

A:对B:错答案:错char*p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl".

A:错B:对答案:错动态存储分配,可调用函数malloc(),如int*p;p=(int*)malloc(sizeof(p));

A:错B:对答案:对设x、t均为int型变量,则执行语句"x=10;t=x&&x>10;"后,t的值为0.

A:错B:对答案:对charc;c=getchar();该程序段的功能是将用户从键盘输入的字符赋给变量c.

A:对B:错答案:对fabs()是C语言取绝对值的数学函数.

A:错B:对答案:对若有inti=10,j=0;则执行完语句if(j=0)i++;elsei--;i的值为11.

A:错B:对答案:错若有定义和语句:inta;charc;floatf;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5则a=10,c='A',f=12.5.

A:对B:错答案:对inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则p+5相当于a[5].

A:对B:错答案:错在C语言中,逻辑"真"等价于不等于0的数.

A:对B:错答案:对在C语言中8.9e1.2是不正确的实型常量.

A:对B:错答案:对被定义为指向某结构体类型数据的指针变量,即可以指向具有该类型的变量,又可以指向它其中的一个成员。()

A:错B:对答案:错针的意思是通过它能找到以它为地址的内存单元。()

A:错B:对答案:对switch…case结构中case后的表达式必须为常量表达式。()

A:对B:错答案:对使用完链表后,系统会自动释放链表占用的内存。()

A:对B:错答案:错一旦定义了某个结构体类型后,系统将为此类型的各个成员项分配内存单元。()

A:对B:错答案:错C系统在用字符数组存储字符串常量时会自动加一个‘\0’作为结束符。()

A:对B:错答案:对语句if(a=5)是正确的。()

A:错B:对答案:错函数的声明是必须的,只有这样才能保证编译系统对调用表达式和函数之间的参数进行检测,以确保参数的传递正确。()

A:错B:对答案:错C语言中,fgets()函数用于读取一行字符串,或读取指定长度的字符串。()

A:对B:错答案:对递归算法解题相对常用的算法如普通循环等,运行效率较高。()

A:对B:错答案:错函数定义需要开辟内存空间。()

A:对B:错答案:对在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。()

A:错B:对答案:对continue语句是结束本次循环,调整循环变量后继续下一次循环。()

A:对B:错答案:对若有定义char*s=“hello”;则sizeof(s)求出其结果为5。()

A:错B:对答案:错printf函数中的所有格式字符,都既可以是大写形式,也可以是小写形式。()

A:对B:错答案:错可以通过typedef给函数指针取别名调用该类型函数。()

A:错B:对答案:对字符型指针用char*来定义,它不仅可以指向一个字符型常量,还可以指向一个字符串。()

A:错误B:正确答案:正确若已声明一结构体student,定义一只想结构体变量的指针structStudent*pStruct后,应用其中的成员的用法是*pStruct.成员名。()

A:对B:错答案:错在C语言中所有用到的变量都要先定义然后才能使用。()

A:对B:错答案:对作为if语句条件的表达式只能是关系表达式或者逻辑表达式。()

A:错B:对答案:错对局部变量使用static声明,该变量在整个程序执行期间不释放,其所分配的空间始终存在。()

A:对B:错答案:对数组的[]内的数字是必须大于零的整数。()

A:错B:对答案:对不同函数中可以使用同名的变量。()

A:错误B:正确答案:正确定义结构体变量有三种方式:先定义结构体类型再定义结构体变量、在定义结构体类型的同时定义结构体变量、直接定义结构体变量。()

A:错B:对答案:对static局部变量在函数调用结束后不消失且继续保留原值。()

A:错B:对答案:对在调用函数fun(fun(a,b),c)时,先调用的是fun(a,b)。()

A:错B:对答案:错把x,y定义成基本整型变量并赋初值2,可写成:intx=y=2;()

A:错B:对答案:错在解决问题时,应该尽量避免使用递归,除非没有更好的算法或者某种特定情况,递归更为适合的时候。()

A:对B:错答案:对字符串也可以像基本数据类型一样进行比较相等的操作。()

A:对B:错答案:错一个变量的地址称为该变量的“指针”。()

A:对B:错答案:对#include<stdio.h>#include<string.h>intmain(){charss[10]="12345";gets(ss);printf("%s\n",ss);return0;}当执行下面程序且输入:ABC时,输出的结果是()

A:12345ABCB:ABC45C:ABC456789D:ABC答案:ABC以下选项中,不能正确赋值的是()

A:chars1[10];s1="Ctest";B:chars3[20]="Ctest";C:char*s4="Ctest\n"D:chars2[]={'C','t','e','s','t'};答案:char以下关于函数定义时的形参说法正确的是()

A:形参不可以是指针B:形参不能为空C:形参可以是任意类型D:形参只能一个答案:形参可以是任意类型#include<stdio.h>charstr[]="000";intmain(){printf("%d\n",str[2]);return0;}运行程序的结果是()

A:运行出错B:48C:0D:随机数值答案:48structStudent{intnum;intage;}stu,*p;若有以上声明,则对结构体变量stu中成员age的不正确应用方式为()

A:p->ageB:(*p).ageC:student.ageD:stu.age答案:student.ageintsum(doublea,doubleb){return(a+b);}函数的返回类型为()

A:floatB:doubleC:intD:void答案:int#include<stdio.h>structstu{intnum;charname[10];intage;};voidfun(structstu*p){printf("%s\n",(*p).name);}intmain(){structstustudents[3]={{9801,"Zhang",20},{9802,"Wang",19},{9803,"Zhao",18}};fun(students+2);return0;}上面程序的输出是()

A:WangB:ZhangC:18D:Zhao答案:Zhao#include<stdio.h>intmain(){inta[3]={0,2,4};printf("%d\n",a+2);return0;}运行程序的结果是()

A:a[2]的地址B:4C:随机数值D:2答案:随机数值要定义一个字符串,下列选项中错误的是()

A:chars[]=“hello”;B:char*s=“hello”;C:chars[]={“h”,”e”,”l”,”l”,”o”};D:chars[6]=“hello”;答案:chars[]={“h”,”e”,”l”,”l”,”o”};若有定义inta=1,b=2,c=3,d=4,则表达式a<b?a:c<d?a:d的结果为()

A:3B:4C:1D:2答案:1#include<stdio.h>voidfun(inta){printf("%d",a+1);}intmain(){inta=1;fun(a);fun(a);fun(a);return0;}运行以下程序的结果是()

A:234B:111C:222D:123答案:222#include<stdio.h>intmain(){intarr[5]={1,2,3,4,5};printf("%d\n",*arr);return0;}运行程序的结果是()

A:0B:随机数值C:运行出错D:1答案:1longF(intn){if(n<=1)returnn;returnF(n-1)+F(n-2);}递归函数的递归体是()

A:F(n)=F(n-1)+F(n-2)B:F(n)=F(n-3)C:F(n)=F(n-1)D:F(n)=F(n-21)答案:F(n)=F(n-1)+F(n-2)chara=‘a’;while(a<1){a++;}printf("%c",a);以下程序段运行结果为()

A:‘a’B:bC:‘b’D:a答案:‘a’代码char*ch=”abcdef”;则输出*ch在控制台的结果是()

A:“abcdef”B:“ab”C:‘a’D:字符’a’的地址答案:a不能实现函数之间数据传递的是()

A:全局变量B:局部变量C:函数返回值D:数组作为形参答案:局部变量#include<stdio.h>inta=0;intslove(intn){if(n==1)return1;elsereturnn+slove(n-1);}intmain(){intn=3;a=slove(n);printf("%d",a);return0;}程序运行后的结果为()

A:0B:6C:3D:1答案:6字符串"ABC"在内存占用的字节数是()。

A:3B:8C:4D:6答案:4structabc{intx;chary;}structabcs1,s2;若程序中有以上的声明和定义,则会发生的情况是()

A:程序将顺序编译、连接执行B:编译时报错C:能顺序通过编译、但连接出错D:能顺序通过编译、连接但不能执行答案:编译时报错intYear(intn){return(!(n%4)&&(n%100)||!(n%400));}intmain(){inta=1900;int*p=printf("%d",Year(*p));return0;}下列程序段执行结果是()

A:1B:有语法错误C:0答案:0若a为int型变量,则下列C语言表达中,不能表达数学关系式10<a<15的是()

A:!(a<=10)&&!(a>=15)B:a>10&&a<15C:10<a<15D:a==11||a==12||a==13||a==14答案:10字符数组定义正确的是()

A:chara[i]B:chara[]C:chara[5]D:chara[0]答案:char给定函数原型:int*f(int*p);变量定义:inti;下列选项哪个对函数的调用是错误的?()

A:f(&(i+6));B:int*p=f(&i);C:*f(&i)=6;D:f(&i);答案:f(假设有:charstr[]="Beijing";那么执行printf("%d\n",strlen(strcpy(str,"China")));后的输出结果是()

A:7B:12C:5D:14答案:5intmain(){intx=0;inta=1;intb=5;switch(x){case0:b++;break;case1:a++;break;case2:++a,++b;break;default:printf(“Error”);}printf(“%d,%d”,a,b);return0;}以下程序的输出结果是()

A:2,5B:1,5C:1,6D:2,6答案:1,6typedefstructNODE{inta;charb;}OLD;有上列程序段,则以下叙述中正确的是()

A:OLD是一个结构体类型B:NODE的一个结构体类型C:OLD是一个结构体变量答案:OLD是一个结构体类型switch(i){case‘1’:i+=1;case‘2‘:i+=1;case‘3’:i+=1;default:i+=1;};若inti=1,执行下面程序段后,变量i的值为()

A:3B:4C:2D:1答案:2递归的基本思想是()

A:把规模大的问

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论