版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计基础复习题第套一、单选题(每题2分,共20道小题,总分值40分)1.下列数据中属于“字符串常量”的是(
)。A“a”B{ABC}C‘abc\0’D‘a’正确答案:A2.C语言是结构化和模块化语言,它是面向(
)的。A过程B对象C组件D服务正确答案:A3.若int
n=2,m=3,则printf("n=%d
m=%d\n",n,m)输出的结果是(
)。A23Bn=2m=3C第一行2,第二行3D第一行n=2,第二行m=3正确答案:B4.以下能正确的定义整型变量a,b,c并为他们赋值5的语句是(
)。Ainta=b=c=5Binta,b,c=5Ca=5,b=5,c=5Dinta=5,b=5,c=5正确答案:D5.已知char
d[]={"543210"};,则数组d的长度是(
)。A5B6C7D8正确答案:C6.若有说明:int
a[][3]={{1,2,3},{4,5},{6,7}};
则数组a的第一维的大小为:
(
)。A2B3C4D无确定值正确答案:B7.C语言中函数返回值的类型是由(
)决定的。A函数定义时指定的类型Breturn语句中的表达式类型C调用该函数时的实参的数据类型D形参的数据类型正确答案:A8.若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是(
)。Ax=x+10=x+yBdouble(x)/10C++x,y=x--Dx+1=y正确答案:C9.语句int
*p;说明了()。Ap是指向一维数组的指针Bp是指向函数的指针,该函数返回一int型数据Cp是指向int型数据的指针Dp是函数名,该函数返回一指向int型数据的指针正确答案:C10.结构化程序由三种基本结构组成,三种基本结构组成的算法是(
)。A可以完成任何复杂的任务B只能完成部分复杂的任务C只能完成符合结构化的任务D只能完成一些简单的任务正确答案:A11.设变量a是int,f是float,i是double,则表达式10+a+i*f值的数据类型为(
)。AintBfloatCdoubleD不确定正确答案:C12.下列程序执行的结果是(
)。#include
<stdio.h>
main()
{
int
x,
y
=0;
for(x=1;x<=10;x++)
{
if(y>=10)
break;
y=y+x;}
printf(“%d
%d”,y,x);
}A105B10,5C64D6,4正确答案:A13.在C语言中,函数的数据类型是指(
)。A函数返回值的数据类型B函数形参的数据类型C调用该函数时的实参的数据类型D任意指定的数据类型正确答案:A14.C语言中,运算对象必须是整型数的运算符是(
)。A%B\C%和\D/正确答案:A15.下列程序执行的结果是(
)。#include
<stdio.h>
main()
{
int
a=1,b=3,c=5;
if
(c==a+b)
printf("yes\n");
else
printf("no\n");
}AyesBnoC"yes"D"no"正确答案:B16.下列叙述中正确的是(
)。Abreak语句只能用于switch语句B在switch语句中必须使用defaultCbreak语句必须与switch语句中的case配对使用D在switch语句中,不一定使用break语句正确答案:D17.下列程序的运行结果是(
)。#include<stdio.h>
main()
{
int
arr[
]={30,25,20,15,10,5},
*p=arr;
p++;
printf(“%d\n”,*(p+3));
}A5B10C20D30正确答案:B18.C语言中while和do-while循环的主要区别是(
)。Ado-while的循环体至少无条件执行一次Bwhile的循环控制条件比do-while的循环控制条件严格Cdo-while允许从外部转到循环体内Ddo-while的循环体不能是复合语句正确答案:A19.如有定义语句int
c[]={1,5,3,4,6,7,0},则数组有(
)个元素。A0B6C7D不定正确答案:C20.已知char
s3[]="China";,则程序段printf("%d",sizeof(s3));的输出结果是(
)。A5B6C7D8正确答案:B二、多选题(每题2分,共15道小题,总分值30分)1.以下选项中属于字符型常量的是(
)。A'C'B"C"C'\xCC'D'\072'正确答案:
A,C,D2.下列关于标识符的描述正确的是(
)。A用户所定义的标识符允许使用关键字B用户所定义的标识符应尽量做到“见名知意”C用户所定义的标识符必须以字母或下划线开头D用户定义的标识符中,大小写字母代表不同的标识正确答案:
B,C,D3.字符数组的scanf()输入和printf()输出,能采用的格式化形式描述正确的是(
)。A采用%c形式输入输出,需要循环结构配合B采用%s形式输入输出,不需要循环结构配合C输入格式scanf("%s",ch),不使用&chDscanf()输入字符串时,中间不能有空格正确答案:
A,B,C,D4.若有说明:int
n=2,*p=&n,*q=p,则以下正确的赋值语句是:
()。Ap=qB*p=*qCn=*qDp=n正确答案:
A,B,C5.C语言被称为函数式的语言,下列关于C语言的库函数,描述正确的是(
)。AC语言提供库函数,用户无需定义也无需类型声明B库函数需要在对应的头文件中调用C库函数有明确的调用参数、返回值D有了库函数就不需要自定义函数了正确答案:
A,B,C6.下列关于二维数组的描述正确的是(
)。A二维数组要指定两个下标,行下标取值范围是[0,行长度-1],列下标取值范围是[1,列长度]B二维数组的元素在内存中按行/列方式连续存放C二维数组赋值的方式分为分行赋值和顺序赋值D二维数组可以按行分别存储不同类型的数据正确答案:
B,C7.在C语言进行函数调用时,函数调用可以(
)。A出现在执行语句中B出现在一个表达式中C作为一个函数调用的实参D作为一个函数的实参正确答案:
A,B,C8.从程序设计语言发展的历程看,计算机程序设计语言大致分为()。A机器语言B汇编语言C低级语言D高级语言正确答案:
A,B,D9.下列定义变量的语句中正确的是(
)。Aint_intBdoubleint_CcharForDfloatUS$正确答案:
A,B,C10.关于数组的初始化,下列认识正确的是(
)。A数组的初始化可以省略B数组的初始化就是定义数组并赋值C数组必须在定义时进行赋值D数组赋值时按照下标顺序进行的正确答案:
B,D11.下列选项中属于结构化程序设计方法的是(
)。A自顶向下B逐步求精C模块化D可复用正确答案:
A,B,C12.下列有可能造成死循环的充分原因是(
)。Afor循环缺少第一个表达式Bfor循环缺少第二个表达式Cwhile循环表达式逻辑总为真Ddo-while循环的循环体没有改变循环条件真假的运算正确答案:
B,C,D13.C语言中的简单数据类型包括(
)。A整型B实型C逻辑型D字符型正确答案:
A,B,C14.关于嵌套循环的描述,正确的是(
)。A内层循环的定义的变量不能在外层循环使用B内外层循环的循环变量不能相同C使用while循环不能嵌套do-while循环D使用break语句同时跳出内外循环正确答案:
A,B15.在C语言中,关于数据类型的类型转换的描述,正确的是(
)。AC语言中,数据类型不能转换B不同的数据类型可以混合运算,但首先要转换成同一类型,然后再运算C字符型可以转换为int型Ddouble型等级最高,其他类型都可以转换为double型正确答案:
B,C,D三、判断题(每题2分,共15道小题,总分值30分)1.C语言的函数不能嵌套定义,但函数之间允许相互调用,也允许嵌套调用。正确答案:
正确2.函数被调用并执行完成后向调用者返回执行结果称为函数返回值。正确答案:
正确3.指针变量是专门用于存放变量地址的变量。正确答案:
正确4.switch语句的表达式值与case常量表达式值对应,执行对应的case语句后跳出switch语句。正确答案:
错误5.字符串采用字符数组存放,存放一个字符串采用一维字符数组,存放多个字符串采用二维字符数组。正确答案:
正确6.while和do…while循环不论什么条件下它们的结果都是相同的。正确答案:
错误7.C程序是由一个或多个函数构成的,可以有多个主函数。正确答案:
错误8.如果想使一个数组中全部元素的值为0,可以写成int
a[10]={0*10};正确答案:
错误9.一个等号(=)是赋值运算符,两个等号(==)是关系运算符。正确答案:
正确10.数组中的每个元素可以不属于同一数据类型,可以把不同类型的数据放在同一数组中。正确答案:
错误11.C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。正确答案:
正确12.格式化输入函数scanf("%d%d",&n,&m);&n表示为变量n在内存中的地址。正确答案:
正确13.在if结构中,复合语句一定要加[]表示if或else
if条件的作用域范围。正确答案:
错误14.循环体的一些语句可以放在for循环的表达式内执行。正确答案:
正确15.通过指针变量可以间接访问它所指向的变量。正确答案:
正确程序设计基础复习题第2套一、单选题(每题2分,共20道小题,总分值40分)1.下列程序执行的结果是(
)。#include
<stdio.h>
f(int
b[],int
n)
{int
i,r;
r=1;
for
(i=0;i<=n;i++)
r=r*b[i];
return
(r);}
main()
{int
x,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3);
printf(“%d\n”,x);
}A2B6C24D120正确答案:C2.若有说明语句“int
a[5],*p=a;”,则对数组元素的正确引用是()。Aa[p]Bp[a]C*(p+2)Dp+2正确答案:C3.已知char
d[]={"543210"};,则数组d的长度是(
)。A5B6C7D8正确答案:C4.下列程序的运行结果是(
)。#include<stdio.h>
main(
)
{
static
char
a[
]="Program",
*ptr;
for(ptr=a,
ptr<a+7;
ptr+=2)
putchar(*ptr);
}APormBProgCPorDProgram正确答案:A5.在C语言程序中,表达式5%2的结果是(
)。A2.5B2C1D3正确答案:C6.在嵌套使用if语句时,C语言规定else总是(
)。A和之前与其具有相同缩进位置的if配对B和之前与其最近的if配对C和之前与其最近的且不带else的if配对D和之前的第一个if配对正确答案:C7.用户定义的函数不可以调用的函数是(
)。A本文件外的Bmain函数C本函数下面定义的D非整型返回值的正确答案:B8.设变量a是int,f是float,i是double,则表达式10+a+i*f值的数据类型为(
)。AintBfloatCdoubleD不确定正确答案:C9.若i为整型变量,则以下循环执行次数是(
)。for(i=2;i==0;)
printf("%d",i--);A无限次B0次C1次D2次正确答案:B10.下列程序执行的结果是(
)。#include
<
stdio
.h
>
main
(
)
{
float
c=3.0
,
d=4.0;
if
(
c>d
)
c=5.0;
else
if
(
c==d
)
c=6.0;
else
c=7.0;
printf
(
“%.1f\n”,c
);
}A7.0B6.0C5.0D4.0正确答案:A11.下列程序执行的结果是(
)。#include
<stdio.h>
main()
{
int
x,
y
=0;
for(x=1;x<=10;x++)
{
if(y>=10)
break;
y=y+x;}
printf(“%d
%d”,y,x);
}A105B10,5C64D6,4正确答案:A12.C语言中while和do-while循环的主要区别是(
)。Ado-while的循环体至少无条件执行一次Bwhile的循环控制条件比do-while的循环控制条件严格Cdo-while允许从外部转到循环体内Ddo-while的循环体不能是复合语句正确答案:A13.在C语言中,函数的数据类型是指(
)。A函数返回值的数据类型B函数形参的数据类型C调用该函数时的实参的数据类型D任意指定的数据类型正确答案:A14.以下叙述中正确的是(
)。AC程序的基本组成单位是语句BC程序中的每一行只能写一条语句C简单C语句必须以分号结束DC语句必须在一行内写完正确答案:C15.若有说明:int
a[][3]={{1,2,3},{4,5},{6,7}};
则数组a的第一维的大小为:
(
)。A2B3C4D无确定值正确答案:B16.已知int
a[3][4];则对数组元素引用正确的是(
)。Aa[2][4]Ba[1,3]Ca[2][0]Da(2)(1)正确答案:C17.下列四组选项中,C语言标识符复合要求的是(
)。A%xBa+bCa123D123正确答案:C18.下列程序执行的结果是(
)。#include
<stdio.h>
main(
)
{
int
sum=10,n=1;
while(n<3)
{sum=sum-n;
n++;
}
printf(“%d,%d”,n,sum);
}A1,9B3,7C4D6E4,9正确答案:B19.以下定义语句中正确的是(
)。Ainta=b=0BcharA=65+1,b='b'Cfloata=1,*b=&a,*c=&bDdoublea=0.0,b=1.1正确答案:D20.下列下列程序段执行的次数是(
)。X=-1;
do
{x=x*x;}while(!x);。A死循环B循环执行一次C循环执行二次D有语法错误正确答案:B二、多选题(每题2分,共15道小题,总分值30分)1.若有说明:int
n=2,*p=&n,*q=p,则以下正确的赋值语句是:
()。Ap=qB*p=*qCn=*qDp=n正确答案:
A,B,C2.下列关于C语言的说法正确的是(
)
。AC程序的工作过程是编辑、编译、连接、运行BC语言不区分大小写CC程序的三种基本结构是顺序、选择、循环DC程序从main函数开始执行正确答案:
A,C,D3.下列字符数组的定义中,数组长度相同的是(
)。Achara[4]={'1','2','3','4,'}Bcharb[4]={'1','2','3','\0'}Cstaticcharc[4]={'1','2','3'}Dstaticchard[4]={'1','2'}正确答案:
B,C4.关于用户自定义函数,以下叙述中正确的是(
)。A用户自定义的函数中可以没有return语句B用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C用户自定义的函数中若没有return语句,则应当定义函数为void类型D函数的return语句中可以没有表达式正确答案:
A,C,D5.关于C语言的整型数据的描述正确的是(
)。A整型是指不存在小数部分的数据类型BC语言的整数有十进制、八进制、十六进制三种表现形式C整型数据的格式控制可以是%d、%u、%oDshort型与long型的取值范围都与int型一致正确答案:
A,B,C6.设有定义:int
k=0;,以下选项的四个表达式中值相同的是(
)。Ak++Bk+=1C++kDk+1正确答案:
B,C,D7.在C语言中,关于数据类型的类型转换的描述,正确的是(
)。AC语言中,数据类型不能转换B不同的数据类型可以混合运算,但首先要转换成同一类型,然后再运算C字符型可以转换为int型Ddouble型等级最高,其他类型都可以转换为double型正确答案:
B,C,D8.以下选项中属于字符型常量的是(
)。A'C'B"C"C'\xCC'D'\072'正确答案:
A,C,D9.下列对于C语言的函数叙述正确的是(
)。A在不同的函数中,可以使用相同的变量B函数中的形参是在栈中保存C在一个函数中定义的变量只在本函数内有效D在一个函数复合语句内定义的变量只在本函数内有效正确答案:
A,B,C10.以下对结构变量stu1中成员age的正确引用是(
)。struct
student{
int
age;int
num;}stu1,*p;p=&stu1;Astu1.ageBstudent.ageCp->ageD(*p).age正确答案:
A,C,D11.函数的递归调用中,下列描述正确的是(
)。A递归调用必须有一个明确的结束递归调用的条件B递归调用的层数越多,同名变量占用的内存空间也就越多C所有递归问题都可以用非递归的方式来解决D函数调用自己,系统会自动把函数中当前的变量和形参保留起来正确答案:
A,B,C,D12.下列复合算术运算符解释正确的是(
)。Ax+=8等价于x=x+8Bx*=y-3等价于x=x*y-3Cx=-5等价于x=x-5Dx%=5-y等价于x=x%(5-y)正确答案:
A,D13.下列选项中属于结构化程序设计方法的是(
)。A自顶向下B逐步求精C模块化D可复用正确答案:
A,B,C14.下列有关指针的定义正确是(
)。Aint*p=&i,iBint*p,iCinti,*p=&iDinti,*p正确答案:
B,C,D15.自增和自减运算符可以使变量的值增1或减1,下列运算正确的是(
)。A++nB3--C(i+j)++Dn--正确答案:
A,D三、判断题(每题2分,共15道小题,总分值30分)1.全局变量使用过多会导致函数之间相互干扰、内存空间消耗过大。正确答案:
正确2.字符串常量是用双引号括起来的字符序列。正确答案:
正确3.字符型常量表示的是一个字符,用单引号括起来。正确答案:
正确4.switch语句的表达式值与case常量表达式值对应,执行对应的case语句后跳出switch语句。正确答案:
错误5.对数组的引用,只能逐个使用下标变量,而不能一次引用整个数组。正确答案:
正确6.数组元素在内存中是连续存放的,数组中的每个元素都属于同一个类型。正确答案:
正确7.变量的有效范围称为作用域,函数内部声明的变量作用域仅限于函数内部,称之为局部变量。正确答案:
正确8.一个函数能够调用自身,称为递归调用。正确答案:
正确9.程序书写形式自由,一行内可以写多条语句,每条语句均以“。”结束。正确答案:
错误10.while循环是先判断表达式的值,再决定是否执行循环体,而do-while循环是先执行循环体再判断是否结束循环。正确答案:
正确11.在C程序中,可用{}括起来许多语句,称为复合语句。正确答案:
正确12.C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。正确答案:
正确13.结构体变量初始化时,可以按照结构体成员的顺序放在一对花括号内。正确答案:
正确14.如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。正确答案:
正确15.C语言的标识符“2015year”是合法的。正确答案:
错误程序设计基础复习题第3套一、单选题(每题2分,共20道小题,总分值40分)1.下列运算符中,优先级最高的运算符是(
)。A<=B=C%D&&正确答案:C2.若int
x=2,y=3,z=4
则表达式x<z?y:z的结果是(
)。A4B3C2D0正确答案:B3.已知char
s3[]="China";,则程序段printf("%d",sizeof(s3));的输出结果是(
)。A5B6C7D8正确答案:B4.设变量a是int,f是float,i是double,则表达式10+a+i*f值的数据类型为(
)。AintBfloatCdoubleD不确定正确答案:C5.下列四组选项中,C语言标识符复合要求的是(
)。A%xBa+bCa123D123正确答案:C6.下列程序输入5后执行的结果是(
)。#include
<stdio.h>
main(
)
{
int
a=1,b=0;
scanf(“%d”,&a);
switch(a)
{
case
1:
b=1;break;
case
2:
b=2;break;default
:
b=10;}
printf("%d
",
b);}A1B2C10D5正确答案:C7.若int
n=2,m=3,则printf("n=%d
m=%d\n",n,m)输出的结果是(
)。A23Bn=2m=3C第一行2,第二行3D第一行n=2,第二行m=3正确答案:B8.下列程序段的输出结果是(
)。int
a=3,b=5;if(a=b)printf("%d=%d",a,b);else
printf("%d!=%d",a,b);A5=5B3=3C3!=5D5!=3正确答案:C9.C语言是结构化和模块化语言,它是面向(
)的。A过程B对象C组件D服务正确答案:A10.以下叙述中正确的是(
)。AC程序的基本组成单位是语句BC程序中的每一行只能写一条语句C简单C语句必须以分号结束DC语句必须在一行内写完正确答案:C11.下列数据中属于“字符串常量”的是(
)。A“a”B{ABC}C‘abc\0’D‘a’正确答案:A12.对以下说明语句
int
a[10]={6,7,8,9,10};
的正确理解是()。A将5个初值依次赋给a[1]至a[5]B将5个初值依次赋给a[6]至a[10]C因为数组长度与初值的个数不相同,所以此语句不正确D将5个初值依次赋给a[0]至a[4]正确答案:D13.下列程序执行输入整数1的结果是(
)。#include
<stdio.h>
main()
{
int
s=0,a=5,n;
scanf("%d",&n);
do
{
s+=1;
a=a-2;
}while(a!=n);
printf("%d,%d\n",s,a);
}A1,3B2,3C2,1D3,5正确答案:C14.在C语言中,以(
)作为字符串结束标志。A’\n’B’’C’0’D’\0’正确答案:D15.以下定义语句中正确的是(
)。Ainta=b=0BcharA=65+1,b='b'Cfloata=1,*b=&a,*c=&bDdoublea=0.0,b=1.1正确答案:D16.下列程序执行的结果是(
)。#include
<stdio.h>
f(int
b[],int
n)
{int
i,r;
r=1;
for
(i=0;i<=n;i++)
r=r*b[i];
return
(r);}
main()
{int
x,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3);
printf(“%d\n”,x);
}A2B6C24D120正确答案:C17.已知int
a[3][4];则对数组元素引用正确的是(
)。Aa[2][4]Ba[1,3]Ca[2][0]Da(2)(1)正确答案:C18.C语言中函数返回值的类型是由(
)决定的。A函数定义时指定的类型Breturn语句中的表达式类型C调用该函数时的实参的数据类型D形参的数据类型正确答案:A19.假定int型变量占用2个字节,已有定义int
x[10]={0,2,4};,则数组x在内存中所占字节数是(
)。A3B6C10D20正确答案:D20.按照十进制形式输出两个整数并换行,则下列格式化输出正确的是(
)。Aprintf("%d%d\n",n,m)Bprintf('%d%d\n',n,m)Cprintf{"%d%d/n",n,m}Dprintf("%d%d/n",n,m)正确答案:A二、多选题(每题2分,共15道小题,总分值30分)1.下列数组的定义正确的是(
)。Ainta[5]={0,1,2,3}Binta[5]Cinta[]={0,1,2}Dinta[5]={0,1,2,3,4,5}正确答案:
A,B,C2.静态存储区存放全局变量和静态局部变量,下列描述正确的是(
)。A第一次调用函数时,系统给静态局部变量分配内存空间,再次调用系统不再为它分配内存空间B在定义静态局部变量时没有赋初值,则系统自动赋0或空字符串C静态局部变量在函数调用结束后仍然存在,但其他函数不可引用D静态局部变量使用static定义正确答案:
A,B,C,D3.下列关于格式化输出函数printf()的描述正确的是(
)。A格式控制说明用双括号括起来,表示输出的格式B在%的位置对应输出参数C输出long和double时都是用限定词l(long的首字母)D使用\n表示输出前换行输出正确答案:
A,B,C4.若有说明:int
n=2,*p=&n,*q=p,则以下正确的赋值语句是:
()。Ap=qB*p=*qCn=*qDp=n正确答案:
A,B,C5.在定义int
b[2][10];之后,对b的最后一个数组元素的引用正确的是(
)。Ascanf("%d",&b[1][9])Bprintf("%d",b[1][9]Cscanf("%d",&b[2][10])Dprintf("%d,b[2][10])正确答案:
A,B6.下列关于标识符的描述正确的是(
)。A用户所定义的标识符允许使用关键字B用户所定义的标识符应尽量做到“见名知意”C用户所定义的标识符必须以字母或下划线开头D用户定义的标识符中,大小写字母代表不同的标识正确答案:
B,C,D7.下列对C语言字符数组的描述正确的是(
)。A字符数组可以存放字符串B字符数组中的字符串可以整体输入、输出C可以在赋值语句中通过赋值运算符=对字符数组整体赋值D不可以用关系运算符对字符数组中的字符串进行比较正确答案:
A,B,D8.设有定义:int
k=0;,以下选项的四个表达式中值相同的是(
)。Ak++Bk+=1C++kDk+1正确答案:
B,C,D9.下列有关指针的定义正确是(
)。Aint*p=&i,iBint*p,iCinti,*p=&iDinti,*p正确答案:
B,C,D10.在C语言中,关于数据类型的类型转换的描述,正确的是(
)。AC语言中,数据类型不能转换B不同的数据类型可以混合运算,但首先要转换成同一类型,然后再运算C字符型可以转换为int型Ddouble型等级最高,其他类型都可以转换为double型正确答案:
B,C,D11.有如下数组定义:int
a[10],则下列描述正确的是(
)。A定义一个整型数组,在内存中使用10个连续的存储单元B数组的元素个数为10个整型数据,标记为a[0]到a[9]C数组的引用不能越界,不能使用a[10],因为a[10]是存放数组结束标志的D数组元素的使用与同类型的变量完全相同正确答案:
A,B,D12.以下关于C语言函数设计正确的说法是(
)。A函数设计应该追求高内聚低耦合B要尽可能多地使用全局变量C函数参数不宜过多D设计函数时,尽量做到谁申请的资源就由谁来释放正确答案:
A,C,D13.从程序设计语言发展的历程看,计算机程序设计语言大致分为()。A机器语言B汇编语言C低级语言D高级语言正确答案:
A,B,D14.C语言表达式(
)的值等于1。A123/100B901%10C76%3D625%5正确答案:
A,B,C15.下列关于二维数组的描述正确的是(
)。A二维数组要指定两个下标,行下标取值范围是[0,行长度-1],列下标取值范围是[1,列长度]B二维数组的元素在内存中按行/列方式连续存放C二维数组赋值的方式分为分行赋值和顺序赋值D二维数组可以按行分别存储不同类型的数据正确答案:
B,C三、判断题(每题2分,共15道小题,总分值30分)1.函数的形参必须为变量,每个形参类型必须分别定义。正确答案:
正确2.全局变量使用过多会导致函数之间相互干扰、内存空间消耗过大。正确答案:
正确3.指针变量是专门用于存放变量地址的变量。正确答案:
正确4.使用多重循环嵌套时,内层循环必须完整地嵌套在外层循环内,二者不允许相互交叉。正确答案:
正确5.指针变量定义的数据类型必须与所指向的变量地址存放的变量类型相同。 正确答案:
正确6.通过结构体指针访问结构体变量成员有两种方法,其一用*p先访问结构体变量,再进而访问结构体成员;其二用指向运算符“->”访问指针指向的结构体成员。正确答案:
正确7.C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。正确答案:
正确8.逻辑表达式x&&1等价于关系表达式x==1。正确答案:
正确9.字符型变量用来存放多个字符,在内存中的存储形式是ASCII。正确答案:
错误10.指针可以遍历数组,数组名是数组的第一个元素的地址,可以用数组名的指针方法来引用数组元素。正确答案:
正确11.字符串采用字符数组存放,存放一个字符串采用一维字符数组,存放多个字符串采用二维字符数组。正确答案:
正确12.指针变量赋值或初始化必须使用变量的地址,也能使用整型的常量或变量。正确答案:
错误13.字符串指针变量中存入的是字符串第一个字符。正确答案:
错误14.字符串常量是用双引号括起来的字符序列。正确答案:
正确15.while循环是先判断表达式的值,再决定是否执行循环体,而do-while循环是先执行循环体再判断是否结束循环。正确答案:
正确程序设计基础复习题第4套一、单选题(每题2分,共20道小题,总分值40分)1.在C语言中对一维整型数组的正确定义为(
)。Ainta(10)Bintn=10,a[n]Cintn;a[n]D#defineN10inta[N]正确答案:D2.未指定存储类别的变量,其隐含的存储类别为(
)。AautoBstaticCexternDregister正确答案:A3.执行语句for(i=1;i++<4;);后变量i的值是()。A3B4C5D不确定正确答案:C4.下列数据中属于“字符串常量”的是(
)。A“a”B{ABC}C‘abc\0’D‘a’正确答案:A5.以下能对一维数组a进行初始化的语句是:
(
)。Ainta[5]=(0,1,2,3,4)Binta(5)={}Cinta[3]={0,1,2}Dinta{5}={10*1}正确答案:C6.若有定义char
a;int
b;float
c;double
d;则表达式a*b+d-c值的类型为(
)。AfloatBintCcharDdouble正确答案:D7.在C语言中,表示静态存储类别的关键字是:
(
)。AautoBregisterCstaticDextern正确答案:C8.以下定义语句中正确的是(
)。Ainta=b=0BcharA=65+1,b='b'Cfloata=1,*b=&a,*c=&bDdoublea=0.0,b=1.1正确答案:D9.以下叙述中正确的是(
)。AC程序的基本组成单位是语句BC程序中的每一行只能写一条语句C简单C语句必须以分号结束DC语句必须在一行内写完正确答案:C10.按照十进制形式输出两个整数并换行,则下列格式化输出正确的是(
)。Aprintf("%d%d\n",n,m)Bprintf('%d%d\n',n,m)Cprintf{"%d%d/n",n,m}Dprintf("%d%d/n",n,m)正确答案:A11.语句int
*p;说明了()。Ap是指向一维数组的指针Bp是指向函数的指针,该函数返回一int型数据Cp是指向int型数据的指针Dp是函数名,该函数返回一指向int型数据的指针正确答案:C12.下列有关C语言数组的描述,正确的是(
)。A数组元素的数据类型可以不一致B数组元素的个数可以不确定,允许随机变动C可以使用动态内存分配技术,定义元素个数可变的数组D定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数正确答案:D13.以下能正确定义数组并正确赋初值的语句是(
)。AintN=5,b[N][N]Binta[1][2]={{1},{3}}Cintc[2][]={{1,2},{3,4}}Dintd[3][2]={{1,2},{34}}正确答案:D14.若“int
n;
float
f=13.8;”,则执行“n=(int)f%3”后,n的值是(
)A1B4C4.333333D4.6正确答案:A15.相同结构体类型的变量之间,可以()。A比较大小B地址相同C赋值D相加正确答案:C16.下列程序段的输出结果是(
)。int
a=3,b=5;if(a=b)printf("%d=%d",a,b);else
printf("%d!=%d",a,b);A5=5B3=3C3!=5D5!=3正确答案:C17.C语言中,运算对象必须是整型数的运算符是(
)。A%B\C%和\D/正确答案:A18.C语言是结构化和模块化语言,它是面向(
)的。A过程B对象C组件D服务正确答案:A19.若有以下数组说明:int
a[12]={1,4,7,10,2,5,8,11,3,6,9,12},则i=10;a[a[i]]元素数值是(
)。A10B9C6D5正确答案:C20.下列程序执行的结果是(
)。#include
<stdio.h>
main()
{
int
a=12,
b=
-34,
c=56,
min=0;
min=a;
if(min>b)
min=b;
if(min>c)
min=c;
printf("min=%d",
min);
}A12B-34C56Da正确答案:B二、多选题(每题2分,共15道小题,总分值30分)1.若有以下说明语句:struct
student{
int
num;char
name[
];float
score;}stu;则下面的叙述正确的是:
(
)。Astruct是结构体类型的关键字Bstructstudent是用户定义的结构体类型Cnum,score都是结构体成员名Dstu是用户定义的结构体类型名正确答案:
A,B,C2.下列关于二维数组的描述正确的是(
)。A二维数组要指定两个下标,行下标取值范围是[0,行长度-1],列下标取值范围是[1,列长度]B二维数组的元素在内存中按行/列方式连续存放C二维数组赋值的方式分为分行赋值和顺序赋值D二维数组可以按行分别存储不同类型的数据正确答案:
B,C3.下列格式化函数使用正确的是(
)。Ascanf("x=%lf",&x)Bprintf("x=%lf",&x)Cprintf("%5.3f,%.2f,%4d",a,b,c)Dscanf("%5.3f,%.2f,%4d",a,b,c)正确答案:
A,C4.有如下数组定义:int
a[10],则下列描述正确的是(
)。A定义一个整型数组,在内存中使用10个连续的存储单元B数组的元素个数为10个整型数据,标记为a[0]到a[9]C数组的引用不能越界,不能使用a[10],因为a[10]是存放数组结束标志的D数组元素的使用与同类型的变量完全相同正确答案:
A,B,D5.在使用C语言分支结构时,下列描述正确的是(
)。Aif条件表达式可以省略Bif的条件表达式要写在小括号内Cif与endif配对出现Dif与else配对出现正确答案:
A,B6.关于程序的顺序结构,下列描述正确的是(
)。A顺序结构是按照程序书写顺序自上而下依次执行B在顺序结构中主要包含三类语句:赋值语句、输入语句、输出语句C所有程序都有顺序结构D顺序结构的语句顺序可以颠倒正确答案:
A,B,C7.关于用户自定义函数,以下叙述中正确的是(
)。A用户自定义的函数中可以没有return语句B用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C用户自定义的函数中若没有return语句,则应当定义函数为void类型D函数的return语句中可以没有表达式正确答案:
A,C,D8.下列有可能造成死循环的充分原因是(
)。Afor循环缺少第一个表达式Bfor循环缺少第二个表达式Cwhile循环表达式逻辑总为真Ddo-while循环的循环体没有改变循环条件真假的运算正确答案:
B,C,D9.字符数组的scanf()输入和printf()输出,能采用的格式化形式描述正确的是(
)。A采用%c形式输入输出,需要循环结构配合B采用%s形式输入输出,不需要循环结构配合C输入格式scanf("%s",ch),不使用&chDscanf()输入字符串时,中间不能有空格正确答案:
A,B,C,D10.运算符运算的结合方向不同,下列运算符从右向左运算的是(
)。A++B&&C=D*=正确答案:
C,D11.在C语言中,关于数据类型的类型转换的描述,正确的是(
)。AC语言中,数据类型不能转换B不同的数据类型可以混合运算,但首先要转换成同一类型,然后再运算C字符型可以转换为int型Ddouble型等级最高,其他类型都可以转换为double型正确答案:
B,C,D12.下列选项中属于结构化程序设计方法的是(
)。A自顶向下B逐步求精C模块化D可复用正确答案:
A,B,C13.调用函数时,主调函数实参与被调函数形参之间有数据传递,则其操作正确的时(
)。A形参会在系统中获得临时的内存空间,以便接受相应的实参值B实参要有明确的值并传递到形参临时内存空间C形参必须为变量,在为调用前不占内存空间D实参向形参传递数值,形参也可以向实参传递数值正确答案:
A,B,C14.若已定义x为int类型变量,下列语句中说明指针变量p的不正确语句是(
)。Aint*p=&xBintp=&xC*p=*xDint*p=x正确答案:
B,C,D15.以下对结构变量stu1中成员age的正确引用是(
)。struct
student{
int
age;int
num;}stu1,*p;p=&stu1;Astu1.ageBstudent.ageCp->ageD(*p).age正确答案:
A,C,D三、判断题(每题2分,共15道小题,总分值30分)1.break
与continue在循环体中的作用相同,都是跳出循环体,执行循环体后面的语句。正确答案:
错误2.字符型常量表示的是一个字符,用单引号括起来。正确答案:
正确3.指针可以遍历数组,数组名是数组的第一个元素的地址,可以用数组名的指针方法来引用数组元素。正确答案:
正确4.字符串常量是用双引号括起来的字符序列。正确答案:
正确5.若有说明int
c;则while(c=getchar());是正确的C语句。正确答案:
正确6.逻辑表达式x&&1等价于关系表达式x==1。正确答案:
正确7.如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。正确答案:
正确8.struct是C语言中说明结构体的关键字。正确答案:
正确9.指针变量赋值或初始化必须使用变量的地址,也能使用整型的常量或变量。正确答案:
错误10.全局变量使用过多会导致函数之间相互干扰、内存空间消耗过大。正确答案:
正确11.在if结构中,复合语句一定要加[]表示if或else
if条件的作用域范围。正确答案:
错误12.对数组的引用,只能逐个使用下标变量,而不能一次引用整个数组。正确答案:
正确13.遇到函数调用,main()被暂停,转而执行相应的被调函数,该函数执行完成,返回main()从头执行。正确答案:
错误14.两个字符串中的字符个数相同时才能进行字符串大小的比较。正确答案:
错误15.表示选择的“if(表达式)
语句”中,表达式的值是逻辑值。正确答案:
正确程序设计基础复习题第5套一、单选题(每题2分,共20道小题,总分值40分)1.结构化程序由三种基本结构组成,三种基本结构组成的算法是(
)。A可以完成任何复杂的任务B只能完成部分复杂的任务C只能完成符合结构化的任务D只能完成一些简单的任务正确答案:A2.若i为整型变量,则以下循环执行次数是(
)。for(i=2;i==0;)
printf("%d",i--);A无限次B0次C1次D2次正确答案:B3.相同结构体类型的变量之间,可以()。A比较大小B地址相同C赋值D相加正确答案:C4.在C语言中,以(
)作为字符串结束标志。A’\n’B’’C’0’D’\0’正确答案:D5.如果int
a=3,b=4;则条件表达式"a<b?
a:b"的值是(
)。A3B4C0D1正确答案:A6.C语言中,关系表达式和逻辑表达式的值是(
)。A0B0或1C1DT或F正确答案:B7.下列数据中属于“字符串常量”的是(
)。A“a”B{ABC}C‘abc\0’D‘a’正确答案:A8.若int
x=2,y=3,z=4
则表达式x<z?y:z的结果是(
)。A4B3C2D0正确答案:B9.下列程序执行的结果是(
)。#include
<stdio.h>
f(int
b[],int
n)
{int
i,r;
r=1;
for
(i=0;i<=n;i++)
r=r*b[i];
return
(r);}
main()
{int
x,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3);
printf(“%d\n”,x);
}A2B6C24D120正确答案:C10.已知char
d[]={"543210"};,则数组d的长度是(
)。A5B6C7D8正确答案:C11.下列程序执行的结果是(
)。#include
<
stdio
.h
>
main
(
)
{
float
c=3.0
,
d=4.0;
if
(
c>d
)
c=5.0;
else
if
(
c==d
)
c=6.0;
else
c=7.0;
printf
(
“%.1f\n”,c
);
}A7.0B6.0C5.0D4.0正确答案:A12.C语言中函数返回值的类型是由(
)决定的。A函数定义时指定的类型Breturn语句中的表达式类型C调用该函数时的实参的数据类型D形参的数据类型正确答案:A13.以下数组定义正确的是(
)。Ainta(20)Binta[]={1,2,5,7,0}Cinta[n]Dinta[2]={1,2,4,6}正确答案:B14.假定int型变量占用2个字节,已有定义int
x[10]={0,2,4};,则数组x在内存中所占字节数是(
)。A3B6C10D20正确答案:D15.若有说明:int
a[][3]={{1,2,3},{4,5},{6,7}};
则数组a的第一维的大小为:
(
)。A2B3C4D无确定值正确答案:B16.下列四组选项中,C语言标识符复合要求的是(
)。A%xBa+bCa123D123正确答案:C17.用户定义的函数不可以调用的函数是(
)。A本文件外的Bmain函数C本函数下面定义的D非整型返回值的正确答案:B18.在C语言中,表示静态存储类别的关键字是:
(
)。AautoBregisterCstaticDextern正确答案:C19.执行语句for(i=1;i++<4;);后变量i的值是()。A3B4C5D不确定正确答案:C20.C语言中,运算对象必须是整型数的运算符是(
)。A%B\C%和\D/正确答案:A二、多选题(每题2分,共15道小题,总分值30分)1.下列数组的定义正确的是(
)。Ainta[5]={0,1,2,3}Binta[5]Cinta[]={0,1,2}Dinta[5]={0,1,2,3,4,5}正确答案:
A,B,C2.下列选项中属于结构化程序设计方法的是(
)。A自顶向下B逐步求精C模块化D可复用正确答案:
A,B,C3.关于C语言函数的形参和实参,下列说法正确的是(
)。A实参可以是常量、变量或表达式B形参可以是常量、变量或表达式C实参可以为任何类型D形参应与其对应的实参类型一致正确答案:
A,C,D4.设有以下说明语句:typedef
struct
stu{
int
a;float
b;}
stutype;则下面叙述中正确的是()。Astruct是结构类型的关键字Bstructstu是用户定义的结构类型Ca和b都是结构成员名Dstutype是用户定义的结构体变量名正确答案:
A,B,C5.下列关于格式化输出函数printf()的描述正确的是(
)。A格式控制说明用双括号括起来,表示输出的格式B在%的位置对应输出参数C输出long和double时都是用限定词l(long的首字母)D使用\n表示输出前换行输出正确答案:
A,B,C6.下列对C语言字符数组的描述正确的是(
)。A字符数组可以存放字符串B字符数组中的字符串可以整体输入、输出C可以在赋值语句中通过赋值运算符=对字符数组整体赋值D不可以用关系运算符对字符数组中的字符串进行比较正确答案:
A,B,D7.数组的使用常常跟循环相结合,下列说法正确的是(
)。A数组循环中,将数组的下标作为循环变量B二维数组可以通过二重循环,将行下标作为外循环的循环变量,列下标作为内循环的循环变量C数组循环的次数不能超过数组的长度,否则会使数组下标超过临界D数组循环用for循环表达最为方便正确答案:
A,B,D8.下列二维数组的定义正确的是(
)。Ainta[2][3]={0,1,2,3,4,5}Binta[2][3]={{0,1,2},{3,4,5}}Cinta[][3]={0,1,2,3,4,5}Dinta[2][]={0,1,2,3,4,5}正确答案:
A,B,C9.函数的递归调用中,下列描述正确的是(
)。A递归调用必须有一个明确的结束递归调用的条件B递归调用的层数越多,同名变量占用的内存空间也就越多C所有递归问题都可以用非递归的方式来解决D函数调用自己,系统会自动把函数中当前的变量和形参保留起来正确答案:
A,B,C,D10.字符串的存储常用数组来实现,则下列描述中正确的是(
)。A将字符串存入字符数组时,数组长度不能小于有效字符串长度+1B字符串结束符是'\0',所以数组的最后一个元素的值是'\0'C能够通过'\0'来控制字符数组循环D'\0'能够主动输入,表示字符串结束正确答案:
A,C11.动态存储区存放的数据包括(
)。A动态局部变量B全局变量C函数的形参D函数调用时的现场保护和返回地址等正确答案:
A,C,D12.下列合法的用户标识符是(
)。Aj2_KEYBDoubleC4d_aD_8_正确答案:
A,B,D13.若已定义x为int类型变量,下列语句中说明指针变量p的不正确语句是(
)。Aint*p=&xBintp=&xC*p=*xDint*p=x正确答案:
B,C,D14.关于用户自定义函数,以下叙述中正确的是(
)。A用户自定义的函数中可以没有return语句B用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C用户自定义的函数中若没有return语句,则应当定义函数为void类型D函数的return语句中可以没有表达式正确答案:
A,C,D15.有如下数组定义:int
a[10],则下列描述正确的是(
)。A定义一个整型数组,在内存中使用10个连续的存储单元B数组的元素个数为10个整型数据,标记为a[0]到a[9]C数组的引用不能越界,不能使用a[10],因为a[10]是存放数组结束标志的D数组元素的使用与同类型的变量完全相同正确答案:
A,B,D三、判断题(每题2分,共15道小题,总分值30分)1.字符型常量表示的是一个字符,用单引号括起来。正确答案:
正确2.格式化输入函数scanf("%d%d",&n,&m);&n表示为变量n在内存中的地址。正确答案:
正确3.struct是C语言中说明结构体的关键字。正确答案:
正确4.函数的形参必须为变量,每个形参类型必须分别定义。正确答案:
正确5.C语言将字符串作为一个特殊的一维字符数组来处理。正确答案:
正确6.一个等号(=)是赋值运算符,两个等号(==)是关系运算符。正确答案:
正确7.字符串常量是用双引号括起来的字符序列。正确答案:
正确8.逻辑表达式x&&1等价于关系表达式x==1。正确答案:
正确9.C语言的函数不能嵌套定义,但函数之间允许相互调用,也允许嵌套调用。正确答案:
正确10.遇到函数调用,main()被暂停,转而执行相应的被调函数,该函数执行完成,返回main()从头执行。正确答案:
错误11.C程序是由一个或多个函数构成的,可以有多个主函数。正确答案:
错误12.如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。正确答案:
正确13.通过结构体指针访问结构体变量成员有两种方法,其一用*p先访问结构体变量,再进而访问结构体成员;其二用指向运算符“->”访问指针指向的结构体成员。正确答案:
正确14.while和do…while循环不论什么条件下它们的结果都是相同的。正确答案:
错误15.结构体变量初始化时,可以按照结构体成员的顺序放在一对花括号内。正确答案:
正确程序设计基础复习题第6套一、单选题(每题2分,共20道小题,总分值40分)1.设有如下定义:struck
sk{
int
a;float
b;}data;int
*p;若要使P指向data中的a域,正确的赋值语句是()。Ap=&aBp=data.aCp=&data.aD*p=data.a正确答案:C2.若int
x=2,y=3,z=4
则表达式x<z?y:z的结果是(
)。A4B3C2D0正确答案:B3.若有以下说明语句:struct
date{
int
year;int
month;int
day;}brithday;则下面的叙述不正确的是(
)。Astruct是声明结构体类型时用的关键字Bstructdate是用户定义的结构体类型名Cbrithday是用户定义的结构体类型名Dyear,day都是结构体成员名正确答案:C4.下列程序执行的结果是(
)。#include
<stdio.h>
int
fun(int
a,
int
b)
{
if(a>b)
return(a);
else
return(b);
}
main()
{
int
x=15,
y=8,
r;r=
fun(x,y);
printf("r=%d\n",
r);
}Ar=15Br=8Cr=23Dr=3正确答案:A5.若“int
n;
float
f=13.8;”,则执行“n=(int)f%3”后,n的值是(
)A1B4C4.333333D4.6正确答案:A6.以下关于逻辑运算符两侧运算对象的叙述中正确的是(
)。A只能是整数0或1B只能是整数0或非0的整数C可以是结构体类型的数据D可以是任意合法的表达式正确答案:D7.在C语言程序中,表达式5%2的结果是(
)。A2.5B2C1D3正确答案:C8.假定int型变量占用2个字节,已有定义int
x[10]={0,2,4};,则数组x在内存中所占字节数是(
)。A3B6C10D20正确答案:D9.下列程序执行的结果是(
)。#include
<
stdio
.h
>
main
(
)
{
float
c=3.0
,
d=4.0;
if
(
c>d
)
c=5.0;
else
if
(
c==d
)
c=6.0;
else
c=7.0;
printf
(
“%.1f\n”,c
);
}A7.0B6.0C5.0D4.0正确答案:A10.定义
int
x;float
y;
正确的输入语句是(
)。Ascanf("%d%d",x,y)Bscanf("%d%d",&x,&y)Cscanf("%d%f",&x,&y)Dscanf("%f%d",&x,&y)正确答案:C11.相同结构体类型的变量之间,可以()。A比较大小B地址相同C赋值D相加正确答案:C12.若有以下数组说明:int
a[12]={1,4,7,10,2,5,8,11,3,6,9,12},则i=10;a[a[i]]元素数值是(
)。A10B9C6D5正确答案:C13.若有定义char
a;int
b;float
c;double
d;则表达式a*b+d-c值的类型为(
)。AfloatBintCcharDdouble正确答案:D14.以下定义语句中正确的是(
)。Ainta=b=0BcharA=65+1,b='b'Cfloata=1,*b=&a,*c=&bDdoublea=0.0,b=1.1正确答案:D15.以下数组定义正确的是(
)。Ainta(20)Binta[]={1,2,5,7,0}Cinta[n]Dinta[2]={1,2,4,6}正确答案:B16.设有数组定义char
array[]="China";,则数组array所占的空间是(
)。A4个字节B5个字节C6个字节D7个字节正确答案:C17.有如下程序int
a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;则数值为9的表达式是(
)。A*P+9B*(P+8)C*P+=9DP+8正确答案:B18.下列程序执行的结果是(
)。#include
<stdio.h>
main()
{
int
x,
y
=0;
for(x=1;x<=10;x++)
{
if(y>=10)
break;
y=y+x;}
printf(“%d
%d”,y,x);
}A105B10,5C64D6,4正确答案:A19.如有定义语句int
c[]={1,5,3,4,6,7,0},则数组有(
)个元素。A0B6C7D不定正确答案:C20.下列程序输入5后执行的结果是(
)。#include
<stdio.h>
main(
)
{
int
a=1,b=0;
scanf(“%d”,&a);
switch(a)
{
case
1:
b=1;break;
case
2:
b=2;break;default
:
b=10;}
printf("%d
",
b);}A1B2C10D5正确答案:C二、多选题(每题2分,共15道小题,总分值30分)1.下列关于for循环的描述正确的是(
)。Afor循环的第一个表达式不能省略Bfor循环的第一个表达式只在进入循环前执行一次C循环体语句只能是一条语句,多条语句需要使用大括号括起来,变成一条复合语句Dfor循环的第二个表达式是循环判断条件,其值是逻辑值正确答案:
B,C,D2.下列定义变量的语句中正确的是(
)。Aint_intBdoubleint_CcharForDfloatUS$正确答案:
A,B,C3.静态存储区存放全局变量和静态局部变量,下列描述正确的是(
)。A第一次调用函数时,系统给静态局部变量分配内存空间,再次调用系统不再为它分配内存空间B在定义静态局部变量时没有赋初值,则系统自动赋0或空字符串C静态局部变量在函数调用结束后仍然存在,但其他函数不可引用D静态局部变量使用static定义正确答案:
A,B,C,D4.字符串的存储常用数组来实现,则下列描述中正确的是(
)。A将字符串存入字符数组时,数组长度不能小于有效字符串长度+1B字符串结束符是'\0',所以数组的最后一个元素的值是'\0'C能够通过'\0'来控制字符数组循环D'\0'能够主动输入,表示字符串结束正确答案:
A,C5.下列有关指针的定义正确是(
)。Aint*p=&i,iBint*p,iCinti,*p=&iDinti,*p正确答案:
B,C,D6.下列字符数组的定义中,数组长度相同的是(
)。Achara[4]={'1','2','3','4,'}Bcharb[4]={'1','2','3','\0'}Cstaticcharc[4]={'1','2','3'}Dstaticchard[4]={'1','2'}正确答案:
B,C7.在C语言进行函数调用时,函数调用可以(
)。A出现在执行语句中B出现在一个表达式中C作为一个函数调用的实参D作为一个函数的实参正确答案:
A,B,C8.在C语言中,关于数据类型的类型转换的描述,正确的是(
)。AC语言中,数据类型不能转换B不同的数据类型可以混合运算,但首先要转换成同一类型,然后再运算C字符型可以转换为int型Ddouble型等级最高,其他类型都可以转换为double型正确答案:
B,C,D9.关于用户自定义函数,以下叙述中正确的是(
)。A用户自定义的函数中可以没有return语句B用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C用户自定义的函数中若没有return语句,则应当定义函数为void类型D函数的return语句中可以没有表达式正确答案:
A,C,D10.设有如下定义struct
ss{char
name[10];int
age;char
sex;}std[3],*p=std;,下列输入语句正确的是(
)。Ascanf("%d",&(*p).age)Bscanf("%s",&)Cscanf("%c",&std[0].sex)Dscanf("%c",&(p->sex))正确答案:
A,C,D11.若有说明:int
n=2,*p=&n,*q=p,则以下正确的赋值语句是:
()。Ap=qB*p=*qCn=*qDp=n正确答案:
A,B,C12.调用函数时,主调函数实参与被调函数形参之间有数据传递,则其操作正确的时(
)。A形参会在系统中获得临时的内存空间,以便接受相应的实参值B实参要有明确的值并传递到形参临时内存空间C形参必须为变量,在为调用前不占内存空间D实参向形参传递数值,形参也可以向实参传递数值正确答案:
A,B,C13.下列格式化函数使用正确的是(
)。Ascanf("x=%lf",&x)Bprintf("x=%lf",&x)Cprintf("%5.3f,%.2f,%4d",a,b,c)Dscanf("%5.3f,%.2f,%4d",a,b,c)正确答案:
A,C14.设有定义:int
k=0;,以下选项的四个表达式中值相同的是(
)。Ak++Bk+=1C++kDk+1正确答案:
B,C,D15.设整型变量
a=2,则执行下列语句后,浮点型变量b的值等于0.5的是(
)。Ab=1.0/aBb=(float)(1/a)Cb=1/(float)aDb=1/(a*1.0)正确答案:
A,C,D三、判断题(每题2分,共15道小题,总分值30分)1.数组元素在内存中是连续存放的,数组中的每个元素都属于同一个类型。正确答案:
正确2.struct是C语言中说明结构体的关键字。正确答案:
正确3.C语言注释语句标志为“/*……*/”和“//”。正确答案:
正确4.指针变量定义的数据类型必须与所指向的变量地址存放的变量类型相同。正确答案:
正确5.在C程序中,可用{}括起来许多语句,称为复合语句。正确答案:
正确6.遇到函数调用,main()被暂停,转而执行相应的被调函数,该函数执行完成,返回main()从头执行。正确答案:
错误7.语句scanf("%7.2f",&a);是一个合法的scanf函数。正确答案:
错误8.指针变量是专门用于存放变量地址的变量。正确答案:
正确9.字符串指针变量中存入的是字符串第一个字符。正确答案:
错误10.通过指针变量可以间接访问它所指向的变量。正确答案:
正确11.在使用C语言变量之前没必要一定先定义其类型。正确答案:
错误12.在C语言中,调用标准库函数时,只需要用#include命令把相关的头文件包含到本文件中即可调用。正确答案:
正确13.能将结构体作为整体输入运算输出,也能对其成员进行输入运算输出操作。正确答案:
错误14.指针变量赋值或初始化必须使用变量的地址,也能使用整型的常量或变量。正确答案:
错误15.C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。正确答案:
正确程序设计基础复习题第7套一、单选题(每题2分,共20道小题,总分值40分)1.下列下列程序段执行的次数是(
)。X=-1;
do
{x=x*x;}while(!x);。A死循环B循环执行一次C循环执行二次D有语法错误正确答案:B2.C语言中函数返回值的类型是由(
)决定的。A函数定义时指定的类型Breturn语句中的表达式类型C调用该函数时的实参的数据类型D形参的数据类型正确答案:A3.若有以下说明语句:struct
date{
int
year;int
month;int
day;}brithday;则下面的叙述不正确的是(
)。Astruct是声明结构体类型时用的关键字Bstructdate是用户定义的结构体类型名Cbrithday是用户定义的结构体类型名Dyear,day都是结构体成员名正确答案:C4.若有定义char
c1='b',c2='e';,则语句printf("%d,%c\n",c2-c1,c2-'a'+'A');的输出结果是(
)。A2,MB3,EC2,ED格式控制不一致,结果不确定正确答案:B5.设有数组定义char
array[]="China";,则数组array所占的空间是(
)。A4个字节B5个字节C6个字节D7个字节正确答案:C6.下列程序执行的结果是(
)。#include
<stdio.h>
main(
)
{
int
sum=10,n=1;
while(n<3)
{sum=sum-n;
n++;
}
printf(“%d,%d”,n,sum);
}A1,9B3,7C4D6E4,9正确答案:B7.对于变量定义:int
a,b=0;下列叙述正确的是(
)。Aa的初始值是0,b的初始值不确定Ba的初始值不确定,b的初始值0Ca和b的初始值是0Da和b的初始值不确定正确答案:B8.若i为整型变量,则以下循环执行次数是(
)。for(i=2;i==0;)
printf("%d",i--);A无限次B0次C1次D2次正确答案:B9.若有说明:int
a[][3]={{1,2,3},{4,5},{6,7}};
则数组a的第一维的大小为:
(
)。A2B3C4D无确定值正确答案:B10.若有定义char
a;int
b;float
c;double
d;则表达式a*b+d-c值的类型为(
)。AfloatBintCcharDdouble正确答案:D11.C语言中while和do-while循环的主要区别是(
)。Ado-while的循环体至少无条件执行一次Bwhile的循环控制条件比do-while的循环控制条件严格Cdo-while允许从外部转到循环体内Ddo-while的循环体不能是复合语句正确答案:A12.下列运算符中,优先级最高的运算符是(
)。A<=B=C%D&&正确答案:C13.下列运算符中,优先级最低的运算符是(
)。A*B=C==D%正确答案:B14.结构化程序由三种基本结构组成,三种基本结构组成的算法是(
)。A可以完成任何复杂的任务B只能完成部分复杂的任务C只能完成符合结构化的任务D只能完成一些简单的任务正确答案:A15.下列程序段的输出结果是(
)。int
a=3,b=5;if(a=b)printf("%d=%d",a,b);else
printf("%d!=%d",a,b);A5=5B3=3C3!=5D5!=3正确答案:C16.以下关于逻辑运算符两侧运算对象的叙述中正确的是(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智库建设责任制度
- 2025 高中信息技术数据与计算的遗传算法顶级创新应用项目课件
- 2026年宁波城市职业技术学院单招职业适应性考试题库附答案详解(综合卷)
- 2026年天津财经大学珠江学院单招职业适应性考试题库带答案详解(典型题)
- 合规经营承诺书之个人承诺范文5篇
- 2026年宁夏银川市单招职业倾向性考试题库附参考答案详解(培优)
- 2026年宁夏建设职业技术学院单招职业技能考试题库附答案详解(基础题)
- 真诚服务保障承诺书7篇
- 2026年安康职业技术学院单招职业适应性考试题库含答案详解(黄金题型)
- 2026年天津财经大学珠江学院单招职业技能考试题库附答案详解(培优b卷)
- 海底2万里课件
- 2025年新版新疆事业单位考试真题及答案
- 雨课堂在线学堂《审美的历程》作业单元考核答案
- 初中科普知识讲座
- 教师普通话培训教案
- 《中华人民共和国水法》解读培训
- 非遗漂漆扇课件
- 美工刀具安全使用培训课件
- 2025高考生物山东卷试卷评析及备考策略(课件)
- 交通运政执法课件
- 长期照护师课件
评论
0/150
提交评论