当前位置:文档之家› C语言程序设计苏小红课后习题答案高等教育出版社

C语言程序设计苏小红课后习题答案高等教育出版社

C语言程序设计苏小红课后习题答案高等教育出版社
C语言程序设计苏小红课后习题答案高等教育出版社

C语言程序设计苏小红课后习题答案高等教育出版

Last revision date: 13 December 2020.

2 2 #include

main()

{

float x=2.5,y=2.5,z=2.5;

printf("x=%f\n",x);

printf("y=%f\n",y);

printf("z=%f\n",z);

}

3.1(1)

#include

main()

{

int a=12,b=3;

float x=18.5,y=4.6;

}

3.1(2)

#include

main()

{

int x=32,y=81,p,q;

p=x++;

q=--y;

printf("%d %d\n",p,q);

printf("%d %d\n",x,y);

}

3.2

#include

main()

{

int x,b0,b1,b2,s;

printf("Inputx:");

scanf("%d",&x);

b2=x/100;

b1=(x-b2*100)/10;//或(x%100)/10;或x/10%10;

b0=x%10;

s=b0*100+b1*10+b2;

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

}

3.3

#include

#include

main()

{

float rate=0.0225;

float n,capital,deposit;

printf("Input n,capital:");

scanf("%f,%f",&n,&capital);

deposit=capital*pow(1+rate,n);

printf("deposit=%f\n",deposit); }

3.4

#include

#include

main()

{

float a, b, c;

double x, y;

printf("Input a, b, c:");

scanf("%f %f %f", &a, &b, &c);

x=(-b+sqrt(b*b-4*a*c))/(2*a);

y=(-b-sqrt(b*b-4*a*c))/(2*a);

printf("x=%f,y=%f\n",x,y);

}

习题4

4.1(1)

#include

main()

{

}

4.1(2)

#include

main()

{

int a=12,b=15;

}

4.1(3)

#include

main()

{

int a,b;

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

}

4.2

#include

main()

{

long a,b;

float x,y;

scanf("%d,%d\n",&a,&b);

scanf("%f,%f\n",&x,&y);

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

printf("x=%f,b=%f\n",x,y);

}

5.1

#include

main()

{

float a;

printf("Input a:");

scanf("%f",&a);

if(a>=0)

{

a=a;

printf("a=%f\n",a);

}

else

{

a=-a;

printf("a=%f\n",a);

}

}

5.2

#include

main()

{

int a;

printf("Input a:");

scanf("%d", &a);

if(a%2==0)

{

printf("a 是偶数");

}

else

{

printf("a 是奇数");

}

}

5.3

#include

#include

main()

