C语言 习题五参考答案

合集下载

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析1. 习题一:编写一个C程序,输出“Hello World!”。

解析:这是一个非常简单的C程序,只需要使用printf函数输出所需的字符串即可。

```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```2. 习题二:编写一个C程序,计算两个整数的和并输出结果。

解析:这个程序需要使用scanf函数从用户输入中读取两个整数,并使用printf函数输出它们的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```3. 习题三:编写一个C程序,判断一个数是奇数还是偶数并输出结果。

解析:这个程序需要使用scanf函数读取用户输入的整数,并使用if-else语句判断该数的奇偶性,然后使用printf函数输出结果。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该数是偶数");} else {printf("该数是奇数");}return 0;}```4. 习题四:编写一个C程序,判断一个年份是否为闰年并输出结果。

c语言程序设计第五版习题答案解析

c语言程序设计第五版习题答案解析

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、do while语句、switch 语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。

#include <stdio.h>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案1. 基础语法练习1.1 写一个程序,要求用户输入两个整数,然后计算并输出这两个整数的和。

```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);int sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```1.2 写一个程序,要求用户输入一个字符,然后判断该字符是否为数字字符('0'-'9')。

```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf(" %c", &ch); // 注意空格if (ch >= '0' && ch <= '9') {printf("该字符是一个数字字符。

\n");} else {printf("该字符不是一个数字字符。

\n");}return 0;}```2. 控制流程练习2.1 写一个程序,找出1~100之间所有能被7整除的数,并输出它们的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 7 == 0) {printf("%d ", i);sum += i;}}printf("\n这些数的和为:%d\n", sum); return 0;}```2.2 写一个程序,打印如下图案:```***************``````c#include <stdio.h>int main() {for (int i = 1; i <= 5; i++) {for (int j = 1; j <= i; j++) {printf("*");}printf("\n");}return 0;}```3. 数组和字符串练习3.1 写一个程序,输出一个5x5的矩阵,矩阵元素由用户输入。

C语言程序设计教程 第五章 课后习题参考答案

