C本科复习题部分答案版Word下载.docx
- 文档编号:22396077
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:20
- 大小:65.76KB
C本科复习题部分答案版Word下载.docx
《C本科复习题部分答案版Word下载.docx》由会员分享,可在线阅读,更多相关《C本科复习题部分答案版Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
:
B)++C)!
=D)*=
17、逻辑运算符中,运算优先级按从高到低依次为。
A)&
&
!
||B)||,&
C)&
||,!
D)!
,&
||
18、符合C语法的表达式是。
A)a=a+7;
B)a=b-1,a++C)12.4%4D)a=b+c=2
19、运算分量必须是整型的运算符是。
A)/=B)+=C)%=D)>
20、合法的赋值语句是。
A)a=b=1B)a+=123C)++a;
D)a=int(5.6);
21、交换a,b的值,不正确的做法是。
A)a=a+b,b=a-b,a=a-bB)t=a,a=b,b=t
C)t=b,b=a,a=tD)t=a,b=t,a=b
22、下列叙述中,错误的是。
A)printf函数可以向终端输出若干个简单类型的数据
B)putchar函数可以向终端输出字符,而且只能是一个字符
C)getchar函数只能用来输入字符数据,但字符的个数不限
D)scanf函数可以用来输入简单类型的多个数据
23、若有以下程序段(n所赋的是八进制数)
intm=32767,n=032767;
printf("
%d,%o\n"
m,n);
执行后输出结果是。
A)32767,32767B)32767,032767
C)32767,077777D)32767,77777
24、将整型变量a、b中的最大值为变量c赋值,下列语句中正确的是。
A)c==(a>
b)?
a:
b;
B)c=(a>
C)c=if(a>
b)aelseb;
D)(a>
c=a:
c=b
25、C语言中形参和实参之间的数据传递方式是。
A)按值传递B)按地址传递
C)由程序员指定D)既能按值传递又能按地址传递
26、下面正确的说法是。
A)return语句必须放在函数的最后
B)main()函数必须放在其他函数之前
C)任何两个函数都可以互相调用
D)return后面的表达式类型应该与函数的类型赋值相容
27、.若有定义int*p,a;
则正确的语句是。
A)p=&
a;
scanf(“%d”,*p);
B)p=&
scanf(“%d”,p);
C)p=&
scanf(“%d”,&
p);
D)scanf(“%d”,a);
28、intx,*p;
floaty,*q;
A)p=&
y;
B)q=0C)q=&
p=q;
D)q=&
p=&
x;
29、通过调用函数swap(a,b);
能够交换a,b的值,函数的正确写法是。
A)voidswap(intx,inty){intt;
t=x;
x=y;
y=t;
}
B)voidswap(int*x,int*y){int*t;
*t=*x;
*x=*y;
*y=*t;
}
C)voidswap(int*x,int*y){intt;
t=*x;
*y=t;
D)voidswap(int*x,int*y){int*t;
x=y;
30、设函数首部是intfun(intx,int*y){………}则正确的说法是。
A)在函数中改变y的值将影响对应实参指针的值
B)在函数中改变*y的值将影响对应实参指针的值
C)在函数中改变y的值将影响对应实参指针所指对象的值
D)在函数中改变*y的值将影响对应实参指针所指对象的值
31、以下定义语句中正确的是。
A)chara='
A'
b='
B'
B)floata=b=10.0;
C)inta=10,*b=&
D)float*a,b=&
32、合法的数组定义是。
A)inta[]={‘a’,‘b’,’c’};
B)inta[5]={0,1,2,3,4,5};
C)chara={‘A’,’B’,’C’};
D)inta[5]={};
33、假定int类型变量占用两个字节,其有定义:
intx[10]={0,2,4};
,则数组x在内存中所占字节数是。
A)3B)6C)10D)20
34、正确的初始化语句是。
A)inta[2][3]={{1,1},{2,2},{3,3}};
B)inta[3][]={{1},{2},{3}};
C)inta[][3]={1,2,3,4,5};
D)inta[][]={1,2,3,4,5};
35、doublea[2][2]={0.0};
下面说法正确的是。
A)该语句存在语法错误B)把所有元素初始化为0.0
C)仅把a[0][0]初始化为0.0D)也把a[2][2]初始化为0.0
36、inta[][2]={1,3,5,7,9};
下面正确的说法是。
A)该数组共有6个元素B)等价于inta[3][2]={{1,3,5},{7,9,0}};
C)该数组共有5个元素D)等价于inta[][2]={{1},{3},{5},{7},{9}};
37、inta[2][4];
则错误的说法是。
A)a是有两个元素a[0],a[1]的一维数组B)a[1]代表一个地址常量
C)a[0]是有4个元素的一维数组D)a[1][2]等价*(a+1)[2]
38、inta[5],*p=a;
则对数组元素地址的正确引用是。
A)&
aB)p+2C)a+5D)&
(*p+2)
39、intw[3][4],(*p)[4];
p=w;
则非法的数组元素是。
A)*(*(p+1)+2)B)p[2][3]C)*(w[3]+3)D)(*(w+1))[3]
40、inta[10][4];
用形式fun(a+1)调用函数fun,则函数的首部不可以写成。
A)fun(int*s[10])B)fun(int((*s)[4])
C)fun(ints[][4])D)fun(ints[3][4])
41、inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*p)[3];
p=a+1;
则*(*(p+1)+1)的值是。
A)1B)5C)8D)11
42、char*s,t[5];
使t不能构成字符串的语句是。
A)s=”1234”;
strcpy(t,s);
B)*t=’M’,t[1]=’\0’;
strcat(t,“12”);
C)s=”12345\06”;
strcpy(t,s);
D)s=”123456”,strcpy(t,s);
t[4]=’\0’;
43、char*s,t[10];
A)t=”1234”;
B)s=”4321”;
C)t[0]=”abcd”;
D)*s=”abcd”
44、char*s,t[10];
设读入字符不超过5个,则不正确的语句是。
A)gets(t);
B)s=t;
gets(s);
C)t=”s”;
gets(s);
D)gets(t+1);
45、说法不正确的是。
A)形参是内部变量
B)同一个函数中在不同的复合语句中可以定义同名变量
C)在内层程序块不可以访问外层程序块中定义的同名变量
D)在同一个函数中,所有变量不能重名
46、错误的说法是。
A)一个变量的天然作用域完全取决于它的定义位置
B)外部变量可以在函数外的任意位置定义
C)定义外部静态变量的目的是为了限制其他编译单位的引用
D)内部变量的作用域和它的生存期是一致的
47、结构体成员在内存中存放顺序是。
A)先出现的成员在低位B)后出现的成员在低位
C)占内存少的在低位;
D)占内存多的在低位
48、正确的判断是。
A)共用体变量所占空间等于各成员空间总和
B)共用体变量所占空间等于第一个成员所占空间
C)共用体不能同时存储其所有成员
D)共用体各成员的首地址各不相同
49、正确的说法是。
A)在C程序中用EOF作为文件的结束标志
B)在C程序中文件由记录构成
C)在C程序中文件既可以顺序存储又可以随机存取
D)在C程序中程序结束时文件会自动关闭,所以可以省略关闭操作.
50、fp是指向文件的指针,当读到文件尾部时,则feof(fp)的值是。
A)0B)-1C)非0值D)NULL
2填空题
1、C源程序文件的扩展名是(.C);
编译后生成的文件名后缀是(.OBJ);
经过连接后生成文件名后缀是(.exe);
在VC++6.0中用Run命令运行当前程序时,运行的程序扩展名是(.exe)。
2、结构化程序的三种基本结构是(顺序、选择、循环)。
3、整型常量有三种表示方法,它们是(十进制整数)、(八进制整数)、(十六进制整数)。
4、表达式3.5+1/2+56%10的值是(9.5);
10/10和10%10的值各是(1和0)。
5、表达式3%3*3的值是(0);
5/3*3的值是(3);
3*6%4的值是
(2)。
6、设intx=12;
执行x+=x-=x*x后,x的值是(-264)。
7、表达式k=7,k+=k-=k+1的值是(-2)。
8、语句"
%x,%o"
16,12);
"
的输出结果是(10,14)。
9、设shortx,y;
y=(x=3,x+2,++x,x++*2);
则x,y的值各是(5,8)。
10、设intx,y,z,t;
x=y=z=1;
t=++x||++y&
++z;
则y的值是
(1)。
11、条件10<
=x<
20或x<
=0的C语言表达式是(x>
=10&
x<
20||x<
=0)
12、设a=1,b=2,c=3,d=4;
表达式a>
b?
a:
c<
d?
d的值是
(1)。
13、在C程序中,用
(1)表示逻辑值“真”。
14、表示“x≥y≥z”的C表达式是(x>
=y&
y>
=z)。
15、设x为int型变量,请写出一个关系表达式((x%21==0)),用以判断x同时为3和7的倍数时,关系表达式的值为真。
16、设ch是字符型变量,判断ch为英文字母的表达式是:
(ch<
='
z'
ch>
a'
||ch>
ch<
Z'
)
17、在C语言中参数的传递总是采用(单向)传递。
18、如果return表达式;
中”表达式”的类型与函数类型不一致,则以(函数类型)的类型为准自动转换;
如果实际参数的类型与形式参数的类型不一致,则以(形式参数)的类型为准自动转换。
19、函数形式参数在(调用)时分配内存,(调用结束)时释放内存。
20、系统总是为数组分配(连续)的一块内存。
21、字符串的结束标志是(ASCII码的0)。
22、TC系统为任何指针变量分配的内存是(4)字节。
23、若有定义:
doublex[3][5];
则x数组中行下标的下限为
(2),列下标的上限为(4)。
24、若有定义intx=3,*p;
则使p指向变量x的赋值语句为(p=&
x)。
25、在C语言程序中,在函数内部定义的变量称为(局部变量)。
26、chara[2][10]={“123”,”123456789”},*p[2]={“123”,”123456789”};
则(前者)占用内存多。
27、structst{charnum[5];
inta[4];
floatave;
}a,*p;
则变量a和p在内存各占(25和4)字节。
28、unionun{inti;
charc;
};
structst{intv[4];
doublet;
unionunk;
}w,*pw;
pw=&
w;
变量w占用(28)字节;
通过w访问v[0]的形式是(w.v[0]);
通过w访问成员c的形式是(w.k.c);
通过pw访问v[0]的全部形式有(pw->
v[0],*(pw->
v));
通过pw访问成员c的全部形式有((pw->
k.c))。
29、设fp是文件指针,要把字符变量ch的内容写入文件,可用的语句有(fputc(ch,fp);
fwrite(&
ch,1,1,fp);
)。
30、fputs(str,fp)函数的功能是(将数据str写入fp文件流中)。
3程序运行结果题
1、
#include<
stdio.h>
voidmain()
{inta=4,b=3,c=5,t=0;
if(a>
b)t=a;
a=b;
b=t;
c)t=a,a=c,c=t;
printf("
%d%d%d\n"
a,b,c);
2、
{intx=0,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++;
break;
case2:
a=%d,b=%d\n"
a,b);
3、
#include<
{intx=3,y=6,a=0;
while(x++!
=(y--))
{a+=1;
if(y>
x)break;
x,y,a);
4、
intfun(inta,intb,intc)
{return(a+b+c);
{intx,y,z;
scanf("
%d%d%d"
&
x,&
y,&
z);
//输入123
z=fun(x,x+y,fun(x,x+y,z));
%d\n"
z);
5、
intf1(int);
intf2(int);
{intn=3;
f1(n));
intf1(intn)
{inta=0;
while(n)a+=f2(--n);
returna;
intf2(intn)
{returnn-1;
}
6、
intfun(intn)
{ints;
if(n==1||n==2)s=2;
elses=n-fun(n-1);
returns;
main()
{printf("
fun(3));
7、
voidmain()
{inta[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j;
for(i=0;
i<
6;
i++)
{for(j=0;
j<
j++)
if(a[i]==b[j])break;
if(j<
6)printf("
%d"
a[i]);
printf("
\n"
);
8、
{
inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;
i<
3;
i++)
for(j=0;
j<
=i;
j++)s+=a[i][j];
s);
9、
{inti,j,sum=0,a[3][3];
i++)
{a[i][j]=i+j;
if(i==j)sum+=a[i][j];
%d"
sum);
10、
voidfun(int*x,int*y)
%d%d"
*x,*y);
*x=3;
*y=4;
{intx=1,y=2;
fun(&
x);
x,y);
11、
voidfun(intx,inty,int*cp,int*dp)
{*cp=x+y;
*dp=x-y;
{inta,b,c,d;
a=30;
b=50;
fun(a,b,&
c,&
d);
%d,%d\n"
c,d);
12、
structs{intx,y;
}data[2]={{10,100},{20,200}};
{structs*p=data;
++(p->
x));
y));
13、
{structcmplx{intx;
inty;
}cnum[2]={1,3,2,7};
cnum[0].y/cnum[0].x*cnum[1].x);
14、
structSTU
{charnum[10];
floatscore[3];
};
voidmain()
{structSTUs[3]=
{{"
20021"
90,95,85},{"
20022"
95,80,75},{"
20023"
100,95,90}},*p=s;
inti;
floatsum=0;
sum=sum+p->
score[i];
%6.2f\n"
15、
unionmyun
{struct
{intx,y,z;
}u;
intk;
}a;
{a.u.x=4;
a.u.y=5;
a.u.z=6;
a.k=0;
a.u.x);
4.程序填空
1、计算1+2+…+100
{intsum=0,i=1;
do
{sum+=i;
i++;
}while(i<
=100);
sum=%d\n"
2、计算长方体的体积及三个面的面积
ints1,s2,s3;
intvs(inta,intb,intc)
{intv;
v=a*b*c;
s1=a*b;
s2=b*c;
s3=a*c;
returnv;
{intv,l,w,h;
\ninputlength,widthandheight:
"
scanf("
l,&
w,&
h);
v=vs(l,w,h);
v=%d,s1=%d,s2=%d,s3=%d\n"
v,s1,s2,s3);
3、统计字符串中字母的个数
intisalp(charc)
{if(c>
||c>
return
(1);
elsereturn(0);
{inti,num=0;
charstr[255];
Inputastring:
gets(str);
s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 复习题 部分 答案