第2章节,简单的C语言程序实例与C语言的基本结构
#include<stdio.h>
int main(void)
{
int num;
num=1;
printf("I am a simple ");
printf("computer.\n");
printf("My favorite number is %d because it is the first.\n",num);
return 0;
}
1,#include指令和头文件
#include<stdio.h>是程序的第一行,作用是把stdio.h文件中的所有内容都输入该行所在的位置。
#include这行代码是一条C预处理指令,对源代码进行一些处理。
如果需要使用printf()函数,则必须要使用stdio.h头文件
2,main()函数
C语言一定从main()函数开始执行,且函数是C语言的基本模块。圆括号是识别函数的标志。
3,注释 /*对程序内容进行标识*/
4,花括号、函数和块
所有的C语言程序都用花括号标记函数体的开始和结束
花括号还能把多条语句合并成一个单元或块。
5,命名的规则
给变量命名要使用有意义的变量名和标识符,如果变量名无法清楚地表达自身的用途,可在注释中进一步说明。(最好这样做)
使用小写字母,大写字母,数字和下划线来命名,但名称的第一个字符必须是字符或者下划线,不能是数字。(必须这样做)
6,变量的声明
以 int num;为例子
变量的声明完成的事情:
为变量创建和标记存储空间,并为其指定初始值
存储空间的大小由声明变量的类型决定
为什么要声明变量
1,把所有变量放在一起,方便读者查找和理解程序
2,声明变量是为了让你提前想清楚,程序需要哪些输入
3,声明变量有助于发现隐藏在程序中的小错误
7,return语句
有返回值的C语言要有return语句
8,一些函数的功能
printf()函数
printf("My favorite number is %d because it is the first.\n",num);
printf(“ ”)查看双引号中的内容,并将其打印在屏幕上
这一条语句中的%d有两个作用,一是指示变量类型,二是占位置
转换说明及其打印的输出结果(P81):
转换说明 | 输出 |
%d | 有符号十进制整数 |
%f | 浮点数,十进制计数。 |
%s | 字符串 |
%p | 指针 |
scanf()函数
scanf()函数读取用户从键盘上输入的数据,并把数据传递给程序
getchar()函数
getchar() 会让程序等待敲击键盘,窗口会在用户按下一个键后才关闭
第3章节
1 数据类型关键字
关键字 | 声明对象 |
int | 基本的整数类型 |
long | 基本的整数类型的变式 |
short | 基本的整数类型的变式 |
unsigned | 基本的整数类型的变式 |
char | 用于指点字母和其他字符,也可以表示较小的整数 |
float | 带小数点的数 |
double | 带小数点的数 |
signed | 带小数点的数 |
_Bool | 布尔值(ture false) |
_Complex | 复数 |
_Imaginary | 虚数 |
2 整数与浮点数
区别:1,整数没有小数部分,浮点数有
2,浮点数表示数的范围更大
3,对于一些算术运算,浮点数损失的精度更多
3 八进制和十六进制
0x或0X前缀表示十六进制值
0前缀表示八进制
4 转义字符
转义序列 | 含义 |
\a | 警报(ANSIC) |
\b | 退格 |
\f | 换页 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符(转到下一个水平制表点,1,9,17,25) |
\v | 垂直制表符 |
\ \ | 反斜杠(\) |
\ ' | 单引号 |
\ '' | 双引号 |
\? | 问号 |
\0oo | 八进制(oo需要是有效的八进制数) |
\xhh | 十六进制(hh必须是有效的十六进制数) |
第4章节 字符串和格式化输入/输出
字符串
定义:一个或多个字符的序列
"peter is a good boy"
注:双引号不是字符串的一部分,双引号仅告知编译器它括起来的是字符串。
另外C语言没有专门用于储存字符串的变量类型,字符串都被储存在char类型的数组中。(数组是同类型数据元素的有序序列)
字符串示例
#include<stdio.h>
#define PRAISE "you are an extraodinary being"
int main(void)
{
char name[40];
printf("what's your name? ");
scanf("%s",name);
printf("Hello,%s.%s\n",name,PRAISE);
return 0;
}
sizeof 运算符和strlen()函数
sizeof 字节为单位给出对象的大小
strlen()给出字符串中的字符长度
具体例子
#include<stdio.h>
#include<string.h>//提供strlen()函数的原型
#define PRAISE "you are an extraodinary being"
int main(void)
{
char name[40];
printf("what's your name? ");
scanf("%s",name);
printf("Hello,%s.%s\n",name,PRAISE);
printf("your name of %zd letters occupieds %zd memory cells.\n",strlen(name),sizeof name);
printf("The phrase of praise has %zd letters",strlen(PRAISE));
printf(" and occupies %zd memory cells.\n",sizeof PRAISE);
return 0;
}
const 限定符
C90标准新增了const关键字,用于限定一个变量为只读。例如:
const int MONTHS =12;
这使得MONTHS成为一个只读量,即可以使用,但不能修改。
第五章 运算符、表达式和语句
基本运算符
赋值运算符
= | 将等式右边的值赋给左边的值 |
算数运算符
+ | 加号 |
- | 减号 |
-(一元运算符) | 负号 |
* | 乘号 |
/ | 除号 |
% | 取余数 |
++ | +1 |
-- | -1 |
其他运算符号
sizeof | 获得其右侧运算对象的大小(以字节为单位),运算对象可以是一个被圆括号括起来的类型说明符,如sizeof(float),或者是一个具体的变量名,数组名,如sizeof foo |
(类型名) | 强制类型转换运算符将其右侧的值转换成圆括号中指定的类型 |