首页 > 经典文章 > 经典美文 > c语言课后答案

c语言课后答案

时间:2018-07-30   来源:经典美文   点击:

【www.gbppp.com--经典美文】

c语言课后答案 第一篇_C语言习题集及答案

CUP.EDU.CN 目 录

第一单元 程序设计和C语言 ..........................................................................1 第二单元 顺序程序设计 .................................................................................3 第三单元 分支程序设计 .................................................................................7 第四单元 循环程序设计 ............................................................................... 14 第五单元 数 组 .......................................................................................... 23 第六单元 函 数 .......................................................................................... 35 第七单元 指 针 .......................................................................................... 44 第八单元 结构体和共用体 ............................................................................ 64 第九单元 文 件 .......................................................................................... 81 附加题 ........................................................................................................... 86 模拟试卷一 .................................................................................................. 106 模拟试卷二 .................................................................................................. 112 模拟试卷三 .................................................................................................. 118

第一单元 程序设计和C语言

一、 选择题

1. C语言的基本构成单位是: 。 A. 函数

B. 函数和过程

C. 超文本过程

D. 子程序

2. 一个C语言程序总是从 开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3. C语言的程序一行写不下时,可以 。 A. 用逗号换行

B. 用分号换行

C. 在任意一空格处换行

D. 用回车符换行

4. 以下叙述不正确的是: 。

A. 在C程序中,语句之间必须要用分号";"分隔

B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5. 以下不正确的C语言标识符是 。

A. ABC B. abc C. a_bc D. ab.c 6. 下列字符串是标识符的是: 。 A. _HJ

B. 9_student

C. long

D. LINE 1

7. 以下说法中正确的是: 。

A. C语言程序总是从第一个定义的函数开始执行

B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分 8. 不合法的常量是: 。 A. „\2‟

B. " "

C. „3‟

D. „\483‟

9. 已知各变量的类型说明如下,则以下不符合C语言语法的表达式是: 。

int k,a,b;

unsigned long w=5; double x=1.422;

A. x%(-3) 10.

B. w+=-2

C. k=(a=2,b=3,a+b)

D. a+=a=+(b=4)*(a=3)

在C语言中,字符型数据在内存中以 形式存放。

A. 原码 B. BCD码 C. 反码 D. ASCII码

11.

若有定义:int a=7; float x=2.5; y=4.7;

B. 2.750000

C. 3.500000

D. 0.000000

则表达式x+a%3*(int)(x+y)%2/4的值是: 。 A. 2.500000 12.

设有说明:char w; int x; float y; double z;

B. char

C. int

D. double

则表达式w*x+z-y值的数据类型为: 。 A. float 13. 14.

以下 是不正确的转义字符。

B. '\'

C. '081'

D. '\0'

若x为int型变量,则执行以下语句后,x的值为 。 x=6; x+=x-=x*x;

B. -60

C. 60

D. -24

字符串"\\\"ABC\"\\"的长度是 。

A. '\\'

A. 36

15. 二、 填空题

A. 11 B. 7 C. 5 D. 3

1. 一个函数由两部分组成,它们是 和 。 2. 一个C源程序至少包含一个 ,即 。 3. 设int a=12; 则表达式a/=a+a的值是 。

4. 表达式x=(a=3,6*a)和表达式x=a=3,6*a分别是 表达式和 表达式,

和 。

5. 在C语言中,实数有两种表示形式,即 和 。 6. 在C语言中,运算符的优先级最小的是 运算符。

两个表达式执行完的结果分别是 和 ,x值分别是

第二单元 顺序程序设计

一、 选择题

1. 若m为float型变量,则执行以下语句后的输出为 。

m=1234.123;

printf("%-8.3f\n",m); printf("%10.3f\n",m);

A. 1234.123 B. 1234.123 C. 1234.123 D. -1234.123 1234.123 1234.123 1234.123 001234.123

2. 若x,y,z均为int型变量,则执行以下语句后的输出为 。

x=(y=(z=10)+5)-5;

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

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

B. X=10,Y=10,Z=10 X=0,Y=10,Z=10 D. X=10,Y=10,Z=10

X=0,Y=10,Z=0

A. X=10,Y=15,Z=10 X=0,Y=10,Z=0 C. X=10,Y=15,Z=10

X=10,Y=10,Z=0

