C语言程序设计习题打印.docx

上传人:b****0 文档编号:16920776 上传时间:2023-07-19 格式:DOCX 页数:16 大小:19.03KB
下载 相关 举报
C语言程序设计习题打印.docx_第1页
第1页 / 共16页
C语言程序设计习题打印.docx_第2页
第2页 / 共16页
C语言程序设计习题打印.docx_第3页
第3页 / 共16页
C语言程序设计习题打印.docx_第4页
第4页 / 共16页
C语言程序设计习题打印.docx_第5页
第5页 / 共16页
C语言程序设计习题打印.docx_第6页
第6页 / 共16页
C语言程序设计习题打印.docx_第7页
第7页 / 共16页
C语言程序设计习题打印.docx_第8页
第8页 / 共16页
C语言程序设计习题打印.docx_第9页
第9页 / 共16页
C语言程序设计习题打印.docx_第10页
第10页 / 共16页
C语言程序设计习题打印.docx_第11页
第11页 / 共16页
C语言程序设计习题打印.docx_第12页
第12页 / 共16页
C语言程序设计习题打印.docx_第13页
第13页 / 共16页
C语言程序设计习题打印.docx_第14页
第14页 / 共16页
C语言程序设计习题打印.docx_第15页
第15页 / 共16页
C语言程序设计习题打印.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计习题打印.docx

《C语言程序设计习题打印.docx》由会员分享,可在线阅读,更多相关《C语言程序设计习题打印.docx(16页珍藏版)》请在冰点文库上搜索。

C语言程序设计习题打印.docx

C语言程序设计习题打印

程序设计基础复习题

一、填空题

1、C语言所提供的实型变量分为两种类型,它们是。

2、一个C源程序中至少应包含一个。

3.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’-’3’的值为。

4.在标准C语言中,输入操作是由库函数完成的,输出操作是由库函数

完成的。

5.对以下说明:

intc[10]={116,125,218,312,100,40,13,67,186};

c[4]的值为。

6.在C语言中,引用数组元素时,引用数组元素时,其数组下标的数组类型允许

是。

7.设y为int型变量,请写出描述“y是偶数”的表达式。

8.设inti=0,j=1,k=2,a=3,b=4;执行表达式(a=ik)的值为。

9.与表达式a+=b等价的另一书写形式是。

10.有以下定义和语句

inta[3][2]={1,2,3,4,5,6,},*p[3];

p[0]=a[1];

则*(p[0]+1)所代表的数组元素是。

11.代表一个反斜杠字符“\”的转义字符是。

12.变量的指针就是变量的地址,存放变量地址的变量就是,它用来指向另一个变量。

13.++i和i++的不同之处在于。

14.设x、y和z是int型变量,且x=3,y=4,z=5,则表达式!

((x

z||1)值为。

15.已知函数intf(intk){return((k<0)?

1:

f(k-2)+2);}

则f(3)的值是。

16.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为。

17.计算表达式:

x=(i=4,j=10,k=24)后,x的值为。

18.若a和b均是int型变量,且a和b的初值均为5,则计算表达式a+=b++后,a的值为,b的值为。

19.设inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则表达式*(p+8)的值是。

20.若有以下定义:

chara;intb;

floatc;doubled;

则表达式a*b+d-c值的类型为。

21.*(p++)和*(++p)作用不同,它们的意义分别是

二、程序理解题

请给出运行以下程序的输出结果:

1.

#include

voidmain()

{intu=24,v=16,w;

while(v)

{w=u%v;u=v;v=w;}

printf("%d\n",u);

}

输出结果为:

2.

voidmain()

{chars[]"Yes\n/No",*ps=s;

puts(ps+4);

*(ps+4)=0;

puts(s);

}

输出结果:

3.

voidmain()

{intp[7]={11,13,14,15,16,17,18};

inti=0,j=0;

while(i<7&&p[i]%2==1)j+=p[i++];

printf("%d\n",j);

}

输出结果:

4、下列程序的运行结果是。

voidmain()

{intarr_sum(intarr[],intn);

inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};

int*p,total;

p=a[0];

total=arr_sum(p,12);

printf(“total=%d\n”,total);

}

