电子钟显示时分秒c语言程序

电子钟显示时分秒c语言程序
电子钟显示时分秒c语言程序

/*电子钟显示时分秒*/

#include

sbit INCH=P3^2; //小时加1

sbit INCM=P3^3; //分钟加1

#define LCDP P0 // 定义LCM 接至P0

sbit RS = P2^7; // 暂存器选择位元(0:指令,1:资料)

sbit RW = P2^6; // 设定读写位元(0:写入,1:读取)

sbit E = P2^5; // 致能位元(0:禁能,1:致能)

sbit BF = P0^7; // 忙碌检查位元(0:不忙,1:忙碌)

char count=20; // 中断次数计数,20次*50ms=1秒

char time0[]="CLOCK"; // 显示时间阵列(第1行)

char time[11]; // 显示时间阵列(第2行)

bit ampm=1; // 0:上午(am),1:下午(pm),初值下午

char hour=11; // 声明时,初值为11点

char minute=59; // 声明分,初值为59分

char second=50; // 声明秒,初值为50秒

void transfer(void); // 转换时分秒至time阵列中

void write_inst(char); // 写入指令函数

void write_char(char); // 写入字元函数

void write_pat(void); // 写入自建字型函数

void check_BF(void); // 检查忙碌函数

void init_LCM(void); // 声明LCM初始设定函数

void delay(int); //去抖函数

main()

{ char i;

init_LCM(); // 初始设定

IE=0X87; // T0、INT0、INT1中断使能TMOD=0x01; // T0设为MODE1

TH0=(56636-50000) / 256; // 填入计时量之高位元组

TL0=(56636-50000) % 256; // 填入计时量之低位元组

TR0=1; // 启动Timer 0

write_inst(0x85); // 指定第1列位置

for (i=0;i<5;i++)

write_char(time0[i]); //显示CLOCK

while(1)

{ transfer(); // 转换时分秒至time阵列中write_inst(0xC0); // 指定第2列位置

for (i=0;i<11;i++)

write_char(time[i]);// 显示时间

}

}

//转换函数

void transfer(void)

{ time[0]= hour/10 + 0x30; // 时数之十位数显示资料time[1]= hour%10 + 0x30; // 时数之个位数显示资料

time[2]= ':'; // 显示冒号

time[3]= minute/10 + 0x30; // 分数之十位数显示资料

time[4]= minute%10 + 0x30; // 分数之个位数显示资料

time[5]= ':'; // 显示冒号

time[6]= second/10 + 0x30; // 秒数之十位数显示资料

time[7]= second%10 + 0x30; // 秒数之个位数显示资料

time[8]=' ';//0x00; // 自键字型之高位元组if (ampm==0) // 判定是否为上午

{

time[9]=0x41; // 表示上午AM

time[10]=0x4D;

}

else

{

time[9]=0x50; // 表示下午PM

time[10]=0x4D;

}

}

//外中断0,时加1

void int_0(void)interrupt 0

{

TR0=0;

delay(20);

if(INCH==1)

hour=hour+1;

if (hour == 13) // 是否达到13小时

hour=1; // 时数改为1

if (hour == 12) // 是否达到12小时

ampm=~ampm; // 切换上下午

TR0=1;

}

//外中断1,分加1

void int_1(void)interrupt 2

{

TR0=0;

delay(20);

if(INCM==1)

minute=minute+1;

if (minute>=60) // 是否达到60分

{ minute=0; // 分数归零

hour++; // 时数加1

if (hour == 13) // 是否达到13小时

hour=1; // 时数改为1

if (hour == 12) // 是否达到12小时

ampm=~ampm; // 切换上下午

}

TR0=1;

}

//T0中断

void clock(void) interrupt 1

{ TH0=(56636-50000)/256; // 填入计时量

TL0=(56636-50000)%256; // 填入计时量

if (--count==0) // 中断次数是否达到20次

{ count=20; // 重新计次

second++; // 秒数加1

if (second>=60) // 是否达到60秒

{ second=0; // 秒数归零

minute++; // 分数加1

if (minute>=60) // 是否达到60分

{ minute=0; // 分数归零

hour++; // 时数加1

if (hour == 13) // 是否达到13小时

hour=1; // 时数改为1

if (hour == 12) // 是否达到12小时

ampm=~ampm; // 切换上下午

} } } }

