C语言程序设计课程实验题目
C语言程序设计实验3

一、实验目的1. 掌握简单的程序设计,能正确写出顺序结构的源程序。
2. 掌握数据的输入输出方法,能正确使用各种格式转换符。
二、实验内容(程序清单及运行结果)(一)阅读程序1.先读下列程序,写出程序运算结果,再将该程序输入并运行,观察运行结果与你所写的结果是否相同。
①int main(){ int x,y,z;x=y=2;z=3;y=x++-1; printf("%d\t%d\t",x,y);y=++x-1; printf("%d\t%d\t",x,y);y=z--+1; printf("%d\t%d\t",z,y);y=--z+1; printf("%d\t%d\n",z,y);return 0;}②int main(){ char c1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);printf("\tb%c%c",c4,c5);return 0;}2.以下各程序需要输入数据,请写出输入数据的格式和变量的值并上机验证。
①#include <stdio.h>int main(){ int a,b,c;printf("input a,b,c\n");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d",a,b,c);return 0;}②main(){ int i, j;printf("i, j=?\n");scanf("%d, %d", &i, &j);}③scanf(“%d,%*d,%d”,&a,&b);若输入:3,4,5a=? b=?④scanf(“%3d%2d”,&a,&b);若输入:12345a=?b=?⑤按格式要求输入/输出数据#include "stdio.h"int main(){ int a,b;float x,y;char c1,c2;scanf(“a=%d,b=%d”,&a,&b);scanf(“%f, %e”,&x,&y);getchar();scanf(“%c %c”,&c1,&c2);printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2);return 0;}运行该程序,必须按如下方式在键盘上输入数据a=3,b=7 ↙8.5,71.82 ↙a A ↙请同学们写出输出结果(二)完成程序要求:按照给定题目要求,参照出现的语句,填写程序空白处。
单片机c语言程序设计---矩阵式键盘实验报告

单片机c语言程序设计---矩阵式键盘实验报告课程名称:单片机c语言设计实验类型:设计型实验实验项目名称:矩阵式键盘实验一、实验目的和要求1.掌握矩阵式键盘结构2.掌握矩阵式键盘工作原理3.掌握矩阵式键盘的两种常用编程方法,即扫描法和反转法二、实验内容和原理实验1.矩阵式键盘实验功能:用数码管显示4*4矩阵式键盘的按键值,当K1按下后,数码管显示数字0,当K2按下后,显示为1,以此类推,当按下K16,显示F。
(1)硬件设计电路原理图如下仿真所需元器件(2)proteus仿真通过Keil编译后,利用protues软件进行仿真。
在protues ISIS 编译环境中绘制仿真电路图,将编译好的“xxx.hex”文件加入AT89C51。
启动仿真,观察仿真结果。
操作方完成矩阵式键盘实验。
具体包括绘制仿真电路图、编写c源程序(反转法和扫描法)、进行仿真并观察仿真结果,需要保存原理图截图,保存c源程序,总结观察的仿真结果。
完成思考题。
三、实验方法与实验步骤1.按照硬件设计在protues上按照所给硬件设计绘制电路图。
2.在keil上进行编译后生成“xxx.hex”文件。
3.编译好的“xxx.hex”文件加入AT89C51。
启动仿真,观察仿真结果。
四、实验结果与分析void Scan_line()//扫描行{Delay(10);//消抖switch ( P1 ){case 0x0e: i=1;break;case 0x0d: i=2;break;case 0x0b: i=3;break;case 0x07: i=4;break;default: i=0;//未按下break;}}void Scan_list()//扫描列{Delay(10);//消抖switch ( P1 ){case 0x70: j=1;break;case 0xb0: j=2;break;case 0xd0: j=3;break;case 0xe0: j=4;break;default: j=0;//未按下break;}}void Show_Key(){if( i != 0 && j != 0 ) P0=table[ ( i - 1 ) * 4 + j - 1 ];else P0=0xff;}五、讨论和心得。
C语言_实验二、选择结构程序设计

