第2章 简单C语言程序设计

更新时间:2023-06-11 06:49:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第2章 简单C程序设计

回顾 程序是为执行一项任务而编写的有序指令集 C程序的特点

C语言的组成 C程序的编译和运行过程 编译器将源程序转换成机器能理解的程序 连接器用于连接相关的目标文件以生成可执行程 序

本章要点 C语言的数据类型、运算符 C语言的常量和变量

C语言的表达式 常用数学函数

2.1 温度转换例2.1 求华氏温度100F对应的摄氏温度#include <stdio.h> int main( ) { int celsius, fahr; fahr=100; celsius=5*(fahr-32)/9; printf(“fahr=%d, celsius=%d\n“, fahr, celsius); }

执行程序的输出结果为:fahr=100, celsius=374

2.1.1 内存 内存可以理解为一排井然有序的小开关,每个开关有 两个状态:开表示1,断表示0,所以每个开关表示一 个二进制数,0或1,称为一个位(bit). 为管理方便,8个位为一组,称为一个字节(byte) 然后为所有字节从0开始编号,这个编号称为字节的 地址 2的10次方( 1024)个字节称为1k 2的20次方( 1048576)个字节称为1M 2的30次方( 1073741824)个字节称为1G

2.1.2 变量int celsius, fahr; celsius = 5 * (fahr - 32) / 9; 变量是计算机里一块特定的内存,它由一个或多个连续的 字节组成。 每个变量都有一个名称,表示内存中的这个位置,以便通 过变量名读取该位置的数据或存储一个新数值。 变量的值不是固定的,随时都可以改变,且次数不限。

变量内存32 100

程序

存储 fahr

计算5 * (fahr - 32) / 9

将值存储为celsius

编写程序时,通常使用变量来存储 数据,方便后面使用这个数据或者 修改这个数据的值。7

输出fahr和celsius

2.1.3 数据类型内存变量用来存储数据,系统需要知道每个变量要存储什么类型 的数据,然后为每个变量分配一块足够大的内存空间,用来该类 型的数据 数据类型

数据

数值 2.175 123 整型 非整型 9/12/2003

非数值 Africa char

int The quick brown fox 整型 非整型 float Jackie Chan short int double 数值 非数值 long int 999 9002.12 数据属于不同类别 TRUE8

整型变量类型整数变量还分为几种不同的类型,以存储不同范围的整数short int int long int

2个字节4个字节 4个字节

-2-15至215-1 , -32768 至 +32767 -2-31至231-1,-2147438648 至 + 2147438647

-2-31至231-1,-2147438648至+2147438647-2-63 至 263-1

__int64 long long int

8个字节

1、数据类型所占字节数,取决于所使用的编译器2、short int 可以简写为short, long int可以简写为long 3、不同编译器对64位的支持不同,在VC中只支持__int64, gcc/g++支持 long long, windows平台的gcc/g++也支持__int649

无符号的整数类型当处理不能为负的数据时,可以使用无符号类型,所占内 存与有符号型相同,但对正数的表示

范围比有符号型大一 倍unsigned short int

2个字节 4个字节 4个字节 8个字节

0至216-1 , 0 至 +65535 0至232-1, 0 至 + 4294967295 0至232-1, 0 至 + 4294967295 0至264-1,0至18445744073709551615

unsigned int unsigned long int

unsigned __int64unsigned long long int

2.1.4 变量的声明和使用 声明变量:int celsius, fahr;

定义时初始化变量:int celsius, fahr=100;

定义后初始化变量:fahr=100; 。

给变量赋值,除了给一个直接的值以外, 还可以通过计算获得如: celsius=5*(fahr-32)/9;11

变量的命名规则在 C 语言中,变量命名需要遵循一定的规则 变量的命名规则:变量名可以由字母、数字和 _(下划线)组合而成 变量名不能包含除 _ 以外的任何特殊字符,如:%、# 、逗号、 principal 空格等 123rate lastname 变量名必须以字母或 _(下划线)开头 zip code 变量名不能包含空白字符(换行符、空格和制表符称为空白字符) C 语言中的某些词(例如 int 和 float 等)称为保留字,具有特 殊意义,不能用作变量名 marks_3 discount% C 语言区分大小写,因此变量 price 与变量 PRICE 是两个不同 的变量

有效名称

无效名称

cost_price

city

currency$

2.1.5 赋值运算 赋值运算符 = 赋值表达式:用 = 将一个变量和一个表达式连接 起来的式子 = 的左边必须是一个变量 变量 = 表达式 例如:fahr = 100; celsius = 5 * (fahr - 32) / 9; 计算赋值运算符右侧表达式的值 将赋值运算符右侧表达式的值赋给左侧的变量

分析错误程序该程序为何得不到正确结果?//求两个整数的和

#include<stdio.h> 错误原因是受数学思维的影响, int main() 吴以为sum=a+b;是建立sum和a+b { 之间的一个等量关系 int a, b, sum; sum=a+b; 执行sum=a+b;语句是,因为a和 b中的值都不确定,是随机的, a=3; 所以其和也是随机的,然后把这 b=5; 个数赋给了sum printf("%d\n",sum); return赋值运算“=”表示的是一个动作:先计算表达 0; } 式的值,再存入赋值号左边的变量中,既不表示 数学中的等量代换,也不表示相等关系14

该程序为何得不到正确结果?

2.1.6 格式化输出函数printf格式:printf(“格式控制串”,输出参数表) printf "%d" , count printf( count);将一些信息按照指定的格式送到标准输出(显示器)格式字符串:指定数据的输出格式 输出参数表:待输出的数据,可以是常量、变量或表 达式

输出格式printf(“fahr=%d , celsius=%d\n", fahr, celsius);输出参数列表

普通字符,原样输出%开头的是转换说明,对应与后面一个 输出参数,对应参数将被转换成指定格 式后在该位置输出 ‘\n’是转意字符,用来输出一个回车

输出结果: fahr=100, celsius=3716

转换字符串

printf( "%d" , count);转换字符串 说明 将参数按整数形式转换输出,对应参数应是int 类型 将参数按长整数形式转换输出,对应参数是long型 输出一个字符,对应参数应该是一个字符 输出一个字符串,对应参数应该是一个字符串 将参数按带小数点数形式输出,对应参数应是double 类 型,默认情况下精确到 6 位小数

%d%ld %c %s %f

转换字符串%dint visitor_count = 150; printf (" %d" , visitor_count);

输出结果:150

转换字符串%md数据以十进制整数格式输出,宽度占m列,数据 不足m列左补空格,超过m列按实际位数输出。

int salary = 5500; printf (" %10d"" , salary); " %10d

输出结果:

5500

输出结果的左边显示了 6 个空格

转换字符串%-md数据以十进制整数格式输出,宽度占m列,数据 不足m列右补空格,超过m列按实际位数输出。 int salary = 5500; printf " "%-10d" , salary); ( %10d

输出结果:5500输出结果的右边显示了 6 个空格

课堂练习:输出整数幂已知m=11,n=41,输出m和n的2次方、3次方和4次方,要 求每个数据占8列,左对齐。效果如下: 121 1331 14641 1681 68921 2825761

本文来源:https://www.bwwdw.com/article/8no1.html

Top