Linux下C语言编程基础:从创建到运行及格式化输出

需积分: 0 0 下载量 15 浏览量 更新于2024-06-16 收藏 9.66MB PDF 举报
这篇资源主要介绍了C语言的基础知识,包括如何在Linux系统下创建、编译和运行C程序,以及C语言中的基本输入输出函数、数据类型、格式化输出、注释、字节与位的关系、输入函数scanf以及字符与字符串的处理。 在Linux环境下,编写C程序通常使用编辑器如nano创建源代码文件(如`nano1.c`),然后通过编译器gcc编译(如`gcc nano1.c`生成可执行文件`a.out`),最后运行程序(如`./a.out`)。 C语言中,`#include<stdio.h>`头文件包含了标准输入输出函数,如`printf()`。`printf()`是一个输出函数,用于将数据格式化后输出。例如,`printf("year is %d\n", year);`,这里的`%d`是转换说明符,用来告诉`printf`函数`year`是一个整型变量。`\n`是换行符,使得输出在新的一行开始。 C语言的数据类型包括 `%d`(十进制整型)、`%o`(八进制数)、`%x`(十六进制数)、`%#o`和`%#x`(带有前缀的八进制和十六进制数)、`%u`(无符号整型)、`%hd`(短整型)、`%f`(浮点型)、`%lf`(double型)、`%le`(科学计数法形式的double型)、`%c`(char类型)、`%ld`(长整型)、`%s`(字符串)。`float`类型的输出可以通过格式控制保留小数点后一定位数的有效数字。 单行注释使用`//`,多行注释使用`/* ... */`。 在C语言中,1个字节等于8位。`scanf()`函数用于输入,如`scanf("%c", &ch)`,这里的`&`是取地址运算符,表示要读取变量`ch`在内存中的地址。对于浮点数,溢出可能导致`inf`表示无穷大,下溢则可能造成精度损失。可以使用`#include<limits.h>`和`#include<float.h>`头文件获取整数和浮点数的最大值和最小值。 ASCII码表示字符时,如`int ascii = 65; printf("%d%c\n", ascii, ascii);`,输出结果是ASCII值65和对应的字符'A'。 在处理字符串时,`char`数组可以用来存储字符串。例如,`char name[40];`定义了一个能容纳40个字符的字符串数组。使用`scanf("%s", name);`可以输入字符串到`name`数组中,无需使用取地址符`&`,因为数组名本身就是地址。而对于非数组变量,如`float debts[20];`,若要输入特定位置的数值,需使用`&`,如`scanf("%f", &debts[4]);`,这会读取键盘输入的浮点数并存储到`debts`数组的第5个元素(数组下标从0开始)中。 这部分内容详细介绍了C语言的基本概念,对于初学者来说是一份很好的学习资料。通过这些知识点,读者可以理解C语言的基本结构和操作,并能够编写简单的程序。