浙工大C语言复习题与参考答案文档格式.docx
- 文档编号:16893597
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:39
- 大小:302.01KB
浙工大C语言复习题与参考答案文档格式.docx
《浙工大C语言复习题与参考答案文档格式.docx》由会员分享,可在线阅读,更多相关《浙工大C语言复习题与参考答案文档格式.docx(39页珍藏版)》请在冰豆网上搜索。
(x||(a==b))
D、(!
x)||(a==b)
17.
下列格式符中,
哪一个可以用于以
8进制形式输出整数(
)。
、%dB
,、%8d
C
、%oD、
%ld
18.
16进制形式输出整数(
、%16d
B、%8x
、%d16D、
%d
19.a是int类型变量,c是字符变量。
下列输入语句中哪一个是错误的()。
A、scanf("
%d,%c"
&
a,&
c);
B、seanf("
%d%c"
a,c);
C、scanf("
D、scanf("
d=%d,c=%c"
20.字符变量ch='
A'
,int类型变量K=25,语句printf("
%3d,%d3\n"
ch,k);
输出()。
A、65,253B、65253C、65,25D、A25
21.下列各语句序列中,能够且仅输出整型变量a、b中最大值的是()。
A、if(a>
b)printf("
%d\n"
a);
printf("
b);
B、printf("
if(a>
C、if(a>
elseprintf("
D、if(a<
22.
下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是()。
C、printf("
%d"
if(a>
b)aelseb);
D
24.
下列语句应将小写字母转换为大写字母,其中正确的是(
A、if(ch>
='
a'
ch<
z'
)ch=ch-32;
B
C、ch=(ch>
)?
ch-32:
”;
25.求整数1至10的和并存入变量s,下列语句中错误的是()。
A、s=0;
for(i=1;
i<
=10;
i++)s+=i;
B、s=0;
i=1;
for(;
i++)s=s+i;
C、for(i=1,s=0;
s+=i,i=i+1);
D、for(i=1;
s=0;
26.若sizeof(int)为2,计算1至10的乘积,下列语句序列中正确的是()。
A、intjc=1;
for(inti=2;
i++)jc*=i;
B、for(floatjc=1,inti=2;
i++,jc*=i);
C、floatjc=1;
jc*=i,i=i+1);
D、for(floatjc=1;
i=2;
27.下列语句中,哪一个可以输出26个大写英文字母()。
A、for(a='
;
a<
Z'
printf("
%c"
++a));
B、for(a='
'
a++)printf("
C、for(a='
a++));
D、for(a='
28.与语句while(i>
=10){if(i++==5)continue;
%f\n"
1.0/(i-5));
}
功能相同的是()。
A、for(;
i>
i++)if(i!
=5)printf("
B、for(;
i++)if(i==5)printf("
C、for(;
%f\in"
elsebreak;
A、x+5/y-5B、x+5/y-5;
C、(x+5)/(y-5)D、(x+5)/(y-5);
36.定义带参数的宏"
#definejh(a,b,t)t=a;
a=b;
b=t”,使两个参数a、b的值交换,下
列表述中哪个是正确的()。
A、不定义参数a和b将导致编译错误B、不定义参数a、b、t将导致编译错误
B、不定义参数t将导致运行错误D、不必定义参数a、b、t类型
37.下列语句定义p为指向float类型变量d的指针,其中哪一个是正确的()。
A、floatd,*p=d;
B、floatd,*p=&
d;
C、float*p=&
d,d;
D、floatd,p=d;
38.对语句“inta[10],*p=a;
”,下列表述中哪一个是正确的()。
A、*p被赋初值为a数组的首地址B、*p被赋初值为数组元素a[0]的地址
C、p被赋初值为数组元素a[1]的地址D、p被赋初值为数组元素a[0]的地址
39.p1指向某个整型变量,要使指针p2也指向同一变量,哪一个语句是正确的()。
、p2=*&
p1;
B、p2=**p1;
C
、p2=&
D、p2=*p1;
40.
假如指针p已经指向变量x,则&
*p相当于()。
、xB、*pC
、&
x
D
、**p
41.
假如指针p已经指向某个整型变量x,
则(*p)++相当于
F(
、p++B、x++C
、*(p++)
x++
42.
数组定义为“inta[4][5];
”,引用“
a+3表示()
。
、a数组第4列的首地址B
、a数组第
1行第4列兀素的值
C、a数组第4行的首地址D、a数组第1列第4行元素的值
43.数组定义为“inta[4][5];
”,引用“a[1]+3”表示()。
A、a数组第2行第4列元素的地址B、a数组第2行第4列元素的值
C、a数组第4行的首地址D、a数组第1行第4列的首地址
2填空题
1.设floatx=2.5,y=4.7;
inta=7;
,表达式x+a%3*(int)(x+y)%2/4的值为。
2.设intx=17,y=5;
执行语句x+=--x%--y后x的值为。
3.设intx=17,y=5;
执行语句x%=x++/--y后x的值为。
4.设inta=7,b=6,c=5;
,表达式(a+b)>
(c*c)&
b==c||c>
b的值为。
5.设inta=3,b=5,c=7;
,表达式a>
c||c>
b!
c==b+a的值为。
6.已知三角形边长a、b、c和s=(a+b+c)/2,计算其面积的算术表达式为。
7.方程ax2+bx+c=0系数a、b、c且存在两个实根,计算其中一个实根的算术表达式
为。
8.p为本金,r为1年期存款年利率,计算存款p元5年到期时本金、利息总和(计复利)
的算术表达式为。
9.将数学式(x+1)e2x写作算术表达式为。
10.ch是字符变量,判断ch为大写英文字母的逻辑表达式为。
11.判断int类型变量n是否为两位整数的逻辑表达式为。
12.判断变量a、b的值均不为0的逻辑表达式为。
13.判断变量a、b是否绝对值相等而符号相反的逻辑表达式为。
14.判断变量a、b中必有且只有一个为0的逻辑表达式为。
15.m是值为两位数的整型变量,判断其个位是奇数而十位数是偶数的逻辑表达式为。
16.求解赋值表达式a=5+(c=6)后表达式值、a、c的值依次为。
17.求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c的值依次为。
18.求解逗号表达式x=a=3,6*a后,表达式值、x、a的值依次为。
19.求解逗号表达式(a=15,a*4),a+5,表达式值、a的值依次为。
20.求变量a、b中最大值的条件表达式为。
21.若a=13、b=25、c=-17,条件表达式((y=(a<
b)?
a:
b)<
c)?
y:
c的值为。
22.若s='
d'
,执行语句s=(s>
s<
)?
s-32:
s;
字符变量s的值为。
23.整型变量x的值为25,语句"
%o"
x);
"
的输出结果为。
24.整型变量m的值为27,语句printf("
m=%x"
m);
的输出结果为。
25.语句printf("
s%s"
"
mall"
);
26.若intk=10,循环语句while(k=0)k=k-1;
执行次。
27.若intk=2,循环语句while(k!
=0){printf("
k);
k--;
}执行次。
28.若inti=10,s=0;
,执行语句while(s+=i--,--i);
后s、i值分别为。
29.语句for(ints,i=1;
=100;
s+=i,i++);
能否计算1〜100的和?
原因是。
30.若int类型变量字长为2,程序段intjc=1;
10;
i++)jc*=i;
能否计
算10的阶乘?
原因是。
31.定义a为共有10个元素的静态存储int类型数组的语句为。
32.定义a为长度为10的字符串、同时为字符串赋初值"
continue"
的语句为。
33.定义a为共有5个元素的一维整型数组、同时定义p为指向a数组首地址的指针变量的
语句为。
34.定义a为4行5列的整型数组、同时定义p为指向a数组首地址的指针变量的语句为_。
35.如定义语句为"
chara[]="
windows"
b[]="
95"
”,
语句"
printf("
%s"
strcat(a,b));
的输出结果为
36.
定义语句为chara[15],b[]="
windows95"
,则语句printf("
strcpy(a,b));
37.
定义chara[]="
Box"
Boss"
,语句printf("
strcmp(a,b));
输出
38.
定义chara[10]="
student"
,语句
printf("
strlen(a));
输出结果为
39.
WINDOWS"
语句printf("
strlwr(a));
输出
hangzhou"
*p=a;
执行for(inti=O;
*p!
\O'
p++,i++);
后i的值为
宏疋义#definef(x,y)printf(x,y)
的引用f("
置换展开后为
宏疋义#definef(x,y)fopen(x,y)
a.txt"
rw"
43.
宏定义#definef(c)c>
c<
-'
的引用f(x[i])
44.
表达式3&
5、3|5、3||5的值分别为
、、
45.
设intx-707,表达式xAx、x|x、
~xAx的值分别为
、、。
O
46.设intx=0707
47.
48.
49.
50.
函数的参数为
,表达式~x&
x、!
x&
x、x>
>
3&
~0的值分别为int类型时,虚参与实参结合的传递为
类型时,虚参与实参结合的传递为
虚参与实参结合的传递为
f(3)的返回值是
floatchar*
函数的实参为常量时,
51.对下列递归函数,函数调用
intf(intn){return((n==0)?
1:
f(n_1)+2);
52.函数f定义如下,调用f("
1475"
)的返回值为。
intf(char*s){intk=0;
while(*s)k+=*s++-'
O:
returnk;
53.函数change定义如下,a=10、b=5,执行change(a,b)后a、b的值分别为
voidchange(inta,intb){intt=0;
t=a;
a=b;
b=t;
54.开辟一个存储n个int数据的内存区、并将内存区首地址送入p(指向int类型的指针
变量)的语句为。
55.释放由p所指向的内存区的语句为_
56.fp为文件位置指针,将fp移到离当前位置25个字节处的语句为。
3写输出结果题
1.#include<
stdio.h>
voidmain()
{charch;
intk=0;
for(ch='
H'
ch++,k++)if(k%2==0)printf("
%c"
ch);
\n"
}输出结果:
2.#include<
{intk=0;
charc='
do{
switch(c++){
case'
:
k++;
break;
B'
caseC:
k+=2;
D'
k=k%2;
E'
k=k*10;
default:
k=k/3;
k++;
}while(cv'
G'
k=%d\n"
k);
3.#include<
{inta[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j;
for(i=0;
6;
i++){
for(j=0;
j<
j++)if(a[i]==b[j])break;
if(j<
6)printf("
%d”,a[i]);
4.#include<
{inta[8]={1,0,1,0,1,0,1,0},i;
for(i=2;
8;
i++)a[i]+=a[i-1]+a[i-2];
for(i=0;
i++)printf("
%d"
a[i]);
5.#include<
{ints=1,t=1,a,n;
scanf("
%d%d"
n);
for(inti=1;
n;
i++){t=t*io+i;
s=s+t;
s*=a;
printf("
SUM=%d\n"
s);
6.#include<
#definePR(x,y)printf("
%s=\t%d\n"
x,y)voidmain()
{intx=3,y=2,z=1;
PR("
x|y&
z"
x|y&
z);
PR("
xAy&
~z"
xAy&
~z);
x&
y&
z"
x&
z);
x=1;
y=-1;
!
x|x"
!
x|x);
~x|x"
~x|x);
输入数据:
2,4
输出结果:
7.#include<
{inta[5]={2,4,6,9,12},b[6]={2,3,4,6,8,9};
for(inti=0;
5;
i++)for(intj=0;
j++)if(*(a+i)==*(b+j))printf("
*(a+i));
\n”);
8.#inelude<
#inelude<
string.h>
{charstr1[]="
*******"
for(inti=0;
4;
%s\n"
str1);
str1[i]='
'
str1[strlen(str1)-1]='
9.#include<
{chara[5][8];
j++)if(i==0||i==4)a[i][j]='
elsea[i][j]='
i++){a[i][0]='
|'
a[i][5]='
}for(i=0;
i++)a[i][6]='
\0'
输出结果:
10.#include<
{chara[8],temp;
inti,j;
7;
i++)a[i]='
+i;
3;
temp=a[0];
for(j=1;
j++)a[j-1]=a[j];
a[6]=temp;
a[7]='
\0:
%s\n”,a);
11.#include<
{inti,j,n;
for(j=1;
=i;
j++)printf("
n=7-2*i;
=n;
%1d"
n);
12.#include<
intj,k;
j++)a[j]='
+j;
j++){
temp=a[6];
for(k=6;
k>
0;
k--)a[k]=a[k-1];
a[0]=temp;
13.#include<
voidprint(int,char,int);
{print(3,'
*'
1);
print(2,'
3);
print(1,'
5);
#'
print(2,'
voidprint(intbegin,charpzf,intn)
{chara[50];
for(inti=0;
begin;
i++)a[begin+i]=pzf;
运行时输入:
5-73
H
a[begin+i]='
\O:
14.#include<
{inta,b,c,find(int,int,int);
%d%d%d"
&
a,&
b,&
%d\n%d,%d,%d\n"
find(a,b,c),a,b,c);
intfind(inta,intb,intc)
{intu,s,t;
u=((u=(a>
b)?
b)>
u:
c;
t=((t=(a<
t:
s=a+b+c-u-t;
a=u;
b=s;
c=t;
returns;
15.#include<
voidfun1(intn,inta[][3])
{for(inti=0;
i++)
for(intj=O;
n;
j++)a[i][j]=a[i][j]/a[i][i];
{inta[3][3]={{6,4,2},{8,6,4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙工大 语言 复习题 参考答案
![提示](https://static.bdocx.com/images/bang_tan.gif)