- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言实训指导书_改教程
PAGE \* MERGEFORMAT- 78 -
实训项目一 数的转换与计算
一、实训目的与要求
通过实训,能熟练使用VC++集成开发环境,对数的按位分离及合并、数的进制转换、素数、整除及奇偶判断等实际问题,能够理解相关问题的解决算法,能用C语言程序实现相关算法,并能完成程序的编写、纠错、调试与测试。
实训过程中,要求养成良好的编程习惯,分析问题与解决问题的严谨务实,同时,积极通过互联网、文献资料巩固和拓展所学知识。
二、实训内容
任务1:数的按位分离及合并
基础知识
程序基本构成
1)一个C程序一般由预编译命令,自定义函数,主函数(即main函数)构成。预编译命令“#include”将有关的“头文件”包括到用户源文件中;
2)一个C程序必须有且只能有一个main函数;
3)所有函数是平行关系,即一个函数内不能嵌套定义另一个函数;
C程序基本构成
4)C程序的执行从main函数开始,如在main函数中调用其它函数,在调用结束后流程返回到main函数,在main函数中结束整个程序的运行。
函数定义的一般形式
1)无参数函数定义
类型标识符 函数名()
{
声明部分
语句部分
}
2)有参数函数定义
类型标识符 函数名(形式参数列表)
{
声明部分
语句部分
}
通过函数返回或传回数据的方法
方法1:通过return语句
#include stdio.h /*预编译命令*/
int fun() /*自定义函数*/
{
int x; /*声明部分,定义自定义函数中所用变量*/
x = 100; /*将100赋给变量x*/
return (x); /*将x的值作为函数值带回到main函数*/
}
main() /*主函数*/
{
printf(“%d\n”,fun()); /*调用自定义函数,并在显示器中显示100*/
}
方法2:通过指针形参
如果定义i_pointer为指针变量,则(*i_pointer)是i_pointer所指向的变量,“*”符号表示“指向”;
(b) 指针
指针变量i_pointer内存放的是变量地址,(b)图中,变量地址为2000。(*i_pointer)是地址为
2000的变量,(b)图中,为3。
变量(*i_pointer)和变量i等价。
下面两个语句作用相同:
(1) i = 3;
(2) *i_pointer = 3;
#include stdio.h
void fun(int *p)/*void表示函数不带返回值,函数体中不得出现return*/
{
*p = 100; /*将100赋给指针变量p所指的变量*/
}
main()
{
int x; /*声明部分,定义主函数中所用变量*/
fun(x); /*为取地址运算符*/
printf(“%d\n”,x);
}
编程思路
数的按位分离
对于某个整数的各个位上数据处理,通常需要用到“%”取余运算和“/”除法运算。
获取某个整数最后某位,使用 % 运算符
%10^n:获取最后n位
举例:假设1234和10都已被定义为int型
1234%10 = 4
1234%100 = 34
1234%1000 = 234
删除某个整数最后某位,使用 / 运算符
/10^n:删除最后n位
举例:1234/10 = 123
1234/100 = 12
1234/1000 = 1
数的合并
如三个数字a=1,b=2,c=3,希望合并成一个整数x
方法1:x = a*100 + b*10 + c*1
方法2:
x = 0
x * 10 + a
x * 10 + b
x * 10 + c
易错点:
自定义函数是void型时,不得使用return语句,需通过指针传回数据。
花括号和小括号必须成对输入,切忌少或多半个括号。
程序编制
程序1:
将两个两位数的正整数a、b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。
例如,当a=45,b=12。调用该函数后,c=4251。
#include stdio.h
void fun(int a,int b,long *c)
{
}
main()
{
int a,b;long c;
scanf(%d%d,a,b);
fun(
文档评论(0)