实验二 选择结构程序设计一、实验目的1. 掌握关系表达式和逻辑表达式的使用。
2. 熟悉选择结构程序设计。
3. 熟练使用if 语句进行程序设计。
4. 使用switch 语句实现多分支选择结构。
二、实验内容(1 计算a+|b| 2 判断一个整数是否可以被3和5整除)1.[目的]掌握判断一个字符型数据是否数字字符的方法,以及数字字符转换为相应整数的方法。
[题目内容]从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。
[输入]一个字符型数据[输出]整数或出错信息[提示] 根据字符型数据的ASCII 码值是否在‘0’字符与‘9’字符之间进行判断。
使用if …else …语句和复合语句。
2.[目的]掌握条件表达式的使用[题目内容] 编写一个程序,其功能为:从键盘输入三个数x 、y 、z ,判断x+y=z 是否成立,若成立输出‚x+y=z ‛的信息,否则输出‚x+y!=z ‛的信息。
[输入] 三个数x 、y 、z[输出] ‚x+y=z ‛或‚x+y!=z ‛[提示] 条件判断表达式x+y==z3.[目的]掌握求最大值最小值的方法。
[题目内容] 编写一个程序,其功能为:输入三个整数,输出最大数和最小数。
[输入] 三个整数[输出] 最大值和最小值[提示] 设置最大值变量max 和最小值变量min ;首先比较a,b 的大小,并把大数存入max , 小数存入min ;然后最大值变量max 和最小值变量min 再与c 比较,若c 大于max ,则max 取值c ,否则保持不变;如果c 小于min ,则min 取值c ,否则保持不变。
最后输出max 和min 的值。
使用if …else …语句、if 语句以及复合语句。
4.[目的]运用已学知识解决实际问题。
[题目内容]如下两个线性方程组的两个未知数为x1和x2:ax 1+bx 2=mcx 1+dx 2=n该方程的唯一解为(ad-cb 不等于零时):cb ad bn md x --=1 bcad mc na x --=2 请编写一个程序,读取a 、b 、c 、d 的值,计算x1和x2的值。
C语言程序课程设计-猜数字游戏

C语言程序设计课程设计专业:自动化班级:姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2015年07月21日一.引言1.1设计目的复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。
提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。
使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。
1.2设计要求在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。
然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。
最后认真完成课程设计说明书,并对设计方法,结果等进行总结。
充分地分析和理解问题本身,弄清要求做什么(What to do?)。
在确定解决方案框架过程中(How to do?),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。
最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。
确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。
上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。
静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。
二.基础题2.1题目用选择法对10个数进行排序。
有一个已排好序的数组。
现输入一个数,要求按原来的规律插入到原数组中。
2.2解题思路程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。
先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。
《程序设计基础(C语言)》实验指导书