intarr_sum(intarr[],intn)

{inti,sum=0;

for(i=0;i

sum=sum+arr[i];

return(sum);

}

 

5.给出以下程序的运行结果:

voidmain()

{inta,b,c;

a=25;

b=025;

c=0x25;

printf("%d,%d,%d\n",a,b,c);

}

运行结果:

6.给出有下面一段程序的运行结果。

voidmain()

{intp[7]={11,13,14,15,16,17,18};

inti=0,,j=0;

while(i<7&&p[i]%2==1)j+=p[i++];

printf("%d\n",j);

}

运行结果:

7.给出有下面一段程序的运行结果。

#include

intfac(intn)

{

staticintf=1;

f=f*n;

return(f);

}

voidmain()

{

inti;

for(i=1;i<=5;i++)

printf("%d!

=%d\n",i,fac(i));

}

答案:

8.请给出运行以下程序的运行结果:

voidmain()

{inta[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};

inti=0,j=0,s=0;

while(i++<4)

{if(i==2||i==4)continue;

j=0;

do{s+=a[j];j++;}while(j<4);

}

printf("%d\n",s);

}

运行结果:

三、程序填空题

1.以下程序可判断输入的一个整数是否能被5或13整除,若能整除,输出“yes”并换行,否则输出“no”并换行。

请填空。

#include

voidmain()

{intk;

printf(“Enteraintnumber:

”);

scanf(“%d”,&k);

if_____________

printf(“yes\n”);

else

printf(_____);

}

2.下面程序是将键盘输入的英文字符全改为小写英文字符输出,用换行符结束循环。

请填空。

#include

voidmain()

{

charc;

while()

{

if()

c=c+32;

printf("%c",c);

}

printf("\n");

}

3.有一个一维数组score,内放10个学生成绩,求平均成绩,请填空。

#include

floataverage(floatarray[10]);

voidmain()

{floatscore[10],aver;

inti;

printf("input10scores:

\n");

for(i=0;i<10;i++)

scanf("%f",);

printf("\n");

aver=average(score);

printf("averagescoreis%5.2f",aver);

}

floataverage(floatarray[10])

{inti;

floataver,sum=array[0];

for()

sum=sum+array[i];

;

;

}

4.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。

请填空。

voidmain()

{inti,a[20],sum,count;

sum=count=0;

for(i=0;i<20;i++)scanf("%d",);

for(i=0;i<20;i++)

{if(a>0)

{count++;

sum+=;

}

}

printf("sum=%d,count=%d\n",sum,count);

}

5.下面程序可以逐行输出由language数组元素所指向的5个字符串。

请填空。

#include

voidmain()

{char*language[]={“BASIC”,“FORTRAN”,“PROLOG”,“JAVA”,

“C++”};

char;

intk;

for(k=0;k<5;k++)

{q=;

printf(“%s\n”,*q);

}

}

6.以下程序的功能是:

从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串,请填空。

#include

voidmain()

{charstr[81],*sptr;

inti;

for(i=0;i<80;i++)

{str[i]=getchar();

if(str[i]=='\n')break;

}

str[i]=;

sptr=str;

while(*sptr)putchar(*sptr);

}

7、程序的功能是用递归方法计算第五位学生的年龄,请填空。

递归公式如下:

10(n=1)

age(n)=

age(n-1)+2(n>1)

程序:

intage(intn)

{intc;

if()

c=;

else

c=;

return(c);

}

voidmain()

{printf(“age:

%d\n”,age(5));

}

 

8)下面程序的功能是在三个字符串中找出最小的,请填空:

#include

#include

voidmain()

{chars[20],str[3][30];

inti;

for(i=0;i<3;i++)gets(str[i]);

strcpy(s,();

if(strcmp(str[2],s)<0)strcpy(s,str[2]);

print(“%s\n”,);

}

9)以下程序的功能是:

通过指针操作,找出三个整数中的最小值并输出。

请填空。

#include

voidmain()

{int*a,*b,*c,num,x,y,z;

a=&x;b=&y;c=&z;

printf(“输入3个整数:

”);

scanf(“%d%d%d”,a,b,c);

printf(“%d,%d,%d\n”,*a,*b,*c);

num=*a;

if(*a>*b);

if(num>*c);

printf(“输出最小整数:

%d\n”,num);

}

10.C语言源程序文件的后缀是___________,经编译后生成的文件的后缀是_______,连接后生成的文件的后缀是.exe。

 

11.从键盘输入一个大写字母,要求改用小写字母输出。

请填空:

#include

voidmain()

{charc1,c2;

c1=;

printf(“%c,%d\n”,c1,c1);

;

printf(“%c,%d\n”,c2,c2);

}

12.以下程序的功能是:

从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串。

请填空:

#include

voidmain()

{charstr[81],*sptr;

inti;

for(i=0;i<80;i++)

{str[i]=getchar();

if(str[i]=='\n')break;

}

str[i]=;

sptr=str;

while(*sptr)putchar(*sptr;

}

13.输入三角形的三边长,求三角形面积。

请填空:

voidmain()

{float;

scanf(“%f,%f,%f”,&a,&b,&c);

s=1.0/2*(a+b+c);

area=;

printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n”,a,b,c,s);

printf(“area=%7.2f\n”,area);

}

14.判断m是否素数。

请填空:

#include

#include

voidmain()

{

intm,i,k;

scanf("%d",&m);

;

for(i=2;i<=k;i++)

if()break;

if()printf("%disaprimenumber\n",m);

elseprintf("%disnotaprimenumber\n",m);

}

15.以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。

如’a’变成‘f’,’w’变成’b’。

请填空:

#include

voidmain()

{charc;

c=getchar();

if(c>=’a’&&c<=’u’);

elseif(c>=’v’&&c<=z);

putchar(c);

}

16.输入三个整数x,y,z,请把这三个数由小到大输出。

请填空:

#include"stdio.h"

#include"conio.h"

main()

{

intx,y,z,t;

scanf("%d%d%d",&x,&y,&z);

if(x>y)

{}/*交换x,y的值*/

if(x>z)

{}/*交换x,z的值*/

if(y>z)

{}/*交换z,y的值*/

printf("smalltobig:

%d%d%d\n",x,y,z);

}

17.求1!

+2!

+3!

+4!

+…+20!

的值。

请填空:

#include

voidmain()

{floats=0,t=1;

intn;

for(n=1;n<=20;n++)

{

;

;

}

printf("1!

+2!

+...+20!

=%c\n",s);

}

18.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

请填空:

#include"stdio.h"

#include"conio.h"

main()

{

charc;

intletters=0,space=0,digit=0,others=0;

printf("pleaseinputsomecharacters\n");

while(!

='\n')

{

if()

letters++;

elseif(c=='')

space++;

elseif(c>='0'&&c<='9')

digit++;

else

others++;

}

printf("allinall:

char=%dspace=%ddigit=%dothers=%d\n",letters,

space,digit,others);

}

19.以下程序是通过指针操作,找出三个整数中的最小值并输出。

请填空:

#include

voidmain()

{int*a,*b,*c,num,x,y,z;

a=&x;b=&y;c=&z;

printf(“输入3个整数:

”);

scanf(“%d%d%d”,a,b,c);

printf(“%d,%d,%d\n”,*a,*b,*c);

num=*a;

if(*a>*b);

if(num>*c);

printf(“输出最小整数:

%d\n”,num);

}

20.下面程序的功能是打印100以内个位数为6且能被3整除的所有数。

请填空。

#include

voidmain()

{inti,j;

for(i=0;;i++)

{j=i*10+6;

if()continue;

printf(“%d”,j);

}

}

四、编程题

1.给学生成绩,要求输出成绩等级‘A’‘B’‘C’‘D’‘E’。

90分以上为‘A’,80-89分为‘B’,70-79分为‘C’,60-69分为‘D’,60分以下为‘E’。

2.输入一数组各元素值,将这个数组中的值按逆序重新存放(如原来顺序为5,4,3,2,1要求改为1,2,3,4,5)。

3、将一个2×3的二维数组中行与列的元素互换并存到另一个二维数组中。

设原数组的初值为{{1,2,3},{4,5,6}}。

4.用选择法对10个数排序(由小到大)。

要求从键盘输入这10个数。

 

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2