版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言精髓-综合复习5[复制]您的姓名:[填空题]*_________________________________1.有以下说明,不正确的叙述是()
uniondata
{
inti;
charc;
floatf;
}un;[单选题]*A:un所占的内存长度等于成员f的长度B:un的地址和它的各成员地址都是同一地址C:un是共用体名(正确答案)D:不能对un赋值,但可以在定义un时对它初始化有定义语句inta[10],*p=a;以下和此功能相同的是()*A:inta[10];intp;p=a;B:inta[10],*p;p=a;(正确答案)C:int*p,a[10];p=a;(正确答案)D:char*a[10]=”abcd”;printf(“%s”,a);关于结构体定义描述正确的是()*A:结构体可以定义在函数内部作为局部变量使用(正确答案)B:结构体可以定义在函数外部作为全局变量使用(正确答案)C:结构体最后的分号不能省略(正确答案)D:定义结构体使用的关键字是struct(正确答案)共用体和结构体类似要注意区分的是()*A:结构体各成员占不同的地址所占内存长度等于全部成员所占内存之和(正确答案)B:共用体各成员占相同的起始地址所占内存长度等于最长的成员所占内存(正确答案)C:共用体各成员占不同的地址所占内存长度等于全部成员所占内存之和D:结构体各成员占相同的起始地址所占内存长度等于最长的成员所占内存uniondata
{
inti;
charch;
};
voidmain()
{
uniondataa={97};
printf("%d\n",a.i);
printf("%c\n",a.ch);
}共用体引用正确的是(
)*A:data.iB:dataa.iC:a.i(正确答案)D:a.ch(正确答案)对共用体变量初始化时,下面说法错误的是()*A:只需要一个初始化值就足够了,其类型必须和共用体的第一个成员的类型相一致B:只需要一个初始化值就足够了,其类型必须和共用体的第二个成员的类型相一致(正确答案)C:只需要一个初始化值就足够了,其类型必须和共用体的第三个成员的类型相一致(正确答案)D:只需要一个初始化值就足够了,其类型必须和共用体的第四个成员的类型相一致(正确答案)共用体与结构体区别正确的是()*A:共用体各成员占不相同的起始地址,所占内存长度等于最长的成员所占内存B:结构体各成员占相同的地址所占内存长度等于全部成员所占内存之和C:共用体各成员占相同的起始地址所占内存长度等于最长的成员所占内存(正确答案)D:结构体各成员占不同的地址所占内存长度等于全部成员所占内存之和(正确答案)以下能正确定义共用体变量的是()*A:unionuniontype{inta;floatb;};unionuniontypef;(正确答案)B:unionuniontype{inta;floatb;}f;(正确答案)C:union{inta;floatb;}f;(正确答案)D:union{inta,floatb,}f;定义一个共用体,包括的数据成员有整型、字符型和实型。
uniondata
{
inti;
charch;
floatf;
}a;
针对上面代码说明正确的是()*A:a为定义的共用体变量(正确答案)B:uniondata是共用体类型(正确答案)C:i,ch,f是共用体成员(正确答案)D:共用体最后的;可以省略int**p;表示定义一个*p指针变量。()[单选题]*A:对B:错(正确答案)引用指针变量的含义是引用指针变量所指向的值()[单选题]*A:对(正确答案)B:错定义的函数参数类型与函数调用的类型必须一样。()[单选题]*A:对B:错(正确答案)在C程序中,函数调用可以出现在任何地方。()[单选题]*A:对B:错(正确答案)函数调用时,形参是真实的,在没有实参传递过来时仍然占用存储单元()[单选题]*A:对B:错(正确答案)函数的值可以通过return语句或指针返回主调函数()[单选题]*A:对B:错(正确答案)同一个内存段可以用来存放几种不同类型的成员,但是每一次只能存放其中一种,而不是同时存放所有的类型。也就说在共用体中,只有一个成员起作用,其他成员不起作用。()[单选题]*A:对(正确答案)B:错共用体变量中起作用的成员是最后一次存入的成员,在存入一个新的成员后原有的成员就失去作用()[单选题]*A:对(正确答案)B:错共用体变量的地址和它的各成员的地址是一样的()[单选题]*A:对(正确答案)B:错可以对共用体变量名赋值,通过引用变量名来得到一个值()[单选题]*A:对B:错(正确答案)从定义的角度根据用户需求定义的函数被称为()[单选题]*A:库函数B:用户定义函数(正确答案)C:有返回值函数D:无参函数排根据需要编写一个函数如下:
voidabc()
{
printf(“**********\n”);
}
从传递参数的角度,属于(
)[单选题]*A:自定义函数B:有参函数C:无参函数(正确答案)D:无返回值函数用数组名作为函数调用的实参,则传递给形参的是()()[单选题]*A:数组中所有元素的值B:数组的第一个数据C:数组的首地址(正确答案)D:数组元素的个数#include“stdio.h”
voidfun(intx,inty,intz)
{printf(“%d”,x+y+z);
}
voidmain()
{inta=10,b=25;
fun(a,b,5);
}(
)[单选题]*A:10B:25C:40(正确答案)D:35返回值函数的定义格式正确的是()[单选题]*A:返回值类型函数名(形式参数列表){语句;return表达式;}(正确答案)B:void函数名(形式参数列表){语句;return表达式;}C:返回值类型函数名(实参数列表){语句;return表达式;}D:void函数名(实参数列表){语句;return表达式;}下面程序的执行结果是()
#include"stdio.h"
fun(intx,inty,intz)
{
intm=0;
m=x;
if(m<y){
m=y;
}
if(m<z)
{
m=z;
}
returnm;
}
voidmain()
{
printf("%d",fun(19,40,-17));
}[单选题]*A:程序报错,没有指定函数返回值类型B:19C:40(正确答案)D:-17()给定一个C程序的代码如下所示,则编译运行后,输出结果是()
intsum(intx,inty)
{
if(x>y)
{
returnx;
}
else
{
returny;
}
}
voidmain()
{
inta=5,b=6,temp;
temp=sum(a,b);
printf("%d\n",temp);
}[单选题]*A:5B:6(正确答案)C:1(一)D:0(零)在C语言程序中,若对有返回值函数类型未加显式说明,则函数的隐含类型为()[单选题]*A:int(正确答案)B:floatC:charD:void#include"stdio.h"
intfun(inti)
{
if(i==1)
return1;
else
returni*fun(i-1);
}
voidmain()
{
intn;
n=fun(3);
printf("%d",n);
}子程序的递归边界是i是几的时候(
)[单选题]*A:3B:2C:1(正确答案)D:0下面程序执行后如果输入的值是20则结果正确的是()
#include"stdio.h"
voidsum()
{
intn;
printf("请输入一个数n:");
scanf("%d",&n);
printf("%d",n%5/5);
}
main()
{
sum();
}[单选题]*A:3B:5C:23D:0(正确答案)在C语言程序中,若将函数的返回类型省略,则函数的返回类型默认为()[单选题]*A:floatB:voidC:int(正确答案)D:double已知函数定义如下:
intfun(inta[10])
{
......;//函数体省略
}则该函数的参数传递属于(
)[单选题]*A:值传递B:地址传递(正确答案)C:形参传递D:实参传递以下关于指针概念不正确的是()()[单选题]*A:指针变量可以用整数赋值,但不可以用浮点数赋值(正确答案)B:一个变量的地址称为该变量的指针,一个指针变量只能指向同一类型的变量C:只有同一类型的变量地址才能放到指向该类型变量的指针变量之中D:只能将地址赋给指针变量()下面程序执行的结果是()
#include<stdio.h>
voidmain()
{
intn1=7;
int*p1=&n1;
printf("%d",*p1+*p1);
}[单选题]*A:7B:14(正确答案)C:49D:编译出错下面指针变量赋值错误的是()[单选题]*A:int*p;p=1002(正确答案)B:int*p,a;p=&a;C:inta;int*p=&a;D:int*p=1000;下面程序程序执行后的结果是()
#include<stdio.h>
voidmain()
{
intn1=10,n2=5;
int*p1,*p2;
p1=&n1;
p2=&n2;
printf("%d",*p1-*p2);
}[单选题]*A:10B:5(正确答案)C:-5D:15以返回值的角度,函数分为()*A:系统函数B:无返回值函数(正确答案)C:有返回值函数(正确答案)D:自定义函数已定义了相关变量,若要输出26个大写英文字母(不计顺序)正确的输出语句是()*A:for(a='A';a<='Z';a++)printf("%c",a);(正确答案)B:for(a='Z';a>='A';a--)printf("%c",a);(正确答案)C:for(a='A';a<='Z';)printf("%c",a++);(正确答案)D:for(a='A';a++<='Z';)printf("%c",a);定义数组时,数组中[]中的内容可以是()*A:2+2(正确答案)B:2-2C:2*2(正确答案)D:2/2(正确答案)使用递归的好处包含以下哪些项()*A:递归算法比较符合人的思维方式(正确答案)B:逻辑性强,可将问题描述得简单扼要(正确答案)C:具有良好的可读性,易于理解(正确答案)D:递归使用没有好处已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的正确定义方式为()
inta[3][3];
f(a);*A:f(intarray[][6])(正确答案)B:f(intarray[3][])C:f(intarray[][4])(正确答案)D:f(intarray[2][5])(正确答案)整型指针变量定义正确的是()*A:inta*;B:int*a;(正确答案)C:int*a,*b;(正确答案)D:float*a;下面能给一个指针变量赋值采用的方法有()*A:inta;int*p=&a;(正确答案)B:inta;int*p=&a;p=&a;(正确答案)C:inta=100;int*p=@aD:inta;int*p=@a;p=@a;函数返回值所实用的关键字是Return()[单选题]*A:对B:错(正确答案)在C语言中,一个函数一般由两个部分组成,它们是函数首和函数体()[单选题]*A:对(正确答案)B:错递归函数是库函数的一种()[单选题]*A:对B:错(正确答案)一般来说,递归需要有边界条件、递归前进段和递归返回段()[单选题]*A:对(正确答案)B:错在C语言中,函数调用时,如果传递值,实参与形参同名时也不会共用存储单元。()[单选题]*A:对(正确答案)B:错形式参数没有被调用前占用存储空间。()[单选题]*A:对B:错(正确答案)如果一个变量专门用来存放另一变量的值,则它称为指针变量()[单选题]*A:对B:错(正确答案)在C语言中,所谓指针型数据,即指该数据是一个地址?()[单选题]*A:对(正确答案)B:错定义以下结构体类型
structs
{
inta;
charb;
floatf;
};
则语句printf("%d",sizeof(structs))的输出结果为()[单选题]*A:6B:9C:12(正确答案)D:4下面程序的输出是()
voidmain()
{
structcmplx
{
intx;
inty;
}cnum[2]={1,3,2,7};
printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);
}[单选题]*A:0B:1C:3D:6(正确答案)7.关于共用体,下列说法错误的是()[单选题]*A:共用体又可以称为联合体B:共用体内的各个成员共用一块内存C:共用体内的成员在使用内存空间上互不干涉,可以同时使用这块内存(正确答案)D:某种意义上来说,共用体比结构体节约内存把规模大的问题转换为规模小的相似的问题,是()的思想。[单选题]*A:递归(正确答案)B:递推C:穷举D:迭代关于字符数组说明正确的是()[单选题]*A:字符数组中的字符只能一个一个输入B:字符数组中的字符可以整体输入(正确答案)C:字符数组中的字符只能是字母D:字符数组中的字符不能含有空格以下描述中,叙述正确的是()[单选题]*A:在C程序中每行只能写一条语句B:在C程序中%是只能用于整数运算的运算符(正确答案)C:在C程序中无论是整数还是实数都能被准确无误地表示D:若a是实型变量C程序中允许赋值a=10因此实型变量中允许存放整型数一维数组的定义语法是:类型说明符数组名()[单选题]*A:[整型常量]B:[整型表达式]C:[常量表达式](正确答案)D:[整型常量]或[整型表达式]13.有以下程序:
#include"stdio.h"
main()
{inty=10;
while(y--);
printf("y=%d\n",y);
}
程序执行后的运行结果是(
)[单选题]*A:y=1B:y=0C:y=-1(正确答案)D:while构成无限循环14.有以下程序
#include"stdio.h"
main(){charch[]="uvwxyz",*pc;pc=ch;printf("%c\n",*(pc+5));}
程序运行后的输出结果是(
)[单选题]*A:元素ch[5]的地址B:字符y的地址C:z(正确答案)D:0(零)s是一个结构体指针变量,它有一个成员变量叫age,则使用格式正确的是()[单选题]*A:s%ageB:s#ageC:s&ageD:s->age(正确答案)如果某函数在定义时省略了函数的类型则默认的函数类型是()[单选题]*A:整型(正确答案)B:浮点型C:空型D:字符型在C语言中,将字符串str2连接到str1尾部的操作正确的是()[单选题]*A:str1=str2B:strcpy(str1,str2)C:str1+str2D:strcat(str1,str2)(正确答案)#include"stdio.h"
voidmain()
{
charch[]="uvwxyz",*pc;
pc=ch;
printf("%c\n",*(pc+3));
}
程序运行后的输出结果是(
)[单选题]*A:元素ch[3]的地址B:字符y的地址C:x(正确答案)D:z变量的指针指的是()[单选题]*A:变量的类型B:变量的值C:变量的名称D:变量的地址(正确答案)下面列举的数据类型属于构造类型的是()*A:结构体(正确答案)B:数组(正确答案)C:指针D:空在使用共用体类型时,需要注意以下()*A:同一个内存段可以用来存放几种不同类型的成员,但是每一次只能存放其中一种,而不是同时存放所有的类型。也就说在共用体中,只有一个成员起作用,其他成员不起作用。(正确答案)B:共用体变量中起作用的成员是最后一次存入的成员,在存入一个新的成员后原有的成员就失去作用(正确答案)C:共用体变量的地址和它的各成员的地址是一样的(正确答案)D:不能对共用体变量名赋值,也不能企图引用变量名来得到一个值。(正确答案)共用体常用于()*A:常用来节省内存,特别是一些嵌入式编程,内存是非常宝贵的!(正确答案)B:常用来占据内存,特别是一些嵌入式编程,内存越占多越好C:常用于操作系统数据结构或硬件数据结构!(正确答案)D:以上都不对以下关于数组的描述中,正确的有()*A:有定义chara[3];则定义了a[1]、a[2]、a[3]三个数组元素B:构成字符数组的各个元素必须是字符类型的数据(正确答案)C:若有定义chara[]="hello";,则数组a的长度为6(正确答案)D:设有数组定义chararray[]="China";则数组array所占的空间为5个字节下面关于实参描述正确的是()*A:函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参。(正确答案)B:实在参数的个数及类型应与形式参数一致,赋值时多个参数之间的前后对应关系不变。(正确答案)C:实在参数是一个具有确定值的表达式。(正确答案)D:实参变量x的值传递给形参变量x,改变函数形参的值,不会改变对应实参的值(正确答案)下面描述项中正确的是哪些()*A:指针变量不可以作为函数的参数B:定义函数时可以有一个或多个形参,也可以没有形参(正确答案)C:函数是由函数首部与函数体构成的(正确答案)D:main()函数可以调用任何其它函数(正确答案)下面关于指针变量int*p;描述不正确的是()*A:*p表示的是指针变量p的地址(正确答案)B:int*p表示定义了一个指针类型变量C:*p表示的是指针变量p的值(正确答案)D:p=&a将a的值赋值给变量p(正确答案)
利用数组可以完成的功能包含()*A:求和(正确答案)B:求最大值(正确答案)C:排序(正确答案)D:字符串连接(正确答案)关于数组inta[][2]={0,0,2}的下列描述不正确的是()*A:二维数组a的第一维大小为1(正确答案)B:数组a的每个元素都可得到初值0(正确答案)C:a[0][0]和a[0][1]可得到初值0值D:因为二维数组a中初值的个数不能被第二维大小的值整除,则第一维的大小等于所得商数再加1,故数组a的行数为1(正确答案)[判断题]
当参数是构体数组时,传递的是数组的首地址()[单选题]*A、对(正确答案)B、错[判断题]共用体和结构体一样,占据内存算法是一样的()[单选题]*A、对B、错(正确答案)[判断题]()[单选题]*A、对int*p;p=1002;这样写是错误的(正确答案)B、错[判断题]结构体数组,即定义数组的每个元素都是一个结构体类型的。()[单选题]*A、对(正确答案)B、错[判断题]函数返回值的类型最终取决于函数定义时形参的类型()[单选题]*A、对B、错(正确答案)[判断题]C语言的三种程序控制结构是顺序结构、选择择构及递归结构()[单选题]*A、对B、错(正确答案)C程序是由函数构成的,每一个函数完成相对独立的功能()[判断题]*对(正确答案)错C语言中变量num和NUM是指同一个变量()[判断题]*对错(正确答案)结构体变量的定义格式正确的是()[单选题]*A:struct变量名;B:结构名变量名;C:struct结构名变量名;(正确答案)D:struct变量名结构名;下列程序执行后的输出结果为()
uniona
{
inta;
charb;
}s;
voidmain()
{
s.a=98;
s.b='a';
printf("%d",s.a);
}[单选题]*A:98B:97(正确答案)C:'a'D:'b'已知整型变量占4个字节,double型变量占8个字节,char型变量占1个字节,问下面共用体占()个字节
unionstudent
{
inta;
doubleb;
charc;
}s;[单选题]*A:1B:2C:4D:8(正确答案)已定义一维数组inta[5];则能正确引用a数组元素的是()[单选题]*A:aB:a[5]C:a[10-10](正确答案)D:a(0)调用函数后返回输出的结果是()
#include<stdio.h>
intf(intnum)
{
returnnum+10;
}
voidmain()
{
printf("%d\n",f(10));
}[单选题]*A:10B:20(正确答案)C:0D:程序报错有以下程序:
#include"stdio.h"
voidmain()
{inty=5;
while(y--);
printf("y=%d\n",y);
}
程序执行后的运行结果是(
)[单选题]*A:y=1B:while构成无限循环C:y=0D:y=-1(正确答案)结构体是高级语言的()数据类型[单选题]*A:基本B:构造(正确答案)C:无D:以上都不对不能进行++与--运算的数据类型是()[单选题]*A:指针B:整型C:常量(正确答案)D:长整型定义了一个共用体类型的变量,要使用其成员,则应该在变量和成员之间加()[单选题]*A:.(正确答案)B:->C:>D:<下列关于函数的说法中描述错误的是()[单选题]*A:C程序是由函数组成的B:在main函数中可以嵌套定义别的函数(正确答案)C:C中函数从定义的角度分为库函数和自定义函数D:main函数可以调用其它的函数已知有一个数组intarr[7]={23,4,67,8,6,1,100};那么这个数组的最小值为()[单选题]*A:arr[1]B:arr[2]C:arr[5](正确答案)D:arr[7]实现先执行后判断的循环结构是()[单选题]*A:for循环B:switch循环C:while循环D:do...while循环(正确答案)若定义数组inta[8];则不能代表数组元素a[1]地址的是()[单选题]*A:&a[0]+1B:&a[1]C:&a[0]++(正确答案)D:a+1C语言中结构体是高级语言的()数据类型[单选题]*A:基本B:构造(正确答案)C:指针D:空若有定义chara[10],*b=a;不能给数组a输入字符串"youknow"的语句是()[单选题]*A:gets(a);B:scanf("%s",a);(正确答案)C:gets(&a[0]);D:gets(b);下面程序的运行结果是()
#include"stdio.h"
voidmain()
{
inti;
for(i=1;i<=5;i++)
{
if(i%2==0)
printf("*");
else
continue;
printf("#");
}
printf("$\n");
}[单选题]*A:*#*#$(正确答案)B:*#*#*#$C:#*#*#*$D:#*#*$在定义函数fun(charsex)时,如果函数需要返回整数,则下面函数定义正确的是()[单选题]*A:voidfun(charsex){}B:charfun(charsex){}C:floatfun(charsex){}D:intfun(charsex){}(正确答案)若有以下定义语句:
chars[10];s=”1234”;printf(“%s\n”,s);则运行结果是:()[单选题]*A:输出1234B:输出1C:输出4D:编译不通过(正确答案)共用体变量初始化说法错误的是()*A:只需要一个初始化值就足够了,其类型必须和共用体的第一个成员的类型相一致B:只需要一个初始化值就足够了,其类型必须和共用体的第二个成员的类型相一致(正确答案)C:只需要一个初始化值就足够了,其类型必须和共用体的第三个成员的类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纺织品制桶市场需求与消费特点分析
- 芭蕾舞鞋市场发展预测和趋势分析
- 2024年度产品代理合同标的及代理服务具体规定
- 试电笔市场发展现状调查及供需格局分析预测报告
- 裱纸市场发展预测和趋势分析
- 2024年度企业财务审计与税务筹划服务合同
- 2024年度危险品仓储安全监管合同
- 2024年度港口旅游景点开发承包合同
- 运载工具电子防盗装置市场发展预测和趋势分析
- 2024年度体育赛事组织与推广合同标的为国际足球比赛
- 招待所安全管理制度
- 超星尔雅学习通《红色经典影片与近现代中国发展》章节测试答案
- 节日主题班会课件 勿忘国耻 吾辈自强
- 光伏发电工程施工组织设计
- 高中物理 人教版 必修三《电路及其应用》第三课时
- 维修签证单(标准模版)
- 两篇古典英文版成语故事塞翁失马
- 新版pep四年级下册英语Unit3-weather-part-B-let's-talk
- GB/T 7829-1987故障树分析程序
- GB/T 7251.6-2015低压成套开关设备和控制设备第6部分:母线干线系统(母线槽)
- GB/T 18656-2002工业系统、装置与设备以及工业产品系统内端子的标识
评论
0/150
提交评论