本来想直接学Object-C的 可怜我没有C语言基础啊 看了一段时间感觉有些吃力 同学让我从C语言开始 没办法只能这样了 坑爹呀 想学个IOS真不容易啊
一从最简单的开始学:
#include<math.h>
#include<stdio.h>
main()
{
double x,s;
printf("input number:\n");
scanf("%lf",&x);
s=sin(x);
printf("sine of %lf is %lf\n",x,s);
}
1.include为文件包含命令,属于C语言的预处理命令,相当于Java的import
2.扩展名为.h的文件称为头文件
3.printf和scanf这俩函数里面好多奇怪的符号半天看不明白,printf
和scanf分别称为格式输出函数和格式输入函数,按照指定的格式输入
输出值。参数表由 [“格式控制串”,参数表]组成。其中%lf为格式字符
,表示按双精度浮点数处理。它在格式串中两次现,对应了x和s两个变量
。其余字符为非格式字符则照原样输出在屏幕上。
二C源程序的结构特点
1.一个C语言源程序可以由一个或多个源文件组成。
2.每个源文件可由一个或多个函数组成。
3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,
即主函数。
4.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命
令通常应放在源文件或源程序的最前面。
5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和
花括号“}”之后不能加分号。
6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔
符,也可不再加空格来间隔。
三 C语言词汇
1.标识符:在程序中使用的变量名、函数名(除了系统定义的以外,其它
都自定义这个跟Java基本一样)、标号 等统称为标识符。,标识符只能是
字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个
字 符必须是字母或下划线。
2.关键字:关键字是由C语言规定的具有特定意义的字符串,通常也称为保
留字(和Java差不多嘛)。
3.运算符:运算符由一个或多个字符组成。
4.分隔符:在C语言中采用的分隔符有逗号和空格两种。
5.常量:C 语言中使用的常量可分为数字常量、字符常量、字符串常量、符号
常量、转义字符等多种。
6.注释符:C 语言的注释符是以“/*”开头并以“*/”结尾的串,恩这个也
和Java一样。
四 数据类型运算符
1.C语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值.
main() { char a,b; a='a'; b='b'; a=a-32; b=b-32; printf("%c,%c\n%d,%d\n",a,b,a,b); }
a,b的输出形式取决于输出语句的中的格式符,格式符为c时输出字符变量值,格式符为d时输出变量值为整数。
2.字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符"\0" (ASCII码为0)。这是字符串结束的标志。
例如:
字符串 "C program" 在内存中所占的字节为:
C program\0
字符常量'a'和字符串常量"a"虽然都只有一个字符,但在内存中的情况是不同的。
'a'在内存中占一个字节,可表示为:a
"a"在内存中占二个字节,可表示为:a\0
3.运算符的结合性:
左结合性:算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z则y应先与“-”号结合,执行x-y运算,然后再执行+z的运算
右结合性:自右至左的结合方向称为“右结合性”最典型的右结合性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z再执行x=(y=z)运算。
4.格式字符串
在Turbo C中格式字符串的一般形式为:
[标志][输出最小宽度][.精度][长度]类型
其中方括号[]中的项为可选项。
各项的意义介绍如下:
1) 类型:类型字符用以表示输出数据的类型,其格式符和意义如下表所示:
格式字符 意 义
d 以十进制形式输出带符号整数(正数不输出符号)
o 以八进制形式输出无符号整数(不输出前缀0)
x,X 以十六进制形式输出无符号整数(不输出前缀Ox)
u 以十进制形式输出无符号整数
f 以小数形式输出单、双精度实数
e,E 以指数形式输出单、双精度实数
g,G 以%f或%e中较短的输出宽度输出单、双精度实数
c 输出单个字符
s 输出字符串
2) 标志:标志字符为-、+、#、空格四种,其意义下表所示:
标 志 意 义
- 结果左对齐,右边填空格
+ 输出符号(正号或负号)
空格 输出值为正时冠以空格,为负时冠以负号
# 对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点
3) 输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
4) 精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
5.长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。