C语言程序设计教程 第五章 课后习题参考答案
printf("%d\t",f);
k++;
if(k%5==0)
printf("\n");
f1=f2;
f2=f;
}
printf("\n");
return 0;
}
P124 3统计一个整数的位数
#include<stdio.h>
int main()
{
int n,k=0;
printf("请输入n的值:");
int main()
{
int x,y,z,i=0;
for(x=1;x<=20;x++)
{
for(y=1;y<=33;y++)
{
for(z=3;z<=99;z=z+3)
{
if((5*x+3*y+z/3==100)&&(x+y+z==100))
i++;
}
}
}
printf("共有%d种买法:\n",i);
c语言程序设计教程第五章课后习题参考答案
P1242古典问题:兔子总数(斐波那契数列)
#include<stdio.h>
int main()
{
int f1=1,f2=1,f,i,k=0;
printf("%d\t %d\t",f1,f2);
k=k+2;
for(i=3;i<=20;i++)
{
f=f1+f2;
do
{
printf("请输入第%d个整数x=",i);

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、do while语句、switch 语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=200三.编程题1.参照本章例题,编写一个C程序,用于显示如下信息:*************************I love C programs!*************************【分析与提示】①要有文件包含语句#include <stdio.h>。

C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。

这些函数的说明都包括在stdio.h文件中。

②main是主函数的名称。

c程序语言第五版习题答案

c程序语言第五版习题答案

c程序语言第五版习题答案C程序语言第五版习题答案在学习编程语言的过程中,练习和理解习题是非常重要的一部分。

对于C程序语言第五版的学习者来说,习题的解答不仅可以帮助巩固所学的知识,还能够提升编程能力。

在本文中,我将为大家提供C程序语言第五版习题的一些答案和解析,希望能够对学习者有所帮助。

1. 习题1-1题目:编写一个程序,在屏幕上输出"Hello, World!"。

解答:```c#include <stdio.h>int main(){printf("Hello, World!\n");return 0;}```解析:这是一个非常简单的程序,使用了C语言中的标准输入输出库函数`printf`来输出字符串"Hello, World!"。

`\n`表示换行符。

2. 习题2-1题目:编写一个程序,计算并输出华氏温度转换为摄氏温度的结果。

解答:```c#include <stdio.h>int main(){float fahrenheit, celsius;printf("请输入华氏温度:");scanf("%f", &fahrenheit);celsius = (fahrenheit - 32) * 5 / 9;printf("摄氏温度为:%.2f\n", celsius);return 0;}```解析:这个程序通过用户输入的华氏温度,使用公式`(华氏温度 - 32) * 5 / 9`来计算摄氏温度,并输出结果。

3. 习题3-2题目:编写一个程序,输入一个浮点数,输出该浮点数的立方值。

解答:```c#include <stdio.h>int main(){float num, cube;printf("请输入一个浮点数:");scanf("%f", &num);cube = num * num * num;printf("立方值为:%.2f\n", cube);return 0;}```解析:这个程序通过用户输入的浮点数,使用乘法运算符`*`计算该浮点数的立方值,并输出结果。

C语言课后习题参考答案

C语言课后习题参考答案

C语言课后习题参考答案第一章:基础知识问题1:C语言的发展历史及特点C语言是由贝尔实验室的肯·汤普逊和丹尼斯·里奇在20世纪70年代初开发的一种高级程序设计语言。

它以其简洁、高效和可移植性而闻名。

C语言被广泛应用于系统级编程、嵌入式系统和科学计算等领域,并成为其他编程语言的基础。

问题2:C语言的基本数据类型及其存储范围C语言的基本数据类型包括字符型(char)、整型(int)、浮点型(float)、双精度浮点型(double)和空类型(void)。

它们的存储范围如下:- char:-128 到 127 或 0 到 255- int:-32,768 到 32,767 或 0 到 65,535- float:3.4E-38 到 3.4E38- double:1.7E-308 到 1.7E308- void:无特定存储范围问题3:如何在C语言中输出语句?在C语言中,可以使用printf函数来输出语句。

它的基本语法为:```cprintf("要输出的内容");```问题4:定义变量的语法规则在C语言中,定义变量的语法规则如下:```c数据类型变量名;```例如,定义一个整型变量x:```cint x;```问题5:如何进行变量的赋值?变量的赋值可以使用赋值运算符(=)。

例如,将一个整型常量10赋值给变量x:```cx = 10;```第二章:控制结构问题1:if语句的语法结构if语句用于根据条件执行不同的代码块。

它的基本语法结构如下:```cif (条件) {// 条件为真时执行的代码}```问题2:switch语句的用法及语法结构switch语句用于根据不同的表达式值执行相应的代码块。

它的基本用法及语法结构如下:```cswitch (表达式) {case 值1:// 当表达式的值等于值1时执行的代码break;case 值2:// 当表达式的值等于值2时执行的代码break;default:// 当表达式的值与所有case都不匹配时执行的代码break;}```问题3:循环语句的分类及语法结构C语言中的循环语句包括for循环、while循环和do-while循环。

C语言全部章节习题集(参考答案)

C语言全部章节习题集(参考答案)
}
选择结构答案
一、单项选择题
1.B 2.A 3.D 4.C 5.D 6.B 7.C
二、填空题
1. 5 5 4
5 5 4
3 3 4
2. 4 0
3. VeryGood
Good
VeryGood
A. 8 B. 4 C. 2 D. 出错
14、设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为( D )。
A. 4 B. 3 C. 2 D. 1
15、设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是( A )。
{ float a,b,temp;
printf("input a and b:");
scanf("%d,%d",&a ,&b);
temp = a; a = b; b = temp;
printf("a=%d , b=%d\n", a , b);
scanf(“%f”,&t);
if(t>=90) ch=’A’;
else if(t>=80) ch=’B’;
24、下列不正确的转义字符是( C )。
A. \\ B. \' C. 074 D. \0
二、填空题:
1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。
2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。
5、判断变量 a、b 的值均不为 0 的逻辑表达式为a!=0&&b!=0 。

C语言第五章习题及答案

C语言第五章习题及答案

第五章习题答案一、选择题1) 有以下程序#include <stdio.h>main(){ int n=2,k=0;while(k++&&n++>2);printf("%d %d\n",k,n);}程序运行后的输出结果是A)0 2 B)1 3 C)5 7 D)1 22)有以下程序:main(){ int k=5;while(--k) printf("%d",k-=3);printf("\n");}执行后的输出结果是()。

A)1 B)2 C)4 D)死循环3)有以下程序#include<stdio.h>main(){int y=10;while(y--);printf(”y=%d\n”,y);}程序执行后的输出结果是A)y=0 B)y= -1 C)y=1 D)while构成无限循环4) 若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环5)有以下程序:main(){ int i;for(i=1;i<=40;i++){ if(i++%5==0)if(++i%8==0) printf("%d",i); }printf("\n");}执行后的输出结果是()。

