C语言程序设计辅导答疑记录
- 格式:doc
- 大小:36.50 KB
- 文档页数:2
C语言程序设计基本知识点解答(一)第○章计算机基础知识Q001 计算机的基本原理是什么?(计算机的基本原理)A001 计算机的基本原理有两个:1.二进制:是指计算机中所有的信息都是以二进制形式的数据来表示、存储、传递和运算的。
2.存储程序控制:是指在利用计算机解决问题时,首先需要人找出解决方法,然后将这个方法用某种计算机语言转换成计算机程序(包含了原始数据和处理指令),再送入计算机中存储,最后由人发出命令,计算机开始按照程序中的指令和流程执行这个程序(即对数据进行加工处理)。
Q002 为什么计算机内部使用二进制?(二进制)A002 使用二进制的主要原因是:1.物理上很容易实现两种相对立的稳定的能量状态(如晶体管的导通与不导通、高电平与低电平、磁性材料中剩磁的顺时针或逆时针方向等)2.二进制数据的运算规则数量少而且简单,操作实现简便Q003 计算机硬件的基本结构是什么?(硬件)A003硬件系统主机外设中央处理器CPU内存储器运算器控制器外存储器输入输出设备(I/O)存储器Q004 计算机硬件系统的核心部件有哪些?它们的作用是什么?(硬件)A004 计算机硬件系统的四大核心部件是控制器、运算器、存储器和输入输出设备。
其中:控制器是计算机的指挥控制中心。
其主要功能是识别翻译指令代码并向计算机各部分发出适当的控制信号,以便执行机器指令。
运算器是对数据进行加工、运算的部件。
其主要功能是对二进制数据进行算术运算和逻辑运算。
存储器是存放数据和程序的部件。
其主要功能是按照要求向指定的位置存进或取出信息。
输入设备的功能是将数据和程序送入到计算机的存储器中。
常见的输入设备有键盘、鼠标等。
输出设备的功能是将计算机产生的结果送出计算机外。
常见的输出设备有显示器、打印机等。
Q005 计算机的基本工作过程是怎样的?(硬件)(工作过程)A005控制流数据流Q006 内存储器和外存储器有哪些区别?(存储器)(内存)A006 主要区别如下表所示:Q007 什么叫存储单元的“位”和“字节”?(内存)(字节)(位)A007 “位”(bit):是最小的电子线路单元,只能保存一位二进制数即一个0或一个1。
实验五任务1:程序调试。
函数调用、函数定义及函数说明的情况。
(1)下列程序有错误吗?请思考函数定义在后,且调用前没有函数说明的情况。
答:有错误。
“f”找不到标识符。
修改后程序如下:(2)下列程序有问题吗?请思考函数定义在后,且调用前对函数进行说明的情况。
注意函数说明的形式。
答:会显示未定义y。
修改后程序如下:(3)下列程序有问题吗?请思考函数定义在后,且调用前对函数进行说明的情况。
答:没有问题。
(4)下列程序有问题吗?请思考:函数定义在调用前,是否一定需要函数说明?答:程序没有问题。
不一定需要函数说明。
(5)下列程序调用系统函数进行计算。
当程序运行时,如输入a>0,则计算a的b次方;如果输入a<0,则计算(-a)的b次方。
程序有多处错误,请改正。
修改后代码如下:任务2:程序调试与程序设计。
字符串系统是strlen、strcat、strcpy、strcmp在程序设计中的应用。
仿照下列程序,调用有关字符串的系统函数对字符串进行长度测试、连接、复制、比较。
(1)调试程序。
程序如下:运行结果如下:(2)重新定义str,其功能是字符串长度。
程序如下:运行结果如下:(3)程序功能是比较字符串的大小,请定义str。
程序如下:运行结果如下:(4)程序的功能是连接两个字符串。
程序如下:运行结果如下:任务3:程序设计。
默认参数的构造函数的设计。
程序如下:任务4:程序设计。
重载函数的设计。
设计一个函数。
调用add,可以完成整型、双精度及混合数的加法。
如果是字符串,则表示字符串的连接。
设计代码如下:任务5:程序设计。
重载构造函数的设计。
设计代码及运行结果如下:(2)仿照程序,把整型改成字符串并达到相同效果。
设计代码及运行结果如下:程序如下:任务7:程序调试与设计。
递归函数的应用。
(1)调试程序。
程序如下:(2)重新设计,功能是将十进制转化成八进制。
设计代码如下:(3)程序功能是把十进制转化为十六进制。
设计代码如下:。
(2009.06.09)C语言程序设计课程期末复习辅导与答疑(文本)徐孝凯:欢迎参加C语言程序设计课程的网上教学答疑辅导活动!徐孝凯:上届试卷供参考!见附件。
高洪超:谢谢您吕昱渲:计算机二级考试考些什么?徐孝凯:请看它们的教学大纲和有关资料!刘亚鹏:数据类型与表达式徐孝凯:请看书!汪婷:寻求答案:编写C程序一般需经过的几个步骤依次是徐孝凯:按照结构化的程序设计方法分析编写思路;编写出各个功能模块的函数;最后编写出主函数和给出相应的预处理命令。
黄新佳:怎么样学习这门课?我看了本门课程的教学要求,可我觉得好难学习的,怎么样才能学好这么课程呀?徐孝凯:按照教材的章节顺序学习,并结合上机运行程序!黄新佳:练习题:形成性作业是必须做的吗?每章的后面都有练习题,也要做吗?哪里有答案吗?徐孝凯:形成性作业必须做!书中的练习题选做!没有现成的答案!王昆:如何考试?老师您好,这门课如何考试,是笔试还是上机,如何复习,谢谢!徐孝凯:请参考该课程的期末复习指导!顾闻:考试范围:我想知道一下这次C语言期终考试的考试范围是什么,谢谢徐孝凯:参考期末复习指导和往届试卷!彭璐:问题:以前学过C语言,没有学的好,不知有什么好的方法学好。
徐孝凯:重新学应该容易了!但也还要认真和努力!秦宁远:老师你好,如何快速有效的学习啊徐孝凯:没有捷径可走,循序渐进学习!黄晓冬:您好,徐老师!今天的辅导是什么内容,考试复习资料:形考作业册、复习指导册、09年1月的一份试卷,除了这些,还有什么复习资料吗徐孝凯:就这些资料,没有其他的资料!张喆:老师,您好!我想请教您,本学期C语言程序设计的复习资料包括:形成性考核作业、期末复习指导、上届的考试试题,还有其他复习资料吗?麻烦您了,谢谢!徐孝凯:没有其他资料了!沈慧娟:徐老师好!您辛苦啦!徐孝凯:沈老师好!你们面对学生教学不容易!需要耐心和时间!沈慧娟:该课程的形考作业是如何要求的?徐孝凯:按照考核说明的要求,占总成绩的20%。
C语言作业答疑在学习C语言的过程中,同学们难免会遇到一些问题和困惑。
本文将围绕一些常见的C语言作业问题展开讨论,并给出详细的答疑解析。
希望通过本文的阅读,能够帮助同学们更好地理解和掌握C语言的知识。
1. 如何输出Hello World?在C语言中,要输出Hello World非常简单,只需要使用printf函数即可。
示例代码如下:```c#include <stdio.h>int main() {printf("Hello World\n");return 0;}```上述代码中,`#include <stdio.h>` 表示包含了标准输入输出库的相关函数,`printf` 是C语言中用于输出的函数,其中的双引号内的内容就是要输出的字符串"Hello World"。
在末尾加上`\n`表示换行,最后通过`return 0`语句表示程序正常结束。
2. 如何进行变量的声明和赋值?在C语言中,可以通过以下方式声明变量:```c<数据类型> <变量名>;```其中,`<数据类型>` 表示变量的类型,如int(整型)、float(浮点型)、char(字符型)等,`<变量名>` 则是变量的名称。
例如:```cint num;float average;char letter;```要给变量赋值,可以使用赋值操作符`=`。
示例代码如下:```cint num;num = 10;```上述代码中,首先声明了一个整型变量`num`,然后使用赋值操作符`=`将值10赋给了`num`。
此外,还可以在声明变量的同时进行赋值,示例代码如下:```cint num = 10;```在上述代码中,变量`num`的声明和赋值同时完成,将值10赋给了`num`。
3. 如何进行基本的算术运算?C语言中提供了基本的算术运算符,可以用于进行加减乘除等运算。
C语言题目答疑带参考答案一、请问C语言中的自动变量和静态变量有何区别?自动变量和静态变量是C语言中两种不同类型的变量。
它们的区别主要体现在生命周期和作用域上。
1. 自动变量:自动变量是在代码块(函数、循环等)执行过程中动态创建和销毁的变量。
它的特点如下:- 生命周期:自动变量在每次执行代码块时创建,代码块结束时销毁。
每次执行代码块时,自动变量都会重新初始化为初始值。
- 作用域:自动变量的作用域仅限于所在的代码块内。
在代码块外部无法访问自动变量。
2. 静态变量:静态变量是在程序运行期间一直存在的变量。
它的特点如下:- 生命周期:静态变量在程序启动时创建,程序结束时销毁。
静态变量在内存中的位置保持不变,即使在函数调用过程中也不会被销毁。
- 作用域:静态变量的作用域限定在声明它的代码块内,但其可见性在整个程序中都是有效的,即使在其他代码块内也可以访问。
二、请问C语言中的extern关键字有什么作用?extern关键字用于声明外部变量或函数,其作用如下:1. 声明外部变量:使用extern关键字可以在一个源文件中声明在其他源文件中定义的全局变量。
例如,如果一个全局变量在文件A.c中定义,在文件B.c中如果要使用该变量,就需要在B.c中使用extern关键字进行声明。
示例:在A.c中定义全局变量:```cint globalVariable = 10;```在B.c中使用全局变量:```cextern int globalVariable;// 在B.c中可以使用globalVariable变量了```2. 声明外部函数:使用extern关键字可以在一个源文件中声明在其他源文件中定义的函数。
当一个函数需要在多个源文件中使用时,可以在其它源文件中使用extern关键字进行声明。
示例:在A.c中定义函数:```cint add(int a, int b) {return a + b;}```在B.c中使用函数:```cextern int add(int a, int b);// 在B.c中可以调用add函数了```总结:extern关键字可以扩展变量和函数的作用范围,使其在其他源文件中也能被正确使用。
变量与表达式主要内容•变量的命名、类型以及赋值的方法•表达式以及运算符的优先级•值类型以及引用类型2.1 变量概述•概念:变量代表了存储单元,每个变量都有一个类型。
这决定了这个变量可以存储什么值。
C#是类型安全语言,并且每个C#编译器会保证存储在变量中的值总是恰当的类型。
•使用原则:变量必须先定义后使用。
•赋值:可以定义时赋值,也可以在定义的时候不赋值。
一个定义时被赋了值的变量很好地定义了一个初始值。
而一个定义时不被赋值的变量没有初始值。
要给一个定义时没有被赋值的变量赋值必须是在一段可执行的代码中进行2.1.1 变量的声明•变量的声明采用如下的规则:<type> <name>;其中type是变量的类型,name是变量的名称。
例如:int a;double d;•可以在声明变量的同时为变量赋初值,如:double d=2.4;string s=“hello CSharp”;2.1.2 变量的命名•变量的命名规则如下:–变量名的第一个字符必须是字母、下划线("_")或者"@"。
–除去第一个字母外,其余的字母可以是字母、数字、下划线的组合。
–不可以使用对C#编译器而言有特定含义的名字(即C#语言的库函数名称和关键字名称)作为变量名,如using 、namespace 、struct等等。
注:命名规则的第三条其实在写程序的时候系统会自动提示你的错误的,所以不必过于担心。
•例子:•C#.NET 对于大小写字母是敏感的,所以在声明以及使用变量的时候要注意这些,例如Variable 、variable 、V ARIABLE 是3个不同的变量。
2.1.2 变量的命名•命名规范:–Pascal (帕斯卡命名法)首字母和后面的每个单词的首字母都大写,其他字母小写 。
–Camel (骆驼命名法)首字母小写,而后面的每个单词的首字母大写,其他字母小写。
注:•一般类名和方法用Pascal 命名法,变量和方法参数使用Camel 命名法; •不要使用匈牙利方法来命名变量(如:string m_sName; int nAge ),这种方式在.NET 编码规范中是不推荐的;•可根据公司或项目组的约定来选择规范2.1.2 变量的命名•命名法举例:– 下面是Pascal 命名法的举例:•Age•SumOfApple•DayOfWeek– 下面是camel 命名法的举例:•age•sumOfApple•dayOfWeek2.1.3变量的种类•在C#语言中,我们把变量分为七种类型,分别是:静态变量(Static Variables )非静态变量(Instance Variables )数组元素(Array Elements )值参数(Value Parameters )引用参数(Reference Parameters )输出参数(Output Parameters )下面的变量名是错误的:345abcclassw-d-m 下面的命名则是正确的: wdm _myVariable VAR局部变量(Local Variables)。
c程序设计基础教程课后答案在编写C程序设计基础教程的课后答案时,需要考虑到教程中所涵盖的知识点,包括但不限于数据类型、控制结构、数组、指针、函数、结构体、文件操作等。
以下是一些可能的课后问题及其答案的样例。
第一章:C语言概述问题1:请简述C语言的特点。
答案:C语言是一种结构化编程语言,具有以下特点:简洁、高效、可移植、具有丰富的运算符、直接支持硬件、广泛应用于系统软件的开发。
问题2:C语言的主要应用领域有哪些?答案:C语言主要应用于操作系统、嵌入式系统、高性能计算、数据库管理系统、网络通信等领域。
第二章:基本数据类型与运算符问题1:C语言中的基本数据类型有哪些?答案:C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float和double)等。
问题2:请解释赋值运算符的用法。
答案:赋值运算符(=)用于将右侧表达式的值赋给左侧的变量。
例如:`int a; a = 5;` 将整数5赋值给变量a。
第三章:控制结构问题1:C语言中的选择结构有哪些?答案:C语言中的选择结构主要有if语句、if...else语句、switch语句。
问题2:请用伪代码描述for循环的基本结构。
答案:```for (初始化表达式; 条件表达式; 迭代表达式) {// 循环体}```第四章:数组问题1:什么是一维数组?答案:一维数组是相同数据类型的元素的集合,这些元素在内存中连续存储,可以通过索引访问。
问题2:如何声明一个整型数组?答案:可以这样声明一个整型数组:`int arr[10];` 这表示声明了一个可以存储10个整数的数组。
第五章:指针问题1:什么是指针?答案:指针是一种变量,它存储了另一个变量的内存地址。
问题2:如何声明一个指针变量?答案:声明指针的一般形式为:`类型 *变量名;` 例如,声明一个整型指针:`int *p;`第六章:函数问题1:函数在C语言中的作用是什么?答案:函数用于实现代码的模块化,可以重复使用,提高代码的可读性和可维护性。
《C语言程序设计》问题答疑材料一、常见问题总结1.判断字符串a是否大于b,应当使用?库函数strcmp(),或者自己编写相应的函数比较,主要是字符串从左往右依次比较相应位置的字符大小。
2.一个C程序的执行是从什么开始?什么结束?从main函数的第一行开始,到main函数最后一行结束。
因为一个程序有且只有一个main函数,其他函数都是在main函数里面调用执行的。
3.C语言中用于结构化程序设计的三种基本结构是什么?顺序结构、选择结构、循环结构4.指向函数的指针是什么意思?指向函数的指针叫“函数指针”,是一个是指针变量。
C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。
有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。
5.循环语句中的break和continue有何区别?break 用于跳出循环,执行循环体的下一条语句,而continue 只是结束本次循环,然后还要判断条件,看看能不能继续下一次循环!6.C语言有哪些数据类型以及这些数据类型进行混合运算时遵循什么原则?数据类型包括:int,double,float,bool,char,struct,enum和union;混合运算时要保持类型一致,因而往往需要转换变量的数据类型,低级的数据类型要向高级类型转换!7.函数的嵌套调用和递归调用有什么不同?嵌套调用的函数不能是本身,递归调用的函数是本身。
8.传递地址和传递变量的区别?C语言中没有“变量传递”的概念,应该是“形参变量向实参变量的值传递”。
(1)、在C语言中,所有非数组形式的数据实参都是以值传递的形式调用,在值传递的过程中,被调用函数的形式参数被视为该函数的局部变量,即在内存的堆栈中开辟空间以存放由主调函数放进来的实参的值,从而成为了实参的一个拷贝。
所以被调用函数不能修改作为实参的实际变量的值,而只能修改传递给他的那份备份。