跪求《C语言程序设计》课本习题答案!!!

2024-05-18 00:40

1. 跪求《C语言程序设计》课本习题答案!!!

习题1参考答案 
一、选择题 1. A  2. D    
二、填空题 
1. BASIC、FORTRAN、AL_GOL60和COBOL 2. 8 
3. 关键字 
4. 编辑、编译、链接和运行  
三、简答题 1.答: 
(1)C语言具有结构化的控制语句。C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。 
(2)C语言具有丰富的数据结构类型。C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出的各种复杂的数据结构,如数组、结构、联合等。C语言还提供了与地址密切相关的指针类型。此外,用户还可以根据需要自定义数据类型。 (3)C语言具有丰富的运算符。C语言提供了多达34种运算符,丰富的数据类型与丰富的运算符相结合,使C语言的表达力更具灵活性,同时也提高了执行效率。 
(4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。 
(5)C语言既具有高级语言的功能,又具有低级语言的许多功能,通常被称为中级计算机语言。它既是成功的系统描述语言,又是通用的程序设计语言。 (6)C语言与汇编语言相比,可移植性好。 
(7)功能强大。C语言具有低级语言的一些功能,所以,生成目标代码质量高,程序执行效率高。现在许多系统软件都用C语言来描述,可以大大提高了编程效率。 
2.答:运行一个C语言程序,一般需要经过如下几个步骤:①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。 3.答: 
(1)操作系统的设计与实现。C语言是一种应用非常广泛的结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。

跪求《C语言程序设计》课本习题答案!!!

2. c语言程序设计苏小红版第七章课后实验答案

不知道你说的是不是这一次实验
2.2.7  实验7:二维数组和函数综合编程练习
成绩排名次
某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。考试后要求:
(1)计算每个学生的总分和平均分;
(2)按总分成绩由高到低排出成绩的名次;
(3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分;
(4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。
【思考题】  请读者思考如下问题。
① 如果增加一个要求:要求按照学生的学号由小到大对学号、成绩等信息进行排序,那么程序如何修改呢?
② 如果要求程序运行后先打印出一个菜单,提示用户选择:成绩录入、成绩排序、成绩查找,在选择某项功能后执行相应的操作,那么程序如何修改呢?


答案


#include  

#define STU 30
#define COURSE 3

void Input(long num[],int score[][COURSE],int n);
void GetSumAver(int score[][COURSE],int n,int sum[],float aver[]);
void Sort(long num[],int score[][COURSE],int n,int sum[],float aver[]);
void Print(long num[],int score[][COURSE],int n,int sum[],float aver[]);
int  Search(long num[], int n, long x);

main()
{
	int n, score[STU][COURSE], sum[STU], pos;
	long num[STU], x;
	float aver[STU];

	printf("Please enter the total number of the students(n<=30):");
	scanf("%d", &n);					/*输入参加考试的学生人数*/

	printf("Enter No. and score as: MT  EN  PH\n");
	Input(num, score, n);				/*输入学生成绩*/

	GetSumAver(score, n, sum, aver);	/*计算总分和平均分*/
	printf("Before sort:\n");
	Print(num, score, n, sum, aver);

	Sort(num, score, n, sum, aver);		/*排名次*/
	printf("After sort:\n");
	Print(num, score, n, sum, aver);

	printf("Please enter searching number:");
	scanf("%ld", &x);					/*以长整型格式输入待查找学生的学号*/
	pos = Search(num, n, x);			/*名次查询*/
	if (pos != -1)
	{
		printf("position:\t  NO \t  MT \t  EN \t  PH \t  SUM \t AVER\n");
		printf("%8d\t%4ld\t%4d\t%4d\t%4d\t%5d\t%5.0f\n",
				    pos+1,num[pos],	score[pos][0],score[pos][1],
				    score[pos][2],	sum[pos],aver[pos]);
	}
	else
	{
		printf("Not found!\n");
	}
}

/* 函数功能:输入某班学生期末考试三门课程成绩
   函数参数:长整型数组num,存放学生学号
             整型数组score,存放学生成绩
			   整型变量n,存放学生人数
   函数返回值:无
*/
void Input(long num[], int score[][COURSE], int n)
{
	int  i, j;

	for (i=0; i<n; i++)
	{
		scanf("%ld", &num[i]);
		for (j=0; j<COURSE; j++)
		{
				scanf("%d", &score[i][j]);
		}
	}
}

/* 函数功能:计算每个学生的总分和平均分
   函数参数: 整型数组score,存放学生成绩
			    整型变量n,存放学生人数
		整型数组sum,计算得到的每个学生的总分
				实型数组aver,计算得到的每个学生的平均分
   函数返回值:无
*/
void GetSumAver(int score[][COURSE], int n, int sum[], float aver[])
{
	int i, j;

	for (i=0; i<n; i++)
	{
		sum[i] = 0;
		for (j=0; j<COURSE; j++)
		{
				sum[i] = sum[i] + score[i][j];
		}
		aver[i] = (float)sum[i] / COURSE;
	}
}

/* 函数功能:按总分成绩由高到低排出成绩的名次
   函数参数:长整型数组num,存放学生学号
             整型数组score,存放学生成绩
			整型变量n,存放学生人数
			整型数组sum,存放每个学生的总分
			实型数组aver,存放每个学生的平均分
   函数返回值:无
*/
void Sort(long num[],int score[][COURSE], int n, int sum[], float aver[])
{
	int i, j, k, m;
	int temp1;
	long temp2;
	float temp3;

	for (i=0; i<n-1; i++)
	{
		k = i;
		for (j=i+1; j<n; j++)
		{
				if (sum[j] > sum[k])  k = j;
		}
		if (k != i)
		{
				temp1 = sum[k];  sum[k] = sum[i];  sum[i] = temp1;
				temp2 = num[k];  num[k] = num[i];  num[i] = temp2;
				temp3 = aver[k];  aver[k] = aver[i];  aver[i] = temp3;
				for (m=0; m<COURSE; m++)
				{
					temp1 = score[k][m];
					score[k][m] = score[i][m];
					score[i][m] = temp1;
				}
		}
	}
}

/* 函数功能: 打印名次表,表格内包括学生编号、各科分数、总分和平均分
   函数参数: 长整型数组num,存放学生学号
				整型数组score,存放学生成绩
				整型变量n,存放学生人数
				整型数组sum,存放每个学生的总分
				实型数组aver,存放每个学生的平均分
   函数返回值:无
*/
void Print(long num[], int score[][COURSE], int n,
				int sum[], float aver[])
{
	int  i, j;

	printf("  NO \t|   MT \t  EN \t PH \t SUM \t AVER\n");
	printf("----------------------------------------------------\n");
	for (i=0; i<n; i++)
	{
		printf("%ld\t| ", num[i]);
		for (j=0; j<COURSE; j++)
		{
				printf("%4d\t", score[i][j]);
		}
		printf("%5d\t%5.0f\n", sum[i], aver[i]);
	}
}

/* 函数功能:在学号数组中顺序查找学生的学号
   函数参数:长整型数组num,存放学生学号
             整型变量n,存放学生人数
		长整型变量x,存放待查找学生的学号
   函数返回值:找到时,返回学生学号在学号数组中的下标位置,否则返回值-1
*/
int Search(long num[], int n, long x)
{
	int  i;

	for (i=0; i<n; i++)
	{
		if (num[i] == x)  return(i);
	}
	return (-1);
}

3. 《c语言程序设计》里的习题

因为 a=10
所以执行:

printf("%d\n",a <= 10);
a <= 10的结果为“真”,在C语言中“真”等于整数1
所以输出1,故选B

《c语言程序设计》里的习题

4. c++语言程序设计 答案

这里有一份C++语言程序设计第四版课后答案(郑莉版)

5. C语言程序设计 求答案

如果是在Windows平台,计算机表示字母采用的是ASCII编码。在ASCII编码中,大写英文字母A-Z对应的ASCII编码值为65-90(十六进制41-5A),而小写的英文字母a-z对应的ASCII编码值为97-122(十六进制61-6A),任何一个英文字母的大小写对应的ASCII编码值相差32。
如果确定c1的值是一个小写字母,可以直接用:
c2 = c1 - 32; //或者: c2 = c1 - ('a' - 'A');//或者根据编码的二进制值规律: c2 = c1 & 0xDF;如果不确定c1的值否是一个小写字母,则需要判断:
c2 = ( c1 >= 'a' && c1 <= 'z' ) ? c1 - 32 : c1;

C语言程序设计 求答案

6. c语言程序设计习题

  您好,这是因为'\184'两边有单引号。
  在输出字符时,可以有四种写法:
(1)printf("%c", 184);     /* 十进制 */(2)printf("%c", 0x184);   /* 十六进制 */(3)printf("%c", '\174');  /* 八进制 */(4)printf("%c", 'A');     /* 字符 */  对照这几种写法,你可以看出数字前面加了反斜杠,又用单引号引起来时,就是代表里面写的是一个八进制数,这是一种约定的书写方式。
  题目中的8显然超过了八进制的表示范围,所以是八进制的错误表达形式。
  您的采纳是我们的动力(⊙v⊙)

7. c语言程序设计基础第十题

原式等效于
k=k+(i>j?i++:--j);
显然的子表达式i>j为假,所以是k=k+(--j);
前缀自减表达式,--j表达式值为5,所以是k=3+5
k值为8,这个表达式值为8

c语言程序设计基础第十题

8. C程序设计语言第三版的介绍

《C程序设计语言第三版》是2004年机械工业出版社出版的图书,作者是(美)克尼汉 。该书的讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。 在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用如此广泛。《C程序设计语言》原著 即为C语言的设计者之一Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan合著的 一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以 此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“Hello, World”程序就是由《C程序设计语言》首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。原著第2版根据1987年制定的ANSIC标准做了适当的修订.引入了最新的语言形式,并增加了新的示例,通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各 个特性以及程序设计的基本方法。对于计算机从业人员来说,《C程序设计语言》是一本必读的程序设计语 言方面的参考书。