A)5 B)24 C)32 D)406) 有以下程序#includes <stdio.h>main(){ int a=1,b=2;for(;a<8;a++) {b+=a; a+=2;}printf ("%d,%d\n",a,b);}程序运行后的输出结果是(A)9,18 (B)8,11 (C)7,11 (D)10,147) 有以下程序#include<stdio.h>main(){int y=9;for( ; y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)8) 一下程序段中的变量已正确定义for(i=0;i<4;i++,j++)for(k=1;k<3;k++); printf("*");程序段的输出结果是A)******** B)**** C)** D)*9) 有以下程序#iinclude <stdio.h>main(){ int i,j;for(i=3; i>=1; i--){ for (j=1;j<=2;j++) printf(“%d”,i+j);printf(“\n”);}}程序的运行结果是()A) 2 3 4 B) 4 3 2 C) 2 3 D) 4 53 4 5 5 4 3 3 4 3 44 5 2 3 答案:D10)有以下程序main(){int i,j;for(i=1;i<4;i++){for(j=i;j<4;j++) printf(“%d*%d=%d “,i,j,i*j);printf(“\n”);}}程序运行后的输出结果是A) 1*1=1 1*2=2 1*3=3 B) 1*1=1 1*2=2 1*3=32*1=2 2*2=4 2*2=4 2*3=63*1=3 3*3=9C) 1*1=1 D) 1*1=11*2=2 2*2=4 2*1=2 2*2=41*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9 11) 有以下程序#include<stdio.h>main(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)312) 有以下程序#include <stdio.h>main(){ int i=5;do{ if (i%3= =1)if (i%5= =2){printf(“*%d”,i); break; }i++;}while(i!=0);printf(“\n”);}程序的运行结果是A)*7 B)*3*5 C) *5 D)*2*6答案:A13) 有以下程序#include <stdio.h>main(){ int c=0,k;for(k=1;k<3;k++)switch(k){ default:c+=k;case 2:c++;break;case 4:c+=2;break;}printf("%d\n",c);}程序运行后的输出结果是A)3 B)5 C)7 D)914) 设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是A)n=0;while((ch=getchar())!='\n')n++;B)n=0;while(getchar()!='\n')n++;C)for(n=0;getchar()!='\n';n++);D)n=0;for(ch=getchar();ch!='\n';n++);15)有以下程序#includemain(){int a=1,b=2;while(a<6){b+=a;a+=2;b%二10;}printf(”%d,%d\n”,a,b);}程序运行后的输出结果是A)5,11 B)7,1 C)7,11 D)6,116) 要求通过while循环不断读入字符,当读入字母N时结束循环。

c primer第五版习题答案

c  primer第五版习题答案

c primer第五版习题答案C Primer第五版习题答案C Primer第五版是一本经典的C语言教材,被广泛用于计算机科学和软件工程领域。