//LCD初始化

void init_LCM(void)

{ write_inst(0x30); // 设定功能-8位元-基本指令write_inst(0x38); // 英文LCM设定两列

write_inst(0x08); // 显示功能-关显示幕-无游标-游标不闪write_inst(0x01); // 清除显示幕(填0x20,I/D=1)

write_inst(0x06); // 输入模式-位址递增-关显示幕

write_inst(0x0c); // 显示功能-开显示幕-无游标-游标不闪}

//LCD写入指令函数

void write_inst(char inst)

{

E=0; // 写入指令至LCM

RS=0;

RW=0;

E=1;

LCDP=inst; // LCM读入MPU指令

delay(3);

E=0;

}

//LCD写入数据

void write_char(char chardata)

{

E=0; // 写入数据至LCM

RS=1;

RW=0;

E=1;

LCDP=chardata; // LCM读入字元delay(3);

E=0;

}

void delay(int x)

{

int a,b;

for(a=0;a

for(b=0;b<120;b++);

}

c语言程序设计试题答案

习题7 7.1选择题。 (1)下列对字符串的定义中,错误的是: A 。 A) char str[7] = "FORTRAN"; B) char str[] = "FORTRAN"; C) char *str = "FORTRAN"; D) char str[] = {'F','O','R','T','R','A','N',0}; (2)以下程序段的输出结果是:____D_________ char a[] = "ABCDE" ; char *p = NULL; for (p=a; p main() { static char a[5]; a = "abcde" ; printf("%s\n", a); }

B) #include <> main() { static char a[7]= "goodbye!"; printf("%s\n", a) ; } C) #include <> main() { char a[5] = "abcde"; printf("%s\n", a) ; } D) #include <> main() { static char a[]="abcde"; printf("%s\n", a) ; } (4)阅读下列函数,函数功能为___A_____。 void Exchange(int *p1, int *p2) { int p; p = *p1; *p1 = *p2; *p2 = p; } A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值 C)交换*p1和*p2的地址 D)可能造成系统故障

C语言程序设计 键盘输入和屏幕输出(4.2.2)--4.1节和4.4节

【例4.1】从键盘输入一个大写英文字母,将其转换为小写字母后,再显示到屏幕上。程序如下: 1 2 3 4 5 6 7 8 9 10#include main() { char ch; printf("Press a key and then press Enter:"); ch = getchar(); /* 从键盘输入一个字符,按回车键结束输入,该字符被存入变量ch */ ch = ch + 32; /* 将大写英文字母转换为小写英文字母 */ putchar(ch); /* 在屏幕上显示变量ch中的字符 */ putchar('\n'); /* 输出一个回车换行控制符 */ } 程序的运行结果如下: Press a key and then press Enter: B↙ b 【例题解析】在ASCII字符表中,小写英文字母与相应的大写英文字母的ASCII码值相差32。根据这一规律,可实现大小写英文字母之间的转换。 【例4.2】从键盘输入一个大写英文字母,将其转换为小写英文字母后,将转换后的小写英文字母及其十进制的ASCII码值显示到屏幕上。 1 2 3 4 5 6 7 8 9 #include main() { char ch; printf("Press a key and then press Enter:"); ch = getchar(); ch = ch + 32; printf("%c, %d\n", ch, ch); /* 分别输出变量ch中的字符及其ASCII码值 */ } 此程序的运行结果如下: Press a key and then press Enter: B↙ b, 98 【例题解析】字符型数据既可以用字符格式输出,也可以用整型格式输出,后者是输出 其ASCII码的值。

多功能数字电子钟的设计

学号20103010342 毕业设计说明书 设计题目多功能数字电子钟的设计 系部机械电子系 专业机电一体化 班级机电103 班 姓名关付玲 指导教师肖玉玲 2012年 10月 13日

