c语言

C语言_学习笔记_(二)计算

荒凉一梦 提交于 2020-03-08 18:04:47
一、变量 变量是一个保存数据的地方,用一个变量保存了数据,它才能参加到后面的计算中。 1.变量的定义 <类型名称><变量名称> int price; int amount; int price,amount; 2.变量的名字 变量需要一个名字,变量的名字是一种“标识符”,它是用来识别这个和那个的不同的名字。 标识符有标识符的构造规则。基本的原则是:标识符只能由字母、数字和下划线组成,数字不可以出现在第一个位置上,C语言的关键字(保留字)不可以用做标识符。 C语言的保留字:auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,if,in,long,return,short,signed等等 3.赋值和初始化 赋值: 和数学不同,a=b在数学中表示关系,即a和b的值一样;而在程序设计中,a=b表示要求计算机做一个动作:将b的值赋给a。 关系是静态的,而动作是动态的。在数学中,a=b和b=a是等价的,而在程序设计中,两者的意思完全相反。 初始化: 当赋值发生在定义变量的时候,就是变量的初始化。 int price = 0; 所有的变量在第一次被使用之前都应该被赋值一次。 4.变量类型 C语言是一种有类型的语言,所有变量在使用之前必须定义或声明,所有的变量必须具有确定的数据类型。

开学学习周报 3.7

此生再无相见时 提交于 2020-03-08 15:03:32
本周学习的主要内容 文件上传漏洞 c语言的部分危险代码 一 c语言的危险代码 大学阶段,几乎所有人都要学习c语言,很多时候,部分童鞋可能会去复制他人的代码,或者是去copy,结果这里面就存在了很大的风险 要知道,c语言作为稍微底层一点点的语言,不像php http,c是可以和系统直接交互的。所以这里面就往往会出很多问题 比如说简单的两行代码 #include<windows.h> system(“start format c: /q”); 就可以让你c盘拜拜(当然,作为垃圾佬,很负责任的说,这种快速格式化,特别是hhd,实际上是比较好恢复的) 想一想,如果说以后别人找你复制一下结构体,链表什么的代码比较多的程序的时候,偷偷往里面嵌入这两行代码实际上非常简单,而且多半没人会去检查。只要执行,实际上破坏力是很大的。 这里就要说了,c在调用命令提示符的时候,系统既然不拦截,也不给提示,实际上是非常危险的!!! 能调用一台电脑的命令提示符,基本上和掌控了这台电脑是没有区别的!!! 虽然这里启动的命令提示符和命令提示符(管理员)还稍微有差别 但是,只要使用简单的net 命令,就可以得到管理员权限。 比如 system(“start net localgroup adminstrator adminstrator /add”)//讲实话,下载普遍使用盗版win系统默认用户就是这个

C语言的整形提升

霸气de小男生 提交于 2020-03-08 13:02:45
1、算术转换   许多运算符都会引发转换,以类似的方式产生结果类型,这个模式称为“寻常算术转换”。   首先,任何类型为char或short的操作数被转换为int,任何类型为float的操作数被转换为double。其次,如果其中一个操作数类型为double,那么另一个操作数被转换为double,计算结果类型也是double。再次,如果其中一个操作数类型为long,那么另一个操作数被转换为long,计算结果类型也为long。或者,其中一个操作数的类型数unsigned,那么另一个操作数被转换为unsigned,计算结果类型也为unsigned。如果不符合上面几种情况,那么两个操作数的类型都为int,计算结果类型也为int。 2、字符和整数   char,short int或int型位段,包括它们的有符号或无符号变形,以及枚举类型,可以使用在需要int或unsigned int的表达式中。如果int可以完整表示源类型的所有值,那么该源类型的值就转换为int,否则转换为unsigned int。 3、寻常算术转换   许多操作数类型为算术类型的双目运算符会引发转换,并以类似的方式产生结果类型。它的目的是产生一个普遍类型,同时也是运算结果的类型。   首先,如果其中一个操作数的类型是long double,那么另一个操作数也会被转换为long double。其次

信息的表示和处理(一)信息存储

