C语言 -- 初识

提示:本文仅是对个人学习经历的一个记录 

前言:

作为一个小白,关于我的学习经历,我想在此做一个记录。

本文是我关于C语言的初步认识。

PS:目前作者在学C语言的知识,如有错漏,敬请指正!


一、知识拓展 

1、什么是程序

著名瑞士计算机科学家尼克劳斯·沃思(Niklaus Wirth)提出:

程序 = 算法 + 数据结构

 数据结构:对数据的描述,包括数据的类型(整形,字符型等)和组织方式(链表,树等)。

 算法:对操作的描述,要求计算机的操作步骤,对数据产生作用。

 补充:进程就是运行中的程序。

2、程序是怎么来的

1、编程

2、编译:预处理 -- > 编译 -- > 汇编 -- > 链接

3、执行

3、什么是计算机语言 

计算机语言(Computer Language)指用于人与计算机之间通讯的语言。 计算机语言是人与计算机之间传递信息的媒介。

补充:C语言是高级语言,它倾向于面向过程的语言。

二、开发环境搭建

1、代码编辑工具

我用的是:Notepad++          下载地址:下载官网百度网盘

2、代码编译工具

gcc,解压后需要设置环境变量          下载地址:gcc

三、C语言基础框架

1、最小组成成分

#include <stdio.h>        //编译预处理指令

int main()                //程序入口主函数main
{                         //程序(函数、功能)开始标志
	
    //你要写的代码//

    return 0;             //程序退出前返回给调用者(操作系统)的值
}                         //程序(函数、功能)结束标志

四、数据的表现形式 

1、变量

定义:变量的本质就是要在内存的某个位置开辟空间,用来保存数据;

注:在程序运行过程中,变量的值可以改变!

1、变量要先定义再使用。 

2、还要注意变量的名、值、存储单元和类型

1.1、变量名/标识符

1、由字母数字下划线组成,且只能以下划线或者字母开头,不能以数字开头。

2、区分大小写

3、命名,最好使用标准化不土的命名方法要顾名思义,例如驼峰命名法

1.2、数据类型

一般在32位机和64位机中:

1、整形:用4个字节表示一个整型数据,1byte=8bit,故用32位表示一个整型数据(32bit)

2、字符型:用1个字节表示一个字符型数据,故用8位表示一个字符型数据(8bit)

3、浮点型:用4个字节表示一个浮点型数据,故用32位表示一个浮点型数据(32bit)

补充:ASCII码

2、常量

定义:常量是固定值,在程序执行期间不会改变。

注:在程序运行过程中,其值不能改变

2.1、符号常量

1、符号常量在使用之前必须先定义。

其一般形式为:#define 标识符 常量

例如: 

#define PI 3.14    //没有分号

2.2、转义字符

五、输入/输出 

1、printf/打印

1.1、printf 函数的一般格式

1.2、格式控制

1、原样输出

#include <stdio.h>

int main()
{
    printf("Hello World!");
    return 0;
}

2、%占位符/格式字符printf("a=%d",a);

#include <stdio.h>

int main()
{
    int   a_data = 3;
    float f_data = 3.2;
    char  c_data = '#';

    printf("a = %d\n",a_data );
    printf("f = %f\n",f_data);
    printf("c = %c\n",c_data );
    return 0;
}

补充:

#include <stdio.h>

int main()
{
    int A = 10;
    int B = 5;
    float C;

    C = (float)A/B;    //强制转换,把整数给小数

    printf("C = %f\n",C);
    printf("C = %3.2f\n",C);    //输出数据占3位,其中有2位小数
    printf("C = %-3.2f\n",C);   //如果数据长度不大于3的话,数据向左靠,右端补空格
    printf("C = %f\n",(float)A/B);    //输出列表可以是表达式
    printf("C = %p\n",&C);    //输出C的地址,‘&’取地址符号

    return 0;
}

1.3、小练习

1、要求:编写程序实现输出给定两数(12,7)的加减乘除的结果。

#include <stdio.h>
 
int main()
{
    int data1 = 12;
    int data2 = 7;
    int data3;
    float data4;
 
    printf("----加减乘除小游戏----\n");
    printf("现在有两个数:%d 和 %d\n",data1,data2);
    data3 = data1 + data2;
    printf("两数之和为:%d\n",data3);
    data3 = data1 - data2;
    printf("两数之差为:%d\n",data3);
    data3 = data1 * data2;
    printf("两数之积为:%d\n",data3);
    data4 = (float)data1/data2;   //强制转换
    printf("两数之商为:%3.2f\n",data4);  //浮点型 %f
 
    return 0;
}

