代表包含stdio.h这个头文件使用C语言库函数需要提前_在c语言system是关键字吗">
赞
踩
//导入标准输入输出库
#include<stdio.h>//包含头文件 std标准库 io input output 输入输出库
int main(void){
printf("HelloWorld");
return 0;
}
C语言的源代码文件是一个普通的文本文件,但扩展名必须是.c
#include
的意思是头文件包含,#include <stdio.h>
代表包含stdio.h
这个头文件
使用C语言库函数需要提前包含库函数对应的头文件,如这里使用了printf()函数,需要包含stdio.h头文件
可以通过man 3 printf查看printf所需的头文件
#include< > 与 #include ""的区别:
①、< >
表示系统直接按系统指定的目录检索,系统库
②、" "
表示系统先在 " "
指定的路径(没写路径代表当前路径)查找头文件,如果找不到,再按系统指定的目录检索,自定义头文件
";"分号
结尾,分号代表一条语句的结束,多个分号代表多个空语句//叫行注释
,注释的内容编译器是忽略的,注释主要的作用是在代码中加一些说明和解释,这样有利于代码的阅读/**/叫块注释
\n的意思是回车换行
#include <stdlib.h>
int system(const char *command);
功能:在已经运行的程序中执行另外一个外部程序
参数:外部可执行程序名字
返回值:
成功:不同系统返回值不一样
失败:通常是 - 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
//system("calc"); //windows平台
system("ls"); //Linux平台, 需要头文件#include <stdlib.h>
return 0;
}
在Windows系统中运行后,会调出计算器程序
C语言所有的库函数调用,只能保证语法是一致的,但不能保证执行结果是一致的,同样的库函数在不同的操作系统下执行结果可能是一样的,也可能是不一样的。
C代码编译成可执行程序经过4步:
声明变量不需要建立存储空间,如:extern int a;
定义变量需要建立存储空间,如:int b =10;
#include <stdio.h>
int main()
{
//extern 关键字只做声明,不能做任何定义
//声明一个变量a,a在这里没有建立存储空间
extern int a;
a = 10; //err, 没有空间,就不可以赋值
int b = 10; //定义一个变量b,b的类型为int,b赋值为10
return 0;
}
一般的情况下,把建立存储空间的声明称之为“定义”,而把不需要建立存储空间的声明称之为“声明”。
const 数据类型 常量名
#define 常量名 值
#include <stdio.h>
#define PI 3.14159265
int main(void)
{
//定义常量
int a=10;
printf("%d\n",a);
//定义常量
const int b = 100;
printf("%d\n",b);
double c = PI*3;
printf("%f\n",c); //9.424778
return 0;
}
数据类型 | 占用空间 | 取值范围 |
---|---|---|
short(短整型) | 2字节 | (-2^15 ~ 2^15-1) |
int(整型) | 4字节 | (-2^31 ~ 2^31-1) |
long(长整形) | Windows为4字节,Linux为4字节(32位),8字节(64位) | (-2^31 ~ 2^31-1) |
long long(长长整形) | 8字节 | (-2^63 ~ 2^63-1) |
打印格式 | 含义 |
---|---|
%d | 输出一个有符号的10进制int类型 |
%o | 输出8进制的int类型 |
%x | 输出16进制的int类型,字母以小写输出 |
%X | 输出16进制int类型,字母以大写输出 |
%u | 输出一个10进制的无符号数 |
// 以下是合法的二进制
int a = 0b101; // 换算成十进制为 5
int b = -0b110010; // 换算成十进制为 -50
int c = 0B100001; // 换算成十进制为 33
十进制 | 以正常数字1-9开头,如123 |
---|---|
八进制 | 以数字0开头,如0123 |
十六进制 | 以0x开头,如0x123 |
二进制 | 以0b或0B(不区分大小写)开头 |
#include <stdio.h>
int main()
{
int a = 123; //十进制方式赋值
int b = 0123; //八进制方式赋值, 以数字0开头
int c = 0xABC; //十六进制方式赋值
//如果在printf中输出一个十进制数那么用%d,八进制用%o,十六进制是%x
printf("十进制:%d\n",a );//十进制:123
printf("八进制:%o\n", b);//八进制:123
printf("十六进制:%x\n", c);//十六进制:abc
return 0;
}
打印格式 | 对应数据类型 | 含义 |
---|---|---|
%d | int | 接受整数值并将它表示为有符号的十进制整数 |
%hd | short int | 短整数 |
%hu | unsigned short | 无符号短整数 |
%o | unsigned int | 无符号8进制整数 |
%u | unsigned int | 无符号10进制整数 |
%x,%X | unsigned int | 无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF |
%f | float | 单精度浮点数 |
%lf | double | 双精度浮点数 |
%e,%E | double | 科学计数法表示的数,此处"e"的大小写代表在输出时用的"e"的大小写 |
%c | char | 字符型。可以把输入的数字按照ASCII码相应转换为对应的字符 |
%s | char * | 字符串。输出字符串中的字符直至字符串中的空字符(字符串以’\0‘结尾,这个’\0’即空字符) |
%p | void * | 以16进制形式输出指针 |
%% | % | 输出一个百分号 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。