A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 仰望星空的猪 中级黑马   /  2015-11-15 14:22  /  1449 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1 C语言的程序构成方式
1)c语言程序由函数构成,每个函数可以实现一个或多个功能。
2)一个正规程序可以有多个函数,但是有且只有一个主函数。
3)函数只有在被调用的时候才执行,主函数由系统调用执行。
4)函数的格式必须按照规范书写。
5)C语言程序文件的后缀为 .c
2 一个简单的C程序。
1)在Xcdoe中创建c语言程序,打开Xcode-- 点击 create a newxcode project--点击 os X-- 右边选择 commadline tool --next--product name填项目名称,organization name填公司名称,organization identifier填公司网址的倒序。language选择C。
简单打印一句话。
//
// main.c
// 一个简单的C程序
//
// Created by ywxkdz on 15/11/14.
// Copyright (c) 2015年 itcast. All rights reserved.
//

#include <stdio.h>

int main(int argc, const char * argv[]) {

printf("Hello, World!\n");
return 0;

}
3  c语言的执行过程
源程序---编译--链接--执行
编译:将源程序编译生成 .o的目标文件(快捷方式 command +b)
链接:链接库文件,将目标文件生成.out的可执行文件。(快捷方式 command +r)
4  c语言的标识符
标识符分关键字,预定义标识符和用户标识符。
1)标识符命名原则
a,只能有字母,数字,下划线和美元($)组成。
b,不能以数字开头。
c,不能与关键字重名。
d,严格区分大小写。
2)标识符命名规范
a,驼峰命名法。(第一个单词首字母小写,其他单词首字母大写)。getName。
  b,名称简练,望文知意
  c,避免出现数字编号。name1,name2.
d,多个文件共同使用的全局变量或者函数名称加范围限定符。UI_name
  
  3) 关键字就是C本身使用的,不能作他用的字。总共有32个。
数据类型关键字:voidint  char float double (5)
类型修饰符关键字:shortlong signed unsigned(4)
复杂类型关键字:struct enum    union(3)
流程控制关键字:forbreak continue do while   if else  goto  suitch case default return(12)
存储类型关键字:autoextern  static  regist ( 4)
其他关键字:constsizeof  typedel    volatile(4)
5  注释
对代码的解释性文字。
作用:方便程序员之间交流。
特点:不参与编译。
注释分类
1)单行分类(//注释内容)。只注释单行
2)多行分类(/* 注释内容*/)。注释多行,注释文字间可以换行。快捷键(command + ?)
6  数据类型
常用基本数据类型占用空间(64位机器为例)
char :  1个字节
int    :4个字节
float:4个字节
double:8个字节
基本类型书写
整数
a,默认为10进制 ,10 ,20 .
b,以0开头为8进制,045,021.
c.,以0b开头为2进制,0b11101101。
d,以0x开头为16进制,0x21458adf。
小数
单精度常量:2.3f。
双精度常量:2.3.默认为双精度。
字符型常量
用英文单引号括起来,只保存一个字符‘a’,‘b’ ,‘*’ 还有转义字符 ‘\n’ 。‘\t’
字符串常量
用英文的双引号引起来 可以保存多个字符。“abc”
7   变量的概念
变量代表某个内存空间,取值可以改变。是数据的基本单元,由类别和变量名构成。
1)变量的定义格式:  变量类型   变量名,变量名......; 可以一次定义多个变量,中间用逗号隔开。
int a ,b,c;
注意:变量名命名规范遵守标识符命名规范。
2)变量的初始化
a ,定义变量同时初始化
完全初始化 。变量类型  变量名=值, int a=10,b=20;
·部分初始化。 int  a =10,b; a初始化 ,b未初始化。
b , 先定义变量后初始化。
int  a,b,c;
a=10;
b=20;
c=30;
c ,使用变量对变量初始化。
int a=10;
int b=a;
d,变量连续赋值
int a=b=10;
注意:变量定义的时候一定要进行初始化,未初始化的变量使用时可能会产生随机数。
3)变量的作用域
变量分全局变量和局部变量。
局部变量:在函数内或者代码块内定义的变量,作用域是从变量定义位置到代码块结束。代码块结束时,变量销毁
全局变量:在函数外定义的变量,作用域是从定义位置到程序最后,只有在整个程序运行结束时,变量才销毁。
注意:代码块内部定义的变量屏蔽代码块外部的变量。
8  printf函数使用。
使用时需要引入标准输入输出头文件   # includ   <stdio.h>   没有分号  
1)格式   printf(“格式占位符”,变量列表);  格式占位符的数量要和变量列表的数量一致。
2)常用占位符
%d  输出10进制整数
      %md   输出m位,不足左补空格,其他正常输出。
