C语言程序设计

一、多重知识点

1.学会占位符的使用;

2.scanf与scanf_s()的区别:

  1. 安全性

    • scanf:这是 C 语言标准库中的一个经典函数,用于读取格式化的输入。然而,scanf 在处理某些输入时可能会存在安全问题,特别是当输入数据超出了目标变量的容量时。这可能导致缓冲区溢出,从而引发程序崩溃或更严重的安全问题。
    • scanf_s:这是 Microsoft 对 scanf 的一个安全版本,主要在 Windows 平台上使用。scanf_s 提供了额外的参数来指定输入数据的大小,从而防止缓冲区溢出。这使得 scanf_s 在处理用户输入时更为安全。
  2. 可移植性

    • scanf:作为 C 语言标准库的一部分,scanf 在所有支持 C 语言的平台上都是可用的。因此,使用 scanf 的代码通常具有更好的可移植性。
    • scanf_s:由于 scanf_s 是 Microsoft 的特定实现,它并非 C 语言标准的一部分。因此,使用 scanf_s 的代码可能在非 Windows 平台上无法编译或运行。这限制了 scanf_s 的可移植性。
  3. 使用方式

    • scanf 和 scanf_s 在使用上的主要区别在于 scanf_s 需要额外的参数来指定输入数据的大小。这使得 scanf_s 的调用语法稍微复杂一些。

3.system(“pause”);

4.定义类型名

typedef enum{

MON=0,TUE,WED,SUN

}WeekDay;//声明

WeekDay workDay,weekEnd;//定义

//使用 workDay=MON;

weekEnd=SUN;

5.结构体

typedef struct{

int num;

char name[20];

int age;}StructStudent;

StructStudent student1;

student1.num=1234;

6.结构体指针

Struct* Ptv;

Struct tv;

Ptv=&tv;

引用:Ptv->hour

加M操作:①指针加M,数据类型大小*M;②结构体指针加M,结构体大小*M

7.API函数

extern与static

多文件:头文件:防止重复编译:

#ifndef _ADD_H_

#define _ADD_H_

#endif

二、设计电子时钟

8.多媒体定时器

windows中的定时器:多媒体与普通

#include<windows.h>

#pragma comment(lib,"winmm.lib")

static void __stdcall TimeProc(unsigned int ID,unsigned uMsg){}

timeSetEvent(2,1,TimeProc,0,TIME_PERIODIC);

9.a++与++a

先赋值后增加;先增加后赋值。

10.基于多媒体定时器的电子钟设计:

1.撰写时分秒的转换函数;

2.写秒值与时间转换函数,初始化+调用函数计算;

3.滴答计数,时间保存与获取;初始化+2ms执行一次+设置+获取;

4.app.c:初始化+定时器回调函数(每2ms)+处理2ms的任务(达到1s)+1s的任务+执行(初始化+定时器设定)

11.API设计与应用:

时钟运行函数:初始化+运行+暂停+获取+设置+显示

app.c同上

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值