C语言常量ofc是否合法,判断ofc是否为合法常量的代码如何写

C语言基础知识常量和变量分类:C/C++

1.常 量: 程序执行过程中,值不变的量。 3 ,\'a\'

变 量:值可以改变的量。

一个变量有一个名字,在内存中有一定的存储单元,存放变量的值。

2.常量类型:

a.整 型:12,0,-3

b.实 型:4.6,-1.2

c.字 符 型: \'a\',\'d\'

d.符号常量: #define PRICE 30 (PRICE不能再被赋值且要大写)

3.变 量: 先定义,后使用。一个变量只能被指定为一确定类型。

4.标识符:标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符数列。

a.由字母、数字、下划线三种字符组成,第一个字符必须为字母或下划线。

b.大写字母、小写字母被认为是两个不同的字符。

c.长度一般小于8个。

数据类型

一.整 型:

1.整型常量

a.十 进 制:12,-3,0

b.八 进 制:以0开头。

c.十六进制:以0x开头。

2.整型变量

a. int -32768——32767

b. short int -32768——32767

c. long int

d. unsigned int 0——65535

e. unsigned short 0——65535

f. unsigned long

int、short int、long int 第一位为符号位 0000001 (0为正,1为负)

unsigned 第一位不是符号位 0000001

所以int型和unsigned型的000001不是同一个值。

二.实 型:

1.实型常量:

a.十进制数:数字和小数点组成。0.12,.12,12.0,0.0

b.指 数:e之前必须有数字,e后面必须为整数。12e3

2.实型变量:

a.单精度:float 7位有效数字 111111.1可,111111.11不可。

b.双精度:double 15—16位有效数字 。

三.字符型:

1.字符常量:

a. \'a\' , \'x\' , \'*\' ,\'$\' 。

b. 转义字符:‘\\n\'换。 \'\\t\'从第九列开始。\'\\r\'回车。 \'\\b\'退一格。

2.字符变量:

char char=\'a\' 一个字符变量在内存占一个字节。

。将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存单元中去,而是将该字符的ASC码

放到存储单元中,所以字符型数据和整型数据之间可以通用。一个字符型数据既可以以字符形式输出,

又可以以整数形式输出。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以,这是一个常见的需求。下面是一个简单的实现: ``` #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_LINE_LEN 1024 int main(int argc, char **argv) { if (argc != 2) { printf("Usage: addline input_file\n"); return 1; } FILE *input_file = fopen(argv[1], "r"); if (input_file == NULL) { printf("Cannot open file %s\n", argv[1]); return 2; } char *line_buf = malloc(sizeof(char) * MAX_LINE_LEN); if (line_buf == NULL) { printf("Cannot allocate memory for line buffer\n"); return 3; } char *comment_start; int line_num = 1; while (fgets(line_buf, MAX_LINE_LEN, input_file) != NULL) { // Remove trailing newline character line_buf[strcspn(line_buf, "\r\n")] = '\0'; // Find start of comment and remove it comment_start = strstr(line_buf, "//"); if (comment_start != NULL) { *comment_start = '\0'; } // Print line with line number printf("%d: %s\n", line_num, line_buf); line_num++; } free(line_buf); fclose(input_file); return 0; } ``` 这个程序读入一个 C 语言源文件,输出一个带行号的版本,并且删除每行的注释。几点说明: - 程序使用了 fgets 函数逐行读入源程序。MAX_LINE_LEN 宏定义了一行最多能包含的字符数。 - 当遇到注释时,程序通过 strstr 函数找到注释的位置,然后将它后面的部分截掉。这里只考虑了单行注释,如果源程序中还有多行注释、字符常量或字符串,还需要对其进行识别和处理。 - 最后程序使用 printf 输出带行号的源程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值