1.最简单的C程序
#include<stdio.h> //预编译处理指令 int main() // 定义主函数 { printf("hello world"); }
首先明白一点:函数的使用都要进行定义和声明的!
.h是头文件,头文件是包含函数声明和定义的文件;你平时写C语言时,用到的printf() 和scanf()都是系统定义好的,而这些函数的定义就包含在stdio.h这个文件中!
#include是编译预处理指令,就是在编译前将stdio.h这个文件里的函数都添加到你写的cpp文件中,然后参与编译,生成.obj文件。
如果没有这个指令,你用到的printf()和scanf()编辑器就会报错:
error C2065: ‘printf‘ : undeclared identifier
也可以自定义预编译文件
#include是一个包含程序的命令
先跟你说.h文件
.h文件就是头文件,其实它是为了方便用的,我们常用的stdio.h是包含关于C程序的输入输出的各种信息,当编译时就将头文件包含进去,比如:
我做一个头文件
#include <stdio.h>
#define PR printf /*程序中的PR将在编译时自动转化为printf*/
#define SC scanf /*程序中的SC将在编译时自动转化为scanf*/
然后我把它另存为
c:\ps.h
那么以后我写程序的时候只要在开始包含
#include "c:\ps.h"
就可以免掉#include <stdio.h>
因为我已经在另一个文件中包含它了
而且在程序中我要输出 ABC
就可以用PR代表printf
如:
PR("abc");
用样,SC也代表scanf.
包含的文件如果是用<>那么它在用户文件夹中寻找这个头文件.
如果要直接给出路径就用""
stdio.h是C编译系统提供的一个文件名,stdio是“standard input & output”的缩写,即有关标准输入输出的信息。在程序中用到系统提供的标准函数库中的输入输出函数时,应在程序的开头写上#include<stdio.h>.若用不到系统提供的标准函数库中的输入输出函数,声部声明也无所谓
2.求两个整数之和
#include<stdio.h> //预编译处理指令 int main() // 定义主函数 { int a,b,sum; a = 22; b = 33; sum = a + b; printf("sum is %d\n十六进制是%x",sum,sum); //单行注释 /* 多行注释 多行注释 多行注释 多行注释 */ }
格式化输出是指通过printf(),sprintf(),snprintf(),fprintf()等函数向指定的地方(比如屏幕)输出指定格式的内容
例如
%d 输出十进制数
%s 输出字符串
%c 输出字符
%x 输出十六进制数
3..求两个整数的较大值
#include<stdio.h> //预编译处理指令 int main() // 定义主函数 { int max(int x,int y); //对调用的max函数进行声明 int a,b,c; scanf("%d,%d",&a,&b); //输入 c = max(a,b); printf("max is %d",c); return 0; /* 多行注释 多行注释 多行注释 多行注释 */ } int max(int x,int y) //自定义一个max函数 { int z; if(x>y)z=x; else z=y; return(z); }
在C语言中,&有三种作用,分别如下:
1. 取地址。单目运算符。用来取一个变量的地址。
比如
1
2
|
int i, *p; p = &i; //这里的&作用是取变量i的地址。 |
2. 位操作中的与操作运算符。
也就是常说的and操作,双目运算符。
计算的时候按位计算,&两边操作数对应位上全为1时,结果的该位值为1。否则该位值为0
比如
0x12&0x23 转为二进制为:
B00010010&B00100011,
按位计算结果为B00000010,
即结果为0x02。
3. 当两个&&一起用的时候,表示为逻辑运算中的与运算。
逻辑运算结果只有0和1两种结果。
一般在&&两边是两个逻辑表达式。
当两个表达式值均为1时,&&运算结果为1,否则为0。
比如
2>1 && 0<1 这个的值为1&&1 = 1。
1>2 && 2>0 这个值为0&&1 = 0。
1>2 && 2>3 这个值为0&&0=0。