3. 若x是int型变量,y是float型变量,所用的scanf调用语句格式为: scanf("x=%d,y=%f",&x,&y);

则为了将数据10和66.6分别赋给x和y,正确的输入应是: 。 A. x=10,y=66.6<回车> B. 10 66.6<回车>

C. 10<回车>66.6<回车> D. x=10<回车>y=66.6<回车>

4. 已知有变量定义:int a;char c;用scanf(“%d%c”,&a,&c);语句给a和c输入数据,

使30存入a,字符‘b’存入c,则正确的输入是: 。 A. 30’b’<回车> B. 30 b<回车> C. 30<回车>b<回车> D. 30b<回车>

5. 已知有变量定义:double x;long a; 要给a和x输入数据,正确的输入语句

是 。若要输出a和x的值,正确的输出语句 。

A. scanf(“%d%f”,&a,&x); B. scanf(“%ld%f”,&a,&x); printf(“%d,%f”,a,x); printf(“%ld,%f”,a,x); C. scanf(“%ld%lf”,&a,&x); D. scanf(“%ld%lf”,&a,&x);

printf(“%ld,%lf”,a,x); printf(“%ld,%f”,a,x); 6. 若有定义double x=1,y;则以下的语句执行的结果是 。

y=x+3/2; printf(“%f”,y);

A.2.500000 B.2.5 C.2.000000 D.2 7. 若a为整型变量,则以下语句 。

a=-2L; printf("%d\n",a);

A. 赋值不合法

B. 输出为不确定的值

C. 输出值为-2

二、 读程序写结果

1. main() { int x,y;

scanf("%2d%*2d%ld",&x,&y);

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

}

执行时输入:1234567 2. main()

{ int x=4,y=0,z; x*=3+2; printf("%d",x); x*=y=z=4; printf("%d",x); }

3. main()

{ float x; int i; x=3.6; i=(int)x;

printf("x=%f,i=%d",x,i); }

4. main()

{ int a=2;

a%=4-1; printf("%d, ",a); a+=a*=a-=a*=3; printf("%d",a); }

D. 输出值为2

c语言课后答案 第二篇_C语言课后习题

习题

第三章

#include <stdio.h>

#include <math.h>

int main()

{

int d,p;

double r,a,m;

scanf("%d %d %lf",&d,&p,&r);

a=(p/(p-d*r));

m=log(a)/log(1+r);

if(p>0&&d>0)

{

if(d<=m*p)

printf("%.1f",m);

else

printf("God");

}

else

printf("0.0");

return 0;

}

勾股数

#include <stdio.h>

int main()

