C练习题汇总修改文档格式.docx

上传人:b****6 文档编号:16786201 上传时间:2022-11-26 格式:DOCX 页数:28 大小:22.36KB
下载 相关 举报
C练习题汇总修改文档格式.docx_第1页
第1页 / 共28页
C练习题汇总修改文档格式.docx_第2页
第2页 / 共28页
C练习题汇总修改文档格式.docx_第3页
第3页 / 共28页
C练习题汇总修改文档格式.docx_第4页
第4页 / 共28页
C练习题汇总修改文档格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

C练习题汇总修改文档格式.docx

《C练习题汇总修改文档格式.docx》由会员分享,可在线阅读,更多相关《C练习题汇总修改文档格式.docx(28页珍藏版)》请在冰豆网上搜索。

C练习题汇总修改文档格式.docx

B:

此说明语句不正确

C:

数组a中各元素都可得到初值,但其值不一定为0

D:

数组a中每个元素均可得到初值0

D

2、若有下列定义,则对a数组元素a[2]的正确引用是()。

inta[5],*p=a;

*(p+5)

*p+2

*(a+2)

*&

a[5]

C

3、为表示关系x≥y≥z,应使用C语言表达式

(x>

=y)&

(y>

=z)

=y)AND(y>

=y>

=z)&

A

4、设有说明:

charc;

intx;

doublez;

则表达式c*x+z值的数据类型为

float

int

char

double

5、能正确表示逻辑关系:

"

a≥10或a≤0"

的C语言表达式是

a>

=10ora<

=0

=0|a<

=10

=10&

a<

=10||a<

6、已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中

不正确的是()。

p=&

j,p1=p;

p=a;

a[j];

p=10;

7、C语言的if语句嵌套时,if与else的配对关系是()。

每个else总是与它前面的最近的且未与其它else配对的if配对

每个else总是与最外层的if配对

每个else与if的配对是任意的

每个else总是与它上面的if配对

8、已知x=43,ch='

A'

,y=0;

则表达式(x>

=y&

ch<

'

B'

y)的值是()。

语法错

1

假"

9、如果inta=2,b=3,c=0,下列描述正确的是

b!

=c和a>

(b!

=c)的执行顺序是一样的

a!

=(b!

=c)表达式的值为1

a||(b=c)执行后b的值为0

a&

b>

c的结果为假

B

10、C语言规定,在一个源程序中,main函数的位置()。

必须在最开始

必须在系统调用的库函数的后面

可以任意

必须在最后

11、下列字符序列中,不可用作C语言标识符的是()。

b70

#ab

symbol

a_1

12、在C语言中,代表逻辑值“真”的是()。

True

一定要大于0的数

一定要非0整数

只要非0的数就可以

13、任何一个C语言的可执行程序都是从____开始执行的.

程序中的第一个函数

main()函数的入口处

程序中的第一条语句

编译预处理语句

14、下列语句中,不正确的是()。

chara[2]={1,2};

inta[2]={'

1'

'

2'

};

chara[2]={'

3'

15、若有说明:

int*p1,*p2,m=5,n;

以下均是正确赋值语句的选项是()。

p1=&

m;

p2=&

p1

*p1=*p2;

n;

p2=p1;

*p2=*p1;

16、在C语言中,调用无参函数除函数名外,还必须有()。

函数预说明

实际参数

()

函数返回值

17、以下叙述中正确的是()。

C程序中注释部分可以出现在程序中任意合适的地方

花括号“{“和”}”只能作为函数体的定界符

构成C程序的基本单位是函数,所有函数名都可以由用户命名

分号是C语句之间的分隔符,不是语句的一部分

18、变量p为指针变量,若p=&

a,下列表达式值为假的是()。

*p==&

a

a==a

(*p)++==a++

*(++p)==a++

 

19、inta=3,b=2,c=1;

if(a>

c)a=b;

elsea=c;

则a的值为()。

3

2

20、在以下给出的表达式中,与do--while(E)语句中的(E)不等价的

表达式是()。

(!

E==0)

(E>

0||E<

0)

(E==0)

(E!

=0)

21、若用数组名作为函数的实参,传递给形参的是()。

数组的首地址

数组第一个元素的值

数组中全部元素的值

数组元素的个数

22、putchar函数可以向终端输出一个()。

整型变量表达式值

实型变量值

字符串

字符或字符型变量值

三、程序填空

第1题

功能:

从键盘上输入一个正整数,判断其是否是回文数。

说明:

所谓回文数是指顺序读与反序读都是一样的数,如121、25852都是回文数。

将整数的各位依次存入数组a中,然后再进行判断

#include<

stdio.h>

intmain()

intnum,a[10],r;

inti=0,j,flag=1;

/*flag作为是否为回文的标志*/

scanf("

%d"

&

num);

if(num<

=0)return-1;

do

{

r=num%10;

/***********SPACE***********/

【?

】;

num=num/10;

i++;

}while(num%10!

=0);

for(j=0,i--;

i>

=j;

i--,j++)

if(a[j]!

=a[i])

flag=0;

/***********SPACE***********/

}

if(【?

】)

printf("

是回文\n"

else

不是回文\n"

return0;

}

=======(答案1)=======

