2014-2015第二学期 《c语言程序设计》问题答疑材料
C语言程序设计实用教程 参考答案

C语言程序设计实用教程参考答案C语言程序设计是计算机科学中最基础和重要的一门课程,对于计算机专业的学生来说至关重要。
本教程将为初学者提供一份实用的参考答案,帮助他们学习和理解C语言的程序设计。
1. 概述C语言是一种通用的高级编程语言,最初由贝尔实验室的Dennis Ritchie开发。
它在计算机科学领域具有广泛的应用,特别在系统开发和嵌入式系统中非常常见。
2. 程序结构C语言的程序结构主要包含预处理指令、函数、语句和注释。
预处理指令通过“#”符号开头,用于引入头文件和宏定义。
函数是C语言中的基本模块,用于封装和组织代码。
语句是具体的执行指令,用于实现特定的功能。
3. 常用数据类型C语言提供了多种数据类型,如整数、浮点数、字符和字符串等。
其中整数可以分为有符号整数和无符号整数。
浮点数用于处理带有小数部分的数值。
字符类型用于表示单个字符,字符串类型用于表示多个字符的序列。
4. 控制结构控制结构是C语言中的重要概念,用于控制程序的流程和执行顺序。
常见的控制结构包括条件语句(if-else语句和switch语句)和循环语句(while循环、for循环和do-while循环)。
5. 数组和指针数组是一种用于存储相同类型数据的集合。
C语言中的数组可以一维或多维。
指针是一种特殊的变量类型,用于存储内存地址。
通过指针可以实现对其他变量的间接操作。
6. 函数函数是C语言中的重要概念,用于将代码封装成可复用的模块。
C语言提供了多种函数类型和参数传递方式。
函数的定义包括函数名、返回类型、参数列表和函数体。
7. 文件操作C语言提供了对文件的操作功能,包括文件的打开、读取、写入和关闭等。
文件操作需要使用标准库函数和文件指针来实现。
8. 动态内存分配C语言中可以通过动态内存分配函数(如malloc和free)来动态分配和释放内存。
动态内存分配可以提高程序的灵活性和效率。
9. 结构体和联合体结构体是一种自定义数据类型,用于封装不同类型的数据成员。
C语言程序设计(第2版) 课后题答案

C语言程序设计(第2版) 课后题答案C语言程序设计(第2版) 课后题答案一、基本概念与语言规则1. C语言的特点和用途C语言是一种通用的高级程序设计语言,具有简洁、高效、灵活和可移植等特点。
它广泛应用于系统软件、应用软件和嵌入式系统开发等领域。
2. 标识符的规则标识符是程序中用来标识变量、函数、数组等各种对象的名称。
标识符需要遵守以下规则:- 由字母、数字和下划线组成,首字符必须是字母或下划线。
- 大小写敏感,即大写字母和小写字母被认为是不同的字符。
- 不能使用C语言的关键字作为标识符。
3. 变量和常量变量是用来存储数据的内存单元,而常量是不可改变的数据值。
在C语言中,变量需要先声明后使用,而常量可以直接使用。
4. 数据类型和类型转换C语言提供了多种数据类型,包括整型、浮点型、字符型等。
不同的数据类型可以存储不同范围和精度的数据。
在需要的时候,可以进行数据类型的转换。
5. 运算符和表达式C语言支持多种运算符,包括算术运算符、逻辑运算符、比较运算符等。
表达式是由运算符和操作数组成的式子,可以进行各种计算和逻辑判断。
6. 控制结构C语言提供了多种控制结构,包括顺序结构、条件结构和循环结构。
通过这些结构可以实现程序的分支和循环操作。
二、函数和数组1. 函数的定义和调用函数是C语言程序的基本模块,可以完成特定的任务。
函数的定义包括函数名、参数列表、返回值类型和函数体。
函数的调用通过函数名和实参来完成。
2. 数组的定义和使用数组是一组相同类型的数据元素的集合。
在C语言中,数组可以用来存储多个同类型的数据,并通过下标来访问和操作数组元素。
三、指针和字符串1. 指针的概念和使用指针是C语言中的一个重要概念,它代表一个内存地址。
通过指针可以直接访问内存中的数据,可以用来提高程序的效率和灵活性。
2. 字符串的概念和操作字符串是由字符组成的数组,以空字符'\0'结尾。
C语言提供了多种操作字符串的函数,如字符串的复制、连接、比较等。
c 程序设计(第2版)课后习题答案

