c语言程序设计基础-5函数
- 格式:ppt
- 大小:564.00 KB
- 文档页数:101
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语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。
b) 一个C程序中至少应包括一个 main函数。
c) 在C语言中,输出操作是有库函数 printf( )函数完成。
二、单选题1、A2、C3、B解析:第1题答案:A 。
因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。
且到main函数结束。
第2题答案:C 。
因为 main函数没有限制必须位于程序的最前面。
C程序书写自由,一行内可写几个语句。
在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。
不过C语言本身并没有输入输出语句,输入输出是由函数完成的。
第3题答案:B。
因为一个C语言程序是由若干个函数组成的。
但至少包含一个main 函数,且main函数的位置不限。
三、编程题1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。
海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。
*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。
*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。
c语言程序设计基础教程课后答案C语言程序设计基础教程课后答案第一章:C语言概述1. 简述C语言的特点。
- C语言是一种结构化编程语言,具有高效、灵活、功能强大等特点。
- 它支持多种编程范式,如过程式编程、结构化编程、面向对象编程等。
- C语言具有较低的抽象级别,接近硬件,因此执行效率较高。
2. C语言的发展历史。
- C语言在1972年由丹尼斯·里奇(Dennis Ritchie)在贝尔实验室开发。
- 它最初是作为UNIX操作系统的系统编程语言而设计的。
第二章:C语言环境和基本语法1. 如何设置C语言的开发环境?- 选择一个C语言编译器,如GCC、MSVC等。
- 安装编译器并配置环境变量,以便在命令行中直接调用编译器。
2. C语言的基本语法结构是什么?- C语言的基本结构包括预处理指令、函数定义、变量声明和语句。
第三章:数据类型、运算符和表达式1. C语言中的基本数据类型有哪些?- 整型(int)、字符型(char)、浮点型(float和double)等。
2. 运算符的分类及其用法。
- 算术运算符:+、-、*、/、%等。
- 赋值运算符:=、+=、-=等。
- 比较运算符:==、!=、>、<等。
- 逻辑运算符:&&、||、!等。
第四章:控制语句1. 条件语句的用法。
- if语句用于基于条件执行代码块。
- switch语句用于多条件选择。
2. 循环语句的用法。
- while循环用于在满足条件时重复执行代码块。
- for循环用于已知迭代次数的循环。
- do-while循环先执行代码块再判断条件。
第五章:数组和字符串1. 数组的基本概念和使用。
- 数组是相同数据类型的元素集合,存储在连续的内存位置。
- 声明数组:int arr[10]; 表示一个包含10个整数的数组。
2. 字符串的表示和操作。
- 在C语言中,字符串是以空字符('\0')结尾的字符数组。
- 使用标准库函数如strcpy、strlen等操作字符串。
01.C程序根本构造一、C语言的特点:1、C语言源程序的根本组成单位是函数;一个C程序可由假设干个函数组成,其中必须有且仅有一个以main命名的主函数,其余的函数名称可由编程者自行设定。
,2、C程序的执行总是由main()函数的第一个可执行语句开场,到main〔〕函数的最后一个可执行的语句完毕;而其他函数都是在main〔〕函数开场执行以后,通过其他函数的调用才得以运行。
3、C语言系统提供了丰富的库函数,用户在程序中需要调用某个库函数时,必须用#include编译预处理命令将描述该库函数的头文件包含进去。
二、C程序的书写格式:1、语句可从分开放在任意多行内;如:printf(“To C,〞);printf(“ or not to C:〞);与printf(“To C , or not to C:〞);是等价的2、一行中可以有假设干个语句;如:a=123;b=345;3、每个语句和数据定义的最后必须有一个分号;三、C语言程序的运行:1、编译(pile):将C源程序文件翻译成能被计算机识别的二进制形式的“目标〞文件;编译时,编译器将检查源程序每一条语句的语法错误。
2、建造(Bulid):C语言程序例如:显示“Hello〞#include<stdio.h>int main(void){printf(“Hello.\n〞);return 0;}说明:#include<stdio.h> 是必不可少的,它包含了C语言标准输入输出库的相关信息;printf函数来自〞标准输入输出库〞,可以产生格式化输出;\n 告诉printf函数执行完信息显示后要进展换行操作;return 0 说明程序终止时会向操作系统返回值0;{ }来标出main〔〕函数的起始和完毕。
02.数据类型一、C语言的特点:1、C语言源程序的根本组成单位是函数;一个C程序可由假设干个函数组成,其中必须有且仅有一个以main命名的主函数,其余的函数名称可由编程者自行设定。
C语言程序设计基础C语言是一种通用的高级编程语言,广泛应用于软件开发和系统编程。
学习C语言的基础知识对于初学者而言至关重要。
在这篇文章中,我们将介绍C语言程序设计的基础知识,包括语法、变量、运算符、控制语句和函数等等。
一、C语言的基本语法1.程序结构2.注释注释是用来对程序进行解释说明的,编译器会忽略注释部分。
C语言中有两种注释方式,分别是单行注释和多行注释。
3.变量和数据类型C语言中变量用于存储数据,变量有不同的数据类型。
常用的数据类型包括整型、浮点型、字符型和布尔型。
4.格式化输入输出C语言中使用printf函数进行输出,使用scanf函数进行输入。
在输出时可以使用格式化字符来控制输出样式。
二、C语言的运算符1.算术运算符C语言中的算术运算符包括加法、减法、乘法、除法、取余等。
2.关系运算符关系运算符用来比较两个值的大小关系,结果为真或假。
3.逻辑运算符逻辑运算符用来进行逻辑运算,包括与、或、非。
4.赋值运算符赋值运算符用来将一个值赋给一个变量。
三、C语言的控制语句1.条件语句条件语句用来根据不同的条件来执行不同的代码块。
常见的条件语句有if语句、if-else语句和switch语句。
2.循环语句循环语句用来重复执行一段代码,常见的循环语句有while循环、do-while循环和for循环。
3.跳转语句跳转语句用来跳过一些语句或者退出循环。
四、C语言的函数函数是C语言中组织代码的一种方式,使用函数可以将代码分割成小块,方便重用和维护。
C语言中有系统函数和用户自定义函数。
1.函数的定义和声明函数的定义包括函数的返回类型、函数名、参数列表和函数体。
函数的声明告诉编译器函数的存在。
2.函数的调用和返回在程序中可以通过函数名和参数列表来调用函数。
函数执行完毕后,可以通过return语句返回一个值。
以上是C语言程序设计的基础知识的介绍。
通过学习这些基础知识,可以编写简单的C语言程序。
在学习过程中,不仅要掌握语法规则,还要注意编写清晰、易懂、可维护的代码。
C语⾔程序设计(PTA习题5-5使⽤函数统计指定数字的个数)/*本题要求实现⼀个统计整数中指定数字的个数的简单函数*/#include <stdio.h>int CountDigit( int number, int digit ); //函数声明int main(){int number, digit;scanf("%d %d", &number, &digit);printf("Number of digit %d in %d: %d\n", digit, number, CountDigit(number, digit));return 0;}/* 你的代码将被嵌在这⾥ */int CountDigit( int number, int digit )//定义CountDigit这个计算数字个数的的函数{int i, number1;int n, count = 0;if(number!=0){if(number<0){number = -number; //将负数转为整数}else{while(number%10!=0){ //当number为个位数时退出循环i = number%10; //取出整数的个位数if(i==digit){ //判断是否为想要寻找的数字count++; //是的话count+1}number = number/10; //去掉最后⼀个数字}return count;}}else{ //如果这个整数为0,则0的个数为1count++; //count⾃增1return count;}}。
五《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。
2、掌握选择结构的程序设计。
3、掌握分支结构的嵌套。
二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。
自变量x与函数值均采用双精度类型。
(2)自变量x值从键盘输入,且输入前要有提示信息。
(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。
记录结果。
(5)源程序以sy4_1.c存盘。
2、编程,将一个百分制成绩转换成等级制成绩。
具体要求如下:(1)百分制与等级制的对应关系如下:(2)用switch语句实现该功能。
(3)用键盘输入百分制成绩,输入前要有提示信息。
(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。
(5)输出结果中应包含百分制成绩和成绩等级。
(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。
记录结果。
(7)源程序以sy4_2.c存盘。
三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。
2、掌握三种常用的循环语句的格式和功能。
3、初步掌握循环结构的编程方法。
二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。
要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。
2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。
C语言程序设计》基本知识点C语言程序设计》教学基本知识点第一章C语言基本知识1.C源程序的框架尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。
2.C语言源程序的书写规则:1)C源程序是由一个主函数和若干个其它函数组成的。
2)函数名后必须有小括号,函数体放在大括号内。
3)C程序必须用小写字母书写。
4)每句的末尾加分号。
5)可以一行多句。
6)可以一句多行。
7)可以在程序的任何位置加注释。
3.语句种类语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。
1)流程控制语句流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。
其中后两种结构要用特定的流程控制语句实现。
2)表达式语句表达式语句的形式是:表达式。
即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。
表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。
最常见的表达式语句是赋值语句。
3)函数挪用语句函数挪用语句实践上也是一种表达式语句,形式为:在一次函数挪用的小括号后面加上一个分号。
(4)空语句空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义迁移转变点利用。
5)复合语句复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。
注意复合语句中最后一个语句末尾的分号不能少。
复合语句右大括号后面没有分号。
4.运算符用来表示数据各种操作的符号称为运算符。
运算符实际上代表了一种类型数据的运算规则。
不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。
第5章函数【练习5-1】使用函数求1到n之和:输入一个正整数n,输出1〜n之和。
要求自定义和调用函数sum(n)求1〜n之和。
若要计算m〜n(m<n)之和,又该如何定义函数?试编写相应程序。
解答:#include<stdio.h>intsum(intn);intmain(void){intn;intsum;printf("Entern:")scanf("%d",&n);printf("sum=%d\n",sum(n));return0;}intsum(intn){intresult,i;result=0;for(i=1;i<=n;i++)result=result+i;returnresult;}若要计算m〜n(m<n)之和,则需要在main()中定义2个变量m和n:scanf("%d%d",&m,&n);printf("sum=%d\n",sum(m,n));同时在函数定义时需设置2个形参:intsum(intm,intn){intresult,i;result=0;for(i=m;i<=n;i++)result=result+i;returnresult;}【练习5-2】使用函数找最大值:输入2个数,输出其中较大的数。
要求定义和调用函数max(a,b)找出并返回a、b中较大的数。
试编写相应程序。
解答:#include<stdio.h>doublemax(doublea,doubleb);intmain(void)inta,b;printf(“Inputaandb:”);scanf("%lf%lf",&a,&b);printf("max=%lf\n",max(a,b));return0;}doublemax(doublea,doubleb){if(a>b)returna;elsereturnb;}【练习5-3】数字金字塔:输入一个正整数n,输出n行数字金字塔。
使用指针参数交换两个变量值”案例C主讲教师崔玲玲 5.1 “【案例说明】用函数实现两个变量值的交换使其在主调函数和被调函数中的值一致。
要求用指针变量作为函数参数。
程序运行结果如图 5.1所示。
图 5.1 使用指针参数交换两个变量值【案例目的】 1 熟悉如何定义指针变量掌握将指针变量作为函数参数的方法。
2 掌握通过指针参数由被调函数向主调函数传递多个值的方法。
【技术要点】由于变量的值始终存放在内存单元中因此要交换两个变量的值只需交换这两个变量对应的存储单元的值即可这就需要知道两个变量的地址。
也就是说需要保证主调函数与被调函数中所要交换的两个数的内存单元是同一内存单元即传递的参数是内存单元的地址而不是内存单元中的值。
【相关知识及注意事项】1. 指针和地址2. 指针变量的定义及初始化3. 指针变量的赋值4. 指针变量的引用 5. 指针作为函数参数 5.2 “有序数列的插入”案例【案例说明】用指针法编程插入一个数到有序数列中。
程序运行结果如图 5.7所示。
图 5.7 有序数列的插入【案例目的】 1 熟悉如何定义指针变量掌握将指针变量指向一维数组元素的方法。
2 掌握如何在一个有序的数列中查找合适的位置。
3 掌握如何将一个数插入到一个有序数列中。
【技术要点】 1 有序数组中插入一个数的关键是找到该数据插入的位置然后将插入位置及其后的所有元素均后移一位在空出的位置放入待插入的数据。
例如在13、27、38、49、65、76、97这列有序数据中插入53这个数成为新的有序数列13、27、38、49、53、65、76、97。
2 定义数组时必须多开辟一个存储单元用于存放待插入的数据。
【相关知识及注意事项】1. 指针变量的运算 2. 指针与一维数组 5.3 “两个字符串首尾连接”案例【案例说明】编写程序将两个字符串首尾连接起来。
要求用字符指针变量处理。
程序运行结果如图 5.9所示。
图 5.9 两个字符串首尾连接【案例目的】 1 学会定义基类型为字符型的指针变量并将指针变量指向串首的操作。