浙工大C语言复习题与参考答案文档格式.docx

上传人:b****5 文档编号:16893597 上传时间:2022-11-26 格式:DOCX 页数:39 大小:302.01KB
下载 相关 举报
浙工大C语言复习题与参考答案文档格式.docx_第1页
第1页 / 共39页
浙工大C语言复习题与参考答案文档格式.docx_第2页
第2页 / 共39页
浙工大C语言复习题与参考答案文档格式.docx_第3页
第3页 / 共39页
浙工大C语言复习题与参考答案文档格式.docx_第4页
第4页 / 共39页
浙工大C语言复习题与参考答案文档格式.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

浙工大C语言复习题与参考答案文档格式.docx

《浙工大C语言复习题与参考答案文档格式.docx》由会员分享,可在线阅读,更多相关《浙工大C语言复习题与参考答案文档格式.docx(39页珍藏版)》请在冰豆网上搜索。

浙工大C语言复习题与参考答案文档格式.docx

(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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1