2、运行结果

2、scanf/扫描键盘 

2.1、scanf 函数的一般格式

2.2、地址符号&

#include <stdio.h>
 
int main()
{
    int data;	//变量要先定义再使用
	
	printf("请输入一个整数:");
//	scanf("%d",data);  错误的用法,应该加上 &
	scanf("%d",&data);
	printf("输入完毕!\n");
	printf("你输入的整数是:%d\n",data);
 
    return 0;
}

 2.3、原样输入

#include <stdio.h>
 
int main()
{
    int data1;	//变量要先定义再使用
	int data2;
	int data3;
/*	
	printf("请输入3个整数:");
	scanf("%d%d%d",&data1,&data2,&data3);    //尽量分开,3个变量,就3个scanf
	printf("你输入的数是:%d、%d、%d",data1,data2,data3);
*/	
	printf("请输入3个整数:");
	scanf("D1=%d D2 =%d D3 =%d",&data1,&data2,&data3);    //scanf格式中有什么字符,输入的时候也要输入
	printf("你输入的数是:%d、%d、%d",data1,data2,data3);

    return 0;
}

 运行结果:

2.4、注意字符

#include <stdio.h>
 
int main()
{
    char data1;	//变量要先定义再使用
	char data2;
	char data3;
	
	printf("请输入3个字母:\n");
	scanf("%c%c%c",&data1,&data2,&data3);	//空格/回车也是字符
	printf("你输入的是:%c、%c、%c\n",data1,data2,data3);

    return 0;
}

  运行结果:

2.5、混合输入

#include <stdio.h>
 
int main()
{
    int data1;	//变量要先定义再使用
	char data2;
	float data3;
	
	printf("请输入整数、字符、小数:\n");
	scanf("%d%c%f",&data1,&data2,&data3);	//空格/回车也是字符
	printf("你输入的是:%d、%c、%f\n",data1,data2,data3);

    return 0;
}

   运行结果:

3、其他 

1、puts/gets  与  putchar/getchar

#include <stdio.h>

/*
	跟printf的区别
	1、自动加入换行符
	2、printf支持多种花样输出,而puts就是输出字符串
*/

int main()
{
	char c;
	
    puts("请输入一个字符:");	//输出字符串
	c = getchar();	//获取一个字符
	puts("你输入的字符是:");
	putchar(c);

    return 0;
}

六、练习 

练习1 

#include <stdio.h>

int main()
{
    char a = 'a';
	char b = 'b';
	char A = 'A';
	char B = 'B';
	char c;
	
	printf("%c,%c,%c,%c\n",a,b,A,B);	//输出字符
	printf("%d,%d,%d,%d\n\n",a,b,A,B);	//输出ASCII码
	
	puts("请输入一个大写字母:");
	scanf("%c",&c);
	printf("你输入的字母对应的小写字母是: %c\n\n",c+32);
	
	printf("测试\n");
	puts("请输入一个大写字母,会返回这个字母的小写形式:");
	getchar();                //吸收回车符,来源于15行;当分多次\
	                            连续scanf获得字符时要注意回车符
	putchar(getchar()+32);	//输出一个字符
	
    return 0;
}

  运行结果:

练习2 

#include <stdio.h>

int main()
{
    char c1 = 'C';
	char c2 = 'h';
	char c3 = 'i';
	char c4 = 'n';
	char c5 = 'a';
	
	char c1_1;
	char c2_2;
	char c3_3;
	char c4_4;
	char c5_5;
	
	c1_1 = c1 +4;
	c2_2 = c2 +4;
	c3_3 = c3 +4;
	c4_4 = c4 +4;
	c5_5 = c5 +4;
	
	printf("原来的单词是: \n%c%c%c%c%c\n\n",c1,c2,c3,c4,c5);
	
	puts("printf输出加密后的单词是:");
	printf("%c%c%c%c%c\n\n",c1_1,c2_2,c3_3,c4_4,c5_5);
	
	puts("putchar输出加密后的单词是:");
    putchar(c1_1);
	putchar(c2_2);
	putchar(c3_3);
	putchar(c4_4);
	putchar(c5_5);
	
    return 0;
}

 运行结果:


总结:

以上就是今天要讲的内容,本文仅仅简单介绍了C语言的有关知识。

对我而言,这是我的第一篇文章,如有错漏,望批评指正。让我们共同进步吧!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值