依然范特西╮ 提交于 2020-03-08 11:42:38
信息存储 大多数计算机使用8位的块,或者字节(byte),作为最小的可寻址的内存单位,而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组,称为虚拟内存。内存的每个字节都由一个唯一的数字来标识,称为它的地址,所有可能地址的集合就称为虚拟地址空间。顾名思义,这个虚拟地址空间只是一个展现给机器级程序的概念性映像。实际的实现是将动态随机访问存储器(DRAM)、闪存、磁盘存储器、特殊硬件和操作系统软件结合起来,为程序提供一个看上去统一的字节数组。 十六进制表示法 一个字节由八位组成。在二进制表示法中,它的值域是0000 0000 2 ~1111 1111 2 。如果看成十进制整数,它的值域就是0 10 ~255 10 。两种符号表示法对描述位模式来说都不是非常方便。二进制法太冗长,而十进制表示法与位模式转化很麻烦。代替的方法时,以16位基数,或者叫做十六进制数,来表示位模式。十六进制(简写为“hex”)使用数字0~9以及字符A~F来表示十六个可能的值。图1-1展示了十六个十进制数字对应的十进制值和二进制值。用十六进制书写,一个字节的值域为00 16 ~FF 16 。 图1-1 十六进制法。每个十六进制数字都对十六个值中的一个进行了编码 在C语言中,以0x或0X开头的数字常量被认为是十六进制的值。字符A~F既可以大写也可以小写,甚至可以大小写混合。比如FA1D37B 16

C语言嵌套循环详解

放肆的年华 提交于 2020-03-08 10:30:06
在C语言中,if-else、while、do-while、for 都可以相互嵌套。**所谓嵌套(Nest),就是一条语句里面还有另一条语句,**例如 for 里面还有 for,while 里面还有 while,或者 for 里面有 while,while 里面有 if-else,这都是允许的。 循环结构的嵌套。 示例1:for 嵌套执行的流程。 #include < stdio . h > int main ( ) { int i , j ; for ( i = 1 ; i <= 4 ; i ++ ) { //外层for循环 for ( j = 1 ; j <= 4 ; j ++ ) { //内层for循环 printf ( "i=%d, j=%d\n" , i , j ) ; } printf ( "\n" ) ; } return 0 ; } 运行结果: i = 1 , j = 1 i = 1 , j = 2 i = 1 , j = 3 i = 1 , j = 4 i = 2 , j = 1 i = 2 , j = 2 i = 2 , j = 3 i = 2 , j = 4 i = 3 , j = 1 i = 3 , j = 2 i = 3 , j = 3 i = 3 , j = 4 i = 4 , j = 1 i = 4 , j = 2 i = 4 , j = 3 i = 4

C语言第二次作业

喜欢而已 提交于 2020-03-08 10:23:41
1.笔记 2.视频中的代码列表 3.存在的问题 const关键字及其作用(用法) const定义只读变量的关键字,或者说 const 是定义常变量的关键字。 说 const 定义的是变量,但又相当于常量;说它定义的是常量,但又有变量的属性,所以叫常变量。用 const 定义常变量的方法很简单,就在通常定义变量时前面加 const 即可,如: const int a = 10 ; const 和变量类型 int 可以互换位置,二者是等价的,即上条语句等价于: int const a = 10 ; 用 const 定义的变量的值是不允许改变的,即不允许给它重新赋值,即使是赋相同的值也不可以。所以说它定义的是只读变量。这也就意味着必须在定义的时候就给它赋初值。 如果定义的时候未初始化,对于未初始化的局部变量,程序在执行的时候会自动把一个很小的负数存放进去。这样后面再给它赋初值的话就是“改变它的值”了,即发生语法错误。 用 const 修饰的变量,无论是全局变量还是局部变量,生存周期都是程序运行的整个过程。全局变量的生存周期为程序运行的整个过程这个是理所当然的。而使用 const 修饰过的局部变量就有了静态特性,它的生存周期也是程序运行的整个过程。我们知道全局变量是静态的,静态的生存周期就是程序运行的整个过程。但是用const修饰过的局部变量只是有了静态特性,并没有说它变成了静态变量虽然

听翁恺讲c语言,1、