c 程序设计(第2版)课后习题答案C 程序设计(第2版)是一本经典的计算机编程教材,被广泛应用于计算机科学与技术专业的教学中。
该教材的每一章都附带了一系列的习题,这些习题在巩固学生对于 C 语言的理解和掌握方面起到了重要的作用。
然而,很多学生在自学或者课后复习的过程中常常会遇到习题解答的困扰。
因此,本文将为大家提供一些 C 程序设计(第2版)课后习题的答案,希望能够对大家的学习有所帮助。
第一章:C 程序设计概述1.1 习题解答:1) C 程序设计的特点包括高效性、可移植性、灵活性和可扩展性。
2) C 程序设计的基本结构包括预处理指令、函数定义和主函数。
3) C 程序设计的编译过程包括预处理、编译、汇编和链接四个阶段。
第二章:C 语言基础2.1 习题解答:1) C 语言中的标识符是指用于标识变量、函数、数组等各种程序实体的名称。
标识符的命名规则包括:只能由字母、数字和下划线组成,且不能以数字开头;不能使用 C 语言的关键字作为标识符;标识符区分大小写。
2) C 语言中的常量是指在程序中直接使用的固定值,包括整型常量、实型常量、字符常量和字符串常量。
3) C 语言中的变量是指用于存储数据的内存空间,包括整型变量、实型变量、字符变量和字符串变量。
第三章:运算符和表达式3.1 习题解答:1) C 语言中的算术运算符包括加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)和取模运算符(%)等。
2) C 语言中的关系运算符包括大于运算符(>)、小于运算符(<)、等于运算符(==)、不等于运算符(!=)等。
3) C 语言中的逻辑运算符包括与运算符(&&)、或运算符(||)和非运算符(!)等。
第四章:选择结构4.1 习题解答:1) C 语言中的 if 语句用于实现单一条件的判断,格式为:if (条件表达式) {语句块}。
2) C 语言中的 if-else 语句用于实现两个条件的判断,格式为:if (条件表达式) {语句块1} else {语句块2}。
2014级公共《C语言程序设计》考试试卷B (1)

第 1 页 共 7 页5. 有输入语句:scanf(“a=%d,b=%d,c=%d ”,&a,&b,&c);为使变量 a 的值为1,b 的值为2,c 的值为3,则正确的数据输入方式是( )。
(↙表示回车) (A )123↙ (B )1,2,3↙ (C )a=1 b=2 c=3↙ (D )a=1,b=2,c=3↙6.已知字母A 的ASCII 码值为十进制的65,下面程序的输出结果是( )。
#include<stdio.h> main(){ char ch1,ch2;ch1='A'+'5'-'3'; ch2='A'+'6'-'3';printf(“%d,%c\n”,ch1,ch2); }(A )67,D (B )B,C (C )C,D (D )不确定的值 7. 为表示关系x ≥y ≥z ,应使用C 语言表达式( )。
(A )(x>=y)&&(y>=z) (B )(x>=y)AND(y>=z) (C )(x>=y>=z) (D )(x>=y) & (y>=z)8. 设有数组定义:char array[]=“China ”;则数组array 所占的存储空间为( )。
(A )4个字节 (B )5个字节 (C )6个字节 (D )7个字节 9. 以下程序的输出结果是( )。
#include<stdio.h> main(){ int x=1,a=0,b=0; switch(x){ case 0:b++;case 1:a++;case 2:a++;b++;}printf(“%d,%d”,a,b);}(A)2,1 (B)1,1 (C)1,0 (D)2,210. 若k为整型变量,则下列while循环执行的次数为()。
《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案

《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案(教育部考试中心)高等教育出版社出版(第一章、第二章、第三章)第一章程序设计基本概念1.1 在TRUBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是______。
答案:.exe1.2 C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是_____。
答案:.c .obj .exe1.3 结构化程序由_____、_____、_____三种基本结构组成。
答案:顺序、选择、循环第二章 C程序设计的初步知识一、选择题2.1 以下选项中正确的整型常量是A)12. B)-20 C)1,000 D)4 5 6答案:B2.2 以下选项中正确的实型常量是A)0 B)3. 1415 C)0.329×10(2)(10的2次方)D).871答案:D2.3 以下选项中不正确的实型常量是A)2.607E-1 B)0.8103e 2 C)-77.77 D)456e-2答案:B2.4 以下选项中不合法的用户标识符是A)abc.c B)file C)Main D)PRINTF答案:A2.5 以下选项中不合法的用户标识符是A)_123 B)printf C)A$ D)Dim答案:C2.6 C语言中运算对象必需是整型的运算符是A)% B)/ C)! D)**答案:A2.7 可在C程序中用作用户标识符的一组标识符是A)void define WORDB)as_b3 _123 IfC)For -abc caseD)2c DO SIG答案:B2.8 若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b答案:B2.9 以下叙述中正确的是A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值。
2014-2015第二学期 《c语言程序设计》问题答疑材料课件