摘要 摘要:数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒。一个基本的数字钟电路主要由秒信号发生器、“时、分、秒、”计数器、译码器及显示器组成。由于采用纯数字硬件设计制作,与传统的机械表相比,它具有走时准,显示直观,无机械传动装置等特点。本设计中的数字时钟采用数字电路实现对“时”、“分”、“秒”的显示和调整。通过采用各种集成数字芯片搭建电路来实现相应的功能。具体用到了555震荡器,74LS90及与非,异或等门集成芯片等。该电路具有计时,整点报时和校时的功能。在对整个模块进行分析和画出总体电路图后,对各模块进行仿真并记录仿真所观察到的结果。实验证明该设计电路基本上能够符合设计要求! 关键词:计数器;译码显示器;校时电路;

Abstract Abstract:Digital clock is a "time", "Sub", "second" displays the organ in human visual mechanism. Its time for a period of 24 hours, show full scale 23:59 for 59 seconds. A basic digital clock circuits consists of second signal generator, "hours, minutes, seconds," counters, decoders and display components. Because of its pure digital hardware design, compared with the traditional mechanical watch, it has left, presents an intuitive, non-mechanical transmission device and so on. This digital clock used in the design of digital circuits on the "time" and "min", "second" display and adjustment. Through the use of integrated digital chip circuit structures to achieve appropriate functionality. Specific use of 555 oscillator, 74LS90 and non-, exclusive-or gate integrated circuits and so on. The circuits with timing, the whole point of time and error correction capabilities. In the analysis of the entire module and overall circuit diagram is painted, simulation to emulation and modules record the observed results. Experimental proof of the design circuit can basically meet the design requirement! Key words:Counter ,ten decoding display , citcuit Shool

C语言程序设计第三版谭浩强课后习题答案完整版

