什么是C语言程序设计.
什么是C语言?C语言的简介。
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
语言特点:C是中级语言/C是结构式语言/C语言功能齐全/C语言适用范围大/简洁紧凑、灵活方便/运算符丰富/数据类型丰富/C是结构式语言/语法限制不太严格,程序设计自由度大/适用范围大,可移植性好。
C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它具有自己独特的特点。具体体现为以下三个方面:
其一,广泛性。C语言的运算范围的大小直接决定了其优劣性。C语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。此外,C语言包含了字符型、指针型等多种数据结构形式,因此,更为庞大的数据结构运算它也可以应付。
其二,简洁性。9类控制语句和32个关键字是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率,同时还能够支持高级编程,避免了语言切换的繁琐。
其三,结构完善。C语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显著优势,同时这一特性也使得它能够适应多种不同的编程要求,且执行效率高。
什么是预处理呢?所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所做的工作。预处理是C语言的一个重要的功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕后自动进入对源程序的编译。
程序中以“#”开头的预处理命令,如包含命令#include,宏定义命令#define等。在源程序中这些命令都放在函数之外,一般放在源文件的前面,称为预处理部分。宏定义就是预处理的一种。
C语言中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”。在预编译处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。
C语言的“宏”分为有参数和无参数两种,下面对这两种“宏”分别进行讨论。
1、无参宏定义
无参宏的宏名后不带参数。
其定义的一般形式为:#define 标识符 字符串
“标识符”为所定义的宏名,“字符串”可以是常数、表达式、格式串等。
例如:
#define M (x*x+2*x+1)
它的作用是指定标识符M来代替表达式(x*x+2*x+1)。在编写源程序时,所有的(x*x+2*x+1)都可以由M代替。而对源程序作编译时,将先由预处理程序进行宏代换,即用(x*x+2*x+1)表达式去置换所有的宏名M,然后再进行编译。
例如:
#include <stdio.h>
#define M (x*x+2*x+1)
main()
{
int sum,x
printf("input a number: ")
scanf("%d",&x)
sum=3*M+4*M+5*M
printf("sum=%d\n",sum)
}
上例程序先用宏定义M来替代表达式(x*x+2*x+1),在sum=3*M+4*M+5*M中作了宏调用。在预处理时经宏展开后该语句变为sum=3*(x*x+2*x+1)+4*(x*x+2*x+1)+5*M(x*x+2*x+1)。
对于宏定义需要注意一下几点:
1)宏定义是用宏名来表示一个字符串,在宏展开时,又以该字符串取代宏名,这只是一种简单的代换,字符串中可以包含任何字符,可以是常数,也可以是表达式,预处理程序不对它作任何检查。如有错误,只能在编译已被宏展开后的的源程序时发现。
2)宏定义不是说明或语句,在行末不需加分号,若加了分号则连分号一起置换。
3)宏定义必须写在函数之外,其作用域为宏定义命令起到源程序结束。如要终止其作用域可使用#undef命令。
例如:
#define PI 3.1415926
main()
{
...
}
#undef PI
f1()
{
...
}
表示PI只在main函数中有效,在f1中无效。
4)宏名若在程序中用引号括起来,则预处理程序不对其作宏代换。
5)宏定义允许嵌套,在宏定义的字符串中可以使用已定义的宏名。在宏展开时,由预处理程序层层代换。
6)习惯上宏名用大写字母表示,以区分变量。当然也可以用小写字母表示。
7)可以用宏定义表示数据类型,使书写方便。
例如:
#define U8 unsigned int
注意宏定义表示数据类型和用typedef定义数据说明符的区别:宏定义只是简单的字符串代换,是在预处理完成的;而typedef是在编译时处理的,它不是做简单的代换,而是对类型说明符重新命名,被命名的标识符具有类型定义说明的功能。
2、带参宏定义
在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。
对带参的宏,在调用中,不仅要宏展开,而且要用实参去代换形参。
带参宏定义的一般形式为:
#define 宏名(形参表) 字符串
在字符串中含有各个形参。
带参宏调用的一般形式为:
宏名(实参表);
例如:
#define M(y) y*y+3y
...
k=M(5)
...
在宏调用时,用实参5去替代形参y,经预处理宏展开后的语句为:
k=5*5+3*5
例如:用带参宏来获取较大数
#define MAX(a,b) (a>b)?a:b
对于带参宏需要注意以下几点:
1)带参宏定义中,宏名和形参表之间不能有空格出现。
2)在带参宏定义中,形式参数不分配内存单元,因此不必作类型定义。而宏调用中的实参由具体的值,要用它们去代换形参,因此必须作类型声明。这只是符号代换,不存在值传递的问题。
3)在宏定义中形参是标识符,而宏调用中的实参可以是表达式。
4)在宏定义中,字符串内的形参通常要用括号括起来以免出错。
A.
【解析】
x=12
,则
y=x>12?x+10:x-12
==>表达式
x>12为假,y=x-12=12-12=0.
12
B.
【解析】
while语句格式如下所示:
while(<循环条件>)
{<循环体>}
程序执行到while时:1.判断while后的循环条件;2.当<循环条件>为真时,执行<循环体>;3.当<循环条件>为假时,不执行<循环体>,跳出while语句段;4.重复1-3步骤。
while(k=0),因为k=0是一个赋值表达式,它为永真,所以表达式
k=0总是为真,而循环体内没有break,故循环体执行无数次。
13
A.
【解析】当(!E)为真,则执行循环体,此时E为假;当(!E)为假,则不执行循环体,此时E为真;即E为假时执行循环体,E为真时不执行循环体;
故while(!E)与while(E==0)时等价的,都是E为假时执行循环体,E为真时不执行循环体。
14
C
【解析】
n++<=2,先判断n<=2,在自加1.while的循环体是一个空语句"",
1.n=0
,n++<=2==>0<=2,n=1
2.n=1
,n++<=2==>1<=2,n=2
3.n=2
,n++<=2==>2<=2,n=3
4.n=3
,n++<=2==>3<=2为假,跳出循环,n=4
故printf()时n=4.
15
A
【解析】
do...while格式:
do
{<循环体>}
while(<循环条件>);
它是先执行一次后再判断,while是先判断在执行。故do-while的循环体至少无条件执行一次
,而while可能一次也不执行。
16
C
【解析】
第一次执行的时候,x=(-1)*(-1)=1,判断(!x)为假,跳出循环。故只执行1次。
17
D
【解析】
A,B显然不正确。在do-while循环体中有break语句是照样可以跳出循环。
18
B
【解析】
TC2.0执行
19
D
【解析】
TC2.0执行
20
D
【解析】
显然!
C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
C语言和C++的联系:C语言是C++的子集,而C++则是C语言的超集。也就是说,C语言就象C++的子女,而C++则象C语言的父母。C语言的程序可以在C++的上面用。C++完全包括C语言的语法,如果你学习好了C语言,学习C++那就是很容易的事了。
http://zhuanti.club.it.sohu.com/user_webpage/webpages/commuser/web1_13497.html
C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。
C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。
常用的C语言IDE(集成开发环境)有Microsoft
Visual
C++,Borland
C++,Watcom
C++
,Borland
C++
,Borland
C++
Builder,Borland
C++
3.1
for
DOS,Watcom
C++
11.0
for
DOS,GNU
DJGPP
C++
,Lccwin32
C
Compiler
3.1,Microsoft
C,High
C,Turbo
C,Dev-C++,C-Free等等......
你看下:
http://baike.baidu.com/view/1219.html?wtp=tt
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
语言特点:C是中级语言/C是结构式语言/C语言功能齐全/C语言适用范围大/简洁紧凑、灵活方便/运算符丰富/数据类型丰富/C是结构式语言/语法限制不太严格,程序设计自由度大/适用范围大,可移植性好。