蓝桥杯C语言组---基础知识

本文详细介绍了C语言中的基础知识,包括文件操作如fwrite、fseek和feof函数的使用,蔡勒算法计算日期为星期几,字符相关问题如转义字符和ASCII码,以及结构体和关键字等概念。还涉及到了二进制运算、位运算和布尔运算等重要内容。
摘要由CSDN通过智能技术生成

目录

零.二进制运算

​​​​一.文件操作

1.fwrite函数

2.fseek函数

3.常见文件使用方式

二.输出格式

三.蔡勒算法——计算某天为星期几

 附加—s系列的运用

1.sscanf函数

​编辑2.sprintf函数

四.字符相关问题

转义字符

ASCII码

整形与字符相加的输出问题

sizeof与strlen

五.结构体

1.结构体的定义与使用

2.结构体变量的初始化

3.指向结构的指针

六.逗号运算符

七.关键字

1.static

 2.const

3.strchr&&strstr

 更多

八.指针

1.二级指针

九.函数

 十.联合体

一、联合体union

零.二进制运算

MB=2^20bye

左移运算可作为倍数运算(1<<5==1^5)

右移运算为除以2的幂并向下取整(5>>1==5/2^1=2.5=2)

​​​​一.文件操作

1.fwrite函数

读取数据存入文件中;

函数原型

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

const void *ptr : 指针指向要写出数据的内存首地址 ;

size_t size : 要写出数据的 基本单元 的字节大小 , 写出单位的大小 ;

size_t nmemb : 要写出数据的 基本单元 的个数 ;

FILE *stream : 打开的文件指针 ;

实例代码

#include<stdio.h>
 
int main ()
{
   FILE *fp;
   char str[] = "This is runoob.com";
 
   fp = fopen( "file.txt" , "w" );
   fwrite(str, sizeof(str) , 1, fp );
 
   fclose(fp);
  
   return(0);
}
This is runoob.com

2.fseek函数

重新设置文件内部指针的位置 ;

函数原型

int fseek(FILE *stream, long offset, int fromwhere);

设置的指针的位置是 起始位置 + 偏移量 ;

其中的 int fromwhere 参数就是 起始位置 , 有以下三种选择 :

文件头 SEEK_SET 0
当前位置 SEEK_CUR 1
文件尾 SEEK_END 2
long offset 偏移量参数 , 可以为正数 , 也可以为负数 ;

如果执行成功 , 则返回 0 , 失败返回非 0 , 并设置 error 错误代码 。

3.feof(检查文件流是否读到了文件尾)


函数说明 feof()用来侦测是否读取到了文件尾,尾数 stream 为 fopen()所返回之文件指针。
如果已到文件尾则返回非零值,其他情况返回 0。
返回值 返回非零值代表已到达文件尾。


3.常见文件使用方式

1,“r”.为读而打开文本文件.(不存在则出错)
2,“rb”.为读而打开二进制文件.
3,“w”.为写而打开文本文件.(若不存在则新建,反之,则从文件起始位置写,原内容将被覆盖)
4,“wb”.为写而打开二进制文件.
5,“a”.为在文件后面添加数据而打开文本文件.(若不存在,则新建;反之,在原文件后追加)
6,“ab”.为在文件后面添加数据而打开一个二进制文件.
最常用的文件使用方式及其含义如下:
7,“r+”.为读和写而打开文本文件.(读时,从头开始;在写数据时,新数据只覆盖所占的空间,其后
不变)
其余查看【C 语言文件操作函数大全-腾讯课程零声学院整理】_fileno(fp)_abcd552191868的博客-CSDN博客

二.输出格式

1.int、float、double、char 等类型的输出格式:

(1) int: %d

(2) float: %f, 默认保留 6 位小数

(3) double: %lf, 默认保留 6 位小数

(4) char: %c(字符)%s(字符串), “”双引号字符串(自带\0),‘’单引号字符。

long long :  %llf

2.(1)float, double 等输出保留若干位小数时用: % .4f, %.3l。                                             

#include <stdio.h>
int main()
{
    float b = 3.12345678;
    double c = 3.12345678;
    printf("%.4f\n", b);
    printf("%.3lf\n", c);
    return 0;
}

(2) 最小数字宽度a.% 8.3f,表示这个浮点数的最小宽度为 8,保留 3 位小数,当宽度不足时在前面补空格。

#include <stdio.h>
int main()
{
    int a = 3;
    float b = 3.12345678;
    double c = 3.12345678;
    printf("%5d\n", a);
    printf("%8.4f\n", b);
    printf("%7.3lf\n", c);
    return 0;
}
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值