{

float a,b,c,s,area;

printf("Input a, b, c:");

scanf("%f %f %f", &a, &b, &c);

if(a+b>c&&a+c>b&&b+c>a)

{

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

area=(float)sqrt(s*(s-a)*(s-b)*(s-c));

printf("area=%f\n",area);

else

{

printf("不是三角形");

}

}

5.4

#include

#include

main()

{

float a,b,c,x,y;

printf("Inputa,b,c:");

scanf("%f,%f,%f",&a,&b,&c);

if(a==0)

{

printf("该方程不是一元二次方程\n");

}

if(b*b-4*a*c>0)

{

x=(-b+sqrt(b*b-4*a*c))/(2*a);

y=(-b-sqrt(b*b-4*a*c))/(2*a);

printf("x=%f,y=%f\n",x,y);

}

else if(b*b-4*a*c==0)

{

x=-b/(2*a);

y=-b/(2*a);

printf("x=%f,y=%f\n",x,y);

}

else

{

printf("该方程无实根\n");

}

}

5.5

#include

main()

{

int year,flag;

printf("Input a year:");

scanf("%d",&year);

if(year%4==0&&year%400!=0||year%400==0) {

flag=1;

}

else

{

flag=0;

if(flag==1)

{

printf("%d is a leap year !\n",year);

}

else

{

printf("%d is not a leap year !\n",year);

}

}

5.6

#include

main()

{

int year,flag;

printf("Input a year:");

scanf("%d",&year);

flag=year%400==0||year%4==0&&year%100!=0?1:0;

if(flag==1&&flag!=0)

{

printf("%d is a leap year !\n",year);

}

else

{

printf("%d is not a leap year !\n",year);

}

}

5.7

#include

main()

{

char ch;

printf("Inputch:");

scanf("%c",&ch);

if(ch>='a'&&ch<='z')

{

ch=getchar();

ch=ch-32;

printf("%c,%d\n",ch,ch);

}

else if(ch>='A'&&ch<='Z')

{

ch=getchar();

ch=ch+32;

printf("%c,%d\n",ch,ch);

}

else

{

printf("%c",ch);

}

}

5.8

#include

main()

{

char ch;

printf("Inputch:");

scanf("%c",&ch);

if(ch>=48&&ch<=57)

{

printf("ch 是数字字符\n");

}

else if(ch>=65&&ch<=90)

{

printf("ch 是大写字母\n");

}

else if(ch>=97&&ch<=122)

{

printf("ch 是小写字母\n");

}

else if(ch==32)

{

printf("ch 是空格\n");

}

else

{

printf("ch 是其他字符\n");

}

}

5.9

#include

main()

{

int score,grade;

printf("Input score:");

scanf("%d",&score);

grade=score/10;

if(score<0||score>100)

{

printf("Input error\n");

}

if(score>=90&&score<=100)

{

printf("%d--A\n",score);

}

else if(score>=80&&score<90)

{

printf("%d--B\n",score);

}

else if(score>=70&&score<80)

{

printf("%d--C\n",score);

}

else if(score>=60&&score<70)

{

printf("%d--D\n",score);

}

else if(score>=0&&score<60)

{

printf("%d- -E\n",score);

}

}

5.10

#include

main()

{

int year,month;

printf("Input year,month:");

scanf("%d,%d",&year,&month);

if(month>12||month<=0)

{

printf("error month\n");

}

else

{

switch(year,month)

{

case 12:

case 10:

case 8:

case 7:

case 5:

case 3:

case 1:

printf("31 天\n");

break;

case 11:

case 9:

case 6:

case 4:

printf("30 天\n");

break;

case 2:

if(year%4==0&&year!=0||year%400==0)

{

printf("29 天\n");

}

else

{

printf("28 天\n");

}

break;

default:

printf("Input error\n");

}

}

}

6.1(1)

#include

main()

{

int i,j,k;

char space=' ';

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

{

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

{

printf("%c",space);

}

for(k=1;k<=6;k++)

{

printf("*");

}

printf("\n");

}

}

6.1(2) #include

main()

{

int k=4,n;

for(n=0;n

{

if(n%2==0) continue;

k--;

}

printf("k=%d\n,n=%d\n",k,n);

}

6.1(3) #include

main()

{

int k=4,n;

for(n=0;n

{

if(n%2==0) break;

k--;

}

printf("k=%d,n=%d\n",k,n);

}

6.2(1) #include

main()

{

int i,sum=0;

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

{

sum=sum+i;

}

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

}

6.2(2) #include

main()

{

long i;

long term,sum=0;

for(i=1;i<=101;i=i+2)

{

term=i*(i+1)*(i+2);

sum=sum+term;

}

printf("sum=%ld\n",sum);

}

6.2(4) #include

#include

main()

{

int n=1;

float term=1.0,sign=1,sum=0;

while(term<=-1e-4||term>=1e-4)

{

term=1.0/sign;

sum=sum+term;

sign=sign+n;

n++;

}

printf("sum=%f\n",sum);

}

6.2(5) #include

#include

main()

{

int n=1,count=1;

float x;

double sum,term;

printf("Input x:");

scanf("%f",&x);

sum=x;

term=x;

do{

term=-term*x*x/((n+1)*(n+2));

sum=sum+term;

n=n+2;

count++;

}while(fabs(term)>=1e-5);

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

}

6.3 #include

main()

{

int x=1,find=0;

while(!find)

{

if(x%2==1&&x%3==2&&x%5==4&&x%6==5&&x%7==0)

{

printf("x=%d\n",x);

find=1;

x++;

}

}

}

/* int x,find=0;

for (x=1;!find;x++)

{

if(x%2==1&&x%3==2&&x%5==4&&x%6==5&&x%7==0)

{

printf("x=%d\n",x);

find=1;

}

}

}*/

6.4 #include

main()

{

int i,n;

long p=1,m=1;

printf("Input n:");

scanf("%d",&n);

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

{

p=i*i;

m=i*i*i;

printf("p=%d,m=%d\n",i,p,i,m);

}

}

6.5 #include

main()

{

float c,f;

for(c=-40;c<=110;c=c+10)

{

f=9/5*c+32;

printf("f=%f\n",f);

}

}

6.6 #include

#include

main()

{

int n;

double c=0.01875,x;

do{

x=x*pow(1+c,12)-1000;

n++;

}while(x>0);

printf("x=%d\n",x);

}

6.7 #include

main()

{

int n=0;

float a=100.0,c;

printf("Inputc:");

scanf("%f",&c);

do

{

a=a*(1+c);

n++;

}while(a<=200);

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

}

6.8 #include

#include

main()

{

int n=1,count=1;

double sum=1,term=1;

while(fabs(term)>=1e-5)

{

term=pow(-1,count)*(1.0/(n+2));

sum=sum+term;

n=n+2;

count++;

}

sum=4*sum;

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

6.9 #include

#include

main()

{

int n=1,count=1;

double sum=1,term=1;

while(fabs(term)>=1e-5)

{

term=term*(1.0/n);

sum=sum+term;

n++;

count++;

}

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

}

6.10 #include

#include

main()

{

int x;

for(x=100;x<=999;x++)

{

if(x==pow(x/100,3)+pow(x/10%10,3)+pow(x%10,3))

printf("x=%d\n",x);

}

}

6.11 #include

main()

{

int i=0,n;

long sum=0,term=1;

printf("Inputn:");

scanf("%d",&n);

do{

i++;

term=term*i;

sum=sum+term;

}while(sum

printf("%d\n",i-1);

}

6.12 #include

main()

{

int i,n,m,count=0,sum=0;

printf("Input n:");

scanf("%d",&n);

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

{

printf("Inputm:");

scanf("%d",&m);

if(m>0)

{

sum=sum+m;

count++;

}

else

{

break;

}

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

}

}

6.13 #include

main()

{

int i,n,m,count=0,sum=0;

printf("Inputn:");

scanf("%d",&n);

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

{

printf("Inputm:");

scanf("%d",&m);

if(m>0||m<0)

{

sum=sum+m;

count++;

}

else

{

break;

}

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

}

}

6.14 #include

main()

{

int x,y,z;

for(x=0;x<=17;x++)

{

for(y=0;y<=25;y++)

{

3*x+2*y+z==50;

z=30-x-y;

if( 3*x+2*y+z==50&&x+y+z==30)

printf("x=%d,y=%d,z=%d\n",x,y,z);

}

}

}

6.15 #include

main()

{

int x,y;

for(x=0;x<=98;x++)

{

y=98-x;

2*x+4*y==386;

if(x+y==98&&2*x+4*y==386)

{

printf("x=%d,y=%d\n",x,y);

}

}

}

6.16 #include

main()

{

int x,y,z;

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

{

for(y=0;y<=33;y++)

{

3*y+5*x+z/3.0==100;

z=100-x-y;

if (5*x+3*y+z/3.0==100&&z+x+y==100)

{

printf("x=%d,y=%d,z=%d\n",x,y,z);

}

}

}

}

6.17 #include

main()

{

int x,y,z;

for(x=1;x<=9;x++)

{

for(y=1;y<=17;y++)

{

10*x+5*y+z==100;

z=50-x-y;

if( 10*x+5*y+z==100&&x+y+z==50&&z>0)

{

printf("x=%d,y=%d,z=%d\n",x,y,z);

}

}

}

}

7.1 #include

int Square(int i)

{

return i*i;

}

int main()

{

int i=0;

i=Square(i);

for( ;i<3;i++)

{

static int i=1;

i+=Square(i);

printf("%d,",i);

}

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

return 0;

}

7.2 #include

int hour,minute,second;

void update()

{

second++;

if(second==60)

{

second=0;

minute++;

}

if(minute==60)

{

minute=0;

hour++;

}

if(hour==24)

hour=0;

}

void display()

{

printf("%d,%d,%d\n",hour,minute,second);

}

void delay()

{

c语言程序设计教程第二版课后习题答案

c 语言程序设计教程第二版课后习题 答 案 篇一: c 语言程序设计教程_李含光_ 郑关胜_ 清华大学 出版社习题答案习题答案[完美打印版]】1.单项选择题 (1)a (2)c(3)d (4)c (5)b 2.填空题(1)函数 (2)主函数(main )(3)printf(),scanf()第 2 章习题参考答案 1.单项选择题 1-5 cbccc 6-10 cdcdc 11-13 dbb 2 .填空题 (1)1(2)26 (3)6 , 4 , 2 (4)10 , 6 (5)3.000000 (6)双精度(double )(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10 )%10 )*100+ (m/100 )*10+m%10 (12)0 (13)10 ,9 ,11(15) (x0y0)||(x0z0)||(y0||z0)(16 )double (17)x==0 (18)sqrt(fabs(a-b))/(3*(a+b))(19 )sqrt((x*x+y*y)/ (a+b)) 第 3 章习题参考答案 1.单项选择题 1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 .填空题 (1)用;表示结束(2){ } (3 )y=x0?1:x==0?0:-1 (4)y%4==0y%100!=0||y%400==0 (5)上面未配对(6)default 标号(7)while ,do while ,for (8)do while (9)本次(10)本层3.阅读程序,指出结果 (1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11) i=6 ,k=4 (12)1,-2 4 .程序填空 (1)x:y ,u :z (2)m=n ,m !=0 ,m=m/10 (3)teps , t*n/(2*n+1) , printf( n”“,%2*lsf )(4)m%5==0 ,

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

C语言程序设计苏小红版答案详解

2.2 #include main() { float x=2.5,y=2.5,z=2.5; printf("x=%f\n",x); printf("y=%f\n",y); printf("z=%f\n",z); } 3.1(1) #include main() { int a=12,b=3; float x=18.5,y=4.6; printf("%d\n",(float)(a*b)/2); printf("%d\n",(int)x%(int)y); } 3.2 #include main() { int x,b0,b1,b2,s; printf("Inputx:"); scanf("%d",&x);

b2=x/100; b1=(x-b2*100)/10; b0=x%10; s=b0*100+b1*10+b2; printf("s=%d\n",s); } 3.3 #include #include main() { float rate=0.0225; float n,capital,deposit; printf("Input n,capital:"); scanf("%f,%f",&n,&capital); deposit=capital*pow(1+rate,n); printf("deposit=%f\n",deposit); } 3.4 #include #include main() { float a,b,c;

double x,y; printf("Inputa,b,c:"); scanf("%f,%f,%f",&a,&b,&c); x=(-b+sqrt(b*b-4*a*c))/(2*a); y=(-b-sqrt(b*b-4*a*c))/(2*a); printf("x=%f,y=%f\n",x,y); } 4.1(1) #include main() { char c1='a',c2='b',c3='c'; printf("a%cb%cc%c\n",c1,c2,c3); } 4.1(2) #include main() { int a=12,b=15; printf("a=%d%%,b=%d%%\n",a,b); } 4.1(3) #include main() {

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言程序设计苏小红版答案

C语言程序设计苏小红 版答案 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

#include<> main() { float x=,y=,z=; printf("x=%f\n",x); printf("y=%f\n",y); printf("z=%f\n",z); } (1) #include<> main() { int a=12,b=3; float x=,y=; printf("%d\n",(float)(a*b)/2); printf("%d\n",(int)x%(int)y); } #include<> main() { int x,b0,b1,b2,s; printf("Inputx:"); scanf("%d",&x); b2=x/100; b1=(x-b2*100)/10; b0=x%10; s=b0*100+b1*10+b2; printf("s=%d\n",s); } #include<> #include<> main() { float rate=; float n,capital,deposit; printf("Input n,capital:"); scanf("%f,%f",&n,&capital); deposit=capital*pow(1+rate,n); printf("deposit=%f\n",deposit); } #include<> #include<> main() { float a,b,c;

double x,y; printf("Inputa,b,c:"); scanf("%f,%f,%f",&a,&b,&c); x=(-b+sqrt(b*b-4*a*c))/(2*a); y=(-b-sqrt(b*b-4*a*c))/(2*a); printf("x=%f,y=%f\n",x,y); } (1) #include<> main() { char c1='a',c2='b',c3='c'; printf("a%cb%cc%c\n",c1,c2,c3); } (2) #include<> main() { int a=12,b=15; printf("a=%d%%,b=%d%%\n",a,b); } (3) #include<> main() { int a,b; scanf("%2d%*2s%2d",&a,&b); printf("%d,%d\n",a,b); } #include<> main() { long a,b; float x,y; scanf("%d,%d\n",&a,&b); scanf("%f,%f\n",&x,&y); printf("a=%d,b=%d\n",a,b); printf("x=%f,b=%f\n",x,y); } #include<> main() { float a; printf("Innputa:"); scanf("%f",&a); if(a>=0) { a=a;

C语言程序设计 复习题库

一、填空 1. break 语句通常用于switch // 循环中。 2. C 语言对数组下标的引用一般从0 开始。 3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 4. C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在 math.h 头文件中。 5. C 程序的运行需要经过编译和链接两步进行。 6. C 程序中用/**/ 括起来的内容是程序的注释语句。 7. C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数 名和函数参数。 8. C 语言提供的三种逻辑运算符是& ,// ,!。 9. C 语言源程序经过编译后,生成文件的后缀名是.c 。 10. C 语言源程序经过连接后,生成文件的后缀名是.exe 。 11. C 语言中,关系表达式和逻辑表达式的值是1//0 。 12. C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。 13. C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。 14. C 语言中函数返回值的类型是由函数类型决定的。 15. C 源程序的基本单位是函数。 16. int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b 的值为 4 。 17. int x=1,y=1,z=1; x+=y+=z; 则表达式xb>c 的值是0 。 19. 定义一个指针p,它指向一个有 6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。 20. 定义一个指针数组p ,它有 4 个元素,每个指针指向一个整型数据,定义语句为int *p[4]; 。 21. 赋值语句是由= 加上一个分号构成。 22. 构成数组的各个元素必须具有相同的类型。 23. 关系表达式x+y>5 的相反表达式为x+y !>5 。 24. 函数strlen("1234\0xy") 的值为:9 。 25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。 26. 函数体用{ 开始,用} 结束。 27. 结构化设计中的三种基本结构是顺序,选择,循环。

《C语言程序设计》(苏小红) 课后习题答案 高等教育出版社.解析

2.2 #include main() { float x=2.5,y=2.5,z=2.5; printf("x=%f\n",x); printf("y=%f\n",y); printf("z=%f\n",z); } 3.1(1) #include main() { int a=12,b=3; float x=18.5,y=4.6; printf("%f\n",(float)(a*b)/2); printf("%d\n",(int)x%(int)y); } 3.1(2) #include main() { int x=32,y=81,p,q; p=x++; q=--y; printf("%d %d\n",p,q); printf("%d %d\n",x,y); } 3.2 #include main() { int x,b0,b1,b2,s; printf("Inputx:"); scanf("%d",&x); b2=x/100; b1=(x-b2*100)/10;//或(x%100)/10;或x/10%10; b0=x%10; s=b0*100+b1*10+b2;

printf("s=%d\n",s); } 3.3 #include #include main() { float rate=0.0225; float n,capital,deposit; printf("Input n,capital:"); scanf("%f,%f",&n,&capital); deposit=capital*pow(1+rate,n); printf("deposit=%f\n",deposit); } 3.4 #include #include main() { float a, b, c; double x, y; printf("Input a, b, c:"); scanf("%f %f %f", &a, &b, &c); x=(-b+sqrt(b*b-4*a*c))/(2*a); y=(-b-sqrt(b*b-4*a*c))/(2*a); printf("x=%f,y=%f\n",x,y); } 习题4 Array 4.1(1) #include main() { char c1='a',c2='b',c3='c'; printf("a%cb%cc%c\n",c1,c2,c3); } 4.1(2) main() { int a=12,b=15; printf("a=%d%%,b=%d%%\n",a,b); }

C语言程序设计(第二版)习题参考答案

C语言程序设计习题参考答案 习题1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F 2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。 D. 每个函数执行时,按函数体中语句的先后次序,依次执行每条语句 解:1.C 2.C 3.D 4.B 5.B 6.B 7.B 三、填空题

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言程序设计考试题库

一、判断题 1、所谓常量,就是在程序运行过程中其值可以改变的量。() 2、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。() 3、在C语言中do-while 语句和for循环均是先执行循环体语句,再判断表达式。() 4、在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。() 5、C语言中所有字符串都是以‘\0’结束的。() 6、do-while构成的循环语句中的循环体最少执行1次。() 7、数组名在C语言中表示的是数组的首地址。() 8、使用gets()函数输入字符串时可以在字符串中输入空格。() 9、算术运算符中‘/’的优先级高于‘%’。() 10、char a[5];该语句表明数组a中的第五个元素为a[5]。() 11、C语言源程序文件的扩展名均为.c。() 12、char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。() 13、C语言程序区分大小写,字符常量必须定义为大写。() 14、若int i=10,j=2;则执行i*=j+8;后i的值为28。() 15、若int x=100,y=200;则语句printf("%d",(x,y));输出结果为100。() 16、c语言中的标识符只能由字母,数字和下划线三种字符组成。() 17、函数getchar()的作用是:输出一个字符。() 18、一个C语言程序总是从第一个函数开始执行。() 19、在c语言中,char型数据在内存中是以ASCII码形式存储的。() 20、在C语言中switch语句必须使用break语句。() 二、选择题 1、以下说法正确的是()。 A、C语言程序总是从第一个函数开始执行。 B、C语言程序中要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

C语言程序设计复习题

《C语言程序设计》复习题 一、判断题(本大题共60个小题) 1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。 2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。 3.注释内容太多会影响程序的执行效率。 4.变量要“先定义,后使用”。 5.字符常量'a'与字符串常量"a"没有区别。 6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。 7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。 8.表达式5/2+5.0/2+7%6 的值为5.5。 9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。 10.设int a=12; 则表达式a/=a+a的值是0.5。 11.在C语言中,运算符!比&&的优先级高。 12.在C语言中,运算符的优先级最小的是逗号运算符。 13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。 14.以下程序运行结果是:1,7,0 void main() { int x=1,y=1,z=10; if(z< 0) if(y> 0) x=3; else x=5; printf(" %d," ,x); if(z=y< 0) x=3; else if(y==0) x=5; else x=7; printf(" %d,%d" ,x,z); } 15.该程序运行结果是:BCother void main()

{ char x=‘B’; switch(x) { case ‘A’: printf(“A”); case ‘B’: printf(“B”); case ‘C’: printf(“C”); default: printf(“other”); } } 16.下面程序段运行时输出结果是a=2,b=8 void main() { int x=1,y=1,a=2,b=7; switch(x) { case 1: switch(y) { case 0: a++;break; case 1: b++;break; } case 2: a++;b++;break; case 3: a++;b++; } printf("a=%d,b=%d\n",a,b); } 17.下面程序,当输入为:"abc?" 时,执行结果是:abc void main() { char c; c=getchar(); while (c!='?' ) { putchar(c); c=getchar();} }

(完整版)C语言程序设计选择题库及答案

单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题, 应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ??? A) print B) i\am C) Pxq D) str_l ??? _3d one_half My->book Cpp ??? oodb start$it line# pow ??? aBc 3pai His.age while

