基础C语言的基础(19.12.1更新)

对c语言中基本数据类型及表达式的理解

  • 主函数

int main(){
//此处省略一系列代码
return 0;
}
  1. main()函数即主函数
    【小括号括起来的是参数】【大括号括起来的是代码块→去完成特定功能】
  • 所有的程序的入口点都是main函数
  • int main(int argc,char * argv[]) 此为标准模板,即规定参数,main是系统给的
    ps int argc:参数个数 (全称 argument count)
         char * argv[]:每个参数组成的字符串组成的数轴(其中无 * 放的是字符如j,有 * 放的是字符串如jeck)
  1. 主函数结束一般都有写return 0,
    此即int返回值 记录当前程序的运行状态——
    0:正常结束→资源自有分配 非零:1 异常结束→没收
  • printf与scanf以及系列变量

int main(int argc,char*argv[])
{
    printf ("%d\n",argc); 
    printf ("%s\n",argv[0]);
    printf("hello\nworld\n");
return 0;
}   
  • 以上输出结果为  1
                               此项目存储所在位置
    (argc,argv[0]代表意义见上)

  • printf 输出语句:输出字符串-特征符号为"" |相连于终端口 console

  • scanf 输入:终端输入-即用户用设备点按键 |相连于终端口 console

  • 变量用来记录数据( 以下基本数据类型→只能存一个值 )

注意:\n 表示换行
           \t 表示一个缩进

  • scanf格式化输入
    若缓冲区:123 456
    int a;拿走123
    char b=' ';拿走空格
    int c=;拿走456
    则终端:123 456
int main(){
    int pwd=0;
    scanf("jack%d",&pwd);
    printf("pwd=%d\n",pwd);
    
    int num1,num2;
    scanf("%d %d",&num1,&num2); 
    printf("%d %d\n",num1,num2);
    return 0;
}
正常运行结果

scanf引号内即"用户输入的格式",所以输入jack123,才能输出显示123,因此最好不要在scanf里面随便写内容
若不按格式来则输出为0
下面的方式scanf("%d%d",&num1,&num2); 这样用户要一个一个敲,比较麻烦
且当两个放一起而上方不按格式输入时,输入的数字会被沿用到下方的输入格式

比较皮运行结果
  • int 整型数据 用于整数如1 2 3 4 5 6 2342 格式符%d
    long 长整型 用于数值大的整数 格式符%ld
    floot 单精度浮点数 用于小数如1.5 94.3 82.6 格式符%f
    double 双精度浮点数 用于小数如1.4 格式符%f
    char 字符 用于单个字符如'd' 'a' 格式符%c
    string 字符串 用于多个字符如"jack" "rose" 格式符%s
    short 短整型 用于整数 格式符%d
    bool 布尔型 用于判断如是,成立true;不是,不成立 false 格式符%d
    pps//二级缓存可了解一下

  • 不同变量占据的内容空间不一样
    [sizeof() 是一种内存容量度量函数,则可以此验证]

int main(){
    printf("%d\n",sizeof(int)); 
    printf("%d\n",sizeof(long)); 
    printf("%d\n",sizeof(short)); 
    printf("%d\n",sizeof(double)); 
    printf("%d\n",sizeof(char)); 
    printf("%d\n",sizeof(bool)); 
    printf("%d\n",sizeof(float)); 
return 0;
}
DEV C++中的输出结果

以上可得出各变量的内存度量值

  • (格式符为真实值预留位置,并控制显示的格式)实用及延展见下
int main(){
    int count =0;
    count = 3;
    printf("%02d\n",count);
    printf("%d\n",count);
    long size=230;
    printf("%ld\n",size);
    system ("pause");
    return 0;
}
运行结果

%d 为整数型预留位置 %ld为大数值整数型预留位置
衍生%02d 及整数列数不足两位时自动用0补齐

int main(){
    float score = 3.141592;
    printf("%f\n",score);
    printf("%.2f\n",score);
return 0;
}
运行结果

衍生%.2f表示保留小数点后两位;可类推%.3f表示保留小数点后三位等等

int main(){
    char choose='y';
    printf("%c\n",choose);
    printf("%d\n",choose);
    bool status=false;
    printf("%d\n",status); 
    return 0;
}
运行结果