本文将为读者提供一些C Primer第五版习题的答案,以帮助读者更好地理解和掌握C语言的基础知识。

第一章:入门1.1 C语言的起源和发展答案:C语言由贝尔实验室的Dennis Ritchie于20世纪70年代初开发。

它是一种通用的高级编程语言,被广泛应用于系统软件开发和嵌入式系统等领域。

C 语言的设计目标是提供高效的编程方式,同时保持可移植性和可扩展性。

1.2 第一个C程序答案:第一个C程序通常是一个打印"Hello, World!"的程序。

以下是一个简单的示例:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```1.3 编译和运行C程序答案:要编译和运行C程序,可以使用命令行工具或集成开发环境(IDE)。

在命令行中,可以使用gcc编译器将C源代码编译为可执行文件。

例如,要编译名为`hello.c`的程序,可以使用以下命令:```gcc hello.c -o hello```然后,可以使用以下命令运行该程序:```./hello```第二章:变量和基本类型2.1 基本数据类型答案:C语言提供了几种基本数据类型,包括整型、浮点型、字符型和布尔型。

整型可以分为有符号和无符号两种,它们的范围取决于编译器和平台。

浮点型用于表示带有小数部分的数值。

字符型用于表示单个字符。

布尔型用于表示真值(true或false)。

2.2 变量答案:在C语言中,变量用于存储和操作数据。

变量必须先声明后使用,声明包括变量的类型和名称。

例如,以下是一个声明整型变量的示例:```cint age;```变量还可以被赋值为特定的值,例如:```cage = 20;```2.3 常量答案:常量是指在程序执行期间其值不会改变的量。

(word完整版)C语言程序设计课后习题1-8参考答案

(word完整版)C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。

运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。

数据运算包括算术运算和逻辑运算。

控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。

输出设备正好与输入设备相反,是用来输出结果的部件。

2、简述计算机的工作原理。

答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。

整个过程由控制器进行控制。

3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。

系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。

这类软件一般与具体应用无关,是在系统一级上提供的服务。

系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。

另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。

在操作系统的基础上运行。

4、什么叫软件?说明软件与硬件之间的相互关系。

答:软件是指计算机程序及有关程序的技术文档资料。

两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。

在不太严格的情况下,认为程序就是软件。

硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、do while语句、switch语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。

#include <stdio.h>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。

C语言程序设计教程 第五章 课后习题参考答案

C语言程序设计教程 第五章 课后习题参考答案

C语言程序设计教程第五章课后习题参考答案一、选择题1. B2. A3. C4. B5. D二、填空题1. while2. binary3. 164. 35. continue6. global三、判断题1. 错误2. 正确3. 错误4. 错误5. 正确四、编程题1.```c#include<stdio.h>int main() {int num;printf("请输入一个整数:"); scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数\n", num); } else {printf("%d是奇数\n", num); }return 0;}```2.```c#include<stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("%d与%d的和为%d\n", num1, num2, num1 + num2); return 0;}```3.```c#include<stdio.h>int isPrime(int num) {int i;if (num <= 1)return 0;for (i = 2; i <= num / 2; i++) {if (num % i == 0) {return 0;}}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d是素数\n", num); } else {printf("%d不是素数\n", num); }return 0;}```4.```c#include<stdio.h>int factorial(int num) {int i, result = 1;for (i = 1; i <= num; i++) {result *= i;}return result;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d的阶乘为%d\n", num, factorial(num)); return 0;}```五、简答题1. C语言逻辑与运算符(&&)短路特性是什么?答:C语言逻辑与运算符(&&)具有短路特性,即在进行逻辑与运算时,如果前一个表达式的值为假(0),则后面的表达式将不会被计算,整个逻辑与表达式的值直接为假(0)。

C语言课后习题答案

C语言课后习题答案