【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义

C语言程序设计习题大全(附答案)

C语言基础一: 1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x <<02>>B>>2 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case ).Default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值D) T 9若有以下定义 char s='\092'; 则该语句( B ) A)使s的值包含一个字符B)定义不合法,s的值不确定 C)使s的值包含4个字符D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值D)C 12逻辑运算符两侧运算对象的数据类型是( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

C语言程序设计题库及答案

第1次客观题作业 一、单选题(共30题,每题3分) 1 .下面表示正确的是__A___。 A.C语言中的逗号是一种运算符 B.在C语言中,一行只能有一个语句 C.C中的变量不区分大小写 D.c中的关键字可以做为变量名 2 .字符型常量在内存中存放的是__A____代码值。 A.ASCII B.二进制 C.十进制D.八进制 3 .以下不正确的C语言标识符是(C )。 A.AB1 B._ab3 C.4ab D.a2_b 4 .以下运算符中优先级最低的运算符是_D____。 A.&& B.& C.|| D.= 5 .在C语言中,要求运算数必须是整型的运算符是___A___。A.% B./ C.< D.! 6 . C语言程序的基本单位是__C_____。 A.程序行B.语句C.函数D.字符 7 .将高级语言编写的程序翻译成目标程序的是___B____程序。A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。 A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1 9 .下列(A )不属于结构化程序设计的循环结构。 A.For B.While C.if-else D.do-while

10 .以下叙述中错误的是__A___。 A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到“见名知意 C.用户所定义的标识符必须以字母或下划线开头 D.用户定义的标识符中,大、小写字母代表不同标识 11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。 A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,7 12 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...} A.12 B.15 C.16 D.20 13 .下列选项中,合法的C语言关键字是_D___。 A.VAR B.Cher C.Integer D.default 14 .C语言中___A____。 A.能使用do-while语句构成的循环 B.do-while语句构成的循环必须用break语句才能退出 C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环15 .以下__D_____不是高级语言。 A.Basic语言 B.C语言 C.JAVA语言 D.汇编语言 16 .已知int x=2,y=3;则计算表达式y+=x-=x*=y后,x和y分别为(B )。 A.6,5 B.0,3 C.0,5 D.-4,2