《程序设计基础(C语言)》目录第1 章概述 (1)1.1 课程简介 (1)1.2 实验环境选择 (1)第 2 章实验要求 (1)2.1 实验过程要求 (1)2.2 考核及评分标准 (1)第 3 章实验内容 (2)3.1 实验1 熟悉C语言运行环境 (2)3.2 实验2 数据类型 (3)3.3 实验3 运算符和表达式 (4)3.4 实验4 顺序结构及输入和输出 (6)3.5 实验5 选择结构 (7)3.6 实验6 循环结构 (9)3.7 实验7 数组(1) (11)3.8 实验8 数组(2) (12)3.9 实验9 字符串及其操作 (13)3.10 实验10 函数 (14)3.11 实验11 结构体 (15)3.12 实验12 指针 (16)第 1 章概述1.1 课程简介《程序设计基础(C语言)》是软件工程各专业或其它相近专业学生的公共职业基础课,是软件类各专业的入门课程,直接影响学生后继职业技术课程的学习及可持续发展能力的培养。
通过本书,学习基本的程序设计概念和程序设计方法,学会使用C语言解决实际问题,进行初级的程序设计。
1.2 实验环境选择VC++6.0第 2 章实验要求2.1 实验过程要求本课程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。
在指定的实验时间内,必须到机房内实验,其余时间可自行设计和分析。
本课程所涉及的程序代码,都要求有较高的可读性和效率,多文件表示。
2.2 考核及评分标准若实验者在指定上机时间三次不到课,取消考核资格。
请假,必须提前出具正式假条,不接受事后假条。
如果发现抄袭、篡改、伪造实验数据,或实验报告和设计报告雷同,涉及的所有学生的该课程成绩计为0 分。
本课程采用结构化评分,主要由指导教师灵活处理,可以是考勤等。
第 3 章实验内容3.1 实验1 熟悉C语言运行环境一、实验目的1.了解什么是C语言2.熟悉C语言程序开发环境二、实验内容和步骤1.大学生涯的第一个程序1)运行Microsoft Visual Studio 2008或者VC6.02)创建项目,选择win32控制台应用程序或者空项目,项目名为MyFirstApp3)新建项目,选择C++源文件,文件名为HelloWorld4)在程序编辑窗口,输入如下代码#include <stdio.h>/* 主程序*/void main(){printf("hello world\n");}5)执行程序,Ctrl+F56)观察输出结果,并记录2.修改程序1)增加语句,观察输出结果是否不同printf("hello world\n");printf("world is me\n");2)删除输出字符串中的“\n”,观察输出结果是否不同printf("hello world\n");3)进行换行输出,观察输出结果是否不同printf("hello, ");printf("world");printf("\n");4)将上个程序块中的printf("\n");去掉,观察输出结果是否不同3.用自己的语言,描述下对C语言程序的第一印象4.简单描述下,第二步骤中,输出结果相同与不同的原因;以及“\n”的用途3.2 实验2 数据类型一、实验目的1.掌握变量的命名规则和定义2.掌握C语言程序中的各种数据类型并使用它们二、实验内容和步骤1.定义3个变量numInt、numFloat、charInfo,他们的类型分别为整型,单精度类型,字符型;并分别初始化为2,2.0和‘A’,最后输出这三个变量的值。
实验三 循环结构程序设计(答案)

实验教案}三、实验内容(按要求设计以下程序,并调试分析运行结果,此部分完成在实验报告上)1、设计程序sy3-1.c,要求打印小学九九乘法表。
算法分析:根据九九乘法表可知,该表共有9行,第i行有i个表达式,而且表达式中的操作数和行、列数相关,因此可以用嵌套的双重循环来实现,外循环控制行数(循环变量从1到9),内循环控制每行的表达式个数(循环变量从1变到i)。
参考答案:# include <stdio.h>void main(){int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%-5d",j,i,i*j);printf("\n");}}运行结果:2、设计程序sy3-2.c,要求编程计算x n,其中x和n均由键盘输入2。
算法分析:要计算x的n次方,即是n次x相乘,其中x可以是整型或实型,而n必须是整型;另外要考虑结果的类型,若x和n比较大,一般的int型容易产生溢出。
参考答案:# include <stdio.h>void main(){int i,n;float x,p=1; /*累乘器要赋初值1*/printf("Input x,n: ");scanf("%f,%d",&x,&n); /*以逗号分隔输入的已知数据x和n的值*/for(i=1;i<=n;i++)p=p*x;printf("%g^%d=%g\n",x,n,p);}运行结果:3、设计程序sy3-3.c,已知祖父年龄70岁,长孙20岁,次孙15岁,幼孙5岁,问要过多少年,三个孙子的年龄之和同祖父的年龄相等,试用单重循环结构编程实现。
4、设计程序sy3-4.c,有一数列:2/1,3/2,5/3,8/5,…求出这个数列的前10项之和。
C语言程序设计题目及解答-01

