重庆科创学院-C语言实例之90

合集下载

重庆科创职业学院C语言编程案例

重庆科创职业学院C语言编程案例

C语言编程案例F e i b o n i c数列古典兔子问题题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码:#include "stdio.h"#include "conio.h"main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){printf("%12ld %12ld",f1,f2);if(i%2==0) printf("\n"); /*控制输出,每行四个*/f1=f1+f2; /*前两个月加起来赋值给第三个月*/f2=f1+f2; /*前两个月加起来赋值给第三个月*/}getch();}求素数问题题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

2.程序源代码:#include "stdio.h"#include "conio.h"#include "math.h"main(){int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=200;m++){k=sqrt(m+1);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap){printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\nThe total is %d",h);getch();}水仙花数题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

C程序设计编程实例大全

C程序设计编程实例大全
{
fn2(5.0)=12.4;
cout<<fn2(5.0)<<endl;
}
/* Note:Your choice is C IDE */
#include <iostream>
#include <string>
using namespace std;
void main()
{
string s,t;
cout<<"please input a zifuchuan:"<<endl;
}
void main()
{
int a[]={1,3,0,2,7,6,4,5,2};
double b[]={1.2,-3.4,6.8,9.8};
int c[]={1,9,5,-6,7,8};
cout<<"a de shuzu zhong min zhi wei:"<<min(a,9)<<endl;
cout<<"b de shuzu zhong min zhi wei:"<<min(b,4)<<endl;
sum=x+y;
return sum;
}
int add(int x,int y,int z)
{
int sum;
sum=x+y+z;
return sum;
}
void main()
{int aຫໍສະໝຸດ b;a=add(5,10);
b=add(5,10,20);
cout<<"a="<<a<<endl;

重庆科创职业学院(2014)PLC实作题

重庆科创职业学院(2014)PLC实作题

重庆科创职业学院
重庆科创职业学院
29料箱盛料过少报警系统 •控制要求:当低限开关X0变为ON 后,蜂鸣器Y0开始鸣叫,同时报 警灯Y1连续闪烁10次(亮1.5S, 灭2.5S)。此后,蜂鸣器停止鸣 叫,灯也熄灭。此外,复位键X1 可以使二者终止。
30电机控制系统 •某升降台由一台笼型异步电动机 拖动,直接启动,制动由电磁抱 闸,控制要求为:按下启动按钮 后先松闸,经3S后电动机正向启 动,工作台升起,再经过5S后, 电动机停1S自动反向,工作台下 降,经5S后,电动机停转,电磁 阀抱紧。
重庆科创职业学院
12电动机控制 •电动机M1先启动后,经30S延 时后M2能自行启动,当M2启 动后M1立即停止。
13电动机控制
重庆科创职业学院
• 为了限制绕线式异步电动机的启动 电源,在转子电路中串入电阻。启 动时接触KM1合上,串入整个电阻 R1。启动2S后KM4接通,切断转子 回路的一段电阻,,剩下R2。经过 1S,KM3接通,电阻改为R3。再经 过0.5S,KM2也合上,转子外接电 阻全部切除,启动完毕。
右行
X0
X2
X3
Y0
Y2 Y1
左行
重庆科创职业学院
25多地点控制 •用三个开关X1,X2,X3控制一 盏灯Y0,当三个开关全通, 或者全断时灯亮,其他情况 灯灭。
重庆科创职业学院
26设计抢答器PLC控制系统 •控制要求 • 1.抢答台A,B,C,D,有指示灯, 抢答键 • 2.裁判员台,指示灯,复位 按键 • 3抢答时,有2S声音报警
重庆科创职业学院
重庆科创职业学院
16“三人表决器”逻辑功能 PLC程序设计 •“三人表决器”的逻辑功能 是:表决结果与多数人意见 相同。每人赞成为1,不赞成 为0;Y为表决结果,多数赞 成Y为1,否则Y为0.

重庆科创职业学院数据结构课件第一章绪言第二讲

重庆科创职业学院数据结构课件第一章绪言第二讲

(b) for (i=1; i<=n; ++i) {++x; s+=x;} ++x执行的次数n (c) for (j=1;j<=n;++j) for (k=1;k<=n;++k) {++x; s+=x;} ++x执行的次数n2
算法的执行时间 ≈ 即:
重庆科创职业学院
∑ 基本操作执行的次数×基本操作执行的时间
(2)可读性(易于人的理解) (3)健壮性(出错提示)
(4)高效率与低存储量需求
重庆科创职业学院 4 . 算法的分析 ——算法性能的评价
1)、度量算法执行时间的两种方法 a、事后统计法 (不利于较大范围内的算法比较。) b、事前分析估算法
(此方法取决于: 算法本身选用的策略、问题的规模 、书写程 序的语言 、编译产生的机器代码质量 )
2.试根据以下信息:校友姓名、性别、出生年月、毕业时间、所学专业、 现在工作单位、职称、职务、电话等,为校友录构造一种适当的数据结 构(作图示意),并定义必要的运算和用文字叙述相应的算法思想。 3.什么是算法?算法的主要特点是什么? 4.如何评价一个算法?
定义:一组值的集合和定义在这个集合上的一组操作的总称。
例如:整数类型(int),值的范围是[-32768,32767],主要运算
有+、-、*、/、%(取模运算)等。
从硬件看,实现涉及到“字”,“字节”,“位”,“位的运算”
等。
从用户看,只需了解整数运算的数学特性,而不必了解内部结构 如何变化 。
重庆科创职业学院
重庆科创职业学院
注意:
基本操作的执行次数不确定时,以平均时

