黑马程序员-学习笔记-第一天-C语言(正式)-基础知识

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———


上一篇和这个一个名字差了正式俩字的算是练一下手,开始正式写C语言复习笔记了!

大一时学的C语言,4年了。作为复习笔记,为了效率,不写基础知识,只记录自己生疏了得东西。

1 工欲善其事必先利其器,第一件事先把开发环境弄好。

大学时一直在VC下编写C语言,现在换了MAC BOOK PRO,编写C语言程序有了些许的不同。

1.1 安装Xcode,在AppStore直接下载即可

 以前做过OC的东西,已经安装了;

1.2 老师视频中是在终端进行编译链接运行的,需要安装命令行工具

根据老师视频演示,在终端输入cc -c 文件名.c命令后,发现由于系统版本和Xcode版本原因并未出现“command not found”或者“no input files”的提示,而是出现了“'stdio.h' file not found”提示。经过度娘的帮助,发现Xcode5安装command line tool 只需要在终端输入“xcode-select --install”命令即可。

1.3 为了方便,将显示代码开发行数打开

在Xcode菜单中选择Preferences命令,单击Text Editing选项图标,选中Linenumbers复选框。




2 软件搞定开始复习

2.1总结clang指令

编译:cc  –c  文件名.c
链接:cc  文件名.o
编译、链接:cc  文件名.c
运行可执行文件:./a.out

完成 练习1:用2种不同的代码方式输出下面的图案
************
** itcast **
************

#include <stdio.h>

int main()
{
    
    printf("************\n");
    
    printf("** itcast **\n");
    
    printf("************\n");
    
    
    
    printf("-----------------------------\n");
    
    printf("************\n** itcast **\n************");
    
    
    
    return 0;
    
    
    
}
犯错:前一段时间一直在用OC写东西,习惯了NSString的自动换行,第一种方法中就忘记写\n了。


2.2 关键字、标识符、注释

2.2.1标识符

只能由26个英文字母的大小写、10个阿拉伯数字0~9、下划线_组成严格区分大小写不能以数字开头,不可以使用关键字作为标识符

2.2.2注释的嵌套

单行注释可以嵌套单行注释、多行注释
// 我是<span style="font-size:18px; white-space: pre;">单行注释</span> // <span style="font-family: Arial, Helvetica, sans-serif;">我是</span><span style="font-family: Arial, Helvetica, sans-serif;">单行注释</span>

// /* <span style="font-family: Arial, Helvetica, sans-serif;">我是</span><span style="font-family: Arial, Helvetica, sans-serif;">多行注释</span>*/  // <span style="font-family: Arial, Helvetica, sans-serif;">我是</span><span style="font-family: Arial, Helvetica, sans-serif;">单行注释</span>

多行注释可以嵌套单行注释
/*   
// 作者:MJ 
// 描述:第一个C语言程序
作用:这是一个主函数,C程序的入口点  
*/

多行注释不能嵌套多行注释

/* 哈哈哈
  /*嘻嘻嘻*/
   呵呵呵
 */

注释的错误使用
// /*  
哈哈哈
*/

printf("//itcast\n");语句中得单行注释是没有效果的,而printf(//"itcast\n");有效


2.3数据、常量、变量



2.3.1 注意

注意1:为了跟double区分开来,float 型数据都是以f结尾的,比如5.43f、-2.3f、0.0f。需要注意的是,绝对不能有10f这样格式的,编译器会直接报错,只有小数才允许加上f。

注意2:字符常量-单引号只能括住1个字符,而且不能是中文字符,下面的写法是错误的:'abc'、'123456'、'男'

注意3:变量没有初始化时不要拿来使用(下面的写法是不建议的)

int score;
printf("score=%d", score);
注意4:变量名不能相同

注意5:注意变量的作用域(当存在代码块时,变量存在创建和释放)

根据下面练习体会变量的作用域和代码块的使用

#include <stdio.h>

int main()
{
    int a = 20;
	int score = a + 100;
	printf("%d\n",score);
	{
		int score = 50;
		{
            score = 10;
            printf("%d\n",score);
        }
        a = 10;
    }
    {
        score = a + 250;
        printf("%d\n",score);
        int score = 30;
        printf("%d\n",score);
    }
    printf("%d\n",score);
    return 0;
    
    
}
输出结果:120、10、260、30、260

2.3.2交换变量的值

可使用下面三种方法:

#include <stdio.h>

int main()
{
    int a = 10,b = 20;
    printf("a=%d,b=%d\n",a,b);
    //使用第三方变量交换变量a,b的值
    int temp;
    temp = a;
    a = b;
    b = temp;
    printf("经过第三方变量交换后a=%d,b=%d\n",a,b);
    
    //使用第三方变量方法1
    a = b - a;
    b = b - a;
    a = b + a;
    printf("再经过方法1交换后a=%d,b=%d\n",a,b);
    
    //使用第三方变量方法2
    a = a^b;
    b = a^b;
    a = a^b;
    printf("再经过方法2交换后a=%d,b=%d",a,b);
    
    return 0;
    
}
第一种方法虽然多使用了一个变量但是更方便理解

都两种方法虽然不用声明第三方变量,但是不利于代码的可读性,仅做记忆用于面试

2.3.3 变量的存储

变量存储在内存中(内存以“字节”为单位),不同类型的变量所需的字节数不同。字节数跟类型有关,也跟编译器环境有关。
内存由大到小寻址,优先分配内存地址较大的字节给变量。 即变量定义的越早地址值越大。
每个变量都有地址:第一个字节的地址就是变量的地址
查看变量在内存中地址的方法:
int a;
printf("a的地址是:%p\n", &a);

a的地址是:0x065FDF4H(0x表示十六进制)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值