新的起点,从C基础开始(一)

一、Windows下开发C语言的环境
1.Code::Blocks
登录http://www.codeblocks.org/按照下图所示进行下载,今天是2016年11月16日,我下载的是16.01版本,81821KB。
安装Code::Blocks,你可以选择全部安装也可以选择基本安装,看你的硬盘空间够不够了。

安装完成后会让你选择编译器这里选择GUN的编译器
2.好了现在我们开始学习C语言了
#include <stdio.h> 	//标准输入输出头文件
#include <stdlib.h>	//标准库头文件
int main()     //主函数的入口点
{
    int a = 10;  //定义一个变量并初始化
    printf("a的值是:%d\n",a);  //%d是一个占位符,输出字符时使用 %c 输出小数时使用%f
    printf("Hello world!\n");  // 在终端中打印一句话    \n是换行
    getchar();        //等待用户输入
    return 0;	     //主函数结束,返回int类型值
}

基本数据类型

int 是整型变量
float  double是浮点型变量 ,之所以称为浮点类型是因为它的值在指定的范围内浮动
char 字符型变量

#define ONE	
#ifdef ONE
代码段
#endif 
上面的语句可以隔离代码,当定义了ONE时 代码段生效,否则不生效。

关于static和extern的用法
	当static用于函数定义时,或用于代码块之外的变量声明时,static关键字用于修改标识符的链接属性,从external(外部的)改为internal(内部的),但标识符的存储类型和作用域不受影响,用这种方式声明的函数或变量只能在声明他们的源文件中访问。
	当static用于代码块内部的变量声明时,static关键字用于修改变量的存储类型,从自动变量修改为静态变量,但变量的链接属性和作用域不受影响。用这种方式声明的变量在程序执行之前创建,并在程序的整个执行期间一直存在,而不是每次在代码块开始执行时创建,在代码块执行完毕后销毁。
	只要变量并非声明于代码块或函数定义内部,它在缺省情况下的链接属性即为external(外部的),其他文件也可以调用,如果一个变量声明于代码块内部,在它前面添加extern关键字将使它引用的是全局变量而非局部变量
	函数的局部变量在函数开始执行时创建,在函数执行完毕后销毁,但用于执行函数的机器指令在程序的声明期内一直存在,局部变量由函数内部使用,不能被其他函数通过名字引用,这些变量在需要时才分配存储空间,且在堆栈上分配存储空间可以有效的实现递归(循环调用)

关于结构体
	声明一个结构体,当不给其赋值时,它的名称就是一个地址,他的大小是4个字节,当定义了一个结构体后它的大小根据结构体内基本类型的大小而定,当有3个类型的字节分别是1,2,4的时候,它的大小是8,这是计算机中的内部补齐机制,这样方便查找数据,因为1+2<4 所以给 1,2分配了一个4字节的空间。
结构体的声明和定义方式
struct name{
	基本类型;
}; // 声明
struct name name1;//定义
或者
typedef struct name {
	基本类型;
} newname; //声明
newname name1;//定义

函数的使用

1.tolower函数 将大写字母转换成小写,在头文件ctype.h中定义

2.toupper函数 将小写字母转换成大写,在头文件ctype.h中定义


文件的操作

#include <stdio.h>
#include <string.h>
int main()
{
    FILE* file = fopen("2.txt","rb");
    if(file != NULL){
        printf("打开文件成功!\n");
    }
    else{
        printf("打开文件失败!\n");
    }
    //int ch;
    //一个字节一个字节的读取文件内容
    //while((ch = fgetc(file))!= EOF){
        //printf("%c",ch);
    //}
    //printf("\n");
    char buf[7] =  "00000000";
    size_t num = fread(buf,sizeof(char),strlen(buf),file);
    printf("buf的大小是%d\n",sizeof(buf));
    if(num){
        printf("读取到的字符串是:%s\n",buf);
    }
    else{
        printf("未读取到字符串\n");
    }
    //if(ch == EOF){
        // printf("文件已经没有内容!\n");
    //}
    //else{
        //printf("文件还有内容!\n");
    //}
    fclose(file);
    getchar();
    return 0;
}
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页