C复习参考题185416Word文件下载.docx
- 文档编号:16188844
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:28
- 大小:38.62KB
C复习参考题185416Word文件下载.docx
《C复习参考题185416Word文件下载.docx》由会员分享,可在线阅读,更多相关《C复习参考题185416Word文件下载.docx(28页珍藏版)》请在冰豆网上搜索。
9.一个C语言程序是由()
A)一个主程序和若干子程序组成B)若干子程序组成
C)若干过程组成D)函数组成
10.C语言规定,在一个源程序中,main()函数的位置()。
A.必须在最开始B.必须在最后
C.可以任意D.必须在系统调用的库函数的后面
11.以下对二维数组a的正确说明是()。
A)inta[3][];
B)floatfa(3,4);
C)chara[1][3];
D)floata(3)(5);
12.若有说明:
inta[3][2]={10};
则下面正确的叙述是()
A)只有元素a[0][0]可得到初值10。
B)此说明语句不正确:
。
C)数组a中各元素都可得到初值,但其值不一定为0。
D)数组a中每个元素均可得到初值10
13.以下叙述不正确的是()。
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是语句
D)只能在循环体内和switch语句体内使用break语句
14.为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与()配对。
A)缩排位置相同的ifB)其之前最近的未配对的if
C)之后最近的ifD)同一行上的if
15.能正确表示a和b同时为正或同时为负的逻辑表达式是()
A)(a>
=0||b>
=0)&
&
(a<
0||b<
0)
B)(a>
0&
b>
0)||(a<
b<
C)(a+b>
0)&
(a+b<
=0)
D)(a-b>
(a-b<
16.已知x=5,ch='
A'
y=0,则表达式(x>
=y&
ch<
'
a'
!
y)的值是()
A)0B)语法错C)1D)"
假"
17.下列关于单目运算符++、--的叙述中正确的是()
A)它们的运算对象可以是任何变量和常量
B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D)它们的运算对象可以是char型变量、int型变量和float型变量
18.下面的程序()
voidmain()
{intx=3;
do{
printf(“%d\n”,x-=2);
}while(!
(--x));
}
A).输出的是1B).输出的是1和-2
C).输出的是3和0D).是死循环
19.如下程序:
voidmain()
{inta=6;
printf(“%d\n”,(a+=3,2*a));
执行后,输出结果是()
A)9B)6C)2D)18
20.若有以下说明和语句,请选出哪个是对C数组元素的正确引用()
intc[4][5],(*cp)[5];
cp=c;
A).cp+1B).*(cp+3)C).*(cp+1)+3D).*(*cp+2)
21.下面程序的输出是()
main()
{intx=023;
printf("
%d\n"
--x);
A).17B).18C).23D).24
22.执行下列程序的结果是()
main()
{floatx=1,y;
y=++x*++x;
printf(“%f\n”,y);
}
A).9.000000B).6.000000
C).1.000000D).程序有错误
23.下面程序的输出是()
{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
*(p+2));
A).3B).4C).1D).2
24.执行下面程序中的输出语句后,a的值是()
{inta;
(a=3*5,a*4,a+5));
A).65B).20C).15D).10
25.下面程序的输出是()
{inta=-1,b=4,k;
k=(a++<
(!
(b--<
=0));
%d%d%d\n"
k,a,b);
A).003B).012C).103D).112
26.设有如下的程序段:
charstr[]="
Hello"
;
char*ptr;
ptr=str;
执行完上面的程序段后,*(ptr+5)的值为()
A).'
0'
B).'
\0'
C).不确定的值D).'
的地址
27.在宏定义#definePI3.14159中,用宏名PI代替一个()
A).单精度数B).双精度数C).常量D).字符串
28.若i是整型变量,pb是基本型为整型的指针变量,则正确的赋值表达式是()
A).pb=&
iB).pb=iC).*pb=&
iD).*pb=*i
29.有以下程序段
intm=0,n=0;
charc=’d’;
scanf("
%d%c%d"
&
m,&
c,&
n);
%d,%c,%d\n"
m,c,n);
若从键盘上输入:
6D6<
回车>
,则输出结果是()
A)0,d,6B)6,d,6C)6,D,6D)6,D,0
30.printf()函数中用到格式符%-7s,其中数字7表示输出的字符串占用7列。
如果字符串长度小于7,则输出按方式()
A)从左起输出该字串,右补空格
B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格
D)输出错误信息
31.以下能正确地定义整型变量a,b和c并为其赋初值3的语句是()
A)inta=3,b=3,c=3;
B)inta,b,c=3;
C)a=3,b=3,c=3;
D)a=b=c=3;
32.以下程序的输出结果是()
voidmain()
{intx=6,y=6,i;
for(i=2;
x>
4;
y=++i)
%d,%d"
x--,y);
A)5,55,3B)6,62,3C)6,55,2D)6,65,3
33.以下程序的输出结果是()
{intw=4;
intfun(intk);
fun(w);
\n"
);
fun(intk)
{if(k>
0)fun(k-1);
%d"
k);
A)4321B)01234
C)1234D)43210
34.下面程序的输出是()
{intx=023;
A).17B).18C).23D).24
35.以下程序的输出结果是()
main()
{charch[3][4]={"
123"
"
456"
78"
},*p[3];
inti;
for(i=0;
i<
3;
i++)p[i]=ch[i];
i++)printf("
%s"
p[i]);
A).123456780B).123456780
C).12345678D).147
*36.下面程序的输出结果为()
char*alpha[6]={"
ABCD"
EFGH"
IJKL"
"
MNOP"
QRST"
UVWX"
};
char**p;
{inti;
p=alpha;
i++)
%c"
(*p)[i]);
A).EIMCB).ABCDC).EFGHD).AEIM
37.定义如下变量:
floati=9.0
intj=3
则i%j的值是()
A.0B.3.0C.3D.语法有错
38.有以下程序
{intp[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<
7&
p[i]%2){k=k+p[i];
i++;
执行后输出结果是()
A)58B)56C)45D)24
39.以下程序的输出结果是()
{inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p;
p=&
x[1][1];
for(i=0;
6;
i+=3)
A)52B)51C)53D)97
40.以下程序的输出结果是()
#include<
string.h>
intmain()
{char*a=”abcdefghi”;
voidfun(char*s);
fun(a);
puts(a);
return0;
voidfun(char*s)
{intx,y;
charc;
for(x=0,y=strlen(s)-1;
x<
y;
x++,y--)
{c=s[y];
s[y]=s[x];
s[x]=c;
A).ihgfedcbaB).abcdefghi
C).abcdedcbaD).ihgfefghi
41.intmain()
{inti,a[]={5,6,9,11};
for(i=0;
{if(a[i]%2==0)continue;
a[i]);
A)编译出错B6C)5911D)56911
42.以下对数组的定义正确的是()
A)intx(10);
B)intx[5]={0,1,2,3,4,5};
C)intn=10;
x[n];
D)intx[]={0,1,2,3,4};
43.以下叙述中不正确的是()
A)switch是多分支结构语句
B)continue语句的作用是使程序的执行流程跳出包含它的所有循环
C)break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用不相同
44.如下程序:
{inti=1,j=2,k=3;
if((j++||k++)&
i++)
%d,%d,%d\n"
i,j,k);
A)1,2,3B)2,2,4C)2,3,4D)2,3,3
45.以下叙述中,不正确的是()
A)算法应该具有有穷性、确定性以及有效性等特点
B)算法可以用传统流程图、N-S流程图以及伪代码等形式来描述
C)基本结构只有顺序、选择、循环3种结构
D)结构化程序设计的思想是自顶向下、逐步细化、模块化设计以及结构化编码
46.在C语言中,函数返回值的类型最终取决于()
A)函数定义时形参的类型B)return语句中表达式值的类型
C)调用函数时主函数所传递的实参类型D)函数定义时在函数首部所说明的函数类型
47.以下程序的输出结果是()
voidmain()
for(i='
i'
i++,i++)
i-32);
A)编译不通过,无输出B)acegC)ACEGD)ABCDEFGI
*48.若有以下的说明:
structperson
{charname[20];
intage;
charsex;
}a={"
lining"
20,'
m'
},*p=&
a;
则对字符串lining的引用方式不可以是()
A).(*p).nameB).p.nameC).a.nameD).p->
name
49.下面的程序输出是()
intm=13;
intfun2(intx,inty)
{intm=3;
return(x*y-m);
{inta=7,b=5;
fun2(a,b)/m);
A).1B).2C).7D).10
50.下面的程序输出是()
{intx=100,a=10,b=20,ok1=5,ok2=0;
if(a<
b)
if(b!
=15)
if(!
ok1)
x=1;
else
if(ok2)x=10;
x=-1;
%d\n"
x);
A).-1B).0C).1D).不确定的值
51.若有以下定义:
inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;
则值为3的表达式是()
A).p+=2,*(p++)B).p+=2,*++p
C).p+=3,*p++D).p+=2,++*p
52.下面程序的输出是()
intaa[3][3]={{2},{4},{6}};
voidmain()
{inti,*p=&
aa[0][0];
for(i=0;
2;
{if(i==0)
aa[i][i+1]=*p+1;
else
++p;
%d"
*p);
A).23B).26C).33D).36
53.下面程序的输出是()
voidprtv(int*x)
{printf("
++*x);
{inta=25;
prtv(&
a);
A.23B.24C.25D.26
54.以下程序的运行结果是()
voidmain()
{chara[10]={'
1'
'
2'
3'
4'
5'
6'
7'
8'
9'
char*p;
inti=8;
p=a+i;
%s\n"
p-2);
A)6B)789C)'
D)678
55.执行以下3条语句之后,则k的值是_______
intx=4,y=7
x++
y+=2
k=y%x;
A)1B)2C)4D)3
56.以下程序段
for(k=0,m=4;
m;
m-=2)
for(n=1;
n<
4;
n++)k++;
循环体语句”k++;
”执行的次数是______________
A)16B)12C)6D)8
57.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为()
A)char=int<
1ongint<
=float<
double
B)char<
int<
1ongint=float=double
C)char<
int<
D)char=int=1ongint<
58.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='
d'
十'
一'
后,c2中的值为()
A)bB)68C)不确定的值D)f
59.表达式18/4*sqrt(4.0)/8值的数据类型为:
()
A)intB)floatC)doubleD)不确定
60.能正确表示"
当x的取值在[1,10]和[50,60]范围内为真,否则为假"
的表达式是()。
A)(x>
=1)&
(x<
=10)&
(x>
=50)&
=60)
B)(x>
=1)||(x<
=10)||(x>
=50)||(x<
=50)
C)(x>
=50)&
=60)
D)(x>
=1)||(x<
=10)&
(x>
=50)||(x<
*61.以下程序的输出结果是()
main()
{char*p1,*p2,str[50]="
ABCDEFG"
p1="
abcd"
p2="
efgh"
strcpy(str+1,p2+1);
strcpy(str+3,p1+3);
str);
A).AfghdEFGB).AbfhdC).AfghdD).Afgd
62.以下程序的输出结果是()
for(i=1;
{if(i%2){printf("
#"
continue;
*"
A).#*#*#B).#####C).*****D).*#*#*
63.能表示10≤a≤15的关系表达式是()
A.a>
=10ora<
=15B.a>
=10||a<
=15
C.a>
=10&
a<
=15D.a>
=10&
a<
64.以下程序段中与语句k=a>
b?
(b>
c?
1:
0):
0;
功能等价的是
A.if((a>
b)&
c))k=1;
B.if((a>
b)||(b>
c))k=1
elsek=0;
C.if(a<
=b)k=0;
D.if(a>
B)k=1;
elseif(b<
=c)k=1;
elseif(b>
C)k=1;
elsek=0;
65.设intx[]={2,4,6,8},y,*p=&
x[1];
则执行语句y=(*--p)++;
后数组元素x[0]的值为().
A.2B.3C.4D.5
66.在下面关于函数的描述中错误的是()
A.在一个源文件中,如果函数定义在先,调用在后,则不必声明该函数
B.如果一个函数在一个源文件里定义,而调用在另一个源文件中,则必须在调用之前声明该函数
C.函数的声明应使用函数原型
D.在一个源文件中,如果自定义函数调用在先,定义在后,则不必声明该函数
67.若有inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*q)[3]=a;
*q=a[0];
则能够正确表示数组元素a[1][2]的表达式是()。
A.*((*q+1)[2]B.*(*(q+5))C.*(*(q+1)+2)D.(*q+1)+2
68.设intx[]={1,3,5,7,9,11,13},*p=x;
则不能正确引用数组元素的表达式是()
A.*(p--)B.*(--p)C.*(p++)D.*(++p)
*69.有以下函数
char*fun(char*p)
{
returnp;
该函数的返回值是()
A.无确切的值B.形参p中存放的地址值
C.形参p自身的地址值D.编译有错
*70.在下面的引用定义中,正确的是()。
A.intx,&
y=x;
B.intx,&
y=x
C.int&
y=x,x;
D.floatz;
intx,y=&
z;
71.执行下面程序段后,a的值为()。
inta,b;
for(b=1,a=1;
=20;
b++)
if(a>
=10)br
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习 参考 185416