a[i]=r

=======(答案2)=======

break;

=======(答案3)=======

flag或flag!

=0或flag==1

=========或=========

i<

j或flag>

第2题

用冒泡排序法对数组a进行由小到大的排序。

voidfun(inta[],intn)

inti,j,t;

for(j=0;

j++)

for(i=0;

i++)

if(【?

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

inti,a[10]={3,7,5,1,2,8,6,4,10,9};

for(i=0;

10;

%3d"

a[i]);

j<

n-1或j<

=n-2

n-j-1或i<

=n-j-2

a[i]>

a[i+1]

=======(答案4)=======

fun(a,10)

第3题(10.0分)题号:

76

找出数组中最大值和此元素的下标,数组元素的值由键盘

输入。

voidmain()

inta[10],*p,*s,i;

【?

】);

for(p=a,s=a;

【?

】<

p++)

if(*p【?

】*s)s=p;

max=%d,index=%d\n"

【?

】,s-a);

a+i或&

a[i]

p-a

>

*s

第4题(15.0分)题号:

27

输出100到1000之间的各位数字之和能被15整除的所有数,

输出时每10个一行。

intm,n,k,i=0;

for(m=100;

m<

=1000;

m++)

n=m;

do

k=k+【?

】;

n=n/10;

if(k%15==0)

%5d"

m);

i++;

if(i%10==0)【?

k=0

n%10或n-n/10*10

while(n>

0)或while(n!

=0)或while(n)

\n"

)或puts("

)或putchar('

第5题

用函数调用方式,实现字符串的复制。

voidstring_copy(char*str_from,char*str_to)

inti=0;

for(;

(*(【?

】)=*(str_from+i))!

='

\0'

i++);

staticchararray_str1[20]="

iamateacher."

chararray_str2[20];

(array_str1,array_str2);

("

array_str2=%s\n"

array_str2);

str_to+i

string_copy

printf

第6题

以下程序是用选择法对10个整数按从小到大顺序排序。

每一趟均找到未排好序的数中的最小数的位置,然后将其交换到正确的位置

#defineN10

inti,j,k,t,a[N];

=N-1;

a[i]);

/*输入10个整数*/

N-1;

for(j=i+1;

if(a[j]<

a[k])k=j;

a[i]=a[k];

a[k]=t;

outputthesortedarray:

k=i

N或j<

=N-1

k!

=i或k>

i

第7题

打印出如下字母塔。

最后一行字母前无空格

A

BBB

CCCCC

DDDDDDD

inti,j,k;

i++)

for(j=0;

3-i;

"

for(k=1;

k<

=【?

k++)

printf(【?

=3或i<

4

2*i+1

%c"

+i或"

65+i

第8题

从读入的整数数据中,统计大于零的整数个数和小于零的

整数个数。

用输入零来结束输入,程序中用变量i统计大于

零的整数个数,用变量j统计小于零的整数个数。

intn,i,j;

EnteriNTnumber,with0toend\n"

i=j=0;

n);

while(n!

if(n>

0)i=【?

if(n<

0)j=【?

i=%4d\n"

i,j);

i+1

j+1

n

四、程序改错

第1题

求出数组中最大数和次最大数,并把最大数和a[0]中的数

对调、次最大数和a[1]中的数对调。

#defineN20

voidfun(inta[],intn)

{

inti,m,t,k;

2;

i++)/*两次循环,分别找最大数和次大数*/

/**********FOUND**********/

m=0;

for(k=i;

if(a[k]>

a[m])k=m;

a[i]=a[m];

a[m]=t;

intmain()

intb[N]={11,5,12,0,3,6,9,7,10,8},n=10,i;

for(i=0;

i<

i++)printf("

%d"

b[i]);

fun(intb[N],n);

i++)

m=i;

if(a[k]>

a[m])m=k;

fun(b,n);

利用条件运算符的嵌套来完成此题:

学习成绩>

=90分的同

学用A表示,70-89分之间的用B表示,60-69分之间的用C表示,

60分以下的用D表示。

intscore;

char*grade;

pleaseinputascore\n"

score);

if(score<

0&

score>

100)

超出范围!

switch(score)

case9:

case10:

grade='

break;

case7:

case8:

case6:

C'

/***********FOUND***********/

caseelse:

D'

}

%dbelongsto%c\n"

score,grade);

chargrade;

scanf("

score);

switch(score/10)

default:

case0:

case1:

case2:

case3:

case4:

case5:

第2题(15.0分)题号:

153

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

编写函数求2!

+4!

+6!

+8!

------------------------------------------------------*/

intsum(intn)

inti,j,t,s;

s=1;

for(i=2;

=n;

i=i+2)

t=1;

for(j=1;

t=t*j;

s=s+t;

return(t);

thissum=%ld\n"

sum(8));

s=0;

for(j=1;

=i;

returns;

92

求二分之一的圆面积,函数通过形参得到圆的半径,函数

返回二分之一的圆面积。

例如:

输入圆的半径值:

19.527输出为:

s=598.950017。

conio.h>

/**********FOUND**********/

doublefun(r)

doubles;

s=1/2*3.14159*r*r;

returnr;

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

当前位置:首页 > PPT模板 > 其它模板

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

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