博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言第一天( 基础 )
阅读量:6517 次
发布时间:2019-06-24

本文共 2783 字,大约阅读时间需要 9 分钟。

  hot3.png

 第一个C程序

#include 
int main() { printf("Hello world!"); return 0;}// Hello world!

关于main函数

// main函数是程序入口函数int main(int argc, char **argv) {    printf("Hello world!");    return 0;}return 0 的意义  程序运行的结果unix bash : echo $?  csh : echo $statuswindows : if errorlevel 0 int argc 表示main函数的参数个数,包括运行的二进制名char **argv 字符数组 printf("%s", argv[0]); 0为运行的二进制名

变量/常量声明

// int 变量类型  i 变量名称  0 变量的值(如果没有初始值i将是一直随机的值)int i = 0;// 常量用const修饰符(不变的量,不经常改变的量)const int NUM = 100;NUM = 2; // 不能给常量重新赋值// 浮点数float foot = 1.2; // 浮点数的声明double inch = 1.234; // 双精度浮点数的声明scanf("%f", &foot); // 浮点数输入scanf("%lf", &inch); // 双精度浮点数输入printf("%f", inch); // 输出浮点数// 全局变量:在函数外定义的变量为全局变量,在所以函数中都有效// 本地变量:函数内部定义的变量为本地变量,只有在函数内部有效// 静态变量:使用static修饰符定义,离开函数后变量的值会被保留,再进入变量后上次离开后的值可以直接被使用int abc = 10; // 全局变量int main(int argc, char **argv) {	f();	f();	f();		return 0;}void f(void){	static int a = 1; // 静态本地变量,其实是一个全部变量,但作用域只在本地	printf("%d\n", a);	a++;}

变量的输出

int price = 0;scanf("%d", &price); // 输入printf("%d", price); // 输出

数据类型

整数:char、short、int、long、long long浮点数:float、double、long double逻辑:bool指针类型自定义类型

获取数据类型的大小

// 单位为字节// gcc test.c -o test -m32 编译时用32位sizeof(int)    4sizeof(char)   1sizeof(short)  2sizeof(long)   8 // 32位长度为4sizeof(long long)  8sizeof(float)  4sizeof(double) 8sizeof(log double)  16

格式化输入和输出

// %[flags][width][.prec][h|L]type/* flags     - : 左对齐    + : 在前面放+或_    空格 : 正数留空    0 : 0填充width 或 prec    number : 最小字符数长度    * : 下一个参数是字符数    .number : 小数点后的位数    .* : 下一个参数是小数点后的位数h|L 修饰符,用来修饰类型    hh: 单个字符    h : short    l : long    ll: long long    L : long double*/%d : int%i : 自动将16进制 8进制转为10进制%u : unsigned int%o : 八进制%x : 十六进制%X : 字符大写的十六进制%f : float  // printf("%.3f", 0.323232); 保留小数点后3位%g : float%G : float%a 或 %A : 十六进制浮点%e || %E : 科学计数法%c : char%s : 字符串%p : 指针%n : 读入/写出的个数

自动类型转换

// 当运算符两边出现不一致的类型时,会自动转换成范围较大的类型// 数据类型从小到大char -> short -> int -> long -> long long int -> float -> double使用printf函数时整数类型用%d,浮点型用%f 就可以使用scanf函数要明确类型,比如输入short,需要用%hd,而不能直接用int

强制类型转换

// 要把一个量强制转换成一个类型(通常被转换成范围较小的类型)// (类型)值(int)10.2;

bool类型

// 需要引入stdbool.h头文件#include 
#include
int main() { bool b = true; // 1 bool c = false; // 0 bool a = 6 > 5; // 1 return 0;}

函数定义/调用

#include 
int sum(int begin, int end); // 函数的声明int main() { int c; c = sum(1, 10); printf("c=%d", c); return 0;}// int是返回数据的类型 sum函数名int sum(int begin, int end) { int i; int sum = 0; for(i = begin; i <= end; i++){ sum += i; } return sum;}

数组的定义/使用

/* 数组的定义 */// 数据类型 数组名[常量/变量],常量是数组的大小,c99中可以使用变量定义大小int number[100];// 数组中的元素全部赋值为0int number[100] = {0};// 不指定长度的数组int number[] = {1, 2, 3, 4, 5};// 数组元素的赋值,除了下标1的值为2,其他值都是0int number[] = {[1] = 2};/* 数组的使用 */// 使用下标来使用数组printf("%d", number[0]);

 

转载于:https://my.oschina.net/xiaoerit/blog/2991854

你可能感兴趣的文章
JAVA Collections框架
查看>>
进制转换
查看>>
ASCII码
查看>>
java常用四种排序源代码
查看>>
win7 下硬盘安装Redhat7
查看>>
Redis 分布式锁的正确实现方式
查看>>
程序猿知道英语词汇
查看>>
数据存储(两)--SAX发动机XML记忆(附Demo)
查看>>
谈谈SQL 语句的优化技术
查看>>
深入分析面向对象中的封装作用
查看>>
深刻理解Python中的元类(metaclass)
查看>>
Android View体系(六)从源码解析Activity的构成
查看>>
fnmatch源码阅读
查看>>
U9249 【模板】BSGS
查看>>
单片机小白学步系列(九) 用万用焊板搭建实验电路
查看>>
Node.js+Koa开发微信公众号个人笔记(一)准备工作
查看>>
Android 图片缓存处理
查看>>
阿里盒马领域驱动设计实践
查看>>
vuex 存值 及 取值 的操作
查看>>
如何在C#项目中使用NHibernate
查看>>