1.6 编写一个程序,输入a、b、c 三个值,输出其中最大值。 课后习题答案完整版 第一章 1.5 请参照本章例题,编写一个C 程序,输出以下信息: ************************** Very Good! ************************** 解:mian() {int a,b,c,max; printf( “请输入三个数a,b,c:\n ” ); scanf( “%d,%d,%”d ,&a,&b,&c); C语言程序设计第三版谭浩强 解: mian() {printf( ”); “************************** printf( “”X “ n” ); printf( “Very Good!” \ n”); printf( “”X “ n” ); printf( “************************** ); max=a; if(max

{char #include c1='a',c2='b',c3= 'c',c4= ' \101 ',c5= ' 116'; printf( “a%cb%c n”,c1,c2,c 3); printf( “ b%c %c” ,c4,c5); } 解: aa 口bb 口口口cc 口口口口口口abc A 口N 3.7 要将"China" 译成密码,译码规律是:用原来字母后面的第 4 个字母代替原来的字母.例如,字母"A" 后面第 4 个字母是"E" . "E"代替"A"。因此,"China"应译为"Glmre" 。请编一程序,用赋初值的方法使cl 、c2、c3、c4、c5 五个变量的值分别为, ' C'、h'、i '、n'、a'经过运算,使cl、c2、c3、c4、c5分别变为'G'、' I '、' m >' r'、’ e',并输出。main() { char c1=' C' ,c2=' h' ,c3= ' i ' ,c4= ' n' ,c 5=' a' ; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(" 密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是GImre 3.9 求下面算术表达式的值。 解: 1 )x+a%3*(int)(x+y)%2/4

C语言程序设计期末考试选择题题库

第一章1、一个C程序可能出现的错误有(A)A,以上都包括 B,逻辑错误 C,运行错误 D,语法错误 2、C程序中一般可以包含几个函数(D) A.1个 B.多个 C.0个 D.至少一个 3.C语言属于程序设计语言的哪个类别(B) A.机器语言 B.高级语言 C.面向对象语言 D.汇编语言 4.以下关于C语言描述错误的是(B) A.一个C程序总是从main函数开始执行 B.一个C程序可以包含多个main函数 C.每个语句的最后必须有一个分号 D.C语言的注释符是以"/*"开始并以"*/"结束

5、在调试过程中,逻辑错误是指(C) A.所书写的语句,不符合C的语法。 B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。 C.程序的运行结果不符合题目要求。 D.在exe文件的执行过程中,产生运行异常。 第二章 1、16位的二进制数可以表示的整数的范围是(C) A.[-32768,32768] B.[-32767,32768] C.[-32768,32767] D.[-32767,32767] 2、C语言中的实型数据包括(A) A.float和double B.int和float C.float和char D.int和double 3、以下不合法的字符常量是(C) A.'2' B.'A' C.'ab'

4、在以下各组标识符中,均是合法的C语言标识符是(A) A.abc,A_4d,_student,xyz_abc B.auto,12-a,a_b,ab5.x C.A_4d,_student,xyz_abc,if D.abc,a_b,union,scan 5、若有定义:chara;intb;floatc;doubled; 则表达式a*b+d-c值的类型为(A) A.char B.float C.double D.int 6、类型修饰符unsigned不能修饰(D) A.char B.longint C.int D.float 7、若有定义:doublex=1,y; 执行语句,则y的值是(B) A,1 B,2.0

数字电子钟设计说明

华南农业大学 电子线路综合设计 数字电子钟 班级:14电气类8班组别:4 指导教师: 2016年月

电子数字钟是一种用数字电路技术实现时、分、秒计时的装置,比机械式时钟具有更高的精确性。本次课程设计的电子数字钟,具有以下功能:用24进制,从00开始到23后再回到00,各用2位数码管显示时、分、秒(如23:52:45);可实现手动或自动的对时、分进行校正;计时过程具有报时功能,当时间到达整点前10秒进行报时,蜂鸣器响1秒停1秒地响5次。整个电路设计主要包括秒信号产生电路、时分秒计数电路、译码显示电路、时分的校正电路以及整点报时电路。 秒信号产生电路由石英晶体振荡器和分频器实现,将此信号接到秒计数器的信号输入端,在秒信号的驱动下,秒计数器向分计数器进位,分计数器向时计数器进位,最后通过译码器将计数器中的状态以时间的形式显示在数码管。整点报时电路由计时电路的输出状态产生脉冲信号送至蜂鸣器实现报时。校时电路加上一个脉冲送到时分计时器电路从而实现时和分的校整。 为了更好的完成本次课程设计,我们对题目进行了分析讨论,参考了很多相关的资料,同时考虑到实验室能提供的设备仪器及元件,确定了初步的设计方案;经过多次软件仿真,确定并完善了最终的设计方案。根据设计方案进行焊接、电子仪表检查、调试并测量电路的工作状态,排除电路故障,调整元件参数,改进电路性能,使之达到设计的指标和要求,做出成品。 关键词:晶体振荡器CD4060 CD4511 74LS90

1系统概述 (1) 1.1 设计任务和目的 (1) 1.2系统设计思路与总体方案 (1) 1.3设计方案选择 (1) 1.4总体工作过程 (2) 1.5各功能模块的划分和组成 (2) 2电路系统设计与分析 (4) 2.1秒信号的发生电路 (4) 2.2时、分、秒计数电路 (5) 2.3译码显示电路 (6) 2.4时、分校正电路 (7) 2.5整点报时电路 (8) 3电路的安装与调试 (9) 3.1安装调试的步骤 (9) 3.2电路软件仿真调式 (9) 3.3电路焊接及实物调式 (10) 3.4实验过程可能存在的问题 (10) 4实验数据和误差分析 (11) 5实验结论及分析 (11) 6实验收获、体会和建议 (12) 参考文献 (13) 附录1元器件清单明细表 (14) 附录2总原理接线图 (15) 附录3 电路焊接实物图 (16) 致 (17)

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

c语言程序设计期末试题B(含答案)

c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include main( ) { int a = 1, b = 2, c = 3; printf(“%d”, c>b>a); } A) 2 B) 1 C) 0 D) 3 3.以下正确的叙述是() A) 在C语言中,main函数必须位于文件的开头 B) C语言每行中只能写一条语句 C) C语言本身没有输入、输出语句 D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误 4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是() A)scanf("%d",pa); B)scanf("%d",a); C)scanf("%d",&pa); D)scanf("%d",*pa); 5.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是() A) 0 B) 0.5 C) 1 D) 2 6. D 7. D 8. A 9. C 10. D 6.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是() A) a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D)a>=10‖a<=0 7.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是() main( ) { int a,b,c,d; scanf(“%d,%d,%d%d”,&a,&b,&c,&d); … } A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4