C语言项目案例分析

C语言项目案例分析

C语言项目案例分析C语言项目案例:学生成绩管理系统概述:学生成绩管理系统是一个用于管理学生信息和成绩的软件系统。

该系统可以实现添加、删除、修改学生信息和成绩的功能,并且可以按照学生的学号或者姓名进行查找和排序。

功能要求:1. 学生信息管理:可以添加、删除、修改学生的基本信息,包括学号、姓名、性别、年龄等。

2. 成绩管理:可以添加、删除、修改学生的各科成绩,包括语文、数学、英语等。

3. 查找功能:可以根据学生的学号或者姓名查找学生信息和成绩。

4. 排序功能:可以按照学号、总成绩等排序学生信息和成绩。

设计思路:1. 数据结构设计:采用结构体数组来存储学生信息和成绩,结构体中包含学号、姓名、性别、年龄和各科成绩等字段。

2. 功能模块划分:将学生信息管理、成绩管理、查找功能和排序功能分别实现为不同的函数模块,通过调用这些函数来完成相应的功能。

3. 用户界面设计:通过命令行界面来实现用户与系统的交互,可以通过输入数字来选择相应的功能菜单,并根据用户的输入来执行相应的功能。

代码实现:以下是一个简单的学生成绩管理系统的代码示例:#include <stdio.h>#include <string.h>// 学生结构体struct student {int id;char name[20];int age;float chinese;float math;float english;};// 添加学生信息void addStudent(struct student* stu) {printf("请输入学生的学号:");scanf("%d", &stu->id);printf("请输入学生的姓名:");scanf("%s", stu->name);printf("请输入学生的年龄:");scanf("%d", &stu->age);printf("请输入学生的语文成绩:");scanf("%f", &stu->chinese);printf("请输入学生的数学成绩:");scanf("%f", &stu->math);printf("请输入学生的英语成绩:");scanf("%f", &stu->english);}// 删除学生信息void deleteStudent(struct student* stu) { stu->id = 0;strcpy(stu->name, "");stu->age = 0;stu->chinese = 0.0;stu->math = 0.0;stu->english = 0.0;}// 修改学生信息void modifyStudent(struct student* stu) { printf("请输入学生的学号:");scanf("%d", &stu->id);printf("请输入学生的姓名:");scanf("%s", stu->name);printf("请输入学生的年龄:");scanf("%d", &stu->age);printf("请输入学生的语文成绩:"); scanf("%f", &stu->chinese);printf("请输入学生的数学成绩:"); scanf("%f", &stu->math);printf("请输入学生的英语成绩:"); scanf("%f", &stu->english);}// 查找学生信息void findStudent(struct student* stu, int id) {if (stu->id == id) {printf("学号:%d,姓名:%s,年龄:%d,语文成绩:%.1f,数学成绩:%.1f,英语成绩:%.1f\n", stu->id, stu->name, stu->age, stu->chinese, stu->math, stu->english);}}// 排序学生信息void sortStudents(struct student* stu, int count) {// 冒泡排序for (int i = 0; i < count - 1; i++) {for (int j = 0; j < count - i - 1; j++) {if (stu[j].id > stu[j + 1].id) {struct student temp = stu[j];stu[j] = stu[j + 1];stu[j + 1] = temp;}}}}int main() {int choice;int count = 0;struct student students[100];do {printf("学生成绩管理系统\n");printf("1. 添加学生信息\n");printf("2. 删除学生信息\n");printf("3. 修改学生信息\n");printf("4. 查找学生信息\n");printf("5. 排序学生信息\n");printf("0. 退出\n");printf("请选择操作:");scanf("%d", &choice);switch (choice) {case 1:addStudent(&students[count]);count++;break;case 2:deleteStudent(&students[count - 1]);count--;break;case 3:modifyStudent(&students[count - 1]); break;case 4: {int id;printf("请输入要查找的学生学号:"); scanf("%d", &id);for (int i = 0; i < count; i++) {findStudent(&students[i], id);}break;}case 5:sortStudents(students, count);break;case 0:break;default:printf("请输入正确的操作!\n");break;}} while (choice != 0);return 0;}总结:通过以上的案例分析,可以看出,C语言可以实现一些简单的项目,例如学生成绩管理系统。

