C语言
新建C语言源程序 main.c
#include <stdio.h>
int main()
{
printf("I Love Mark !");
return 0;
}
在vs2015 x86 x64兼容工具命令下运行
输入指令 pushd 路径
cl main.c(执行编译)
项目文件夹中多了
main.exe (可执行文件)
main.obj (目标文件)
再执行main.exe
编译生成 obj文件 , link深加工成可执行文件exe.
#include 预编译的过程
<stdio.h> 头文件(源文件的目录文件)
int main() 主函数 ,函数的入口点。 如果没有主函数, link时会产生错误: 必须定义入口点
printf("I Love Mark !"); printf 是c 语言库中的
没有头文件 ,编译可能正确(.c文件会默认加载vs编译,.cpp文件出现printf找不到标识符)link时 会出错
printf函数
(例子源于花心大萝卜和参考网站http://en.cppreference.com/w/c/io/fprintf)
printf("输出 \n");
printf(" %c\n", 'h');
//使用%s
printf("输出字符串 %s\n", "I love Mark!");
//使用%g %G
printf("输出浮点数%g,%G\n", 20.58901, 20.98501);
//使用%n
//添加这句
_set_printf_count_output(1);
int iCount = 0;
printf("abcd%n\n", &iCount);
printf("一共%d个字\n", iCount);
//使用%p 输出指针
int *pVal = (int*)malloc(sizeof(int));
*pVal = 5;
printf("输出一个指针值 %d, 指针是 %p 指针的指针 %p\n", *pVal, pVal, &pVal);
printf("String:\n");
const char *s = "Hello";
printf("\t.%10s.\n\t.%-10s.\n\t.%*s.\n", s, s, 10, s);
%10s 10个长度,右对齐
%-10s 10个长度,左对齐
%*s 10,s 10长度 右对齐
printf("Characters:\t%c %%\n", 65);
使用%c输出一个字符
输出% %%
printf("Integers\n");
printf("Decimal:\t%i %d %.6i %i %.0i %+i %u\n", 1, 2, 3, 0, 0, 4, -1);
10进制输出 %i 十进制,八进制,十六进制整数 0不输出
%d 十进制整数
%6i 整数部分补全6位
%+i 有符号
%u 输出正整数
printf("Hexadecimal:\t%x %x %X %#x\n", 5, 10, 10, 6);
16进制输出 %#x 输出标准格式 ox6
printf("Octal:\t%o %#o %#o\n", 10, 10, 4);
8进制输出 %#x 输出标准格式 o4
printf("Floating point\n");
printf("Rounding:\t%f %.0f %.32f\n", 1.5, 1.5, 1.3);
%f 8 位浮点数
%.0f保留整数位
%.32 32位浮点数
printf("Padding:\t%05.2f %.2f %5.2f\n", 1.5, 1.5, 1.5);
%05.2f
printf("Scientific:\t%E %e\n", 1.5, 1.5);
printf("Hexadecimal:\t%a %A\n", 1.5, 1.5);
科学计数