提示:本文仅是对个人学习经历的一个记录
前言:
作为一个小白,关于我的学习经历,我想在此做一个记录。
本文是我关于C语言的初步认识。
PS:目前作者在学C语言的知识,如有错漏,敬请指正!
一、知识拓展
1、什么是程序
著名瑞士计算机科学家尼克劳斯·沃思(Niklaus Wirth)提出:
程序 = 算法 + 数据结构
数据结构:对数据的描述,包括数据的类型(整形,字符型等)和组织方式(链表,树等)。
算法:对操作的描述,要求计算机的操作步骤,对数据产生作用。
补充:进程就是运行中的程序。
2、程序是怎么来的
1、编程
2、编译:预处理 -- > 编译 -- > 汇编 -- > 链接
3、执行
3、什么是计算机语言
计算机语言(Computer Language)指用于人与计算机之间通讯的语言。 计算机语言是人与计算机之间传递信息的媒介。
补充:C语言是高级语言,它倾向于面向过程的语言。
二、开发环境搭建
1、代码编辑工具
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语言的有关知识。
对我而言,这是我的第一篇文章,如有错漏,望批评指正。让我们共同进步吧!!