《C语言程序设计》问题答疑材料一、论坛提过得问题总结1.常用的C语言调试编译器?Microsoft Visual Studio 2010,WinTc等,推荐使用Visual Studio 2010。
2.如何正确掌握解决程序中编写顺序?编程中出现的令学生困惑的顺序问题主要是是程序调用过程中出现的顺序问题吧,要学会调试,跟踪代码,总的来讲,C语言是顺序结构程序!3.表达式和表达式语句如何区分?前者是一个数学概念,后者是C语言语法概念!4.汇编语言和c语言有什么区别?汇编语言更接近及其语言,直接对内存如寄存器操作。
C是高级语言,在C 编程中看不到对内存的直接操作!5.C语言中指针是变量么?如果是那指针的变量值是什么?指针其实是指向内存中的地址,值在相应的地址中存放!6.C语言和C++是什么关系C是面向过程语言;C++是面向对象语言;一个切身体会是:C语言中的struct已经有了C++中面向对象的感觉。
在C++中要体会对类、象、继承这些关键词,这是面向对象的要义所在!7.C语言和C#有什么区别?C是过程语言,而C#是面向对象语言,两个是有根本的差别的,基本上可以说没有联系,之所以叫C#主要是因为历史的原因,c适合做芯片级的开发,底层应用的开发,而C#适合做桌面级开发和浏览器级的开发。
8.字串符和与指针有什么区别?字串符是一种数据形式;指针是内存访问形式。
它俩并没有联系,只是我们说可以用指针来操作字符创串,如*p="hello world"。
9.C++与Java有什么联系吗C++与Java都是面向对象编程语言,这一点是相似的。
Java语言摒弃了C++ 中指针的操作,更加安全!10.Static关键字在C语言中的作用?static全局变量与普通的全局变量区别:static全局变量值初始化一次,防止在其他文件单元中被引用。
static函数与普通函数区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。
c语言程序设计第2版习题答案

c语言程序设计第2版习题答案C语言程序设计是计算机科学领域中一门重要的编程语言,它被广泛应用于软件开发和系统设计中。
为了帮助学习者更好地理解和掌握C语言的基本概念和编程技巧,本文将为读者提供《C语言程序设计第2版》习题答案。
第一章:基本概念和语法本章主要介绍了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;}```第二章:控制结构本章主要介绍了C语言中的控制结构,包括条件语句和循环语句。
以下是一些习题的答案:1. 编写一个程序,判断一个整数是否为正数、负数或零。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num > 0) {printf("正数\n");} else if (num < 0) {printf("负数\n");} else {printf("零\n");}return 0;}```2. 编写一个程序,计算1到100之间所有偶数的和。
c程序设计(第2版)课后习题答案

c程序设计(第2版)课后习题答案C程序设计是一门基础的计算机编程课程,它教授学生如何使用C语言编写程序。
C语言是一种结构化编程语言,广泛用于系统软件、嵌入式系统和各种应用程序的开发。
以下是一些C程序设计课后习题的答案示例,这些答案仅供参考,具体习题的答案可能会有所不同。
第一章:C语言概述1. 简述C语言的特点。
- C语言是一种高级语言,同时具有汇编语言的效率。
- 它支持结构化编程,允许模块化设计。
- C语言具有丰富的运算符和数据类型。
- 它提供了指针功能,增强了编程的灵活性。
2. 描述C程序的基本结构。
- C程序由预处理指令、函数定义和主函数`main()`组成。
- 每个函数由函数声明、函数体和花括号包围的代码块组成。
第二章:数据类型、运算符和表达式1. 列出C语言的基本数据类型。
- 整型:`int`、`short int`、`long int`- 浮点型:`float`、`double`- 字符型:`char`- 枚举型:`enum`2. 解释赋值运算符的左结合性和右结合性。
- 赋值运算符是右结合性,意味着从右向左进行赋值。
第三章:控制语句1. 什么是条件语句?- 条件语句允许程序根据条件是否满足来执行不同的代码路径。
2. 描述循环语句的类型及其用法。
- `for`循环:用于已知迭代次数的循环。
- `while`循环:用于未知迭代次数,条件为真时循环。
- `do-while`循环:至少执行一次循环体,然后检查条件。
第四章:函数1. 函数的定义是什么?- 函数是一段具有特定功能的代码块,可以接收参数并返回值。
2. 解释函数原型和函数定义的区别。
- 函数原型声明了函数的名称、返回类型和参数列表,但不包含函数体。
- 函数定义包含了函数的完整实现,包括函数体。
第五章:数组1. 一维数组的声明和初始化方式。
- 声明:`type arrayName[arraySize];`- 初始化:`int arr[5] = {1, 2, 3, 4, 5};`2. 二维数组的访问方式。
C语言课后习题答案2014年新版(完整版)