51单片机驱动1602液晶显示器c程序

51单片机驱动1602液晶显示器c程序 /*程序效果:单片机控制液晶显示器1602 显示字母数字,用户自行更改io 程序原创安全:51hei*/#includereg52.h //头文件#define uchar unsigned char //宏定义#define uint unsigned intuchar code table[]=“51HEI XING XING “ ; //显示的字母uchar code table1[]=“51HEI MCUXUE YUAU” ;sbit lcdrs=P1; //寄存器选择引脚sbit lcdwr=P1;//读写引脚sbit lcde=P1 ; //片选引脚void delay(uchar x) //延时子函数{uchar i,j;for(i=x;i0;i--) for(j=110;j0;j--);}void write_com(uchar com) //写指令子函数{ //根据1602 液晶 显示器协议编写P2=com; lcdrs=0;lcdwr=0;delay(5);lcde=0; delay(5);lcde=1; }void write_dat(uchar dat) //写数据子函数{P2=dat; lcdrs=1;lcdwr=0;delay(5);lcde=0;delay(5);lcde=1;}void init() //初始化子函数{write_com(0x01); //清屏write_com(0x3f); //功能设置write_com(0x0d); //显示控制write_com(0x06); //输入方式设置}void main(){ uchar i; //定义局部变量init();write_com(0x80+0x02+0x10); //指针的位置for(i=0;i15;i++) //显示{ write_dat(table[i]); delay(50); // 延时,用于调节速度不匹配}write_com(0x80+0x40+0x10); for(i=0;i16;i++){ write_dat(table1[i]); delay(50);} for(i=0;i16;i++){ write_com(0x18); delay(50);} while(1);}tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

C语言程序设计模拟试题1附答案

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。

数字电子钟--设计加详细说明(全)

中国……….. 电子技术课程设计总结报告题目:数字电子钟 学生姓名: 系别: 专业年级: 指导教师: 年月日

一、设计任务与要求 1、用单片机设计一个数字电子钟,采用LED数码管来显示时间。 2、显示格式为:XX:XX:XX,即:时:分:秒。 3、时间采用24小时制显示, 4、设置一个按键用于时间显示方式的切换,能进行时间的调整,可暂停时间的变动。.. 二、方案设计与论证 图1 系统整体框图 1、单片机芯片选择方案 方案一:AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器。主要性能有:与MCS-51单片机产品兼容、全静态操作:0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符、易编程。 方案二:AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM)。主要性能有:兼容MCS51指令系统、32个双向I/O口、256x8bit内部RAM、3个16位可编程定时/计数器中断、时钟频率0-24MHz、2个串行中断、可编程UART串行通道、2个外部中断源、6个中断源、2个读写中断口线、3级加密位、低功耗空闲和掉电模式、软件设置睡眠和唤醒功能。 从单片机芯片主要性能角度出发,本数字电子钟单片机芯片选择设计采用方案一。 2、数码管显示选择方案 方案一:静态显示。静态显示,即当显示器显示某一字符时,相应的发光二极管恒定导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时

C语言程序设计教程第三版(李凤霞)习题答案

教材习题答案 第一章 习题 一、单项选择题 1. C 2. B 3. B 4. C 5. D 6. A 7. C 8. A 二、填空题 1. 判断条件 2. 面向过程编程 3. 结构化 4. 程序 5. 面向对象的程序设计语言 6. 基本功能操作、控制结构 7. 有穷性 8. 直到型循环结构 9. 算法 10.可读性 11.模块化 12.对问题的分解和模块的划分

习题 一、单项选择题 1. B 2. D 3. C 4. B 5. A 6. A 7. B 8.C 二、填空题 1. 主 2. C编译系统 3. 函数、函数 4. 输入输出 5. 头 6. .OBJ 7. 库函数 8. 文本 第三章 习题 一、单项选择题 1. D 2. B 3. A

5. C 6. D 7. D 8. B 9. B 10.C 11.A 12.D 13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D,A 25.D 26.A 27.B 二、填空题 1. 补码 2. 308 10 - ±