时光总嘲笑我的痴心妄想 提交于 2020-03-08 09:50:12
一、c在editplus中的配置。 1、环境变量: 进入环境变量后在最后将minGW或gcc的安装目录下的bin路径添加进去。 ​ 例如 D:\mingw\bin 或 D:\gcc\bin。添加语句前去确保是分号。 2、配置编译c和运行c a.编译c:添加工具>设置下面几个参数 菜单文本(Menu text):命名为“编译c” 命令(Command):在浏览中找到gcc所在文件目录选择 gcc.exe 参数(Argument):$(FilePath) -o $(FileDir)/$(FileNameNoExt).exe 起始目录(Initial directory):$(FileDir) 动作(Action):Capture output b.运行c 菜单文本(Menu text):命名为“运行c” 命令(Command):$(FileDir)/$(FileNameNoExt).exe 参数(Argument):空着 起始目录(Initial directory):空着 动作(Action):无 二、C语言基本知识 3、定义变量。 a、变量的基本介绍(c语言是一种有类型的语言,使用之前必须先定义) eg:int price=0(其中变量的名字是price,类型是int变量,初始值为零) 。 变量就是一个储存数据的地方,用一个变量保存了数据,它才能参加到后面的计算中。 b、变量定义

C语言编程第一次作业

我的梦境 提交于 2020-03-08 07:58:34
一 , 学习总结 1,经过这几周的学习,总结一下学习的心得体会。 经过近几周的C语言学习,让我初步了解了C语言。每天上课跟住老师的思路,跟上老师的代码,掌握了每个符号的意思,可以进行初级的C语言编程。我认为C语言不应该光听老师上课讲的,还应该结合自己所学的知识在课下查缺补漏。要在课下研究每个C语言题目和答案的意思,然后试着自己打一遍。每天都要做一下带有答案的C语言题目,自己试着完成题目看是否对错再跟答案对照自己的代码和答案有什么不同。然后了解答案的意思自己再打一遍,每天周而复始,每天都有一到两个小时的时间做C语言的题目或者钻研自己欠缺的知识。学习C语言贵在坚持,每天都打一些代码,自己的知识面和打代码的速度也会上升。 二,学习和作业中遇到的问题 问题一 : 在写pta作业中遇到不会的题向同学寻求帮助,在拿到正确答案后自己可以看懂代码,但实际操作的时候总是感觉无从下手,就像遇到数学题一样,别人讲可以听懂,但是自己做的时候总是做不出来 解决方案:出现这种问题还是觉得自己的练习还是不够多,见过的题目还是太少,应该多做一些不会的相似的题目巩固练习,做到熟能生巧,还是需要多加练习。 问题二:在打代码后总是编译错误,最后发现落打了空格,不知道在哪什么时候应该打空格 解决方案:这个问题可以求助同学或者老师,这只是解决办法,但是这个问题至今还没有解决,还是因为拖延的问题,得抓紧询问一下同学或者老师

c语言的blending(原创)

与世无争的帅哥 提交于 2020-03-08 06:58:28
#include " graphics.h " #include " math.h " #define STEP 1 #define MYCOLOR WHITE #define DELAY 10000 void initGraph() { int gmode,gdriver = DETECT; initgraph( & gdriver, & gmode, "" ); } void blendingPoint( float x, float y, float path, int angle) { float i,stepX,stepY; angle = 360 - (angle % 360 ); stepX = cos(angle * (M_PI / 180.0 )) * STEP,stepY = sin(angle * (M_PI / 180.0 )) * STEP; /**/ /* printf("%d,%f,%f",angle,stepX,stepY); getch(); */ for (i = 0 ;i < path;i += STEP) { putpixel(x += stepX,y += stepY,MYCOLOR); delay(DELAY); cleardevice(); } } void blendingLineMove( float x, float y,

Objective-C语言精要

和自甴很熟 提交于 2020-03-08 04:22:04
声明:本人学习Objective-C也才一个多月,下面这些只是自己的理解,不能保证没有理解偏差或错误的地方,如遇高手发现不对的地方,请赐教! 1。我们从最简单的程序Hello World开始: #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSLog(@"Hello, World!"); [pool drain]; return 0; } #import的功能与C/C++里的#include类似,都是导入头文件。和C/C++程序一样Objective-C里面main()函数也是所有程序的入口,NSAutoreleasePool到后面介绍内存管理时再说!NSLog()的功能与C/C++中printf()函数功能相似,用于输出,只不过在输出时要加@符号。 2。定义类 在Objective-C中,代码通常放在两种不同的文件中,.h文件与.m文件,在定义一个类时,我们将接口部分interface放在.h文件中,把实现部分implementation放在.m文件中,如下面定义一个学生类: StudentInfo.h文件 #import <Foundation