案例一
本例旨在介绍数据类型的转换。
C语言规定,不同类型数据的需要转换成同一类型才能计算。
在整型、实型和字符之间通过类型转换便可以进行计算。
该应用程序设计如下:
# include <stdio.h>
void main()
{
inta =5;
char c ='a';
float f =5.3;
double m = 12.65;
doubleresult;
printf("a + c = %dn", a + c);
printf("a + c = %cn", a + c);
printf("f + m = %fn", f + m);
printf("a + m = %fn", a + m);
printf("c + f = %fn", c + f);
result = a + c * (f + m);
printf("double = %fn", result);
}
案例二
本案例旨在介绍转义字符
C中的字符常量是用单引号括起来的一个字符。
通过本案例希望你学会理解这些常用转义字符的含义,并能够在今后的编程中熟练使用。
该程序设计如下:
# include <stdio.h>
void main()
{
printf("How are you?n");
printf("I am fine.nn");
printf("How are you?t");
printf("I am fine.nn");
printf(" How are you?n");
printf(" bI am fine.nn");
printf("I am fine.");
printf("rHow are you?nn");
printf("note:n astibbkrpn");
}
案例三
本案例旨在介绍关系和逻辑运算的关系
本案例旨在向读者介绍六种关系运算和三种逻辑运算符,以及它们的优先级次。
下面列出的是关系和逻辑操作符的相对优先级:
最高:!
>>=< <=
== !=
&&
最低:||
该程序设计如下:
# include <stdio.h>
void main()
{
intlogic;
int a = 1;
int b = 2;
int c = 3;
logic =a+b>c&&b<=c;
printf("logic = %dn", logic);
logic = a>=b+c||b==c;
printf("logic = %dn", logic);
logic =!(a<c)+b!=1&&(a+c)/2;
printf("logic = %dn", logic);
}
案例四
本案例旨在介绍自增自减
自增自减运算符:++和--。
自增运算符++对操作数增加一个单位,而自减运算符--对操作数据小一个单位。
程序设计如下:
# include <stdio.h>
void main()
{
intlogic;
int a = 1;
int b = 2;
int c = 3;
logic =a+b>c&&b<=c;
printf("logic = %dn", logic);
logic = a>=b+c||b==c;
printf("logic = %dn", logic);
logic =!(a<c)+b!=1&&(a+c)/2;
printf("logic = %dn", logic);
}
案例五
本案例旨在介绍普通位运算
所谓的运算是指进行二进制的运算。
本案例介绍四个运算符:&| ^ ~
程序设计如下:
# include <stdio.h>
void main()
{
unsigned char result;
int a, b, c, d;
a = 2;
b = 4;
c = 6;
d = 8;
result = a & c;
printf("result = %dn", result);
result = b | d;
printf("result = %dn", result);
result = a ^ d;
printf("result = %dn", result);
result = ~a;
printf("result = %dn", result);
}
案例六
本案旨在介绍位移运算
本案例介绍左移位运算(<<)和右移位运算(>>).
左移位运算(<<):用来将一个数的各二进制位全部左移若干位。
右移位运算(>>):用来将一个数的各二进制位全部右移若干位。
程序设计如下:
# include <stdio.h>
void main()
{
unsigned a, b, c, d;
int n;
a = 64;
n = 2;
b = a >>(6-n);
printf("b = %dn", b);
c = a << n;
printf("c = %dn", c);
d = (a >> (n-1)) |(a << (n+1));
printf("d = %dn", d);
}
案例七
本案例旨在介绍字符译码
例题:用原来字符后面的第六个字符代替原来的字符。原字符Chinese
程序设计如下:
# include<stdio.h>
void main()
{
char c1, c2, c3, c4, c5, c6, c7;
c1 = 'C';
c2 = 'h';
c3 = 'i';
c4 = 'n';
c5 = 'e';
c6 = 's';
c7 = 'e';
printf("原码是:%c%c%c%c%c%c%cn", c1, c2, c3, c4,c5, c6, c7);
c1 = c1 + 6;
c2 = c2 + 6;
c3 = c3 + 6;
c4 = c4 + 6;
c5 = c5 + 6;
c6 = c6 + 6;
c7 = c7 + 6;
printf("密码是:%c%c%c%c%c%c%cn", c1, c2, c3, c4,c5, c6, c7);
}
案例八
本案例旨在介绍指针操作符
本案例介绍的只是一些有关指针的一些基本知识,包裹指针相关操作符&合*的基本概念和一些基本用法。
指针是变量的内存地址。指针变量专门存放指向相应类型的指针。
指针有三个主要功能:帮助快速引用数组元素; 允许C函数修改调用变元的内容; 支持链接表和其他动态数据结构.
该程序设计如下:
# include <stdio.h>
void main()
{
int *p;
int begin, end;
begin = 10;
p = &begin;
end = *p;
printf("begin = %dn", begin);
printf("end = %dn", end);
printf("p = %dn", p);
printf("*p = %dn", *p);
}
案例九
本案例旨在介绍IF判断语句
支持两类型选择语句,分别是if和switch语句。
本案例介绍的是IF语句。
if语句的一般形式:
if(expression)statement;
elsestatement;
例题:求三个整数的大小顺序,并且输出它们。
本案例设计如下:
# include <stdio.h>
void main()
{
int x, y, z, mid, dec;
printf("请任意输入三个整数:n");
scanf("%d %d %d",&x, &y, &z);
if(x <y)
{
mid = x; x =y; y = mid;
}
if(x < z)
{
mid = x; x =z; z = mid;
}
if(y < z)
{
mid = y; y =z; z = mid;
}
printf("请输入一个整数,程序根据其正负判断输出:n");
scanf("%d",&dec);
if(dec >=0)printf("最大整数为:%dn", x);
elseprintf("最小整数为:%dn",z);
}
案例十
本案例旨在介绍else-if语句
前一案例介绍了if语句的前两种形式,本案例介绍的是if语句的第三种形式。
例题:有一分段函数,y=f(x).当x小于6时,y=x-12;当x大于6且小于15时,y=3x-1;当x大于等于15时,y=5x+9.要求任意输入x,从而输出相应的y值。
程序设计如下:
# include <stdio.h>
void main()
{
int x, y;
printf("请输入自变量x:");
scanf("%d", &x);
if(x < 6)
{
y = x - 12;
printf("x = %d, y = %dn", x,y);
}
else if(x < 15)
{
y = 3*x - 1;
printf("x = %d, y = %dn", x,y);
}
else
{
y = 5*x + 9;
printf("x = %d, y = %dn", x,y);
}
}