{

int a,b,c,n;

scanf("%d",&n);

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

{

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

{

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

{

if(c*c==a*a+b*b)

{

if(a<=b)

{

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

}

}

}

}

return 0;

}

第四章

计算分段函数值

#include <stdio.h>

int main()

{

float x,y;

scanf("%f",&x);

if(x<1) y=x;

else if(x>=1&&x<10) y=2*x-1;

else if(x>=10) y=3*x-11;

printf("%.2f",y);

return 0;

}

找出三个数中最大的数

#include <stdio.h>

int main()

{

int a,b,c,max;

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

max=a>b?a:b;

if(c>max)

max=c;

printf("%d",max);

return 0;

}

10844成绩等级评分

#include <stdio.h>

int main()

{

int x;

scanf("%d",&x);

if(x>=0&&x<=100)

{

switch(x/10)

{

case 10:

case 9: printf("A");break;

case 8 : printf("B");break;

case 7 : printf("C");break;

case 6 : printf("D");break;

default:

printf("E");break;

}

}

else

printf("error");

return 0;

}

前续和后续字符

#include <stdio.h>

int main()

{ char x;

x=getchar();

switch(x)

{ case'0':printf("first");

printf(" %c",x+1);break;

case'9':printf("%c ",x-1);

printf("last");break;

case'1':

case'2':

case'3':

case'4':

case'5':

case'6':

case'7':

case'8':

printf("%c ",x-1);

printf("%c",x+1);break;

default:

printf("error");break;

}

return 0;

}

20秒后的时间

#include <stdio.h>

#include <stdlib.h>

int main()

{

int h,m,s;

scanf("%d:%d:%d", &h,&m,&s); s=s+20;

if(s>59)

{

s=s%60;

m++;

if(m>59)

{

m=m%60;

h++;

if(h>23)

h=0;

}

}

printf("%02d:%02d:%02d\n", h, m, s); return 0;

}【c语言课后答案,】

分期还款

#include <stdio.h>

#include <math.h>

int main()

{

int d,p;

double r,a,m;

scanf("%d %d %lf",&d,&p,&r);

a=(p/(p-d*r));

m=log(a)/log(1+r);

if(p>0&&d>0)

{

if(d<=m*p)

printf("%.1f",m);

else

printf("God");

}

else

printf("0.0");

return 0;

}

第五章

字母分类统计

#include <stdio.h>

#include <stdlib.h>

int main()

{

char ch;

int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0; while((ch=getchar())!='\n')

{

if(ch<=127&&ch>=123)

a++;

else if(ch>=97&&ch<=122) b++;

else if(ch<=96&&ch>=91) c++;

else if(ch<=90&&ch>=65) d++;

else if(ch>=58&&ch<=64)

e++;

else if(ch>=48&&ch<=57) f++;

else if(ch>=33&&ch<=47) g++;

else if(ch==32)

h++;

else

i++;

}

printf("%d %d %d %d",d+b,f,h,a+c+e+g+i); }

水仙花数

#include <stdio.h>

int main()

{

int n,a,b,c;

for(n=100;n<1000;n++)

{ a=n/100;

b=(n%100)/10;

c=n%10;

if(n==a*a*a+b*b*b+c*c*c) {

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

}

c语言课后答案 第三篇_C语言答案(程立倩主编)

《C语言程序设计案例教程》

课后部分习题答案

模块1 初识C语言

一、选择题

1.D 2.A 3.B 4.C 5.D 6.C 7.B

二、填空题

1.函数主函数 2.主函数 3 .obj 4.;

《C语言程序设计案例教程》

课后部分习题答案

模块2 C程序数据描述与计算

一、选择题

1.B 2.A 3.D 4.C 5.D 6.A 7.B 8.A 9.C 10.D

二、填空题

1.0 2. 3.6 3. 关键字用户标识符 4. 2.5 5. 4 6.地址 7. 7.5

8. 0 9. 32767 -32768 10.将10赋给变量x,同时表达式的值也是10。

三、改错题

略。

四、编程题 1.设长方形的高为 2.5,宽为 1.6,编程求该长方形的周长和面积。 #include <stdio.h>

main()

{

float x=2.5,y=1.6,p,s; p=2*x+2*y;

s=x*y;

printf(“长为%f, 宽为%f 的长方形,周长为%f,面积为%f\n”,x,y,p,s); }

2.编写程序,求下面表达式的值。

(float)(a+b)/2+sqrt(a)-(int)(y-x),设a=2 ,b=3,x=3.5,y=2.6 #include <stdio.h>

#include <math.h>

main()

{

float x=3.5,y=2.6,a=2,b=3,s;

s=(float)(a+b)/2+sqrt(a)-(int)(y-x);

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

} 3.编写一个程序,将小写字母a转换为大写字母 A。

#include <stdio.h>

main()

{

char ch1=’a’,ch2;

ch2=ch1-32;

printf(“ch1=%c,ch2=%c\n”,ch1,ch2);

}

《C语言程序设计案例教程》

课后部分习题答案

模块3 顺序结构程序设计

一、选择题

1.A 2.C 3. B 4.D 5.A 6. C 7.B 8.D 9.B 10.D

二、填空题

1. 顺序、选择、循环

2. (1)-200 2500 (2)i=-200,j=2500

(3)i=-200

j=2500

3.分号

4. x=127,x= 127,x= 177,x= 7f,x= 127

5. a= 6.14,a=6.138,a=6.13781500,a= 6.13781500

三、编程题

略。

《C语言程序设计案例教程》

课后部分习题答案

模块4 选择结构程序设计

一、选择题

1.B 2. A 3.D 4.C 5.A 6. B

二、填空题

1.非0 0

2. 1

3. a 、b 、c 中的值分别为32、22、22

4.***

三、编程题

略。

《C语言程序设计案例教程》

课后部分习题答案

模块5 循环结构程序设计

一、选择题

1.D 2.C 3.B 4.C 5.C 6.C 7.D

二、填空题

1. -1 2. 1,10 3. 1024 4. 11

4,8

三、编程题

略。

《C语言程序设计案例教程》

课后部分习题答案

模块6 应用数组程序设计

一、选择题

1. B 2.A 3.D 4.B 5. B 6 A 7. D 8.C 9.C 10.C

二、编程题

略。

《C语言程序设计案例教程》

课后部分习题答案

模块7 应用函数程序设计

一、选择题

1. C 2.C 3 B 4 C 6、A 8.D 9 C 10.A

二、填空题

1.局部变量全局变量

2.地址值

3.return void

4. 2 4 6 8

5. 9.000000 6. 4 7. n=1 s 8.howareyou 9. x=93

三、编程题

略。

《C语言程序设计案例教程》

课后部分习题答案

模块8 应用指针程序设计

一、选择题

1.B 2.B 3.C 4.D 5.D 6.C 7.D 8.A 9.D

二、编程题

略。

《C语言程序设计案例教程》

课后部分习题答案

模块9 结构体和其他构造类型

一、选择题

1.C 2.B 3.D 4.D 5.A 6.C 7.A 8.B 9. D

二、填空题

struct list * struct list struct list *

return h

三、编程题 struct list

略。

《C语言程序设计案例教程》

课后部分习题答案

模块10 位运算

一.选择题

1.C 2. A 3.D 4.C 5. B

二.填空题

1.01011111

2.k=k&0

3.k=k|0xffff

4.b=0xff

5. ch|0x20

《C语言程序设计案例教程》

课后部分习题答案

模块11 文件

一.选择题

1.C 2.A 3. A 4.C 5.B 6.B 7. C

二.填空题

1. rewind

2. “r” “w” feof(f1) !=EOF f2 fclose(p1)fclose(p2);

c语言课后答案 第四篇_C语言课后题答案

P60 请编写一个程序,输出当年当月的月历。

#include <stdio.h>

main()

{ int year,month,leap=0,days,mfirst=0,one,i;

scanf("%d%d%d",&year,&month,&one);/*one 1月1号星期几,days当月有多少天*/

if(year%4==0&&year%100!=0 ||year%400==0) leap=1;

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

{

switch(i){

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12: days=31;break;

case 2:

if(leap==1) days=29;

else days=28;

break;

case 4:

case 6:

case 9:

case 11: days=30;break;

}

mfirst+=days; /*累加1月到本月的天数*/

}

mfirst-=days; /*本月之前的天数, days本月的天数*/

mfirst=mfirst+one;

mfirst=mfirst%7; /*本月之前应有多少空余的/

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

printf("Sun\tMon\tTue\tWed\tThu\tFri\tSat\n");

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

{

printf("\t");

}

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

{ if(mfirst%7==0) printf("\n");

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

mfirst++;

}

getch();

}

P59 6 输入100个数,统计其中偶数的平均值

#include <stdio.h>

main()

{

int i,j,sum=0,count=0;

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

{

scanf("%d",&j);

if(j%2==0)

{

sum=sum+j; /*偶数的和*/

count++; /*偶数的个数*/

}

}

printf("偶数的平均值是:%f",sum*1.0/count);

getch();

}

输入一个正整数,输出这个整数的所有因子

#include <stdio.h>

int main(void)

{

int a,i; /* a是输入的正整数,i是a的因子 */

printf("请输入一个正整数:");

scanf("%d",&a);

if(a<=0)

{

printf("输入的数不是正数");

return 1;

}

printf("%d的因子有:\n",a);

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

{

if(a%i==0)

{

printf("%d ",i);

}

}

return 0;

}

P59 7 输入一行英文句子,输出到屏幕上,并将每个单词的首字符改写成大写字母(仅该携手字符为英文字母的单词)

#include <stdio.h>

void main( )

{

int word=0;

char c;

while((c=getchar())!='\n')

if(c==' '){ word=0; putchar(c); }

else if(word==0)

{ word=1;

if(c>='a'&&c<='z') putchar(c-32);

else putchar(c);

}

else putchar(c);

}

输出100以内的所有素数,每行输出5个。

#include "stdio.h"

main()

{

int m, i,count=0;

for(m=2;m<=100;m++)

{ for(i=2;i<=m-1;i++)

if(m%i==0) break;

if(i==m)

{

printf("%5d",m);

本文来源:http://www.gbppp.com/jd/467115/

推荐访问:苏小红c语言课后答案 c语言代码

热门文章