第一章习题答案一、选择题1~5:BDCDA 6~10:DABBB 11~12:CC二、填空题1、main()2、函数首部,函数体3、函数4、编辑、编译、连接、运行5、.cpp、.obj、 .exe6、; 或分号三、编程题#include <stdio.h> /* 包含标准库的信息 */void main() /* 定义名为main 的函数,它不接受参数值 */{ /* main函数的语句都被括在花括号中 */printf("hello, world\n");/* main 函数调用库函数printf 以显示字符序列,其中\n代表换行符 */}第二章习题答案一、选择题1~5:CBABB 6~10:CDCDD 11~15:CADBC 16~20:BDAAD二、填空题1、整型,实型,字符型,枚举类型2、13、94、123535145、2,16、2,27、10 20 08、a=149、2,3,110、double第三章习题答案一、选择题1~5:CBBBC 6~10:DDDBB二、填空题1、控制语句,表达式语句,复合语句2、;3、{}4、15、a6、c:dec=120,oct=170,hex=78,ASCII=x7、32767,327678、10,A,109、3 310、(1) 123.456001(2) □□□□□□□ 123.456(3) 123.4560(4) 8765.456700(5) □□□□□□ 8765.457(6) 8765.4567(7) 8765.4567三、编程题1、参考答案:#include <stdio.h>void main(){int a,b,c;long int u,n;float x,y,z;char c1,c2;a=3;b=4;c=5;x=1.2;y=2.4;z=-3.6;u=51274;n=128765;c1='a';c2='b';printf("\n");printf("a=%2d b=%2d c=%2d\n",a,b,c );printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x, y,z);printf("x+y=%5.2f y+z=%5.2f z+x=%5. 2f\n",x+y,y+z,z+x);printf("u=%6ld n=%9ld\n",u,n); printf("c1='%c'or %d(ASCII)\n",c1,c1);printf("c2='%c'or %d(ASCII)\n",c2,c2);}2、参考答案:#include <stdio.h>void main(){float a, b, c, t;printf("please input a,b,c:\n"); scanf ("%f, %f, %f", &a, &b, &c);t=(a+b+c)/3;printf ("averageof %6.2f、%6.2f and %6.2f is %6.2f\n",a,b,c,t);}3、参考答案:#include <stdio.h>main(){int R, d;float s;printf("请输入圆的半径");scanf("%d",&R);d=2*R;c=2*3.14159*R;printf("d=%d,c=%f\n",d,c);}4、参考答案:#include <stdio.h>void main(){int h, f, x, y; /* x为鸡的数量,y为兔的数量 */printf("请输入鸡兔的总头数h,总脚数f:");scanf("%d%d", &h, &f);x=(4*h-f)/2;y=(f-2*h)/2;printf("笼中有鸡%d 只,有兔%d只。

C语言习题(前五章)参考答案

C语言习题(前五章)参考答案

C 语言习题参考答案第一部分 C 语言基础一、判断题1.对 2.错 3.对 4.对 5.错 6.错第二部分 数据类型、运算符及表达式一、选择题 1.AD 2.B 3.(1)CD (2)BD (3)C (4) B 5.B6.D /*赋值时,若有溢出,则只截取低位*/ 7.(1)AB (2)BD (3)ABCD 8.C 9.D10.C /*A,B 赋值运算符左值只能是变量,不能是表达式或常量,D 是逗号语句*/12.B /*赋值运算符优先级比逗号表达式高*/ 13.A14.D /*八进制数中,合格字符只能是0~7*/ 15.A /*二进制补码*/16.A /*八进制数中,合格字符只能是0~7*/ 17.D 19.B 20.D21.B /*赋值运算符右值的数据类型强制转换为左值的数据类型*/ 22.ABD 23.D 24.C 25.ABD 二、填空题1. 1 , -128~127 ; 2 , -32768~32767 ; 4 ,-2147483648~2147483647 ; 4 ,383810~10 。

3. 单引号, 双引号 。

4. 优先级 , 结合性 。

6. 2.5 。

7. 3.5 。

11. 24 , 10 , 60 , 0 , 12 , 0 12. double 。

14. 9 。

16. 1.5 , 1 。

18. 2 , -2 。

