在C语言中,数据类型是编程的基础,它们定义了变量可以存储的数据种类。在第二章“数据类型”的习题中,我们关注了变量命名规则、常量的数据类型、合法的变量定义以及如何根据需求选择合适的变量类型。
1. **变量命名规则**:
- 变量名必须以字母、下划线(_)开头,后面可以跟字母、数字或下划线。
- 非法字符包括美元符号($)、破折号(-)、单引号(')等。
- 关键字不能用作变量名,例如`int`、`default`等。
- 示例中,合法的变量名有`stock_code`、`Jan_Sales`、`xyz`和`invoice_total`,而非法的有`money$`、`X-RAY`、`int`、`default`、`1a`和`john's_exam_mark`。
2. **常量的数据类型**:
- `'x'`是字符常量,属于`char`类型。
- `-39`是整数常量,通常默认为`int`类型。
- `39.99`是浮点数常量,属于`double`类型。
- `-39.0`同样为浮点数常量,也属于`double`类型。
3. **合法的变量定义**:
- `integer account_code ;`不合法,因为`integer`不是C语言中的类型。
- `float balance ;`合法,`float`是C语言的浮点型变量。
- `decimal total ;`不合法,C语言没有`decimal`类型。
- `int age ;`合法,`int`是整型变量。
- `double int ;`不合法,`int`是关键字,不能用于变量名。
- `char c ;`合法,`char`用于表示单个字符。
4. **变量定义示例**:
- `(a)` 整型变量 `number_of_transactions` 和 `age_in_years`:`int number_of_transactions, age_in_years;`
- `(b)` 单精度浮点型变量 `total_pay`,`tax_payment`,`distance` 和 `average`:`float total_pay, tax_payment, distance, average;`
- `(c)` 字符型变量 `account_type`:`char account_type;`
- `(d)` 双精度浮点型变量 `gross_pay`:`double gross_pay;`
5. **适宜的变量定义**:
- `(a)` 班级中的学生人数:`int number_of_students;`
- `(b)` 平均价格:`float average_price;`
- `(c)` 自1900年1月1日以来的天数:`int days_since_1900;`
- `(d)` 利率百分比:`float interest_rate;`
- `(e)` 本页中最常出现的字符:`char most_common_char;`
- `(f)` 中国的人口总数:`int population_of_china;`
6. **合法的C语句**:
- `c = 'A' ;`合法,将字符'A'赋值给字符变量`c`。
- `i = "1" ;`非法,字符串不能赋值给整型变量。
- `i = 1 ;`合法,将整数1赋值给整型变量`i`。
- `c = "A" ;`非法,字符串'AA'会转换为字符'A'加上结束符'\0',不能赋给字符变量。
- `c = '1';`合法,将字符'1'赋值给字符变量`c`。
7. **示例C程序**:
```c
#include <stdio.h>
int main(void){
int number_of_transactions, age_in_years;
float total_pay, tax_payment, distance, average;
char account_type;
double gross_pay;
number_of_transactions = 211;
age_in_years = 66;
total_pay = 3128.0f;
tax_payment = 214.5f;
distance = 2431.5f;
average = 83.5f;
account_type = 'S'; // 假设为'Savings'
printf("number_of_transactions: %d\n", number_of_transactions);
printf("age_in_years: %d\n", age_in_years);
printf("total_pay: %.2f\n", total_pay);
printf("tax_payment: %.2f\n", tax_payment);
printf("distance: %.2f\n", distance);
printf("average: %.2f\n", average);
printf("account_type: %c\n", account_type);
return 0;
}
```
上述程序中,我们为第四题中的每个变量赋值,并通过`printf`函数以每行一个变量的形式显示它们的值。
掌握这些基本概念对于理解和编写C程序至关重要。理解数据类型、变量定义和赋值规则是学习任何编程语言的第一步。在C语言中,了解如何正确声明和使用不同类型的变量以及遵循命名规范,有助于编写出更有效且易于理解的代码。