%0md 输出m位,不足补 0 ,其他正常输出。
%c  输出字符串
%f   输出实数  
默认为6位小数,有效数位为7 ,不足末尾补0。
%.2f  输出两位小数的实数,四舍五入。
%m.nf 输出m位其中小数n位。四舍五入,小数不足补0 ,整数不足(m-n)位左补空格。
%m.nf 输出m位其中小数n位。四舍五入,小数不足补0 ,整数不足(m-n)位右补空格。
%s  输出字符串。
%o  输出8进制数
%x  输出16进制数
%p  输出变量内存地址
       转义字符  
\t  输出制表符
       \n 输出换行
\\ 输出 \
       %%输出 %
9 变量为什么区分类型
1) 合理使用内存
  2) 数据的存储格式不同
  3) 数据的运算方式不同
10 scanf函数(阻塞式函数)
阻塞式函数执行时会等待用户输入之后才能进行。
作用:接收键盘输入的内容
格式: scanf(“格式控制符”,变量地址列表);   & 取变量的地址。
使用注意事项
1)接收单个变量时在输入值之前,输入的空格,回车和制表符都会被忽略。
2)默认多个值之间用空格分隔。中间的空格回车制表符都会被忽略。
3)如果格式控制符设置为,分隔,在输入的时候需要使用,。
4) %*c 跳过一个字符 %d 跳过一个整数。
5)在使用scanf 不能使用 \n。
11 scanf运行原理
1)当用户输入内容后,这些内容会被存到scanf的输入缓冲区中,然后会根据格式控制符要求从缓冲区中依次取值
如果缓冲区的值与要求的格式一直,会把值赋值给变量,如果格式不一致则无法赋值。
例:scanf(“%d%c%d”,&a,&b,&c);
控制台输入  10 a 20 回车
此时缓冲区中存储了 10 a 20   包含空格。
取值时先取%d格式的10赋值给变量a
之后向下取%c格式的值,此时缓存区会把空格赋值给变量 b
之后取%d格式的值,此时缓冲区会取a字符 此时格式不对,不赋值
赋值之后a=10,b=‘a' c未赋值。
建议输入混合型数值的时候加逗号进行分隔
2)如果缓冲区中有内容,不会提示我们输入值。输入时回车也会接收。
scanf(“%c”,ch);可以接收回车。


15 个回复

倒序浏览
如果是初学,学的时候觉得很难,可是努力学完,现在学到OC,回头看C,感觉so easy .一起加油吧,兄弟
回复 使用道具 举报
lixiang73033 发表于 2015-11-15 17:51
如果是初学,学的时候觉得很难,可是努力学完,现在学到OC,回头看C,感觉so easy .一起加油吧,兄弟 ...

嗯 加油
回复 使用道具 举报
不错 第一天就学那么多了
回复 使用道具 举报
一起努力
回复 使用道具 举报
arhui 发表于 2015-11-15 20:01
不错 第一天就学那么多了

之前接触过点,这块还行。
回复 使用道具 举报

加油 希望在一班 哈哈
回复 使用道具 举报
加油,祝早日学成入学!
回复 使用道具 举报
祝愿早日学成
回复 使用道具 举报
paulchoi1 来自手机 中级黑马 2015-11-16 07:42:54
10#
加油,相信自己,

点评

嗯嗯 谢谢  发表于 2015-11-16 08:34
回复 使用道具 举报
加油,坚持学习
回复 使用道具 举报
nice,加油
回复 使用道具 举报
写笔记真的是个好习惯。。。。加油
回复 使用道具 举报
huihui1030 发表于 2015-11-18 23:49
写笔记真的是个好习惯。。。。加油

不知道为啥 还是喜欢记纸质的?
回复 使用道具 举报
很有帮助!谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马