/*余数符号仅由被除数的符号决定*/ 三、判断题1.错 /*如常量*/3.错 /*如float 只能准确表示7位有效数字,多余的位数是近似表示*/4.错5.对6.对 10.错 四、简答题4写出下列各数的二进制补码(写成16为二进制形式):32: 0000 0000 0010 0000 -1: 1111 1111 1111 1111 -32768:1000 0000 0000 0000 2002: 0000 0111 1101 0010 -128: 1111 1111 1000 0000 0: 0000 0000 0000 0000 五、程序阅读 1.aabb[4个空格]cc[6个空格]c A 6 2.9,11,9,10第三部分 顺序结构一、选择题 2.D3.B /*假设int 占2个字节*/4.D5.C 7.C 8.B 9.D 10.B11.C /*D ,scanf 函数的格式符中不能规定小数位数*/ 12.A /*格式控制符:%2d%2d%3d,输入时,前两个空格对应的数字赋给a ,紧挨着的两个空格的位置赋给b*/ 13.C 14.D 15.D 二、填空题 6. %8. -10 12 410.34[回车] 题目补充:scanf 函数的调用形式为:scanf(“%d%d%f ”,&i,&j,&x); 。

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案

习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】(1)语言简洁、紧凑,使用方便、灵活。

(2)数据类型丰富,表达能力强。

(3)运算符多样。

C语言中的运算符包含的范围非常广泛。

(4)具有结构化的控制语句。

如if…else语句、while语句、do while语句、switch 语句、for语句。

(5)允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

(6)所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么它由哪几部分组成【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。

二.运行程序写结果1.输入下面程序并运行。

main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。

main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。

#include <>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。

c语言第五章选择结构程序设计(习题册答案)

c语言第五章选择结构程序设计(习题册答案)

c语⾔第五章选择结构程序设计(习题册答案)第五章选择结构程序设计基础练习(A)⼀、填空题1、关系表达式的运算结果是逻辑值。

C语⾔没有逻辑型数据,以1代表“真”,以0代表“假”。

2、逻辑运算符!是单⽬运算符,其结合性是由右结合性。

3、C语⾔提供的三种逻辑运算符是&&、|| 、!。

其中优先级最⾼的为!,优先级最低的为| | 。

4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和⾮0的整数,也可以是任何类型的数据。

系统最终以0 和⾮0 来判定它们属于“真”或“假”。

5、设y为int型变量,请写出描述“y是偶数”的表达式(y%2==0)。

6、设x,y,z均为int型变量,请写出描述“x或y中有⼀个⼩于z”的表达式x7、条件“22&&x<3。

8、判断char型变量ch是否为⼤写字母的正确表达式是(ch>=‘A’)&&(ch<=‘Z’)。

9、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。

10、当a=5,b=4,c=2时,表达式a>b!=c的值是1。

11、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||AB的值是0。

12、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是1。

13、有int x,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为1。

14、有int x,y,z;且x=3,y=-4,z=5,则以下表达式的值为1。

!(x>y)+(y!=z)||(x+y)&&(y-z)15、有int a=3,b=4,c=5,x,y;,则以下表达式的值为0。

!(x=a)&&(y=b)&&016、if (!k) a=3;语句中的!k可以改写为k= =0,使其功能不变。

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案

c语言程序设计第五版习题答案习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。

【解答】语言简洁、紧凑,使用方便、灵活。

数据类型丰富,表达能力强。

运算符多样。

C语言中的运算符包含的范围非常广泛。

具有结构化的控制语句。

如ifelse语句、while语句、do while语句、switch语句、for语句。

允许直接访问物理地址。

C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。

所生成的目标代码质量高,可移植性好。

2.构成C语言程序的基本单位是什么它哪几部分组成【解答】函数是构成C语言程序的基本单位。

一个完整的C程序一般文件包含、宏定义、函数说明、变量和一个或若干个函数组成。

3.C语言程序的运行一般要经过哪几个步骤?【解答】xx;编译;连接,生成EXE文件;执行。