C语言程序设计(第二版)习题参考答案

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。 D. 每个函数执行时,按函数体中语句的先后次序,依次执行每条语句 解:1.C 2.C 3.D 4.B 5.B 6.B 7.B 三、填空题

C语言程序设计题库

一、选择题(每题1分,共20分) 1.C语言程序从main()函数开始执行,所以这个函数要写在(D )。 A.程序文件的开始B.程序文件的最后 C.它所调用的函数的前面D.程序文件的任何位置 2.下列方法中错误的是(D )。 A.主函数可以分为两个部分:主函数说明部分和主函数体。 B.主函数可以调用任何非主函数的其它函数。 C.任何非主函数可以调用其它任何非主函数。 D.程序可以从任何非主函数开始执行。 3.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 4.C语言中的简单数据类型包括(D )。 A.整型、实型、逻辑型B.整型、实型、逻辑型、字符型 C.整型、字符型、逻辑型D.整型、实型、字符型 5.下列可以正确表示字符型常量的是(A )。 A.’\t’B.”a”C.”\n”D.297 6.在C语言中,字符型数据所占的内存空间是(C )。 A.2个字节B.4字节C.1字节D.由用户自定义 7.若int类型数据占2个字节,则unsigned int类型数据的取值范围是(B )。 A.0~255 B.0~65535 C.-32768~32767 D.-256~255 8.若有以下类型说明语句:char a;int b; float c; double d; 则表达式a*b+d-c的结果类型为(D )。 A.float B.char C.int D.double 9.下列正确的预编译命令是(D )。 A.define PI 3.14159 B.#define P(a,b)=strcpy(a,b) C.#define stdio.h D.#define PI 3.14159 10.为表示逻辑表达式7979 )&&( X<90 ) B.( X>79 )!=( X<90 ) C.7979 )||( X<90 )