习题答案习题1(参考答案)1.程序与算法的概念及二者的区别是什么?程序:为了实现特定目标或解决特定问题而用计算机语言偏写的指令序列,它由算法和数据结构组成。
算法:(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。
通俗地讲,就是计算机解题的步骤。
算法与程序的区别:计算机程序是算法的一个实例,同一个算法可以用不同的计算机语言来表达。
2.简述程序设计语言发展的过程程序设计语言经过最初的机器代码到今天接近自然语言的表达,经过了四代的演变。
一般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代,面对象的编程语言为第四代。
3.简述高级程序设计语言中面向过程与面向对象的概念。
“面向过程”是一种以过程为中心的编程思想。
首先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步地实现,使用的时候依次调用函数即可。
一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。
“面向对象”是一种以事物为中心的编程思想。
面向对象的方法主要是将事物对象化,对象包括属性与行为。
面向过程与面向对象的区别:在面向过程的程序设计中,程序员把精力放在计算机具体执行操作的过程上,编程关注的是如何使用函数去实现既定的功能;而在面向对象的程序设计中,技术人员将注意力集中在对象上,把对象看做程序运行时的基本成分。
编程关注的是如何把相关的功能(包括函数和数据)有组织地捆绑到一个对象身上。
4.C语言程序的特点是什么?(1)C语言非常紧凑、简洁,使用方便、灵活,有32个关键字,有9种流程控制语句。
(2)C语言运算符丰富,共有45个标准运算符,具有很强的表达式功能,同一功能表达式往往可以采用多种形式来实现。
(3)数据类型丰富。
C语言的数据类型有整型、实型、字符型、数组类型、结构类型、共用类型和指针类型,而且还可以用它们来组成更复杂的数据结构,加之C语言提供了功能强大的控制结构,因而使用C语言能非常方便地进行结构化和模块化程序设计,适合于大型程序的编写、调试。
北航《C语言程序设计》答案

北航《C语言程序设计》答案```plaintext一、基本概念和语法1. 在C语言中,什么是标识符?答:标识符是由字母、数字和下划线组成的字符序列,用于给变量、函数等命名。
2. C语言的注释有哪几种形式?答:C语言的注释有单行注释(//)和多行注释(/* */)两种形式。
3. 请简要解释一下C语言中的变量声明和定义的区别。
答:变量声明是为变量分配内存空间,告诉编译器该变量的类型和名称;变量定义是在声明的基础上为变量分配初值。
4. C语言中有哪些基本数据类型?请列举并简要介绍。
答:C语言中有int、float、char、double、void等基本数据类型。
- int类型用于表示整数;- float和double类型用于表示浮点数;- char类型用于表示字符;- void类型用于表示无类型。
5. C语言中的运算符有哪些种类?请简要介绍一下算术运算符和逻辑运算符。
答:C语言中的运算符包括算术运算符、关系运算符、逻辑运算符等。
- 算术运算符用于完成基本的算术运算,如加法(+)、减法(-)、乘法(*)、除法(/)等;- 逻辑运算符用于处理逻辑判断,如与(&&)、或(||)、非(!)等。
二、流程控制语句1. C语言中的条件语句有哪些?请简要介绍if语句和switch语句。
答:C语言中的条件语句有if语句和switch语句。
- if语句用于判断条件是否成立,若条件为真,则执行相应的代码;- switch语句用于根据表达式的值选择执行不同的代码块。
2. 循环语句在C语言中有哪几种形式?请简要介绍while循环和for循环。
答:C语言中的循环语句有while循环、do-while循环和for循环。
- while循环用于在指定条件为真的情况下重复执行一段代码;- for循环结构更加灵活,通过初始化、条件和增量表达式来控制循环次数。
三、函数和数组1. C语言中的函数有哪些特点?请简要介绍函数的定义和调用。
C语言2015版习题答案完整版

C语言习题答案习题1(参考答案)1.程序与算法的概念及二者的区别是什么?程序:为了实现特定目标或解决特定问题而用计算机语言偏写的指令序列,它由算法和数据结构组成。
算法:(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。
通俗地讲,就是计算机解题的步骤。
算法与程序的区别:计算机程序是算法的一个实例,同一个算法可以用不同的计算机语言来表达。
2.简述程序设计语言发展的过程程序设计语言经过最初的机器代码到今天接近自然语言的表达,经过了四代的演变。
一般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代,面对象的编程语言为第四代。
3.简述高级程序设计语言中面向过程与面向对象的概念。
“面向过程”是一种以过程为中心的编程思想。
首先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步地实现,使用的时候依次调用函数即可。
一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。
“面向对象”是一种以事物为中心的编程思想。
面向对象的方法主要是将事物对象化,对象包括属性与行为。
面向过程与面向对象的区别:在面向过程的程序设计中,程序员把精力放在计算机具体执行操作的过程上,编程关注的是如何使用函数去实现既定的功能;而在面向对象的程序设计中,技术人员将注意力集中在对象上,把对象看做程序运行时的基本成分。
编程关注的是如何把相关的功能(包括函数和数据)有组织地捆绑到一个对象身上。
4.C语言程序的特点是什么?(1)C语言非常紧凑、简洁,使用方便、灵活,有32个关键字,有9种流程控制语句。
(2)C语言运算符丰富,共有45个标准运算符,具有很强的表达式功能,同一功能表达式往往可以采用多种形式来实现。
(3)数据类型丰富。
C语言的数据类型有整型、实型、字符型、数组类型、结构类型、共用类型和指针类型,而且还可以用它们来组成更复杂的数据结构,加之C语言提供了功能强大的控制结构,因而使用C语言能非常方便地进行结构化和模块化程序设计,适合于大型程序的编写、调试。
《C 程序设计教程》课后习题答案

第1章C++及其开发环境概述一、问答题1.结构化程序设计主要有哪些劣势?【答案】(1)程序的开发效率低下(2)程序的可重用性差(3)程序的维护成本高(4)无法适应信息的快速膨胀和多样化2.面向对象的程序设计有哪些优点?【答案】(1)程序的开发效率高(2)程序代码的可重用性高(3)程序易于维护3.C++的发展经历了哪些阶段?【答案】C++语言起源于C语言。
1980年初期,美国贝尔实验室的Bjarne Stroustrup博士及其同事在C语言的基础上,从Simula67中引入面向对象的特征,开发出一种过程性与对象性相结合的程序设计语言,最初称为“带类的C”,1983年正式取名为C++。
后来,Stroustrup和他的同事陆续将运算符重载、继承、虚函数等特性引入C++,1989年后推出AT&T C++ 2.0版,并经过多次改进和完善,发展成为现在的C++。
4.C++主要有哪些特点?【答案】(1)C++可以被看成C语言的一个超集,是对C的增强和扩展。
因此,许多C代码可以不经修改即可为C++所用。
自然,也可以利用C++开发环境来开发C程序。
(2)C++几乎支持所有面向对象的程序设计特征,因此,利用C++不仅可以进行传统的结构化程序设计,而且可以较好地进行面向对象的程序开发。
(3)C++很好地保持了C的简洁、高效、灵活和接近汇编语言的特点,因此,C++程序的执行效率也很高。
5.一个C++程序一般由哪几部分构成?【答案】①预处理命令。
C++提供了三种预处理命令,即宏定义命令、文件包含命令和条件编译命令。
②全局声明部分。
此部分内容通常会给出用户自定义的数据类型声明,以及程序中所涉及变量的定义,例如类的声明。
数据结构③函数。
一个程序中可包含一个或多个函数,它们是执行用户指定操作的主要部分。
6.使用Visual C++ 开发C++程序时一般要经过哪几个步骤?每个步骤的作用是什么?相应地产生哪些文件?【答案】(1)编写程序C++是一种高级语言,所以用其编写的程序称为“源程序”,以.cpp做为后缀。
C语言程序设计教程课后习题答案

void main()
{
cout<<"In main().\n";
}
2.
#include <iostream.h>
void MAIN()
{
cin>>a;
int b=a+a;
cout<<"b=<<b<<\n";
}
答:修改后如下:
#include <iostream.h>
C++语言程序设计教程课后习题答案(2011-03-09 17:24:22)
标签: 杂谈 分类: 学习
第1章 C++语言概述
练习题1
1.1 判断题
×1.C++语言和C语言都是面向对象的程序设计语言。
√2.面向对象方法具有封装性、继承性和多态性。
√3.C语言是C++语言的一个子集。C++语言继承了C语言。
× 9.外部类变量与外部静态类变量的作用域是相同的。
× 10.变量被定义后是否有默认值与存储类无关,与数据类型有关。
√ 11.C++程序中,通常使用const来定义符号常量,定义时必须指出类型。
× 12.变量被定义或说明后,它一定具有有意义的值。
× 13.字符串常量与字符常量的区别仅表现在定义形式上的不同,一个用双撇号,另一个用单撇号。
void f1()
{
cout<<"在上海.\n";
}
#include <iostream.h>
c++期终考试2014-2015(2)-部分问题详解

某某工业大学2014/2015学年
第二学期试卷
课程C++程序设计Ⅱ某某___________________________
班级____________________________授课教师
题序
一
二
三
四
五
六
七
八
总评
计分
试题一、选择题〔每题1分,共20分〕
7 Barney y;
8};
有错误的地方是〔〕。B
A.第1行:class Fred;B.第3行:Fred x;
C.第4行:Fred *p;D.第7行:Barney y;
10.需要一种逻辑功能一样的函数,而编制这些函数的程序文本完全一样,区别只是数据类型不同。对于这种函数,下面不能用来实现这一功能的选项是〔〕。D
(9)_________________ (10)_________________ (11)________________
3.【程序说明】定义了Clock类,请派生一个带“AM〞、“PM〞的新时钟类NewClock。以下程序输出为:8:23:34 PM
#include<iostream>
using namespace std;
1.所谓数据封装就是将一组数据和与这组数据有关的操作组装在一起,形成一个实体,这个实体定义成〔〕。A
2.假定A是一个类,如此执行“A *p=new A[10];〞语句时共调用该类构造函数的次数是〔〕。D
A. 1 B. 2 C. 11 D.10
3.定义了类Person,如此Person类的复制构造函数声明应定义正确的答案是〔〕。B
D.设置虚函数的目的是消除二义性
c语言程序设计教程2014年韩立毛徐秀芳书后练习试题参考答案解析

练习题1参考答案一、选择题二、填空题1.程序设计语言主要分为以下三类:机器语言、汇编语言和高级语言。
2.在C语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。
3.C程序开发过程的一般步骤为:源程序的编辑、编译、连接和运行。
4. C程序源文件的扩展名为 .c ,编译成功后产生的文件扩展名为 .obj ,连接成功后产生文件扩展名为 .exe 。
三、应用题略练习题2参考答案一、选择题1.通常一个字节包含8 个二进制位。
在一个字节中能存放的最大(十进制)整数是255(无符号),127(带符号),最小(十进制)整数是-128 ,它的二进制数的形式是10000000 。
2.在C语言中,十进制数30的八进制数表示形式是036 ,十六进制数表示形式是0x1e ,在内存中它的二进制数表示形式是0000000000011110 。
3.条件“20<x<30或x<-100”的C语言表达式是x>20&&x<30||x<-100 。
4.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为 6 ,b 值为 4 ,c值为 2 。
5.已知int y; float x=-3; ,执行语句y=x%2; 后,变量y的值为语句出错。
6.字符串"ab\034\\\x79"的长度为 5 。
7.在C语言中(以16位PC机为例),一个float型数据在内存中所占用的字节数为4 ;一个double型数据在内存中所占的字节数为8 。
8.若s是int型变量,且s=6,则s%2+(s+1)%2表达式的值为 1 。
9.表达式pow(2.8,sqrt(double(x)))值的数据类型为double 。
10.若a是int型变量,则表达式(a=4*5, a*2), a+6的值为26 。
11.若a是int型变量,则执行表达式a=25/3%3后a的值为 2 。
程序设计教程用C语言编程(习题解答)

程序设计教程--用C++语言编程(第二版习题解答)目录第1章概述 (2)第2章基本数据类型和表达式 (5)第3章程序的流程控制――语句 (7)第4章过程抽象――函数 (16)第5章构造数据类型 (22)第6章数据抽象――类 (37)第7章操作符重载 (53)第8章继承――派生类 (77)第9章类属(泛型)机制――模板 (87)第10章输入/输出(I/O) (93)第11章异常处理 (101)第12章实例--面向对象的Windows应用程序框架 (102)第1章概述1、简述冯•诺依曼计算机的工作模型。
答:冯•诺依曼计算机的工作模型是:待执行的程序从外存装入到内存中,CPU从内存中逐条地取程序中的指令执行;程序执行中所需要的数据从内存或从外设中获得,程序执行中产生的中间结果保存在内存中,程序的执行结果通过外设输出。
2、简述寄存器、内存以及外存的区别。
答:寄存器主要用于记录下一条指令的内存地址、当前指令的执行状态以及暂时保存指令的计算结果供下一(几)条指令使用,其作用主要是减少访问内存的次数,提高指令的执行效率。
内存用于存储计算机程序(指令和数据),内存由许多存储单元构成,每个存储单元都有一个地址,对存储单元的访问是通过其地址来进行的,与寄存器相比,内存的容量要大得多,但指令访问内存单元所花费的时间比访问寄存器要多得多。
外存是大容量的低速存储部件,用于永久性地存储程序、数据以及各种文档等信息,存储在外存中的信息通常以文件形式进行组织和访问,外存储了在容量和速度上与内存不同,另一个区别在于内存中存储的是正在运行的程序和正在使用的数据,外存中存储的则是大量的、并非正在使用的程序和数据。
3、CPU能执行哪些指令?答:CPU所能执行的指令通常有:算术指令:实现加、减、乘、除等运算。
比较指令:比较两个操作数的大小。
数据传输指令:实现CPU的寄存器、内存以及外设之间的数据传输。
执行流程控制指令:用于确定下一条指令的内存地址,包括转移、循环以及子程序调用/返回等指令。
《C语言程序设计教程》答案 (1)[2页]
![《C语言程序设计教程》答案 (1)[2页]](https://img.taocdn.com/s3/m/4e1fdc3833d4b14e84246884.png)
习题参考答案第一章计算思维与C语言程序设计1.什么是计算思维?计算思维有哪些特点?答:计算思维(Computational Thinking)又称构造思维,是指从具体的算法设计规范入手,通过算法过程的构造与实施来解决给定问题的一种思维方法。
计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类行为的,涵盖了计算机科学之广度的一系列思维活动。
计算思维有如下特点:①计算思维吸取了问题求解所用的一般数学思维方式,颠覆了现实世界中巨大复杂系统设计与评估的一般过程思维方法和理解心理以及人类行为的一般科学思维方法。
②计算思维建立在计算过程的能力和限制之上,由人和机器执行;计算方法和模型可以处理那些原本无法由个人独立完成的问题和系统设计。
③计算思维最根本的内容是抽象,计算思维中的抽象完全超越物理中的时空观,以致完全用符号来表示;与数学和物理的抽象相比,计算机思维的抽象更为丰富和复杂。
2.计算思维与计算机之间的关系?答:计算思维虽然具有计算机科学的许多特征,但是计算思维本身并不是计算机科学的专属。
实际上,即使没有计算机,计算思维也会逐步发展,甚至有些内容与计算机没有关系。
但是,正是由于计算机的出现,给计算思维的研究和发展带来了根本性的变化。
计算机对于信息和符号的快速处理能力,使得许多原本只是理论可以实现的过程变成了实际可以实现的过程。
3.什么是C语言?为什么要学习C语言?答:C语言是种高级程序设计语言,具有简洁、紧凑、高效等特点。
它既可以用于编写应用软件,也可以用于编写系统软件。
C语言是一种通用的、面向过程的程序语言。
它的诸多特点使它应用面很广,其强大的功能被广泛应用于各领域:(1)C语言可以写网站后台程序,诸如百度、腾讯后台。
(2)C语言可以写出绚丽的GUI界面。
(3)C语言可以专门针对某个主题写出功能强大的程序库,然后供其他程序方便使用,从而让其他程序节省开发时间。
(4)C语言可以写出大型游戏的引擎。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》问题答疑材料一、论坛提过得问题总结1.常用的C语言调试编译器?Microsoft Visual Studio 2010,WinTc等,推荐使用Visual Studio 2010。
2.如何正确掌握解决程序中编写顺序?编程中出现的令学生困惑的顺序问题主要是是程序调用过程中出现的顺序问题吧,要学会调试,跟踪代码,总的来讲,C语言是顺序结构程序!3.表达式和表达式语句如何区分?前者是一个数学概念,后者是C语言语法概念!4.汇编语言和c语言有什么区别?汇编语言更接近及其语言,直接对内存如寄存器操作。
C是高级语言,在C 编程中看不到对内存的直接操作!5.C语言中指针是变量么?如果是那指针的变量值是什么?指针其实是指向内存中的地址,值在相应的地址中存放!6.C语言和C++是什么关系C是面向过程语言;C++是面向对象语言;一个切身体会是:C语言中的struct已经有了C++中面向对象的感觉。
在C++中要体会对类、象、继承这些关键词,这是面向对象的要义所在!7.C语言和C#有什么区别?C是过程语言,而C#是面向对象语言,两个是有根本的差别的,基本上可以说没有联系,之所以叫C#主要是因为历史的原因,c适合做芯片级的开发,底层应用的开发,而C#适合做桌面级开发和浏览器级的开发。
8.字串符和与指针有什么区别?字串符是一种数据形式;指针是内存访问形式。
它俩并没有联系,只是我们说可以用指针来操作字符创串,如*p="hello world"。
9.C++与Java有什么联系吗C++与Java都是面向对象编程语言,这一点是相似的。
Java语言摒弃了C++ 中指针的操作,更加安全!10.Static关键字在C语言中的作用?static全局变量与普通的全局变量区别:static全局变量值初始化一次,防止在其他文件单元中被引用。
static函数与普通函数区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。
static局部变量和普通局部变量区别:static局部变量只被初始化一次,下一次依据上一次结果值11.数组与指针的区别?1)数组:定义了一块连续的内存区域。
数组时连续分配一串单元,数目开始定义的时候就必须固定下来,程序是死程序,容易浪费内存。
2)指针:就是一个普通变量,即指向某一块内存区域的首地址。
指针存放一个地址值,表示指向某一个单元,可以用指针来索引单元。
数组可以完成栈,堆,树等等的操作,它在编程时候的好处是非常的灵活,在构建思路的时候有很大的灵活性。
12.判断字符串a是否大于b,应当使用?库函数strcmp(),或者自己编写相应的函数比较,主要是字符串从左往右依次比较相应位置的字符大小。
13.一个C程序的执行是从什么开始?什么结束?从main函数的第一行开始,到main函数最后一行结束。
因为一个程序有且只有一个main函数,其他函数都是在main函数里面调用执行的。
14.C语言中用于结构化程序设计的三种基本结构是什么?顺序结构、选择结构、循环结构15.指向函数的指针是什么意思?指向函数的指针叫“函数指针”,是一个是指针变量。
C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。
有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。
16.循环语句中的break和continue有何区别?break 用于跳出循环,执行循环体的下一条语句,而continue 只是结束本次循环,然后还要判断条件,看看能不能继续下一次循环!17.C语言有哪些数据类型以及这些数据类型进行混合运算时遵循什么原则?数据类型包括:int,double,float,bool,char,struct,enum和union;混合运算时要保持类型一致,因而往往需要转换变量的数据类型,低级的数据类型要向高级类型转换!18.函数的嵌套调用和递归调用有什么不同?嵌套调用的函数不能是本身,递归调用的函数是本身。
19.传递地址和传递变量的区别?C语言中没有“变量传递”的概念,应该是“形参变量向实参变量的值传递”。
(1)、在C语言中,所有非数组形式的数据实参都是以值传递的形式调用,在值传递的过程中,被调用函数的形式参数被视为该函数的局部变量,即在内存的堆栈中开辟空间以存放由主调函数放进来的实参的值,从而成为了实参的一个拷贝。
所以被调用函数不能修改作为实参的实际变量的值,而只能修改传递给他的那份备份。
(2)、而在地址传递过程中,被调函数的形参虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址,被调函数对形参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。
正因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。
20.C语言中输入输出是通过函数完成的?C提供的标准输入输出函数!21.如何才能更好地掌握C语言程序设计?学习C语言程序设计是一个积累的过程,从书的开头对最简单的函数的介绍开始了解C语言,然后进一步深入变量的声明、数据类型等等,看的时候要思考书中的程序运行的每一步会得到什么结果,你是否完全理解书上的程序例子,如果不懂说明相关知识你还没有掌握,同时要多上机编程练习,可以自己照着书上的程序运行,然后再做其他练习,总之多练多思考,只看是不会学懂的!22.整型变量int与short int 有什么区别?short是16位,int最少是16位,32位平台上int一般是32位。
23.若函数调用语句为f(a,b,f(a+b,a-b,b));,则函数f的参数个数是多少?三个,只看该函数括号内逗号间隔的参数!24.在C语言中逗号和实点有啥区别?句号“.”是结构体成员运算符,优先级非常高;逗号“,”构成逗号表达式,简单说就是隔开两个表达式,优先级最低!25.如何实现实现自定义数据类型?想定义一个占用128位的数据类型,数据类型占用位数可以自定义,如何实现,代码怎么写?根据C语言提供的数据类型和结构体等知识,可以自己定义一个结构体,使其内部各成员总体所占的位数为128即可,定义方法参见结构体相关知识!26.在C 语言中,指针类型属于构造类型对吗?指针类型不属于构造类型,C语言提供的数据类型包括基本数据类型、构造数据类型、指针类型和空类型。
27.将高级语言编写的程序翻译成目标程序的程序是( )?a、解释b、编译c、汇编d、二进制正确为B选项!28.C语言规定:在一个源程序中,main函数的位置?main的位置没有固定要求!29.switch语句的最后一个分支可以不要break语句吗?尽管switch语句的最后一个分支不一定需要break语句,但最好还是在switch语句的每个分支后面加上break语句,包括最后一个分支。
这样做的主要原因是:你的程序很可能要让另一个人来维护,他可能要增加一些新的分支,但没有注意到最后一个分支没有break语句,结果使原来的最后一个分支受到其后新增分支的干扰而失效。
在每个分支后面加上break语句将防止发生这种错误并增强程序的安全性。
此外,目前大多数优化编译程序都会忽略最后一条 break语句,所以加入这条语句不会影响程序的性能。
30.C语言里的&&是什么意思!?逻辑与运算操作符!31.C语言变量的定义和声明有什么不同?定义和声明间的最主要的区别就是变量是否被分配内存!变量在定义时被分配内存,并且变量可以指定一个初始化的值。
变量只能在这个程序中定义一次。
声明在该程序中指定了变量的类型和名称。
定义也是一种声明:当我们定义一个变量时,我们声明了它的名字和类型。
32.C语言程序的执行过程是怎样的呢?1)编辑(在相应软件下编写程序代码)2)编译(成目标程序文件.obj)3)链接(成可执行程序文件.exe)4)运行(可执行程序文件)如果编译过程中出错,还需要调试(debug),然后再重复2-4步!33.现有流行的高级语言有哪些?汇编语言算不算高级语言呢?流行最广泛的有C,其他还有C++,Java,PHP,JavaScript,Ruby,Python,delphi等;汇编不算高级语言!34.C语言的主要用途是什么?它和其他高级语言有什么不同?C语言的用途相当广泛,其应用基本上是偏底层的,对效率要求高的,需要跟操作系统大量地直接打交道的,比如网络通信,多媒体,数据采集传输,信息安全,嵌入式,图形图像处理,模式识别等等。
这实际也是应用方面C与其他高级语言之间所不同的地方。
另外,语言本身的特点上,C有丰富的数据类型,尤其是指针,是其他语言所不具备的!35.数组名作为实参传递给形参时,数组名被处理为?数组的首地址!36.指向函数的指针是什么意思?指向函数的指针叫“函数指针”,是一个是指针变量。
C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。
有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。
二、常用知识总结1.C语言中的循环语句if( )~else~ (条件语句)for()~ (循环语句)while()~ (循环语句)do~while()(循环语句)continue (结束本次循环语句)break (终止执行switch或循环语句)switch (多分支选择语句)goto (转向语句)return (从函数返回语句)2. C语言中合法的关键字有32个,分别是1 数据类型关键字(12个):(1) char :声明字符型变量或函数(2) double :声明双精度变量或函数(3) enum :声明枚举类型(4) float:声明浮点型变量或函数(5) int:声明整型变量或函数(6) long :声明长整型变量或函数(7) short :声明短整型变量或函数(8) signed:声明有符号类型变量或函数(9) struct:声明结构体变量或函数(10) union:声明联合数据类型(11) unsigned:声明无符号类型变量或函数(12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)2 控制语句关键字(12个):A循环语句(1) for:一种循环语句(可意会不可言传)(2) do :循环语句的循环体(3) while :循环语句的循环条件(4) break:跳出当前循环(5) continue:结束当前循环,开始下一轮循环B条件语句(1)if: 条件语句(2)else :条件语句否定分支(与 if 连用)(3)goto:无条件跳转语句C开关语句(1)switch :用于开关语句(2)case:开关语句分支(3)default:开关语句中的“其他”分支D return :子程序返回语句(可以带参数,也看不带参数)3 存储类型关键字(4个)(1)auto :声明自动变量一般不使用(2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)(3)register:声明积存器变量(4)static :声明静态变量4 其它关键字(4个):(1)const :声明只读变量(2)sizeof:计算数据类型长度(3)typedef:用以给数据类型取别名(当然还有其他作用(4)volatile:说明变量在程序执行中可被隐含地改变3. C语言有哪些数据类型以及这些数据类型进行混合运算时遵循什么原则?(1)基本类型:(2)不同数据类型之间的转换有2种方式:隐式转换和显式转换。