当%d保留位置后输入的为字符时,其输出为字符对应ASCII码值
当将代码中的y换为一个中文字时,执行出错,因为一个中文占两个字符
%d也为布尔型预留位置,非零即真(true)1,换成3时显示1,零即假(false)0,

  • 运算符

符号 代表意义 符号 代表意义
+ 加或正号 - 减或负号
* 乘法 != 不等于
/ 除法取整数部分 % 除法取余数部分

ps:x=x%5 可表示0-4这一范围,因为% 是整除取余数,x%5得 0-4

符号 代表意义 符号 代表意义
&& 且(两个同时成立) 双竖线 或(只要一个成立即可)
++ 自增 -- 自减
== 等于(用于判断) = 赋值

ps:+=即a=a+一个数的简写 ;-=同理; !=不等于

对c语言中的全局与局部变量的理解

根据变量作用域的不同可分为局部变量和全局变量

  1. 局部变量
    (在函数内部定义的变量,作用域为函数内部,该函数外无法使用)
  2. 全局变量
    (在所有函数外定义的变量,一般与头文件在一块儿,作用域从声明开始直到程序结束)
    PS:
  • 同一源文件中可以有同名的局部变量与全局变量,但在局部变量的作用域里,同名的全局变量无效
  • 可以在不同的函数里使用同样的变量名代表不同变量
  • 局部变量不能赋值为同名全局变量的值

排序

PS可以在优酷搜索舞动的排序来方便理解

  1. 冒泡排序
    实现方式:每次都遍历一个数组比较大小,找到最大的一个数沉底,如果数组有N个元素。
    第一次需要
  2. 选择排序
    实现方式:外层循环控制需要遍历多少次(n-1) 再内层循环遍历出当前最小的数
  3. 等等

对于#define的理解

  • define用于定义常量时即为数值定义别名 ,也可以为类型定义别名
  • define的好处:1 加强了代码的可读性,2 增强可操作性便于代码修改。(当多处使用#define定义的别名时,别名对应的值需要修改时,可以直接在#define处快速修改)
  • 下面是使用 #define 预处理器定义常量的形式:
#define example -1

扩展了解可看const

函数的使用

  • 函数由一个函数头和一个函数主体组成,俗语说就是代码块 { } == 的独立空间

[每个 C 程序都至少有一个函数,即主函数 main() ]
函数可以用来区分代码块,即封装代码块,好处是运用灵活

  • 使用函数需要了解的几个组成部分:

1.返回类型:一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void。
2.函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。
3.参数:参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。
4.函数主体:函数主体包含一组定义函数执行任务的语句。

  • 一个功能对应一个函数(如下命名)

1.init
2.isExists;
3.bubleSort;
4.play
5.userInput
6.返回 ↓

函数名(type param1,type param2){
    代码块
    return ;
 }
  • 函数使用需要知道的几个过程
  1. 函数声明(函数声明会告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。)
    △针对定义的函数 max(),作函数声明为:
int max(int num1, int num2);

 △在函数声明中,参数的名称并不重要,只有参数的类型是必需的,因此下面也是有效的声明:

int max(int, int);

ps:参数类型诸如 void int float char
pps:有驼峰命名法 add download parse
scaleImageToSize
int add(int a, int b){
}
ppps:形式参数:这个代码块的局部变量

  1. 调用函数(创建 C 函数时,会定义函数做什么,然后通过调用函数来完成已定义的任务。)
  • 定义函数执行的两种方式
  1. 声明和实现一起(操作如下)
int add(int a, int b){
    int sum = a + b;
    return sum;
}

int minus(int a, int b){
    return a - b;
}
  1. 先声明 后实现(操作如下)
int minus(int a, int b);
int add(int a, int b);
void test(void);

int main(int argc, const char * argv[]) {
    //函数的使用
    //通过调用函数的函数名();
    add(1, 2);
    int result = add(3, 3);
    return 0;
}

详情可点击段首链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,185评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,652评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,524评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,339评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,387评论 6 391
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,287评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,130评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,985评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,420评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,617评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,779评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,477评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,088评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,716评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,857评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,876评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,700评论 2 354

推荐阅读更多精彩内容