二.运行程序写结果1.输入下面程序并运行。

main {int a1,a2,x; a1=100; a2=50; x=a1-a2;printf; }【解答】运行结果为:x=50 2.输入下面程序并运行。

main {int a1,a2,x; a1=10; a2=20; x=a1*a2;printf; printf;}【解答】运行结果为:a1=10,a2=20 x=2001三.编程题1.参照本章例题,编写一个C程序,用于显示如下信息: *************************I love C programs! ************************* 【分析与提示】①要有文件包含语句#include 。

C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。

这些函数的说明都包括在文件中。

②main是主函数的名称。

用{}括起来的内容是函数体,函数体若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。

③注意显示的信息有三行,所以要用到换行符“\\n”。

c语言入门经典 第5版 习题答案

c语言入门经典 第5版 习题答案

c语言入门经典第5版习题答案C语言入门经典第5版习题答案C语言是一门广泛应用于计算机科学领域的编程语言,它的应用范围非常广泛。

对于初学者来说,掌握C语言的基础知识是非常重要的。

而《C语言入门经典第5版》是一本非常经典的教材,它提供了大量的习题供学习者练习。

本文将为大家提供一些《C语言入门经典第5版》习题的答案,希望能够帮助读者更好地理解和掌握C语言的基础知识。

1. 编写一个程序,输出"Hello, World!"。

```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 编写一个程序,输入两个整数,然后输出它们的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d%d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```3. 编写一个程序,输入一个正整数n,然后计算并输出1到n之间所有整数的和。

```c#include <stdio.h>int main() {int n, sum = 0;printf("请输入一个正整数:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和是:%d\n", n, sum);return 0;}```4. 编写一个程序,输入一个正整数n,然后计算并输出1到n之间所有偶数的和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

