C语言学习笔记(一)

本来想直接学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表示按长整型量输出。

你可能感兴趣的:(C语言学习笔记(一))