C-study(二)

hello world

// 单行注释
/*单行注释*/
/*多行
注释*/

#include <stdio.h>
/*stdio.h标准输入输出头文件,提供键盘输入和屏幕输出
 *预处理指令,告诉编译器将头文件里的内容包含在此程序中,编译前预处理
 *相当于把stdio.h文件的所有内容粘贴到此处,
 *头文件可以定义常量,指明函数名及如何使用*/

void butler(void); // 函数声明,指明没有返回值和参数

int main(void)
/*函数头
 *main是程序入口。
 *函数是程序基本模块。程序由一个或多个函数组成
 *函数声明:返回值类型 函数名(传参类型);
 *()识别main()是一个函数、main:函数名、int:返回整型、void:不带参数
 */
{ // 函数体开始

    /* 我的第一个 C 程序 */
    int num;
    /*变量声明:返回值类型 变量名;
    **声明整型变量num。把特定标识符num和分配的特定位置(int大小)联系起来
    **变量名可以有大写字母、小写字母、数字和下划线,不可以数字开头,区分大小写。
    **声明集中放在函数开始便于查看,使用前不声明会报错。*/
    int feet, fathoms;
    /*同时声明两个变量,逗号分隔*/
    num = 1;
    fathoms = 2;
    /*给变量赋值,把等号左边的值赋给右边
    声明时编译器会在内存中为num预留空间,赋值时把值储存在之前预留的位置*/
    feet = 6 * fathoms;
    /* *表示乘法 */
    printf("My favorite number is %d because it is first\n", num);
    /*调用stdio.h里的打印函数printf,
    **括号内为两个实参,实参是传递给函数的特定值,形参是函数中用于存储值的变量
    **引号内为打印信息及格式,%d:以十进制格式输出num,\n转义序列换行,没有\n光标停留在同一行*/
    printf("My favorite \nnumber is /n because it is first\n");// /n没有意义,原样打印

    printf("There are %d feet in %d fathoms!\n", feet, fathoms);
    /* 打印多个值,第一个变量替换第一个%d,第二个变量替换第二个%d,
    待打印值也可以是表达式,eg:6*fathoms*/

    butler(); // 函数调用

    getchar(); // 等待用户按下一次回车键再退出
    return 0;  // 结束main()的要求

} // 函数体结束

void butler(void) // 函数定义
{
    printf("You rang,sir?\n");
}

程序组成

提高程序可读性:

选择有意义的函数名
写注释
在函数上用空行分隔概念上的多个部分
每条语句各占一行

debug

语法错误(C语言规则)+语义错误(函数要表达的意义)

自己模拟计算机逐步执行程序
在程序关键点插入printf
使用调试器,一步步运行程序,并检查该变量的值

关键字和保留表示符

基本类型
int(short long)、unsigned、signed、float、double 、long double 、char、_Bool 、 _Complex、_Imaginary

派生类型
struct、enum、union
别名 typedef

循环
do、while、for、break、continue
分支
switch case default break、if else、goto

函数
void、return、inline

存储类别
auto、register、static、extern、_Thread_local
类型限定符
const、volatile、restrict、_Atomic

字节数 sizeof

对齐
_Alignas、_Alignof

预处理
_Generic、_Noreturn、_Static_assert
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值