一、判断题 (20分)1. 计算机是信息处理的工具,任何信息必须被转换成二进制形式数据后才能由计算机进行处理、存储和传输。
2分2. C语言采用解释方式将源程序转换为二进制的目标代码。
2分3. 在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行运果不发生影响。
2分4. 在C语言中,字母的大小写不被区分。
2分5. 对C语言中用到的任何一个变量都要规定其类型。
2分6. 字符型数据和整数之间是不可以通用的。
2分7. 转义字符是一种常量。
2分8. C程序中的一个变量可以被定义为两个或多个不同的类型。
2分9. 字符常量是用单撇号括来的一个字符,这个字符可以是任意的。
2分10. C语言中的标识符以字母或下划线开头,可跟任何字符。
2分二、选择题 (60分)1.目前,在微型计算机中普遍采用的符号编码是() [A] 2分A. ASCII码B. EBCDIC码C. GB2312-80 码D. UNICODE码2.下列一组数据表示方式中的最大数是() [D] 2分A. 1234OB. 1FFHC. 1010001BD. 789D3.ASCII码采用的是()位编码方案,在计算机中的表示方式为()。
[C] 2分A. 8,最高位为“0”的2BB. 8,最高位为“1”的2BC. 7,最高位为“0”的1BD. 7,最高位为“1”的1B4.下列字符中,其 ASCII码值最大的是()。
[B] 2分A. AB. aC. 0D. 95.若在一个非零无符号二进制整数右边加两个零形成一个新的数,则新数的值是原数值的()倍。
[A] 2分A. 4B. 2C. 1/4D. 1/26.计算机中,一个浮点数由两部分组成,它们是()。
[C] 2分A. 阶码和基数B. 基数和尾数C. 阶码和尾数D. 整数和小数7.汉字编码与ASCII码在计算机内部的区分方法是()。
[C] 2分A. 两个字节的高八位都为“0”为两个ASCII码B. 两个字节的高八位都为“1”为两个ASCII码C. 两个字节的高八位都为“1”为一个汉字编码D. 两个字节的高八位都为“0”为一个汉字编码8.常用字符的ASCII码值从小到大的排列顺序为()。
C语言程序设计题目及解答-07