c语言程序设计案例

c语言程序设计案例

c语言程序设计案例C语言程序设计案例。

C语言作为一种通用的高级编程语言,被广泛应用于系统软件、应用软件、驱动程序、网络软件、嵌入式系统、游戏开发等诸多领域。

在学习C语言的过程中,掌握一些实际的程序设计案例对于提高编程能力和理解语言特性非常重要。

本文将介绍一些C语言程序设计案例,帮助读者加深对C语言的理解和掌握。

案例一,计算圆的面积和周长。

```c。

#include <stdio.h>。

#define PI 3.14159。

int main()。

{。

float radius, area, perimeter;printf("请输入圆的半径,");scanf("%f", &radius);area = PI radius radius;perimeter = 2 PI radius;printf("圆的面积为,%f\n", area);printf("圆的周长为,%f\n", perimeter);return 0;}。

```。

这个案例通过输入圆的半径,计算出圆的面积和周长,展示了C语言中基本的输入输出操作和数学运算。

案例二,判断闰年。

```c。

#include <stdio.h>。

int main()。

{。

int year;printf("请输入一个年份,");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)。

{。

printf("%d年是闰年\n", year);}。

else。

{。

printf("%d年不是闰年\n", year);}。

return 0;}。

```。

这个案例通过输入一个年份,判断该年份是否是闰年,展示了C语言中条件语句的使用。

c语言循环结构案例

c语言循环结构案例

宜宾职业技术学院电气自动化技术专业
<<C语言程序设计基础>>
例4: 从键盘输入一行字符,将其中的英文字母进行加密输出(非英文字 母不用加密)。 #include "stdio.h" main() { char c; int k; printf("input k:"); scanf("%d",&k); scanf("%c",&c); /*吃掉上次输入的回车符*/ c=getchar(); while(c!='\n') { if ((c>='a' && c<='z') | | (c>='A' && c<='Z')) { c=c+k; if (c>'z' | | (c>'Z' && c<='Z'+k)) c=c-26; } printf("%c",c); c=getchar(); }}
<<C语言程序设计基础>>
循环结构案例分析 钱新杰
宜宾职业技术学院电气自动化技术专业
<<C语言程序设计基础>>
本次课学习目标
• • • • 掌握基本算法的设计 掌握for语句的基本应用 掌握while语句的基本应用 掌握do-while语句的基本应用
宜宾职业技术学院电气自动化技术专业
<<C语言程序设计基础>>


完成书上例题上机操作
宜宾职业技术学院电气自动化技术专业
<<C语言程序设计基础>>

重庆科创职业学院微机原理教案3-4

重庆科创职业学院微机原理教案3-4
旁批栏:
【注意】BCD码进行乘除法运算时,一律使用无符号数形式,因而AAM和AAD应固定地出现在MUL之前和DIV之后。
三、逻辑运算和移位指令(包括逻辑运算、移位和循环移位指令)
1.逻辑运算指令
(1)一般格式NOT OPRD
功能对操作数求反,然后送回原处,操作数可以是寄存器或存储器内容。此指令对标志无影响。例如:NOT AL
MOV AX,THIRD;
MUL AX;结果DX:AX=THIRD*THIRD
MOV AL,30H
CBW;字扩展AX=30H
MOV BX,2000H
MUL BX;
(2)带符号数乘法指令IMUL
一般格式IMUL OPRD;OPRD为源操作数
这是一条带符号数的乘法指令,同MUL一样可以进行字节与字节、字和字的乘法运算。结果放在AX或DX,AX中。当结果的高半部分不是结果的低半部分的符号扩展时,标志位CF和OF将置位。
教学步骤及内容:
讲授内容
【回顾】8086寻址方式及操作数地址的计算。8086的加法运算指令。
2.减法指令(Subtraction)
(1)一般形式SUB OPRD1,OPRD2;
功能OPRD1←OPRD1-OPRD2
完成两个操作数相减,也即从OPRD1中减去OPRD2,结果放在OPRD1中。
【例如】SUBCX,BX
(1)Z=W+(Z+X)(2)Z=W-(X+6)-(R+9)
3.若在数据段中从字节变量TABLE相应的单元开始存放了0~15的平方值,试写出包含有XLAT指令的指令序列查找N(0~15)中的某个数的平方。(设N的值存放在CL中)
旁批栏:
3.乘法指令(分为无符号乘法指令和带符号乘法指令两类)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档