~)308 10 ,15 —6 2. 308 10 - ± (~)308 10 ,15

6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或 b ( 题目有错 , 小括号后面的 c<=98 改成( c>=97&&c<=98 )就可以得到所给的答案了) 7.

8. 65 , 89 第四章 习题 一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B 7. A 8. C 9. B 10.B 二、填空题 1. 一

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

LED旋转显示屏C语言程序

#include #include #define uchar unsigned char #define uint unsigned int sbit e=P3^2; sbit k=P1^0; uint p; uchar code tab[]; void delay(uchar n); void main() { uchar a,b,s; while(1) { if(k==0) { delay(5); if(k==0) { while(!k); for(s=0;s<=192;s++) { a=tab[p]; a=_cror_(a,1); b=tab[p+1]; b=_cror_(b,1); SBUF=a; while(!TI);TI=0; SBUF=b; while(!TI);TI=0; e=0;e=1; delay(5);

} p=0; } } } } void delay(uchar n) { uchar i,j; for(i=0;i

数字逻辑课程设计 数字电子钟

课程设计(综合实验)报告题目:第四个实验数字电子钟院系:计算机科学系 班级:计算计科学与技术1班 学号: 学生姓名: 队员姓名: 指导教师:

《数字逻辑》综合实验 任务书 一、目的与要求 1 目的 综合实验是教学中必不可少的重要环节,通过综合实验巩固、深化和扩展学生的理论知识与初步的专业技能,提高综合运用知识的能力,逐步增强实际工程训练。 注重培养学生正确的设计思想,掌握综合实验的主要内容、步骤和方法。 培养学生获取信息和综合处理信息的能力、文字和语言表达能力以及协作工作能力。 提高学生运用所学的理论知识和技能解决实际问题的能 及其基本工程素质。 2.要求 能够根据设计任务和指标要求,综合运用电子技术课程中所学到的理论知识与实践技能独立完成一个设计课题。 根据课题需要选择参考书籍,查阅手册、图表等有关文献资料。要求通过独立思考、深入钻研综合实验中所遇到的问题,培养自己分析、解决问题的能力。 进一步熟悉常用电子器件的类型和特性,掌握合理选用的原则。 学会电子电路的安装与调试技能,掌握常用仪器设备的正确使用方法。利用“观察、判断、实验、再判断”的基本方法,解决实验中出现的问题。

学会撰写综合实验总结报告。 通过综合实验,逐步形成严肃认真、一丝不苟、实事求是的工作作风和科学态度,培养学生树立一定的生产观点、经济观点和全局观点。要求学生在设计过程中,坚持勤俭节约的原则,从现有条件出发,力争少损坏元件。 在综合实验过程中,要做到爱护公物、遵守纪律、团结协作、注意安全。 二、主要内容 数字电子钟 设计一台能显示时﹑分、秒的数字电子钟,要求如下: 1)秒﹑分为00—59六十进制计数器,时为00—23二十四进制计数器; 2)可手动校正:可分别对秒﹑分﹑时进行手动脉冲输入调整或连续脉冲输入校正,(校正时不能输出进位)。 元器件选择 74LS162:4块与非门74LS00:2块共阳数码管LED 74LS161:2块GAL16V8:2块晶体振荡器:1MHZ GAL20V8:1块TDS-4实验箱 导线若干 所需要器件的图片如下 1同步十进制计数器74LS162 3输入正与非门74LS00

C语言程序设计第三版谭浩强课后习题答案完整版

C语言程序设计第三版谭浩强 课后习题答案完整版 第一章 1.5请参照本章例题,编写一个C程序,输出以下信息:************************** V ery Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“V ery Good!\n”); printf(“\n”); printf(“**************************”); } 1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。解: mian() {int a,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max main() { char c1=?C?,c2=?h?,c3=?i?,c4=?n?,c5=?a?; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre 3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 (1)2.5 (2)3.5 3.10写出程序运行的结果。 main() {int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 解: 9,11,9,10 3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 解: (1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0 第四章 4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 a=_3_ _b=_4_ _c=_5 x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 c1=ˊaˊ_or_97(ASCII)

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

相关文档
最新文档