else
k=x/5;
switch (k)
{ case 1: y=x+1; break;
case 0: y=x-1; break;
case -1: y=x; break;
}
printf("%d,%d\n", x, y);
}
switch((x+5)/5) {case 0: y=x;break; case 1: y=x-1:break; case 2: y=x+1; } printf(“x=%,y=%d\n”,x,y); }
& b:11110000
= 00000000 0(0 为假)
|| b: 11110000 1(非 0 为真)
=
1
6. 下列程序段的输出是__________。(k=1)
int i=0,k=100,j=4;
if(i+j)k=(i=j)?(i=1):(i=i+j);
printf(“k=%d\n”,k);
(非 0 0)
2.if(!k)a=3;语句中的!k 可以改写为________,使其功能不变。(k==0)
3. 表达“若|x|>4,则输出 x,否则输出 error!”,的 if 语句是______________。
if ( x>4 || x<-4 ) printf("%d",x); else printf("error!");
或: x>4 || x<-4 ? printf("%d",x) : printf("error!");
或:if(abs(x)>4)printf("%d",x); else printf("error!");
4. 能正确表达“当x的值是[1,10]或[200,210]范围内的奇数时,输出 x”的 if 语句是
{long n,s=0; scanf("%ld",&n);
while(n>0) {s=s*10+n%10;
n=n/10; }
printf("s=%ld\n",s); }
x (-5<x<0)
3、有一个函数: y= x-1 (0<=x<5) x+1 (5<=x<10)
分别用:(1)简单 if 语句,(2)嵌套的 if 语句,(3)if…else 语句,(4)switch 语句编
else printf("min=%d\n",c);
else if ( (a<b)&&(a<c) ) printf("min=%d\n",a);
else
printf("min=%d\n",b<c?b:c);
}
/*p116_1A.c */ main() {int a,b,c;
scanf("%d%d%d",&a,&b,&c); if(a>b)
{int n; printf("Input n:(0--32767\n"); scanf("%d",&n); if(n>10000){printf("%d",n%10);n=n/10;} if(n>1000){printf("%d",n%10);n=n/10;} if(n>100){printf("%d",n%10);n=n/10;} if(n>10){printf("%d",n%10);n=n/10;} printf("%d\n",n); }
}
case 0:y=b-a;}
C)switch a
D)switch(a+b)
{default :x=a+b;
{case10:x=a+b;break;
case 10:y=a-b;break;
case 11:y=a-b;
case 11:y=a*b;break;}
}
二、填空题(p115)
1.if 语句控制表达式只有其值为______时表示逻辑“真”,其值为__________表示逻辑“假”。
{case 0:a++;break; case 1:b++;break; }
case 2:a++;b++; } printf(“a=%d,b=%d\n”,a,b); }
10、 若下列程序执行后 t 的值为 4,则执行时输入 a,b 的值的范围是______________。
(0<a<b)
#include “stdio.h”
第五章参考答案
一、单项选择题 (P111)
1、要判断 char 型变量 m 是否是数字字符,可以使用下列表达式( )
A.0<=m&&m<=9
B.’0’<=&&m<=’9’
C.”0”<=m&&m<=”9”
D.前面三个答案均是错误的
2、if 语句的控制条件( )。
A)只能用关系表达式
B)只能用关系表达式或逻辑表达式
main()
{int a,b,s=1,t=1;
scanf(“%d,%d”,&a,&b);
if(a>0)s+=1;/*(2)要 s=2,则必须 a>0 */
if(a>b)t+=s;
/*(3)要使 t=4,则此 if-else 不能被执行,即 a<b */
else if(a==b)t=5;
else t=2*s; /*(1)要 t=4,则必 s=2 */
else printf(min=%d\n",c)
if(a<b)&&(a<c)printf("min=%c\n",a);
}
修改程序如下:
main( )
{ int a, b, c;
scanf ("%d,%d,%d", &a, &b, &c);
if ( ( a>b)&&(a>c) )
if (b<c) printf("min=%d\n",b);
4、执行以下程序段后,a,b,c 的值分别是( )。
int a,b=100,c,x=10,y=9;
a=(--x= =y++)?—x:++y;
if(x<9) b=x++;c=y;
A)9,9,9 B)8,8,10 C)9,10,9 D)1,11,10
5、执行下列程序段后,x、y 和 z 的值分别是( )。
7. 下列程序段当 a 的值为 014 和 0x14 时的执行结果分别是________。
if(a=0xa|a>12)
/* 结果:a=014 时 输出:10!*/
if(011&10==a)printf(“%d! \n”,a); /*
a=0x14 时 输出:Right!11 */
else
printf(“Right!%d\n”,a);
0(x>0)
C)
0 (x<0)
D)
-1(X<0)
y= -1 (x=0)
y= 1(x=0)
1 (x>0)
0(x>0)
8、若执行以下程序时从键盘上输入 3□4,则输出结果是( )。
main()
{int a,b,s;
scanf(“%d%d”,&a,&b); s=a;
if(a<b)s=b;
s*=s;
printf(“%d\n”,s);
}
(4) 用 switch( )结构 main( ) { int x, y, k;
printf ("Please input scanf ("%d",&x); if ( x<0 ) k=-1;
x :-5-----10\n");
(4)改 main() {int x,y;
do scanf(“%d”,&x); while(x<=-5||x>=10);
int x=10,y=20,z=30;
if(x>y)z=x; x=y; y=z;
A)10,20,30 B)20,30,30 C)20,30,10 D)30,30,20
6、以下程序的输出结果是( )。
main()
{int w=4,x=3,y=2,z=1;
if(x>y&&(z==w))printf(“%d\n”,(w<x?w:z<y?z:x));
________。
if ( (x%2!=0) && ( (x>=1 && x<=10) || (x>=200 && x<=210) ) )
5、已知 a=15,b=240;则表达式(a&b)&b||b 的结果为__________。(1)
a: 00001111
& b:11110000
=
00000000
}
(3) 用 if-else 分支结构
main( )
{ int x, y;
scanf ("%d",&x);
if ( x<0 && x>-5 )
相关文档
最新文档