雨课堂学堂在线学堂云《C语言程序设计(陕西工商职业学院)》单元测试考核答案_第1页
雨课堂学堂在线学堂云《C语言程序设计(陕西工商职业学院)》单元测试考核答案_第2页
雨课堂学堂在线学堂云《C语言程序设计(陕西工商职业学院)》单元测试考核答案_第3页
雨课堂学堂在线学堂云《C语言程序设计(陕西工商职业学院)》单元测试考核答案_第4页
雨课堂学堂在线学堂云《C语言程序设计(陕西工商职业学院)》单元测试考核答案_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计第1题用于编写计算机程序,进行软件开发所用的计算机语言就是____。第2题计算机程序设计语言的发展经历了____、____、____三个发展阶段。第3题计算机内部的数据是以什么形式存储的()。A二进制B十进制C八进制D十六进制第1题一个C程序是由若干个函数构成的,其中有且只有一个____函数。第2题C语言程序的语句都是以____结尾。第3题C语言中,多行注释使用____和____符号。第4题在C语言中,用于开始单行注释的符号是()。A/*B*/C//D#第5题在C程序中注释语句有____和____两种格式。第6题()是构成C语言程序的基本单位。A函数B过程C子程序D子例程任务三作业第1题C语言源程序文件的后缀是____;经过编译后,生成文件的后缀是____;经过连接后,生成文件的后缀是____。第2题C语言程序的运行一般要经过____、____、____、____等4个步骤?任务一作业第1题在C语言中,sizeof运算符用于获取____的长度,其返回值类型为____。第2题以下哪些属于C语言的基本数据类型?()A.intB.floatC.charD.structE.voidAintBfloatCcharDstruct第3题以下关于short类型的描述,正确的是?()A占用内存大于intB默认为无符号数C至少占用2个字节D必须使用%u输出第4题下列哪种数据类型占用的内存空间最大?()AcharBintCfloatDdouble任务二作业第1题在C语言中,constinta=10;定义的a是常量。()第2题在C语言中,定义常量的关键字是____,其值在程序运行时____改变。第3题在C语言中,字符常量使用____括起来,字符串常量使用____括起来。第4题关于C语言常量的描述,正确的有?()A常量可以是整数、浮点数或字符串B常量在编译时已确定值C常量必须赋值给变量D常量不能改变第5题以下哪个关键字用于声明常量?()AstaticBconstCdefineDvolatile第6题在C语言中,常量0x1F表示的十进制数是?()A31B32C63D127任务三作业第1题已知大写字母A的ASCII码是65,若变量k是整型(int),则执行语句“k='A'+2.8;”后,变量k的值是____。第2题设有说明语句“chark='\7';”,变量k中包含____个字符。第3题在C语言中,变量必须先定义后使用。()第4题以下关于变量命名的描述,正确的有?()A变量名可以包含数字B变量名不能以数字开头C变量名区分大小写D变量名不能使用关键字任务四作业第1题设有说明语句“intk=5;doublet;”,执行语句“t=(double)k;”之后,变量k的数据类型是____。第2题已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则字符型常量\101是()。A'A'B'a'C'e'D非法的常量第3题若x为浮点数,则表达式(int)x+10的值类型是?()AcharBintCfloatDdouble第4题若x为浮点数,则表达式(int)(x+0.5)的作用是____。第5题在C语言中,强制类型转换的语法为____,例如(int)5.6的结果是____。任务五作业第1题表达式“2+sqrt(4)”值的数据类型为____。第2题设有说明语句“inti;floatf;doubled;”,表达式“5-2*i+d/f”值的数据类型为____。第3题能正确表示数学关系“-5<=a<=5”的C语言表达式是()。Aa>=-5anda<=5Ba>=-5ora<=5Ca>=-5&&a<=5Da>=-5||a<=5第4题若变量均已被正确定义并赋值,则合法的赋值语句是()。Ax+n=i;Bx=n%2.5;Cx=y==5Dx=5=4+1第5题能正确定义且赋初值的语句是()。Aintn1=n2=-1;Bcharc=32;Cfloatf;Ddoublex=12.3E2.5;第6题表达式“3.6-5/2+1.2+5%2”的值是()。A4.3B4.8C3.3D3.8第7题若变量x为整型,且x=5,则表达式x++*2的值是多少?()A10B11C12D14第8题以下哪个运算符在C语言中用于取余数?()A%B/C*D-第9题表达式(5>3)&&(2<4)的结果是?()A0B1CfalseDtrue第10题以下哪些运算符的优先级高于&&?()A||B*C==D+第11题若x为整型且x=7,则表达式x+=2的值是____,随后执行x%3的结果是____。第12题逻辑运算符&&的短路特性是指:若第一个操作数为____,则不会计算第二个操作数。第13题表达式10>5?20:10+5的结果是15。()第14题运算符!的优先级高于==。()任务一作业第1题算法的可行性是指()。A算法能被人理解B算法能在有限时间内完成C算法中每个操作都可以通过有限时间完成D算法有明确的步骤第2题以下关于算法的描述,正确的是()。A一个问题只有一种算法B算法就是计算方法C算法是解决问题的有限步骤D算法只能用程序语言实现第3题算法的输入是指()。A算法执行前需要的数据B算法执行后得到的数据C算法中使用的变量D算法中的常量第4题算法的输出是指()。A算法执行前需要的数据B算法执行后得到的数据C算法中使用的变量D算法中的常量第5题算法中每一步骤都必须有明确的定义,不允许有模棱两可的解释,这是算法的()特征。A有穷性B确定性C可行性D输入输出第6题一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。A有零个或多个输入B有零个或多个输出C有穷性D可行性第7题以下哪些是算法的表示方法()。A自然语言B流程图C伪代码D盒图第8题算法的特征包括()。A有穷性B确定性C可行性D输入和输出第9题算法可以没有输入,但必须有输出。()第10题算法的有穷性是指算法必须能在有限时间内结束。()第11题一个算法可以有多个输入,但只能有一个输出。()第12题算法的可行性是指算法中每一步骤都可以通过有限的时间完成。()第13题算法的确定性是指算法中每一步骤都必须有明确的定义,不允许有模棱两可的解释。()第14题算法只能用高级程序设计语言来描述。()第15题一个问题的算法是唯一的。()第16题算法的有穷性是指()。A算法必须包含输出B算法中每个操作步骤都是可执行的C算法的步骤必须有限D以上说法都不对任务二作业第1题若有语句“inta,b,c;”,则下面的输入语句中,正确的是()。Ascanf("%D%D%D",a,b,c);Bscanf("%d%d%d",a,b,c);Cscanf("%d%d%d",&a,&b,&c);Dscanf("%D%D%D",&a,&b,&c);第2题以下能正确定义变量m、n,并且值都为4的是()。Aintm=n=4;Bintm,n=4;Cm=4,n=4;Dintm=4,n=4;第3题若有如下语句:unsigneda;floatb;以下能正确输入数据的语句是()。Ascanf("%d%6.2f",&a,&b);Bscanf("%c%f",&a,&b);Cscanf("%u%f",&a,&b);Dscanf("%d%d",&a,&b);第4题若有如下语句:intk1,k2;scanf("%d,%d",&k1,&k2);要给k2、k2分别赋值12和34,从键盘输入数据的格式应该是()。A1234B12,34C1234D%12,%34第5题若有如下语句:intm=546,n=765;printf("m=%-6d,n=%6d",m,n);则输出的结果是()。Am=546,n=765Bm=546,n=765Cm=%546,n=%765Dm=546,n=765第6题运行如下程序,输入“25,12,14↙”之后,正确的输出结果是()。#include"stdio.h"intmain(){intx,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n",x+y+z);return0;}Ax+y+z=51Bx+y+z=41Cx+y+z=60D以上答案都不正确第7题运行如下程序:#include"stdio.h"intmain(){intx;floaty;scanf("%3d%f",&x,&y);printf("x=%d,y=%f\n",x,y);return0;}若输入为“12345678↙”,则输出结果为()。Ax=12345,y=678Bx=123,y=45Cx=12345,y=678.000000Dx=123,y=45.000000第8题运行如下程序:inta,b;scanf("%*4d%2d%4d",&a,&b);printf("a=%d,b=%d",a,b);若输入为“9876543210↙”,则输出为()。Aa=9876,b=54Ba=9876,b=3210Ca=54,b=3210Da=98,b=7654第9题运行如下程序:charc1,c2;c1=getchar(c1);c2=getchar(c2);putchar(c1);putchar(c2);若输入为“a,b↙”,则输出为()。Aa,Ba,bCb,aDb,第10题若有定义语句:longd;doublef;要正确输入,应使用的语句是()。Ascanf("%ld%lf",&d,&f);Bscanf("%ld%ld",&d,&f);Cscanf("%ld%f",&d,&f);Dscanf("%d%lf",&d&f);第11题19. 有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应当是:()A132<回车>B1,3,2<回车>Ca=1□b=3□c=2<回车>Da=1,b=3,c=2<回车>第12题以下针对scanf函数的叙述中,正确的是()。A输入项可以为一实型常量,如scanf(“%f”,3.5);B只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);C当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);D当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);第13题设有以下程序:#include<stdio.h>intmain(){charc1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);puchar(c2);printf(“%c%c\n”,c5,c6);return0;}若运行时从键盘输入数据:abc<回车>defg<回车>则输出的结果是:()AabcdBabdeCabefDabfg第14题根据以下定义语句和数据的输入方式,scanf语句的正确形式应为:已有定义:floatf1,f2;数据的输入方式:4.52<回车>3.5<回车>Ascanf(“%f,%f”,&f1,&f2);Bscanf(“%f%f”,&f1,&f2);Cscanf(“%3.2f%2.1f”,&f1,&f2);Dscanf(“%3.2f%2.1f”,&f1,&f2);第15题已有定义intx;floaty;且执行scanf(“%3d%f”,&x,&y);语句,若从第一列开始输入数据12345□678<回车>,则x的值为____,y的值为____。第16题若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:()Ascanf(“%d%lx,%d”,&x,&y,&z);Bscanf(“%2d*%d%lf”,&x,&y,&z);Cscanf(“%x%*d%o”,&x,&y);Dscanf(“%x%o%6.2f”,&x,&y,&z);第17题已有定义inta=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是:()A整形变量的输出格式符只有%d一种;B%x是格式符的一种,它可以适应与任何一种类型的数据;C%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。第18题以下程序输出的结果是:#include<stdio.h>intmain(){printf(“\n*s1=%15s*”,”chinabeijing”);printf(“\n*s2=%-5s*”,”chi”);return0;}A*s1=chinabeijing□□□*S2=**chi*B*s1=chinabeijing□□□**s2=chi□□*C*s1=*□□chinabeijing**s2=□□chi*D*s1=□□□chinabeijing**s2=chi□□*第19题以下程序运行的结果是:#include<stdio.h>intmain(){intx1=0xabc,x2=0xdef;x2-=x1;printf(“%X\n”,x2);return0;}AABCB0XABCC0X333D333第20题设有如下程序:#include<stdio.h>intmain(){charch1='A',ch2='a';printf”%c\n”,(ch1,ch2));return0;}则以下叙述正确的是:A程序的输出结果为大写字母A;B程序的输出结果为小写字母a;C运行时产生错误信息;D格式说明符的个数少于输出项个数,编译出错。第21题有定义语句inta,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b得到数值5,下面输入形式,正确的是()。A6,5<回车>B6,□□<回车>C65<回车>D6,<回车>5<回车>第22题以下程序运行的结果是:#include<stdio.h>intmain(){intm=5,n=10;printf(“%d,%d\n”,m++,--n);return0;}A5,9B6,9C5,10D6,10第23题以下程序运行的结果是:#include<stdio.h>intmain(){inta=201,b=012;printf("%2d,%2d\n",a,b);return0;}A01,12B201,10C01,10D20,01任务三作业第1题选择结构的嵌套使用会导致代码可读性降低。()第2题在C语言中,可以使用switch语句处理字符串比较。()第3题选择结构的执行路径可以是单分支、双分支或多分支。第4题switch语句的default分支是可选的,且必须放在所有case分支之后。()第5题if语句的else分支可以与多个if语句搭配使用。()第6题使用switch语句时,case标签的值必须是常量表达式。()第7题在C语言中,if语句和switch语句的执行效率相同。()第8题switch语句的case分支必须包含break语句,否则会导致程序逻辑混乱。第9题if语句可以嵌套使用,但嵌套层数没有限制。()第10题选择结构包括if语句和switch语句两种形式。()任务四作业第1题以下程序段C。intx=-1;do{x=x*x;}while(!x);A是死循环B循环执行二次C循环执行一次D有语法错误第2题C语言中while和do-while循环的主要区别是()。Ado-while的循环体至少无条件执行一次Bwhile的循环控制条件比do-while的循环控制条件严格Cdo-while允许从外部转到循环体内Ddo-while的循环体不能是复合语句第3题C语言中()。A不能使用do-while语句构成的循环Bdo-while语句构成的循环必须用break语句才能退出Cdo-while语句构成的循环,当while语句中的表达式值为非零时结束循环Ddo-while语句构成的循环,当while语句中的表达式值为零时结束循环第4题下面有关for循环的正确描述是()。Afor循环只能用于循环次数已经确定的情况Bfor循环是先执行循环体语句,后判定表达式C在for循环中,不能用break语句跳出循环体Dfor循环体语句中,可以包含多条语句,但要用花括号括起来第5题语句while(!e);中的条件!e等价于()。Ae==0Be!=1Ce!=0D~e任务一作业第1题在C语言中,表达式sizeof(double)的结果是()。A一个指向double类型的指针B一个double类型的值C一个整型值,表示double类型所占的字节数D一个浮点型值,表示double类型的精度第2题在C语言中,以下关于sizeof运算符判断数组长度的说法正确的是()。Asizeof运算符可以准确获取通过函数参数传递的数组长度Bsizeof(数组名)返回的是数组首元素的地址Csizeof(数组名)除以sizeof(数组元素类型)可以得到数组长度Dsizeof运算符只能用于基本数据类型,不能用于数组第3题下列关于C语言自动类型转换的说法中,正确的是()。Achar类型数据与int类型数据运算时,char会被转换为floatBfloat类型数据与double类型数据运算时,double会被转换为floatCint类型数据与unsignedint类型数据运算时,int会被转换为unsignedintDshort类型数据与int类型数据运算时,int会被转换为short第4题以下代码的输出结果是()inta=256;charc=a;printf("%d\n",c);A256B0C-1D编译错误第5题关于强制类型转换,下列说法错误的是()。A强制类型转换会改变原变量的类型和值B强制类型转换的语法是:(目标类型)表达式C将double强制转换为int会截断小数部分D强制类型转换可能导致数据溢出第6题设有定义:inta=7;floatb=2.5;则表达式a-(int)b的结果是()。A4.5B4C5D4.0第7题执行以下代码后,变量d的值是()doubled=3.999999;inti=d;d=(double)i;A3.999999B3.0C4.0D4第8题关于C语言类型转换的顺序,下列说法正确的是()A括号不能改变类型转换的顺序B算术运算符的优先级低于类型转换C多种类型运算时,从左到右依次转换D赋值运算会进行目标类型的隐式转换第9题表达式(int)4.6+(double)1/2的值是____。第10题设有定义:inta=-129;charc=a;则变量c的值是____(假设char为1字节,有符号)第11题将double类型变量d强制转换为float类型,正确的写法是____。第12题表达式5/2的结果是____,表达式5.0/2的结果是____。第13题在C语言中,short类型数据参与运算时,会自动转换为____类型。第14题int类型数据可以直接赋值给char类型变量,但可能发生数据截断。()第15题强制类型转换(float)x会将变量x的类型永久改为float。()第16题将float类型数据赋值给double类型变量,一定会丢失精度。()第17题unsignedint类型与int类型运算时,结果一定是int类型。()任务二作业第1题在C语言中,用于输出字符的函数是()AprintfBputcharCputintDputs第2题在C语言中,用于输入字符的函数是()AgetcharBscanfCgetsDgetin第3题getchar函数的格式为____。第4题putchar函数的格式为____。第5题getchar函数可以输入多个字符。()第6题putchar函数可以输出多个字符。()任务三作业第1题阅读以下代码,写出运行结果(____)。include<stdio.h>intmain(){intsum=0;for(inti=1;i<=4;i++){if(i%2==0)continue;sum+=i;printf("sum=%dn",sum);return0;第2题goto语句的标签定义格式为:标签名____(填符号),标签必须位于可执行语句的____(填“前”或“后”)。第3题以下代码的输出结果是____。intx=0;while(x<3){if(x==1)break;x++;printf("%d",x);}第4题在𝑠𝑤𝑖𝑡𝑐ℎ语句中,使用____语句可以跳出𝑠𝑤𝑖𝑡𝑐ℎ结构,继续执行𝑠𝑤𝑖𝑡𝑐ℎ后的下一条语句。第5题执行以下代码后,输出结果是()。for(inti=0;i<3;i++){if(i==1)break;printf("%d",i);}A012B01C0D12第6题在C语言中,以下关于𝑟𝑒𝑡𝑢𝑟𝑛语句的描述,错误的是()。A有返回值函数的𝑟𝑒𝑡𝑢𝑟𝑛必须带回与函数返回值类型匹配的数据B无返回值函数(𝑣𝑜𝑖𝑑类型)可以省略𝑟𝑒𝑡𝑢𝑟𝑛语句C𝑟𝑒𝑡𝑢𝑟𝑛语句只能出现在函数末尾D𝑟𝑒𝑡𝑢𝑟𝑛语句可以提前结束函数执行第7题关于goto语句的使用,下列说法错误的是()。Agoto语句可以跳转到函数内的任意标签处Bgoto的标签必须与goto语句位于同一函数内C使用goto可能导致程序流程混乱,不推荐在复杂代码中使用Dgoto语句可以跳转到函数外的标签处第8题在while循环中,执行continue语句后,下列说法正确的是()。A直接跳出while循环,执行循环后的语句B跳过本次循环的剩余语句,直接进入下一次循环条件判断C终止整个程序运行D跳出当前函数,返回调用处第9题关于𝑏𝑟𝑒𝑎𝑘语句的描述,正确的是()。A𝑏𝑟𝑒𝑎𝑘只能跳出𝑓𝑜𝑟循环B𝑏𝑟𝑒𝑎𝑘可以跳出𝑠𝑤𝑖𝑡𝑐ℎ语句,但不能跳出循环C𝑏𝑟𝑒𝑎𝑘可以跳出最近的𝑠𝑤𝑖𝑡𝑐ℎ语句或循环结构D𝑏𝑟𝑒𝑎𝑘可以跳出多层嵌套的循环结构任务一作业第1题预处理指令可以跨行书写。()第2题#ifdef指令和#ifndef指令是互斥的。()第3题#define指令可以定义带参数的宏。()第4题#include指令可以包含任意类型的文件。()第5题预处理指令是在程序运行时执行的。()第6题用于定义多行宏的预处理指令是____。第7题用于宏展开的开关控制的预处理指令是____。第8题用于删除宏定义的预处理指令是____。第9题用于定义宏的预处理指令是____。第10题用于包含头文件的预处理指令是____。第11题预处理指令以____符号开头。第12题下列哪个预处理指令用于删除宏定义?()A#undefB#removeC#deleteD#clear第13题下列哪个预处理指令用于宏定义?()A#includeB#defineC#ifdefD#pragma第14题下列哪个预处理指令用于条件编译?()A#includeB#defineC#ifdefD#pragma第15题下列哪个预处理指令用于包含头文件?()A#defineB.C.D.B#includeC#ifdefD#pragma任务二作业第1题初始化数组charstr[]="C语言";后,str[5]的值是()。A'\0'B'语'C'空'D'\n'第2题定义intarr[]={1,2,3};时,编译器会自动推断数组大小为3。第3题若数组定义为intarr[10]={1,2,3};,则arr[2]的值是____,arr[9]的值是____。第4题计算intarr[3]={1,2,3};arr[1]+arr[2]的值是()A3B4C5D6第5题若定义数组intarr[5];,则数组arr的合法下标范围是()。A0~4B1~5C0~5D-4~1第6题以下代码的输出结果是()```intarr[5]={1,2,3,4,5};printf("%d",arr[3]);```A1B3C4D5第7题以下说法正确的是()A数组名可以像变量一样被赋值B数组可以整体传递给函数C数组元素默认初始化为0D数组大小必须用常量表达式指定第8题阅读代码:```inti,j;intarr[2][3]={1,2,3,4,5,6};for(i=0;i<2;i++)for(j=0;j<3;j++)arr[i][j]*=2;```代码执行后,arr[1][2]的值是()A6B12C24D36第9题以下代码的输出结果是()```intarr[5]={1,2,3,4,5};for(inti=4;i>=0;i--)printf("%d",arr[i]);```A12345B54321C01234D5432第10题动态分配大小为n的整型数组内存,正确代码是____。第11题阅读代码:```intarr[5]={1,2,3,4,5};for(inti=0;i<5;i++)arr[i]=arr[i]+1;```代码执行后,arr[4]的值是____。第12题初始化𝑐ℎ𝑎𝑟𝑛𝑎𝑚𝑒[]=″学生″;后,name数组的长度是____,name[4]的值是____。第13题数组名可以作为函数参数传递且能修改原数组。第14题𝑐ℎ𝑎𝑟𝑠𝑡𝑟[5]=″ℎ𝑒𝑙𝑙𝑜″;是合法的数组初始化。()第15题动态分配的数组内存如果未释放,会导致内存泄漏。()第16题两个数组只要类型相同,即使大小不同也可以交换数据。()任务三作业第1题初始化二维数组时,可以只对部分元素赋值。()第2题可以用“==”比较两个字符串是否相等。()第3题函数strcpy可以将一个字符串复制到另一个字符串中。()第4题strlen函数计算字符串长度时包含'\0'。()第5题二维数组在内存中按行存储。()第6题以下能正确输入字符串到字符数组的是()。Agets(s);Bfgets(s,sizeof(s),stdin);Cscanf("%s",s);Dputs(s);第7题以下关于数组名作为函数参数的说法正确的是()A.B.C.D.A数组名作为参数传递的是数组首地址B函数内部可以改变数组元素的值C形参数组大小可以省略D实参数组和形参数组必须大小相同第8题若有定义“inta[3][4];”,以下能正确访问数组元素的是()。Aa[0][0]Ba[1][4]Ca[2][3]Da[3][0]第9题下列函数中,与字符串比较有关的是()。A.B.strstrC.strcatD.strcmpAstrncmpBstrcatCstrstrDstrcmp第10题以下对数组操作正确的是()A.B.C.D.Ainta[5];a[0]=1;Bchars[10];s="hello";Cintb[3][3];b[1][2]=5;Dchart[]="world";t[1]='o';第11题关于字符数组和字符串,下列说法正确的是()。A字符数组可以存储字符串B字符串一定以'\0'结尾C字符数组初始化时可以省略大小D字符数组不能直接用“=”赋值第12题以下能正确初始化整型数组的是()。Ainta[5]={1,2,3,4,5};Binta[]={1,2,3,4,5};Cinta[5]={1,2};Dinta[5]={[2]=3,[4]=5};第13题定义二维数组时,以下正确的有()。Ainta[2][];Binta[][3];Cinta[2][3];Dinta[][];第14题下列可用于字符串处理的函数有()。AstrlenBstrcpyCstrcmpDprintf第15题以下不能正确初始化字符数组的是()。Achars[]="abc";Bchars[3]={'a','b','c'};Cchars[4]={'a','b','c','\0'};Dchars[3]="abc";第16题若有“chars[20];”,想要从键盘读入一个字符串,正确的是()。Ascanf("%s",s);Bscanf("%c",s);Cscanf("%s",&s);Dscanf("%c",&s);第17题函数strlen("hello\0world")的返回值是()。A5B6C11D12第18题以下初始化二维数组正确的是()。Ainta[2][2]={1,2,3,4,5};Binta[2][2]={{1,2},{3,4}};Cinta[2][]={{1,2},{3,4}};Dinta[][2]={{1,2},{3,4,5}};第19题若有定义“inta[3][4];”,则数组a中元素的个数是()。A3B4C7D12任务四作业第1题阅读以下代码,写出程序运行后的输出结果:____include<stdio.h>intfunc(inta){staticintx=0;x+=a;returnx;}intmain(){printf("%d",func(1));printf("%d",func(2));printf("%d\n",func(3));return0;}第2题阅读以下代码,写出程序运行后的输出结果:____include<stdio.h>intfactorial(intn){if(n==0||n==1){return1;}else{returnn*factorial(n-1);}}intmain(){printf("%d\n",factorial(5));return0;}第3题阅读以下代码,写出程序运行后的输出结果:____include<stdio.h>voidswap(inta,intb){inttemp=a;a=b;b=temp;}intmain(){intx=5,y=10;swap(&x,&y);printf("x=%d,y=%d\n",x,y);return0;}第4题阅读以下代码,写出程序运行后的输出结果:____include<stdio.h>intfunc(inta,intb){returna+b;}intmain(){intx=5,y=10;intresult=func(x,y);printf("%d\n",result);return0;}第5题在C语言中,____函数是程序的入口点,操作系统在程序启动时会调用此函数。第6题函数调用时,实参和形参的个数、____和____必须一致。第7题在C语言中,____关键字可以用于声明一个函数只在当前文件中可见。第8题函数的返回值通过____语句返回,如果没有返回值,可以使用____语句。第9题在C语言中,使用____关键字可以声明一个函数为内联函数。第10题函数指针是指向函数的指针,它存储的是函数的____而不是函数的____。第11题递归函数的两个关键要素是____和____。第12题在C语言中,函数参数传递方式主要有两种:____和____。第13题函数声明也称为函数原型,其主要作用是告诉编译器函数的____、参数类型和____。第14题在C语言中,函数定义由函数头和函数体组成,函数头包括____、函数名和____。第15题以下关于函数作用域的说法,正确的是()。A函数内部定义的变量在整个程序中都可以访问B函数参数的作用域仅限于函数内部C函数外部定义的变量在函数内部无法访问D静态变量在函数调用结束后会被自动释放第16题关于内联函数,以下说法正确的是()。A内联函数可以提高程序执行效率B内联函数可以减少代码体积C所有函数都可以声明为内联函数D内联函数的定义必须在使用前第17题在C语言中,以下哪个函数声明是正确的?Aintfunction(inta,intb);Bfunction(inta,intb)int;Cintfunction(a,b);Dfunction(inta,b)int;第18题以下关于函数返回值的说法,正确的是()。A函数可以返回多个值B函数返回值类型必须与函数声明中的返回类型一致C函数如果没有返回值,可以不写return语句D函数返回值可以是任意类型第19题函数指针的正确声明方式是()。Aint(p)();Bintp();Cint*p();Dint(p)(int);第20题以下关于递归函数的说法,错误的是()。A递归函数必须有终止条件B递归函数调用自身C递归函数一定比非递归函数效率高D递归深度过大可能导致栈溢出第21题关于函数参数传递,以下说法正确的是()A.B.C.D.AC语言中函数参数传递都是引用传递B数组作为参数传递时是值传递C指针作为参数传递时可以实现引用传递的效果D结构体作为参数传递时是引用传递第22题在C语言中,以下哪个是正确的函数定义?Aintfunction(){return0;}Bfunctionint(){return0;}Cintfunction();{return0;}Dfunction(){return0;}第23题以下关于C语言函数的说法,正确的是()。A函数定义和函数声明是同一个概念B函数声明必须在函数调用之前C函数可以嵌套定义D函数可以有多个返回值任务三作业第1题结构体指针与普通指针的使用方式相同。()第2题结构体可以包含另一个结构体作为成员。()第3题结构体指针与结构体变量在内存中存储方式相同。()第4题结构体嵌套定义中,内层结构体可以直接访问外层结构体的成员。()第5题结构体指针可以作为函数返回值。()第6题结构体成员的访问顺序不影响结果。()第7题结构体指针可以动态分配内存。()第8题结构体数组的大小是固定的。()第9题结构体指针可以直接访问成员。()第10题结构体可以包含函数。()第11题结构体数组中每个元素的大小是?()A.B.C.D.A成员中最大的大小B成员大小的总和C定义时的初始化大小D编译器决定第12题访问结构体成员的运算符是?()A->B.C:=D@第13题以下哪个关键字用于定义结构体?()AstructBunionCenumDclass第14题指针运算符&和解引用运算符*有什么区别?()A没有区别B&用于获取地址,*用于获取值C&用于获取值,*用于获取地址D&用于获取地址,*用于解引用地址获取值第15题指针数组可以存储什么类型的地址?()A只有相同类型的地址B任何类型的地址C没有地址D只有函数的地址第16题字符指针和字符数组的区别是什么?()A字符指针可以指向字符串常量,而字符数组必须存储在内存中。B字符指针和字符数组没有区别。C字符指针只能指向字符数组,不能指向字符串常量。D字符指针和字符数组都可以指向字符串常量。第17题若有定义:intarr[3][2],p=arr;则p[1]的值等同于?()Aarr[1]B&arr[1]Carr[1][0]D&ar

温馨提示

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

评论

0/150

提交评论