【C语言】第3章 最简单的C程序设计

第3章 最简单的C程序设计

顺序程序设计
数据的表现形式及其运算

常量、变量、常变量、标识符

数据类型

整型、浮点型

  1. 整型数据的分类
    最基本的整型类型
    基本整型(int型):占2个或4个字节
    短整型(short int):VC++6.0中占2个字节
    长整型(long int):VC++6.0中占4个字节
    双长整型(long long int):C99新增的

  2. 整型变量的符号属性
    整型变量的值的范围包括负数到正数
    可以将变量定义为“无符号”类型
    扩充的整形类型:

    有符号基本整型 [signed] int;
    无符号基本整型 unsigned int;
    有符号短整型 [signed] short [int];
    无符号短整型 unsigned short [int];
    有符号长整型 [signed] long [int];
    无符号长整型 unsigned long [int]
    有符号双长整型 [signed] long long [int];
    无符号双长整型 unsigned long long [int]

字符型数据
  1. 字符与字符代码
    大多数系统采用ASCII字符集
    字母:A ~Z,a ~z
    数字:0~9
    专门符号:29个:! ” # & ‘ ( ) *等
    空格符:空格、水平制表符、换行等
    不能显示的字符:空(null)字符(以‘\0’表示)、警告(以‘\a’表示)、退格(以‘\b’表示)、回车(以‘\r’表示)等

字符’1’和整数1是不同的概念:

字符’1’只是代表一个形状为’1’的符号,在需要时按原样输出,在内存中以ASCII码形式存储,占1个字节
整数1是以整数存储方式(二进制补码方式)存储的,占2个或4个字节

  1. 字符变量
    用类型符char定义字符变量
浮点型数据

浮点型数据是用来表示具有小数点的实数
float型(单精度浮点型)
编译系统为float型变量分配4个字节
数值以规范化的二进制数指数形式存放
double型(双精度浮点型)
编译系统为double型变量分配8个字节
15位有效数字
long double(长双精度)型

运算符和表达式

1、基本的算术运算符

2、自增、自减运算符

3、算术表达式和运算符的优先级与结合性

4、不同类型数据间的混合运算

%c、%d

5、强制类型转换运算符

系统自动进行的类型转换
强制类型转换

6、C运算符

算术运算符 (+ - * / % ++ --)
关系运算符 (> < == >= <= !=)
逻辑运算符 (!&& ||)
位运算符 (<< >> ~ | ∧ &)
赋值运算符 (=及其扩展赋值运算符)
条件运算符 (?:)

逗号运算符 (,)
指针运算符 (*和&)
求字节数运算符 (sizeof)
强制类型转换运算符 ( (类型) )
成员运算符 (. 和 ->)
下标运算符 ([ ])
其他 (如函数调用运算符())

C语言的作用和分类

C语句分为以下5类:
控制语句: if、switch、for、while、do…while、continue、break、return、goto等
函数调用语句
表达式语句
空语句
复合语句

and 赋值语句(赋值运算符、复合的赋值运算符、赋值表达式、赋值过程中的类型转换、变量赋初值)、输入输出语句

//给出三角形的三边长,求三角形面积。

#include <stdio.h>
#include <math.h>
int main ( )
{ double a,b,c,s,area; 
   a=3.67;                                
   b=5.43;                            
   c=6.21;                            
   s=(a+b+c)/2;	                      
   area=sqrt(s*(s-a)*(s-b)*(s-c));   
   printf("a=%f\tb=%f\t%f\n",a,b,c);     
   printf("area=%f\n",area);                
   return 0;
 }
求a*x^2+b*x+c = 0方程的根
▲>0
    
#include <stdio.h>
#include  <math.h>
int main ( ) 
{double a,b,c,disc,x1,x2,p,q;
  scanf("%lf%lf%lf",&a,&b,&c);
  disc=b*b-4*a*c;
  p=-b/(2.0*a);
  q=sqrt(disc)/(2.0*a);
  x1=p+q;   x2=p-q;
  printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);
  return 0;
}
有关数据输入输出的概念

(1) 所谓输入输出是以计算机主机为主体而言的
从计算机向输出设备(如显示器、打印机等)输出数据称为输出
从输入设备(如键盘、磁盘、光盘、扫描仪等)向计算机输入数据称为输入

(2) C语言本身不提供输入输出语句
输入和输出操作是由C标准函数库中的函数来实现的
printf和scanf不是C语言的关键字,而只是库函数的名字
putchar、getchar、puts、gets

(3) 在使用输入输出函数时,要在程序文件的开头用预编译指令
#include <stdio.h> 或 #include ″stdio.h″

用printf函数输出数据:

printf(格式控制,输出表列)
  例如:
  printf(”i=%d,c=%c\n”,i,c);

%d输出int型数据、%ld输出long型数据、%c输出一个字符、%s输出一个字符串、

%f输出实数用小数形式输出
	不指定数据宽度和小数位数,用%f
	指定数据宽度和小数位数。用%m.nf
	输出的数据向左对齐,用%-m.nf
%s输出以指数形式输出实数
	printf(”%e”,123.456);//1.234560 e+002
%m.ne
	printf(”%13.2e”,123.456);//    1.23 e+002(前面有4个空格)
用scanf函数输入数据

scanf(格式控制,地址表列)
	scanf("a=%f,b=%f,c=%f",&a,&b,&c);
 scanf(”%f%f%f”,a,b,c);   错
 scanf(”%f%f%f”,&a,&b,&c);   对
 
对于scanf("a=%f,b=%f,c=%f",&a,&b,&c);
        1 3 2↙            错
       a=1,b=3,c=2↙        对
       a=1 b=3 c=2↙         错
            
对于scanf(”%c%c%c”,&c1,&c2,&c3);
 abc↙        对
 a b c↙      错
字符数据的输入输出
用putchar函数输出一个字符
	putchar(c) 
	putchar(’\101’)   (输出字符A)
	putchar(’\’’)        (输出单撇号字符’)
用getchar函数输入一个字符
	getchar( )

从键盘输入BOY三个字符,然后把它们输出到屏幕。
#include <stdio.h>
int  main ( )                
{ char a,b,c; 
   a=getchar(); 
   b=getchar(); 
   c=getchar(); 
   putchar(a); putchar(b); putchar(c); 
   putchar(‘\n‘);                
   return 0;
 }

#include <stdio.h>
int  main ( )                
{  putchar(getchar());
   putchar(getchar());
   putchar(getchar());                
   putchar(‘\n‘);                
   return 0;
 }

【C语言】第3章 最简单的C程序设计

上一篇:Java程序设计案例教程第三章


下一篇:Java注释、数据类型