C语言程序设计苏小红课后习题答案高等教育出版社

C语言程序设计苏小红课后习题答案高等教育出版 社 Last revision date: 13 December 2020.

2 2 #include main() { float x=2.5,y=2.5,z=2.5; printf("x=%f\n",x); printf("y=%f\n",y); printf("z=%f\n",z); } 3.1(1) #include main() { int a=12,b=3; float x=18.5,y=4.6; } 3.1(2) #include main() { int x=32,y=81,p,q; p=x++; q=--y; printf("%d %d\n",p,q); printf("%d %d\n",x,y); } 3.2 #include main() { int x,b0,b1,b2,s; printf("Inputx:"); scanf("%d",&x); b2=x/100; b1=(x-b2*100)/10;//或(x%100)/10;或x/10%10; b0=x%10; s=b0*100+b1*10+b2; printf("s=%d\n",s); } 3.3 #include #include main() { float rate=0.0225; float n,capital,deposit; printf("Input n,capital:");

scanf("%f,%f",&n,&capital); deposit=capital*pow(1+rate,n); printf("deposit=%f\n",deposit); } 3.4 #include #include main() { float a, b, c; double x, y; printf("Input a, b, c:"); scanf("%f %f %f", &a, &b, &c); x=(-b+sqrt(b*b-4*a*c))/(2*a); y=(-b-sqrt(b*b-4*a*c))/(2*a); printf("x=%f,y=%f\n",x,y); } 习题4 4.1(1) #include main() { } 4.1(2) #include main() { int a=12,b=15; } 4.1(3) #include main() { int a,b; printf("%d,%d\n",a,b); } 4.2 #include main() { long a,b; float x,y; scanf("%d,%d\n",&a,&b); scanf("%f,%f\n",&x,&y); printf("a=%d,b=%d\n",a,b);

c语言程序设计题库

第二题 #include void main() { char ch[20]; int i; gets(ch); for(i=0;i<20;i++) { if(ch[i]>='a'&&ch[i]<='z') ch[i]=ch[i]-32; else if(ch[i]>='A'&&ch[i]<='Z') ch[i]=ch[i]+32; } puts(ch); } 第三题 #include void main() { int n,i,max=0; int a[20];

scanf("%d",&n); for(i=0;i double f(int); void main() { int n; scanf("%d",&n); printf("%.8f",f(n)); } double f(int n) {

double result=0.0; for(i=1;i<=n;i++) result=result+(double)1/i; return result; } 5题目标题: 汽水瓶(谌海军) 题目描述: 有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。 小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶, 方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。 然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。 如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝? 输入描述: 输入为一个正整数n(1<=n<=100),表示空汽水瓶个数。 #include void main() {int n,m=0,sum=0,i=0; scanf("%d",&n);

相关主题
文本预览
相关文档 最新文档