您的位置:首页 > 编程语言 > C语言/C++

黑马程序员:C语言基本知识(2)

2014-04-02 21:42 148 查看
----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

一、输入和输出语句
1.1输出语句的讲解

1>printf函数的一般调用形式

   格式:printf(格式控制,输出项1,输出项2,.......);

  在printf函数的最后面写上;号就是输出语句。

   1,给输出项白提供输出格式说明

      格式说明符:

         作用:就是使数据按格式说明符的要求进行输出。

         组成:由%号和紧跟在其后的格式描述符组成。

                    int--------%d

                    float或double---%f或e%

                    char--------%c

  2.提供原样输出的文字或字符

         在  “   ” 中除了格式说明符之外的内容要全部原样输出。

         各个输出项之间要用逗号隔开。

         输出项可以是任意合法的常量,变量或表达式。

        

 

printf中常用的格式说明

    在格式说明符中,每一个格式说明符都必须以%号开头由相应的类型标识字母结束。但在他们之间可以有其它的一个内容:

%c :输出一个字符

%d:输出一个十进制的数据

%o:以八进制格式输出。

%X:以十六进制输出

%U:无符号十进制输出

%f:以带小数点的数字输出

%e:以指数形式输出

%s:输出一个字符串。

%%:输出一个%号

%4d:输出的数据长度是4个长度,当原来的长度大于4个时会自动突破。小于4个时会填充空格。

%x.yf:   x代表数制的宽度(包括小数点)。Y代表小数点后面的小数位数。

 

注意事项:

1.输出比较自由一些,输出有的各个数之到底是什么,取决于格式说明符之间的内容。

2.格式说明符要与输出项一一对应。

3.输出语句中还可以有  \n  \r  \t  \a

4.尽量不要在输出语句中改变输出变量的值。

5.输出的数据中如果存在变量,一定要定义过的。

 

1.2输入语句

格式:  scanf(格式控制,输入项1,输入项2,...);

例如:想通过键盘输入3个数分别给变量a,b,c。并且他们分别为整型,浮点型,双精度型。

      输入语句为scanf("%d%f%lf",&k,&a,&y);

说明:

    1.格式说明符与输出语句一样。

    2.在格式串中,必须含有与输入项一一对应的格式转换说明符。

    3.在VC6.0的环境下,要收输入的DOUBLE型数据的格式说明符一定要用%lf,否则数据不能正确的输入

4.由于输入是一个字符流,所以当输入的数据少于输入项时,程序会等待用户输入,直到满足要求。当输入的数据多于输入项时,多余的数据会自动作废。

 

 

例题:

int x;

x=11/3;

int y=5;

printf("%%d,%%%d\n",x,y);   结果是:%d,%3

 

 

 

复合语句:多个语句被{}括起来,当成一条语句来执行。

空语句:最后的表示只有一个;

 

 

二、C语言的程序结构
 
1.1关系运算与逻辑运算

1>简介

    关系表达式与逻辑表达式的运算结果都会得到一个逻辑值。就是“真”、“假”

    在C语言中0表示“假”,非0(无论是负数还是正数都是真,更多时候用1来代替)表示“真”。

2>几个简单的关系运算符

      < <=  >   >=  ==   !=

    注意:

      1,由两个字符组成的运算符,中间不能有空格

      2,它们都是双目运算符,具有自左至右的结合性。

      3,上面的6个运算符中,前4个的优先级要比后2个的优先级要高。

先计算,后判断,最后进行赋值运算。

3>几个简单的逻辑运算符

     &&     与      一假则假

     ||      或      一真则真

     !      非      非假则真,非真则假

  1&&2=1

   0&&6=0

  

int a=4 ,b=7;

   a && 7=1

int x=0,y=7;

  x++&&y++            x= 1  y=  7

  ++x&&y++            x=1   y=8

同样放在||中也是一样的。

 

 

1.2 if语句

1>定义:

    只有两种结果。要么执行这条语句,要么执行那条语句。

  if(条件表达式)

    上述条件成立执行的句子

  else

     上述条件不成立执行的句子

如:

    if(成绩>60)

       显示及格

    else

      显示不及格

2>分类

  1.不含有else的语句

      if(表达式) 语句

     

     if(a<b)

   {

     t=a;

     a=b;

     b=t;

    }

 

 

2.含有else语句

  if(条件)

    语句1;

  

  else

   {

   语句2;

    语句3;

    }

注:

  1.没有分号

  2.控制的是与if或者else紧临的“一条”语句。

if(a<b)

 printf("%d",b);

else

printf("%d",a);

 

 

 

if(a%3==0)

    yes;

else

no;

 

 

1.3条件表达式

 是C语言中唯一的一个三目运算。

格式 :表达式1?表达式2:表达式3

  当1成立(非零时)时,表达 式的值就是2的值,否则就是3的值。

如:

   1.1<2?4:5

  2.printf("%d",x<0?(-1)*++x:x++);   (假定X的值为-3)

   3.++X>3 ? (x<3?a:b) : b

 

1.4switch语句(一)

switch(表达式)

 {

case 常量表达 式1:语句1

case 常量表达 式2:语句2

case 常量表达 式3:语句3

case 常量表达 式4:语句4

case 常量表达 式5:语句5

。。。

case 常量表达 式N:语句N

}

 

1.5switch语句(二)

switch(A/10)

{

 case 10:printf("A");

 case 9:printf("A");

 case 8;printf("b");

 case 7;printf("c");

 case 6;printf("d");

 default :printf("e");

 

}

 

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

详情请查看:http://edu.csdn.net/heima
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: