c语言 程序设计一篇,C语言程序设计(1)

C语言程序设计(1)

一、C源程序的结构特点)(举例)

main()

{

printf("麦蒂天神的BLOG欢迎您!\n");

}

main

主函数名,每一个C源程序都必须有,且只能有一个主函数(main函数)。函数调用语句,printf函数的功能是把要输出的内容送到显示器去显示。printf函数是一个由系统定义的标准函数,可在程序中直接调用。

#include

"stdio.h" /*include称为文件包含命令.h文件也称为头文件或首部文件*/#include

"math.h"

main() /*主函数名*/

{

double x,s; /*定义两个实数变量,以被后面程序使用

*/printf("input number:\n"); /*显示提示输出信息*/

scanf("%lf",&x); /*从键盘获得一个实数x*/

s=sin(x); /*求x的正弦,并把它赋给变量s*/

printf("sine of %lf is %lf\n",x,s); /*显示程序运算结果*/

}/*main函数结束*/

红色部分为预处理命令

程序的功能是从键盘输入一个数x,求x的正弦值,然后输出结果。

二、C语言的字符集

C语言字符集由字母,数字,空格,标点和特殊字符组成。

1.字母 (A~Z,a~z)

2.数字 0~9

3.空白符 空格符、制表符、换行符。(只在字符常量和字符串常量中起作用,其他地方只起间隔作用)

三、C语言词汇

在C语言中使用的词汇分为六类:标识符,关键字,运算符,分隔符,常量,注释符等。

1.标识符:程序中的变量名、函数名、标号等

C语言规定标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,并且其第一个字符必须是字母或下划线

举例:以下标识符是合法的:

a,x,_3x,BOOK_1,sum5

注意:(1)标准C不限制标识符的长度,其他C版本例外。(2)大小写有区别(如BOOK和book

是两个不同的标识符)(3)命名应尽量有相应意义

2.关键字

1)类型说明符

用于定义、说明变量、函数或其它数据结构的类型。如int,double等

2)语句定义符

用于表示一个语句的功能。如if

else是条件语句的语句定义符。

3)预处理命令字

用于表示一个预处理命令。如include。

3.运算符

C语言中含有相当丰富的运算符。(+ - * %等)

4.分隔符 (逗号和空格两种)

5.常量 (数字常量、字符常量、字符串常量、符号常量、转义字符等多种)

6.注释符 /*

注释内容*/

四、C语言数据类型

基本数据类型,构造数据类型,指针类型,空类型(调用后不需要向调用者返回函数值

void)。

(一)基本数据类型:整型、浮点型和字符型

整型:

整型常量(八进制、十六进制和十进制)、整型变量

八进制:0** 十六进制:0X***/oX*** 十进制:0~9

无符号范围(0~0177777)(0X0~0XFFFF或0x0~0xFFFF)(0~65535)

超过范围用长整型数后缀用“L”/“l”来表示的;无符号数后缀为“U”/“u”。

如0XA5Lu表示十六进制无符号长整数A5。

整型变量:

1.基本型 int,占2个字节,取值为基本整常数。

2.短整量 short(int),占2个字节,取值为基本整常数

3.长整型 long(int),占4个字节,其取值为长整常数。

4.无符号型 unsigned(int),可以与其他整型符号混合使用

整型变量的说明:int a,b,c; (a,b,c为整型变量)

long x,y; (x,y为长整型变量)

unsigned p,q; (p,q为无符号整型变量)

浮点型:

十进制数形式 、指数形式(其一般形式为* E或e *)

后缀为“f”或“F”即表示该数为浮点数。如356f=356.

浮点数变量:

单精度型:占4个字节(32位)内存空间(只提供7位有效数字)

双精度型:占8个字节(64位)内存空间(可提供16位有效数字)

实型变量说明:float x,y; (x,y为单精度实型量)

double a,b,c; (a,b,c为双精度实型量)

实型常数不分单、双精度,都按双精度double型处理。

字符型:

1)字符常量:如'a'  'b' '='

'+' '?',只能是单个字符,不能是字符串.

但'5'和5

是不同的。'5'是字符常量,不能参与运算。

2)转义字符:

转义字符 转义字符的意义

\n 回车换行

\t 横向跳到下一制表位置

\v 竖向跳格

\b 退格

\r 回车

\f  走纸换页

\\ 反斜线符"\"

\' 单引号符"'"

\a 鸣铃

\ddd 1~3位八进制数所代表的字符

\xhh 1~2位十六进制数所代表的字符

广义:\101表示字母"A" ,\102表示字母"B",\134

表示反斜线,\XOA表示换行等(参照ASCII代码)

转义字符举例:

void main()

{

int a,b,c;

a=5; b=6; c=7;

printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c);

}

运行结果:

a■

6 7■

5 6■

76■

字符变量(char)

说明:char a,b;(a或b只能存放一个字符)

对字符变量a,b赋予'x'和'y'值: a='x';b='y',

字符变量与整型变量相互转化:

当格式符为"c"时,对应输出的变量值为字符,当格式符为"d"时,对应输出的变量值为整数。

举例:

void main()

{

char a,b;

a='x';

b='y';

a=a-32;

b=b-32;

printf("%c,%c\n%d,%d\n",a,b,a,b);

}

运行结果:

X Y■

88 89■

字符串常量:"CHINA" ,"C program:" ,

"$12.5"

'a'在内存中占一个字节,可表示为:a

"a"在内存中占二个字节,可表示为:a\0符号常量

符号常量:#define 标识符 常量 #define PI 3.14159

void main()

{

float s,r;

r=5;

s=PI*r*r;

printf("s=%f\n",s);

}

变量赋初值:类型说明符 变量1= 值1,变量2=

值2,……; int a=3,b,c=5;

变量类型的转换:一种是自动转换,一种是强制转换。

自动转换:1、类型不同,先转换成同一类型,然后进行运算。

2、int型和long型运算时,先把int量转成long型后再进行运算。

3、所有的浮点运算都以双精度进行

4、char型和short型参与运算时,必须先转换成int型

5、在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边类型转换为左边类型。

强制转换:(类型说明符) (表达式)

如:(float) a 把a转换为实型(int)(x+y)

是临时的,而f本身的类型并不改变。

C语言运算符分类:

1.算术运算符(左结合性)

用于算术运算:加(+)、减(-)、乘(*)、除(/)、求余(%)、自增(++)、自减(--)(右结合性)2.关系运算符()

用于比较运算:大于(>)、小于(

大于等于(>=)、小于等于(<=)和不等于(!=)

3.逻辑运算符用于逻辑运算:与(&&)、或(||)、非(!)4.位操作运算符按二进制位进行运算:位与(&)、位或(|)、位非(~)、位异或(^)、左移(<>)5.赋值运算符(右结合性)

用于赋值运算:简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)

6.条件运算符一个三目运算符:用于条件求值(?:)

7.逗号运算符用于把若干表达式组合成一个表达式:

(,)

8.指针运算符用于取内容(*)和取地址(&)二种运算。

9.求字节数运算符

用于计算数据类型所占的字节数(sizeof)

10.特殊运算符有括号(),下标[],成员(→,.)等

注:自增自减运算符(++ --)

++i

i自增1后再参与其它运算 --i i自减1后再参与其它运算

i++

i参与运算后,i的值再自增1 i-- i参与运算后,i的值再自减1

举例1:

void main(){

int

i=8; -----》i初值为8

printf("%d\n",++i); ----》加1后输出为9

printf("%d\n",--i); ----》减1后输出为8

printf("%d\n",i++); ----》输出i为8之后再加1,输出为9

printf("%d\n",i--); ----》输出i为9之后再减1,输出为8

printf("%d\n",-i++); ----》输出-8之后再加1,输出为9

printf("%d\n",-i--); ----》输出-9之后再减1,输出为8

}

举例2:void main(){

int i=5,j=5,p,q;

p=(i++)+(i++)+(i++); ----》3个i相加(15),再加3个1(3)得到p=18

q=(++j)+(++j)+(++j); ----》j先自增1

3次(8),再将3个8相加得到q=24

printf("%d,%d,%d,%d",p,q,i,j); -------》18,24,5,8}

1.算术表达式

如a+b,(a*2)/c,(x+r)*8-(a+b)/7,++i,sin(x)+sin(y),(++i)-(j++)+(k--)

2.赋值表达式:(右结合性——自右向左运算)

如x=a+b,w=sin(a)+sin(b)

赋值运算符两边的数据类型不相同,系统自动把赋值号右边类型换成左边类型。

具体规则如下:

1.实型赋予整型:舍去小数部分。

2.整型赋予实型:数值不变以浮点形式存放,即增加小数部分(小数部分的值为0)。

3.字符型赋予整型:字符型为1个字节,整型为2个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。

4.整型赋予字符型:只把低八位赋予字符量。void main(){

int

a,b=322; ------》a,b为整型

float

x,y=8.88; ------》x,y为实型

char c1='k',c2;

a=y; ------》y=8

x=b; ------》b=322.0

a=c1; ------》“k”对应的ASCII码值前面+n个0,共16位

c2=b; ------》322所对应的ASCII码符号赋予c2

printf("%d,%f,%d,%c",a,x,a,c2);

}

3.逗号表达式:(表达式a,表达式b,表达式c,....表达式n)

分别求表达式a,b,c...并以最后一个表达式n的值作为整个逗号表达式的值

void main(){

int

a=2,b=4,c=6,x,y; x=a+b,y=b+c; ------》y=10,x=6(y=10是整个表达式的值)

printf("y=%d,x=%d",y,x); }

点击观看:C语言程序设计(2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值