一、判断题 (24分)1. 函数的递归调用不过是一个函数直接地调用它自身。
2分2. 在c语言中,在main函数中定义的变量称为全局变量。
2分3. 静态变量和外部变量都是全局变量,它们的存储是静态的。
2分4. 静态局部变量只在本函数内可用。
2分5. 静态外部变量只在本文件内可用。
2分6. 变量根据其作用域的范围可以分作局部变量和全局变量.2分7. 任何数组在使用时必须先定义。
2分8. 如果想使一个数组中全部元素的值为1,可以写成int a[10]={1*10};2分9. 如果定义数组int b[6]={1,2,3,4};则b[6]为0。
2分10. int n=10; int a[n];则数组a有10个元素。
2分11. int b[][3] = {1,2,3,4,5,6,7} ,表示数组b是3行3列的数组。
2分二、选择题 (36分)1.根据下面函数print的定义,选出调用函数print(5378)的值是()。
[A] 2分void print(long n){if (n==0) return ;else{print(n/10);printf("% d", n%10);return ;}}A. 5 3 7 8B. 8 7 3 5C. 3 5 7 8D. 8 7 5 32.根据下面函数f,选出f(f(3))的值是()。
[C] 2分int f(int x){static int k=0;x=x+k;k--;return x;}A. 5B. 3C. 2D. 43.如果在函数中定义一个变量,有关该变量作用域正确的是()。
[A] 2分A. 只在该函数中有效B. 在该文件中有效C. 在本程序中有效D. 为非法变量4.下列叙述中,正确的叙述项是()。
[B] 2分A. 定义函数时,必须要有形参B. 函数中可以没有return语句,也可以有多条return语句C. 函数f可以用f(f(x))形式调用,这种调用形式是递归调用D. 函数必须有返回值5.下列说法正确的是( ) [D] 2分A. 在C语言中,可以使用动态内存分配技术定义元素个数可变的数组B. 在C语言中,数组元素的个数可以不确定,允许随机变动C. 在C语言中,数组元素的数据类型可以不一致D. 在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数6.以下能正确定义一维数组的选项是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计课程实验题目(每组实验内容2学时)实验一C语言上机步骤实验目的:熟练掌握在Turbo C系统上编辑、编译、连接和运行C程序的方法。
实验内容:1.启动Turbo C系统。
①进入MS-DOS方式。
②CD\TC↙③TC↙2. 编辑修改源程序。
①按“F3”,然后输入:exam↙(默认文件名为“NONAME.C”)②输入下列源程序。
main(){ int a,b,sum;a=1;b=2;sum=a+b;printf("sum=%d\n",sum);}③源程序存盘。
方法一:按“F2”键,将以源文件名存盘。
方法二:选取菜单项“File/Write To”,将以新文件名存盘。
3.编译连接程序。
方法一:编译、连接分步执行。
按“Alt+F9”键,编译生成目标文件“exam.obj”;再按“F9”,连接生成可执行文件“exam.exe”方法二:编译、连接连续执行。
按“F9”键,首先编译生成目标文件“exam.obj”;接着自动连接生成可执行文件“exam.exe”4.运行程序。
方法一:编辑状态下,按“Ctrl+F9”键,此时是编译、连接、运行连续进行。
方法二:按“Alt+X”键,然后输入:exam↙(必须编译、连接成功)。
5.显示运行结果。
若按方法一运行程序,按“Alt+F5”键,查看运行结果,按任意键返回到Turbo C编辑状态。
若按方法二运行程序,直接显示结果。
6.退出。
按“Alt+x”键,退出Turbo C。
实验二运算符和表达式实验目的:掌握C语言运算符的优先级和结合方向。
实验内容:1.若有定义int x,a,b,c,*p=&x;,写出顺序执行下列表达式后x的值,然后通过程序验证。
要求:先写出运算结果,然后利用程序验证。
①x=a=b=10②x=25%(c=3)③*p+=2+3④x/=(x+(*p%=2),(a&&5+3))⑤x*=x+=x-=x⑥x=((a=4%3,a!=1),++*p>10)验证程序:main(){ int x,a,b,c,*p=&x;x=a=b=10;printf("x=%d\n",x);x=25%(c=3);printf("x=%d\n",x);*p+=2+3;printf("x=%d\n",x);x/=(x+(*p%=2),(a&&5+3));printf("x=%d\n",x);x*=x+=x-=x;printf("x=%d\n",x);x=((a=4%3,a!=1),++*p>10);printf("x=%d\n",x);}2.若有定义int a=2,b=-3,c=4,*p=&a,*q=&b;,计算下列各表达式的值,然后通过程序验证。
要求:先写出运算结果,然后利用程序验证。
①a>b&&b>c②!(b>c)+(b!=*p)||(a+b)③a++-c+*q④++a-c+++b⑤b%=c+a-c/7⑥(float)(a+b)/2+*q⑦!(a==b+c)&&(*p-a)⑧!c+1+c&&b+c/2验证程序:main(){ int a,b,c,*p=&a,*q=&b;a=2;b=-3;c=4;printf("a>b&&b>c=%d\n",a>b&&b>c);a=2;b=-3;c=4;printf("!(b>c)+(b!=*p)||(a+b)=%d\n",!(b>c)+(b!=*p)||(a+b));a=2;b=-3;c=4;printf("a++-c+*q=%d\n",a++-c+*q);a=2;b=-3;c=4;printf("++a-c+++b=%d\n",++a-c+++b);a=2;b=-3;c=4;printf("b%%=c+a-c/7=%d\n",b%=c+a-c/7);a=2;b=-3;c=4;printf("(float)(a+b)/2+*q=%f\n",(float)(a+b)/2+*q);a=2;b=-3;c=4;printf("!(a==b+c)&&(*p-a)=%d\n",!(a==b+c)&&(*p-a));a=2;b=-3;c=4;printf("!c+1+c&&b+c/2=%d\n",!c+1+c&&b+c/2);}实验三基本输入输出函数实验目的:熟练掌握数据的输入输出格式。
实验内容:1.写出下列程序的输出结果。
要求:先写出输出结果,然后利用程序验证。
#include "stdio.h"main(){ int a=65,b=67,c=67;float x=67.8564,y=-789.124;char C='A';long n=1234567;unsigned u=65535;putchar(C);putchar('\t');putchar(C+32);putchar(a);putchar('\n');printf("%d%d\n",a,b);printf("%c%c\n",a,b);printf("%3d%3d\n",a,b);printf("%f,%f\n",x,y);printf("%-10f,%-10f\n",x,y);printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y); printf("%e,%10.2e\n",x,y);printf("%c,%d,%o,%x\n",c,c,c,c);printf("%ld,%lo,%lx\n",n,n,n);printf("%u,%o,%x,%d\n",u,u,u,u);printf("%s,%5.3s\n","COMPUTER","COMPUTER"); }2.根据输入,写出下列程序的输出结果。
要求:先写出输出结果,然后利用程序验证。
#include "stdio.h"main(){ char a,*p1=&a;int b,*p2=&b;float c,*p3=&c;a=getchar();putchar(*p1);putchar('\t');putchar(a>='a'&&a<='z'?a-32:a); putchar('\n');getchar();scanf("%c%d%f",&a,&b,&c);printf("a=%c b=%d c=%.2f\n",a,b,c); getchar();scanf("a=%cb=%dc=%f",p1,p2,p3); printf("a=%d b=%c c=%.2f\n",a,b,c); }输入:a↙输出:输入:b□65□3.1234↙输出:输入:a=b□b=65□c=3.1234↙输出:实验四 分支语句实验目的:掌握使用if~else 语句和switch~case 语句实现分支结构的方法。
实验内容:1.求出下面分段函数的值 y=⎪⎩⎪⎨⎧>+≤<≤101210000x x x x x要求:(1)使用if~else 语句(2)x 的值从键盘输入2.运输公司对用户计算运费。
距离越远,每公里运费越低,标准如下: s<250km 无折扣250<=s<500 2%折扣500<=s<1000 5%折扣1000<=s<2000 8%折扣2000<=s<3000 10%折扣3000<=s 15%折扣设每公里每吨货物的基本运费为p ,货物重为w ,距离为s ,折扣为d ,则总运费计算公式为:f=p*w*s*(1-d),编写程序计算运费。
要求:(1)使用switch~case 语句。
(2)p 、w 、s 的值从键盘输入。
实验五 循环语句实验目的:掌握使用三种循环语句实现循环结构的方法。
实验内容:1.猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半另一个,以后每天早晨都吃剩下的一半另一个,到第十天早晨再想吃时,就剩一个桃子。
问第一天共摘了多少桃子。
要求:分别用三种语句编写程序。
2.编写程序验证下列结论:任何一个自然数n的立方都等于n个连续奇数之和。
例如:13=1;23=3+5;33=7+9+11。
要求:程序对每个输入的自然数计算并输出相应的连续奇数,直到输入的自然数为0时止。
实验六编译预处理实验目的:掌握宏定义、宏调用,以及宏展的处理过程,掌握文件包含的概念和使用。
实验内容:1.试分析以下宏替换后的形式,计算输出结果。
要求:先计算运行结果,然后利用程序验证。
#include "stdio.h"#define CX(y) 2.5+y#define PR(a) printf("%d",(int)(a))#define PR1(a) PR(a); putchar('\n')main(){ int x=2;PR1(CX(5)*x);}2.通过宏调用方式,求从n个数的最大值。
要求:数据从键盘输入。
实验七一维数组实验目的:掌握一维数组的定义、初始化,以及一维数组元素的下标法引用和指针法引用。
实验内容:1.数组a中存放10个非0整数,编写程序,将数组a中的所有正数存放在数组的前面,负数存放在数组的后面。
要求:(1)数组元素值从键盘输入。
(2)用下标法和指针法两种方法。
2.将数组a中的10个元素后移m位,移出的m位顺序存放在数组的前位。
要求:(1)数组元素值在程序中初始化。
(2)m的值从键盘输入。
(3)用下标法和指针法两种方法。