搜档网
当前位置:搜档网 › c++单选题

c++单选题

c++单选题
c++单选题

单选题

1.下列关于面向对象概念的描述中,错误的是( C )。

A.面向对象方法比面向过程方法更加先进

B.面向对象方法中使用了一些面向过程方法中没有的概念

C.面向对象方法替代了结构化程序设计方法

D.面向对象程序设计方法要使用面向对象的程序设计语言

2.下列各种高级语言中,不是面向对象的程序设计语言是( D )。

A.C++ B.Java C.VB D.C

3.下列关于类的描述中,错误的是( A )。

A.类就是C语言中的结构类型

B.类是创建对象的模板

C.类是抽象数据类型的实现

D.类是具有共同行为的若干对象的统一描述体

4.下列关于对象的描述中,错误的是( C )。

A.对象是类的一个实例

B.对象是属性和行为的封装体

C.对象就是C语言中的结构变量

D.对象是现实世界中客观存在的某种实体

5.下列关于C++程序中使用提取符和插入符的输入/输出语句的描述中,错误的是( C )。

A.提取符是对右移运算符(>>)重载得到的

B.插入符是对左移运算符(<<)重载得到的

C.提取符和插入符都是双目运算符,它们要求有两个操作数

D.提取符和插入符在输入/输出语句中不可以连用

1.下列变量名中,非法的是( C )。

A.A25 B.My_car C.My-str D.abc

2.下列常量中,十六进制int型常量是( A )。

A.0x5f B.x2a C.046 D.7a

3.下列常量中,不是字符常量的是( B )。

A.'\n' B."y" C.'x' D.'\7'

4.在函数体内定义了下述变量a,a的存储类为( D )。

int a;

A.寄存器类 B.外部类 C.静态类 D.自动类

5.下列关于变量存储类的描述中,错误的是( C )。

A.任何变量定义后都具有一个确定的存储类

B.变量的存储类确定了变量的作用域和寿命

C.定义变量时没有存储类说明符者一律为自动类

D.内部静态类变量和外部静态类变量的存储类说明符都是static 6.下列关于变量数据类型的描述中,错误的是( A )。

A.定义变量时int型数据类型可以省略

B.变量的数据类型可以决定该变量占内存的字节数

C.变量的数据类型是可以被强制的

D.变量的数据类型是有高低之分的

7.长双精度浮点型常量的后缀是( C )。

A.U B.F C.L D.无

8.下列运算符中,不能用于浮点数操作的是( D )。

A.++ B.+ C.*= D.&(双目)

9.下列运算符中,优先级最高的是( A )。

A.*(双目) B.|| C.>> D.%=

10.下列运算符中,优先级最低的是( B )。

A.== B.?: C.| D.&&

11.已知:int a(3);下列表达式中,错误的是( C )。A.a%2==0 B.a--+2 C.(a-2)++ D.a>>=2 12.已知:int b(5),下列表达式中,正确的是( D )。

A.b="a" B.++(b-1)

C.b%2.5 D.b=3,b+1,b+2

13.下列关于类型转换的描述中,错误的是( C )。

A.类型转换运算符是(<类型>)

B.类型转换运算符是单目运算符

C.类型转换运算符通常用于保值转换中

D.类型转换运算符作用于表达式左边

14.下列表达式中,其值为0的是( A )。

A.5/10 B.!0

C.2>4?0:1 D.2&&2||0

15.下列表达式中,其值不为逻辑值的是( A )。

A.算术表达式 B.关系表达式

C.逗号表达式 D.逻辑表达式

16.下列关于数组概念的描述中,错误的是( B )。

A.数组中所有元素类型是相同的

B.数组定义后,它的元素个数是可以改变的

C.数组在定义时可以被初始化,也可以不被初始化

D.数组元素的个数与定义时的每维大小有关

17.下列关于数组维数的描述中,错误的是( C )。

A.定义数组时必须将每维的大小都明确指出

B.二维数组是指该数组的维数为2

C.数组的维数可以使用常量表达式

D.数组元素个数等于该数组的各维大小的乘积

18.下列关于数组下标的描述中,错误的是( B )。

A.C++语言中数组元素的下标是从0开始的

B.数组元素下标是一个整常型表达式

C.数组元素可以用下标来表示

D.数组元素的某维下标值应小于该维的大小值

19.下列关于初始值表的描述中,错误的是( C )。

A.数组可以使用初始值表进行初始化

B.初始值表是用一对花括号括起的若干个数据项组成的

C.初始值表中数据项的个数必须与该数组的元素个数相等

D.使用初始值表给数组初始化时,没有被初始化的元素都具有默认值

20.下列关于字符数组的描述中,错误的是( D )。

A.字符数组中的每一个元素都是字符

B.字符数组可以使用初始值表进行初始化

C.字符数组可以存放字符串

D.字符数组就是字符串

21.下列关于字符串的描述中,错误的是( C )。

A.一维字符数组可以存放一个字符串

B.二维字符数组可以存放多个字符串

C.可以使用一个字符串给二维字符数组赋值

D.可以用一个字符串给二维字符数组初始化

22.已知:int a[5] = {1, 2, 3, 4}; 下列数组元素值为2的数组元素是( B )。A.a[0] B.a[1] C.a[2] D.a[3]

23.已知:int ab[ ][3] = {{1, 5, 6}, {3}, {0,2}}; 数组元素ab[1][1]的值为( A )。

A.0 B.1 C.2 D.3

24.已知:char s[ ]="abcd";输出显示字符'c'的表达式是( C )。

A.s B.s+2 C.s[2] D.s[3]

25.已知:char ss[ ][6]={"while", "for", "else", "break"};输出显示"reak"字符串的表达式是( B )。

A.ss[3] B.ss[3]+1 C.ss+3 D.ss[3][1]

1.下列关于语句的描述中,错误的是( A )。

A.C++程序中的函数是由若干条语句组成的

B.每条语句都要实现某种操作

C.条件语句是用来实现分支操作的

D.循环语句是用来在一定条件下重复执行某段程序的

2.下列关于条件语句的描述中,错误的是( C )。

A.if语句中最多只能有一个else子句

B.if语句的if体内可以出现开关语句

C.if语句中else if子句和else子句的顺序是没有限制的

D.if语句中else子句是与它最近的if子句配对的

3.下列关于开关语句的描述中,错误的是( B )。

A.开关语句中,case子句的个数是不受限制的

B.开关语句中,case子句的语句序列中一定要有break语句

C.开关语句中,default子句可以省略

D.开关语句中,右花括号具有退出开关语句的功能

4.下列关于循环语句的描述中,错误的是( A )。

A.while循环语句中<条件>给定的表达式不能为非0的常量,否则便是死循环

B.for循环语句的循环体内可以出现while循环语句、do-while循环语句和for 循环语句

C.循环语句的循环体可以是空语句

D.循环语句的循环体内可以出现break语句,也可以出现continue语句5.已知:int i(3);下列do-while循环语句的循环次数是( D )。

do{

cout<

i--;

}while(i!=0);

A.0 B.3 C.1 D.无限

6.下列for循环语句的循环次数是( B )。

for(int i(0), j(5); i=3; i++, j--);

A.3 B.无限 C.5 D.0

7.下列while循环语句的循环次数是( A )。

while(int i(0)) i--;

A.0 B.1 C.2 D.无限

8.下列程序段执行后,j值是( B )。

for(int i(0), j(0); i<10; i++)

if(i) j++;

A.0 B.9 C.10 D.无限

9.已知:typedef char CH;下列描述中,正确的是( A )。

A.使用CH定义的变量是char型变量

B.使用CH定义的是一个字符常量

C.使用CH定义的变量其类型不确定

D.使用CH定义的是一个字符串

10.下列关于预处理命令的描述中,错误的是( D )。

A.预处理命令最左边的标识符是#

B.预处理命令是在编译前处理的

C.宏定义命令可以定义符号常量

D.文件包含命令只能包含.h文件

1.下列关于定义一个指向double型变量的指针,正确的是( B )。A.int a(5);double *pd=a; B.double d(2.5),*pd=&d;

C.double d(2.5),*pd=d; D.double a(2.5),pd=d;

2.下列关于创建一个int型变量的引用,正确的是( A )。

A.int a(3),&ra=a; B.int a(3),&ra=&a;

C.double d(3.1);int &rd=d; D.int a(3),ra=a;

3.下列关于指针概念的描述中,错误的是( B )。

A.指针中存放的是某变量或对象的地址值

B.指针的类型是它所存放的数值的类型

C.指针是变量,它也具有一个内存地址值

D.指针的值(非常量指针)是可以改变的

4.下列关于引用概念的描述中,错误的是( A )。

A.引用是变量,它具有值和地址值

B.引用不可以作数组元素

C.引用是变量的别名

D.创建引用时必须进行初始化

5.已知:int a[5],*p=a;则与++*p相同的是( D )。

A.*++p B.a[0] C.*p++ D.++a[0]

6.已知:int a[ ]={1,2,3,4,5},*p=a;在下列数组元素地址的表示中,正确的是( C )。

A.&(a+1) B.&(p+1) C.&p[2] D.*p++

7.已知:int a[3][4],(*p)[4];下列赋值表达式中,正确的是( A )。

A.p=a+2 B.p=a[1] C.p=*a D.p=*a+2

8.已知:int b[3][5]={0};下列数组元素值的表示中,错误的是( D )。

A.**(b+1) B.(*(b+1))[2] C.*(*(b+1)+1) D.*(b+2)

9.已知:int a=1,b=2,*p[2];下列表达式中正确的是( C )。

A.p=&a B.p=&b C.p[0]=&a,p[1]=&b D.p[ ]={&a,&b};10.已知:int a(5),&ra=a;下列描述中,错误的是( D )。

A.ra是变量a的引用,即为变量的别名

B.ra的值为5

C.ra的地址值为&a

D.改变ra的值为10,变量a值仍为5

1.当一个函数没有返回值时,该函数类型应说明为( A )。

A.void B.int C.无 D.任意

2.下列关于设置函数默认的参数值的描述中,错误的是( C )。

A.可对函数的部分参数或全部参数设置默认值

B.在有函数说明时,默认值应设置在函数说明时,而不是定义时

C.设置函数默认参数值时,只可用常量不可用含有变量的表达式

D.设置函数参数默认值应从右向左设置

3.下列关于被调用函数中return语句的描述中,错误的是( D )。A.一个函数中可以有多条return语句

B.return语句具有返回程序控制权的作用

C.函数通过return语句返回值时仅有一个

D.一个函数中有且仅有一条return语句

4.函数返回值的类型是由( B )决定的。

A.调用该函数的调用函数的类型

B.定义该函数时所指定的类型

C.return语句中表达式的类型

D.接收函数返回值的变量或对象的类型

5.下列设置函数参数默认值的说明语句中,错误的是( C )。

A.int fun(int x , int y=10); B.int fun(int x=5, int =10);

C.int fun(int x=5, int y); D.int fun(int x , int y=a+b);

(其中,a和b是已定义过具有有效值的变量)

6.下列选择重载函数的不同实现的判断条件中,错误的是( D )。

A.参数类型不同 B.参数个数不同

C.参数顺序不同 D.函数返回值不同

7.已知:int fun (int &a),m=10;下列调用fum()函数的语句中,正确的是( C )。

A.fun(&m); B.fun (m*2); C.fun (m); D.fun (m++);

8.在函数的引用调用中,函数的实参和形参分别应是( C )。

A.变量值和变量 B.地址值和指针

C.变量名和引用 D.地址值和引用

9.在函数的传址调用中,函数的实参和形参分别应是( B )。

A.变量值和变量 B.地址值和指针

C.变量名和引用 D.地址值和引用

10.说明一个内联函数时,应加关键字是( A )。

A.inline B.static C.void D.extern

1、 C++对C语言作了很多改进,下列描述中(D )使得C语言发生了质变,从面向过程变成了面向对象。

A、增加了一些新的运算符;

B、允许函数重载,并允许设置缺省参数;

C、规定函数说明必须用原型;

D、引进了类和对象的概念;

2、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是(A )。

A.类

B.对象

C.函数体

D.数据块

3、关于new运算符的下列描述中,(D )是错误的。

A、它可以用来动态创建对象和对象数组;

B、使用它创建的对象或对象数组可以使用运算符delete删除;

C、使用它创建对象时要调用构造函数;

D、使用它创建对象数组时必须指定初始值;

4、(D )不是构造函数的特征。

A、构造函数的函数名与类名相同;

B、构造函数可以重载;

C、构造函数可以设置缺省参数;

D、构造函数必须指定类型说明。

5、假定一个类的构造函数为B(int x,int y){a=x--;b=a*y--;},则执行B x(3,5); 语句后,x.a和x.b的值分别为( C)

A、 3和5

B、 5和3

C、 3和15

D、20和5

6、关于成员函数特征的下列描述中,(A )是错误的。

A、成员函数一定是内联函数;

B、成员函数可以重载;

C、成员函数可以设置缺省参数值;

D、成员函数可以是静态的;

7、在公有继承的情况下,基类成员在派生类中的访问权限(B )。

A.受限制

B.保持不变

C.受保护

D.不受保护

8、友元的作用是(D)。

A、提高程序的运用效率;

B、加强类的封装性;

C、实现数据的隐藏性;

D、增加成员函数的种类;

9、在C++中,关于下列设置缺省参数值的描述中,(B)是正确的。

A、不允许设置缺省参数值;

B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;

C、只能在函数的定义性声明中指定参数的缺省值;

D、设置缺省参数值时,必须全部都设置;

10、关于delete运算符的下列描述中,(B)是错误的。

A、它必须用于new返回的指针;

B、使用它删除对象时要调用析构函数;

C、对一个指针可以使用多次该运算符;

D、指针名前只有一对方括号符号,不管所删除数组的维数。

11、const int *p说明不能修改(B)。

A、p指针;

B、p指针指向的变量;

C、p指针指向的数据类型;

D、上述A、B、C三者;

12、当需要打开A盘上的以xxk.dat文件用于输入时,则定义文件流对象的语句为 ( A)。

A.fstream fin(“A:xxk.dat”,1) B.ifstream fin(“A:xxk.dat”,ios::nocreate)

C.ofstream fin(“A:xxk.dat”) D.ifstream fin(“A:xxk.dat”,ios::app)

13、派生类的对象对它的基类成员中(A )是可以访问的。

A、公有继承的公有成员;

B、公有继承的私有成员;

C、公有继承的保护成员;

D、私有继承的公有成员;

14、假定一个字符串的长度为n,则定义存储该字符串的字符数组的长度至少为(C)。A.n-1 B.n C. n+1 D.n+2

15、在int a=3; *p=&a;中,*p的值是(D )。

A、变量a的地址值

B、无意义

C、变量p的地址值

D、 3

16、下列常量中,( D)不是字符常量。

A、’\005’

B、’\n’

C、’c’

D、“a”

1.由C++目标文件连接而成的可执行文件的缺省扩展名为 B 。

A. cpp B. exe C. obj D. lik

2.在下面的一维数组定义中,哪一个有语法错误。 C

A. int a[ ]={1,2,3}

B. int a[10]={0}

C. int a[ ]

D. int a[5]

3.在下面的函数声明中,存在着语法错误的是 D 。

A. void BC(int a , int)

B. void BD(int , int)

C. void BE(int , int=5)

D. int BF(int x ; int y)

4. 假定AB为一个类,则该类的拷贝构造函数的声明语句为 C 。

A. AB &(AB x) B. AB(AB x)

C. AB(AB &) D. AB(AB * x)

5.对于结构中定义的成员,其隐含访问权限为 A 。

A. public B. protected

C. private D. static

6.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 D 。

A. ios::in B. ios::out

C. ios::int | ios::out D. 没有

1、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为 A 。

A. main

B. MAIN

C. name

D. function

2、设x和y均为bool量,则x&&y为真的条件是 A 。

A. 它们均为真

B. 其中一个为真

C. 它们均为假

D. 其中一个为假

3、下面的哪个保留字不能作为函数的返回类型? C 。

A. void

B. int

C. new

D. long

4、假定a为一个整型数组名,则元素a[4]的字节地址为 C 。

A. a+4

B. a+8

C. a+16

D. a+32

5、假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为 B 。

A. 3

B. 4

C. 6

D. 9

6、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为: B 。

A. AB operator+(AB & a , AB & b)

B. AB operator+(AB & a)

C. operator+(AB a)

D. AB & operator+( )

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

c语言循环语句和循环控制例题解析

一、循环控制 (一)、break语句 break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。 例如: int main(int argc, char *argv[]) { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) break; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } printf(%d\n,sn); } 可以看出,最终的结果是1+2+……+50。因为在i等于51的时候,就跳出循环了。自己写写怎样在while和do--while循环中增加break语句。 注意: 1. break语句对if-else的条件语句不起作用。 2. 在多层循环中,一个break语句只向外跳一层。 例如: int main(int argc, char *argv[]) { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==2) break; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 1 1 0 1 1 当i==0,j==2时,执行break语句,跳出到外层的循环,i变为1。 (二)、continue语句

c语言:流程控制语句

流程控制 ======= 知识点: if-else语句使用 switch语句使用 break使用 正常情况下,程序从main函数开始,一句一句,自上而下执行每一条语句。 一些语句可以控制,修改程序的运行流程,称为流程控制语句。 一、条件判断语句if if(表达式){ 语句 } 如果……就…… 【逻辑】当程序执行到if语句,首先计算表达式的值,如果为真,执行语句。如果为假,不执行、跳过语句。 【逻辑假设】 if(表达式){ 语句1 }else{ 语句2 } 如果……就……否则…… 【逻辑】当程序执行到if else语句,首先计算表达式的值,如果为真,执行语句1,不执行语句2。 如果为假,执行语句2,不执行语句1。 【逻辑二择】 例,明天考试,80分以下把代码抄写五遍,80分以上奖励棒棒糖一枚。 if(表达式1){ 语句1 }else if(表达式2){ 语句2 }else if(表达式3){ 语句3 } else{ 语句4 } 如果(表达式1成立),那么执行语句1 否则如果(表达式2成立),那么执行语句2 …… 否则,执行语句4。

【逻辑】当程序执行到该结构,计算机表达式1,如果成立,执行语句1,跳出整个结构。如果表达式2为假,计算表达式2,如果为真,执行语句2,跳出结构体。直到表达式2为假,计算表达式3,依次类推,如果表达式都不成立,执行else下的语句。 如果不需要(即所有表达式都不成立,什么都不做),可以不写else。else if的数量根据需求,任意增减,没有限制。 【注】在if else if结构中,每个else都是对前面每个表达式的否定。 【逻辑多择】 嵌套的if-else语句 我们可以在if语句内嵌套if语句,同样,我们也可以在if语句内嵌套if-else语句,在if-else 语句内嵌套if语句,以及在if-else语句内嵌套if-else语句。 int x; scanf(“%d”,&x); if(x<0){ printf(“error!\n”); }else{ if(x%2) printf(“jishu\n”); else printf(“oushu\n”); } 练习 1、使用if else if,模拟下述分段函数。 x^2+1(x<0) y= 2*x+6 (0<=x<=5) 3*x-1 (x>5) 2、输入一个字符,如果是大写字母,转成小写字母。如果是小写字母,转成大写字母,如果不是字母,不变输出。 3、输入一个字符,判断这个字符是表示大写字母,小写字母,数字字符,还是其他。A a 9 % 二、逻辑跳转语句goto switch 1、goto语句 无条件跳转到指定标号的位置,向下执行。 goto 语句标号 printf(“————————1\n”); printf(“————————2\n”); goto A; //跳转到标号的位置 printf(“————————3\n”); printf(“————————4\n”); //标号的名字是标识符,这里使用大写是为了和变量相回避。 A: //这是一个标号,是一个位置的标记,本身是什么都不做。 printf(“————————5\n”); B:

C语言 个关键字九种控制语句 种运算符

总结归纳了C语言的32个关键字 第一个关键字:auto 用来声明自动变量。可以显式的声明变量为自动变量。只要不是声明在所有函数之前的变量,即使没加auto关键字,也默认为自动变量。并且只在声明它的函数内有效。而且当使用完毕后,它的值会自动还原为最初所赋的值。自动变量使用时要先赋值,因为其中包含的是未知的值。 例:auto int name=1; 第二个关键字:static 用来声明静态变量。可以显式的声明变量为静态变量。也为局部变量。只在声明它的函数内有效。它的生命周期从程序开始起一直到程序结束。而且即使使用完毕后,它的值仍旧不还原。即使没有给静态变量赋值,它也会自动初始化为0. 例:static int name=1. 第三个关键字:extern 用来声明全局变量。同时声明在main函数之前的变量也叫全局变量。它可以在程序的任何地方使用。程序运行期间它是一直存在的。全局变量也会初始化为0. 例:extern int name; 第四个关键字:register 用来声明为寄存器变量。也为局部变量,只在声明它的函数内有效。它是保存在寄存器之中的。速度要快很多。对于需要频繁使用的变量使用它来声明会提高程序运行速度。 例:register int name=1; 第五个关键字:int 用来声明变量的类型。int为整型。注意在16位和32位系统中它的范围是不同的。16位中占用2个字节。32位中占用4个字节。还可以显式的声明为无符号或有符号: unsigned int或signed int .有符号和无符号的区别就是把符号位也当作数字位来存储。也可用short和long来声明为短整型,或长整行。 例:int num; 第六个关键字:float 用来声明变量的类型。float为浮点型,也叫实型。它的范围固定为4个字节。其中6位为小数位。其他为整数位。 例:float name;

C语言中流程控制语句

C语言中流程控制语句(在Turbo C2.0中) (if, while,do-while,continue,break, for, switch,return) _1981/blog/item/528c122dcca9f335359bf73e.html 条件语句的一般形式为: if(表达式) 语句1; else 语句2; 上述结构表示: 如果表达式的值为非0(TURE)即真, 则执行语句1, 执行完语句1从语句2后开始继续向下执行; 如果表达式的值为0(FALSE)即假, 则跳过语句1而执行语句2。 注意: 1. 条件执行语句中"else 语句2;"部分是选择项, 可以缺省, 此时条件语句变成: if(表达式) 语句1; 表示若表达式的值为非0则执行语句1 , 否则跳过语句1继续执行。 2. 如果语句1或语句2有多于一条语句要执行时, 必须使用"{"和"}" 把这些语句包括在其中, 此时条件语句形式为: if(表达式) { 语句体1; } else { 语句体2; } 3. 条件语句可以嵌套, 这种情况经常碰到, 但条件嵌套语句容易出错, 其原因主要是不知道哪个if对应哪else。 例如: if(x>20||x<-10) if(y<=100&&y>x) printf("Good"); else printf("Bad"); 对于上述情况, Turbo C2.0规定: else语句与最近的一个if语句匹配, 上例中的else与if(y<=100&&y>x)相匹配。为了使else与if(x>20||x<-10)相匹配, 必须用花括号。如下所示: if(x>20||x<-10) { if(y<=100&&y>x) printf("Good"); } else printf("Bad"); 4. 可用阶梯式if-else-if结构。 阶梯式结构的一般形式为: if(表达式1)

c语言设计基础

#include void main() { int k,t,i,a[7]; for(i=0; i<7; i++) /*输入7个整型数据,存入数组a*/ scanf("%d", &a[i]); for(k=0; k<7; k++) printf("%4d", a[k]); /*输出原数组中的元素*/ printf("\n"); i=7; for(k=0; k<=i/2-1; k++) /*逆序存储*/ { t=a[k]; a[k]=a[i-1-k]; a[i-1-k]=t; } for(k=0; k<7; k++) /*输出数组*/ printf("%4d", a[k]); printf("\n"); } 一.选择题(每题2分,共15题,计30分) 1.下列关于C语言用户标识符的叙述中正确的是() A.用户标识符中可以出现下划线和中划线(减号) B.用户标识符中不可以出现中划线或空格符,但是可以出现下划线 C.用户标识符中可以出现下划线,但是不可以放在用户标识符的开头 D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头2.在C语言中,不正确的int类型的常数是() A.32768 B.0 C.037 D.0xAF 3.字符串”ABC”在内存中占用的字节数是() A.3 B.4 C.6 D.8 4.运行以下程序,输出是() main( ) { int k=-3; if(k<=0) printf("****\n"); else printf("&&&&\n"); } A.**** B.&&&& C.####&&&& D.有语法错误不能通过编译5.以下程序段的输出结果是() int i,j,m=0; for(i=1;i<=15;i+=4) for(j=3;j<=19;j+=4) m++; printf("%d\n",m); A.12 B.15 C.20 D.25

程序设计基础教程(c语言版)课后答案

z 习题解答

目录 1.2 习题解答 (3) 1.2.1 选择题 (3) 1.2.2 填空题 (3) 1.2.3 编程题 (4) 2.2 习题解答 (5) 2.2.1 选择题 (5) 2.2.2 填空题 (7) 2.2.3 编程题 (8) 3.2 习题解答 (11) 3.2.1 选择题 (11) 3.2.2 填空题 (12) 3.2.3 编程题 (12) 4.2 习题解答 (15) 4.2.1 选择题 (15) 4.2.2 填空题 (17) 4.2.3 编程题 (18) 5.2 习题解答 (29) 5.2.1 选择题 (29) 5.2.2 填空题 (31) 5.2.3 编程题 (33) 6.2 习题解答 (37) 6.2.1 选择题 (37) 6.2.2 填空题 (41) 6.2.3 编程题 (43) 7.2 习题解答 (67) 7.2.1 选择题 (67) 7.2.2 填空题 (68) 7.2.3 编程题 (68) 2

1.2 习题解答 1.2.1 选择题 1、B 【分析】在一个C程序中必须有且只能有一个main函数,而且main函数可以在任何地方出现. 2、C 【分析】C 语言中合法以的标识符组成为:字母,数字,下划线,且数字不能打头,亦不能为关键字。A中,-sub 不合法。B 中4d不合法。D 中void 为关键字。 3、 【分析】 4、C 【分析】转义字符中,第一个\”输出“,第二\\输出\,第三个\b退格,把前一个\去掉了,第四个\?输出?,第五个\t跳格,第六个\”输出”,第七个\n输出换行。 5、C 【分析】本题将10进制17,分别按8、16进制输出。8的进制21=2*8+1*1=17(10, 16制11=1*16+1*1=17(10) 1.2.2 填空题 1、主 【分析】一个C源程序中至少包括一个主函数,其他函数没有限制。 2、双引号。 【分析】两种写法都是允许的,使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找.使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。用户编程时可根据自己文件所在的目录来选择某一种命令形式。 3、261,b1 【分析】将10进制的177,按8进制和16进制两种形式输出。 4、a=3 b=7 x=8.5 y=71.82 c1=A c2=a 【分析】scanf函数中,格式说明符以外的原样输入。 5、printf函数中,格式说明符以外的原样输出。%m.nf控制输出结果中共m位,小数

C语言程序设计基础教程习题答案

习题答案 第1章 1.1 填空题 1.1.1 应用程序ONEFUNC.C中只有一个函数,这个函数的名称是__main 。 1.1.2 一个函数由__函数头__和__函数体__两部分组成。 1.1.3 在C语言中,输入操作是由库函数__scanf 完成的,输出操作是由库函数_printf_完 成的。 1.1.4 通过文字编辑建立的源程序文件的扩展名是_.c__;编译后生成目标程序文件,扩展 名是__.obj__;连接后生成可执行程序文件,扩展名是_.exe_;运行得到结果。 1.1.5 C语言程序的基本单位或者模块是__函数__。 1.1.6 C语言程序的语句结束符是_;___。 1.1.7 编写一个C程序,上机运行要经过的步骤:______________________________。 1.1.8 在一个C语言源程序中,注释部分两侧的分界符分别为_/*__和__*/__。 1.1.9 C语言中的标识符只能由三种字符组成,它们是字母、数字和下划线。 且第一个字符必须为字母或下划线。 1.1.10 C语言中的标识符可分为关键字、预定义标识符和用户标识符3类。 1.2 选择题 1.2.1 一个C程序的执行是从( A )。 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 1.2.2 以下叙述不正确的是(C)。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C) 在C程序中,注释说明只能位于一条语句的后面 D) C程序的基本组成单位是函数 1.2.3 C语言规定:在一个源程序中,main函数的位置( C )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 1.2.4 C编译程序是(A)。 A)将C源程序编译成目标程序的程序 B)一组机器语言指令 C) 将C源程序编译成应用软件 D) C程序的机器语言版本 1.2.5 要把高级语言编写的源程序转换为目标程序,需要使用(D)。 A) 编辑程序B) 驱动程序C) 诊断程序D) 编译程序 1.2.6 以下叙述中正确的是(C)。 A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D) C语言出现的最晚,具有其他语言的一切优点 1.2.7 以下叙述中正确的是(A)。 A) C程序中注释部分可以出现在程序中任意合适的地方 B) 花括号“{”和“}”只能作为函数体的定界符 C) 构成C程序的基本单位是函数,所有函数名都可以由用户命名 D) 分号是C语句之间的分隔符,不是语句的一部分 1.2.8 以下叙述中正确的是(B)。

c语言中常见的7种条件编译语句

C语言中常见7中条件编译语句 网址出处:https://www.sodocs.net/doc/c610420490.html,/huangyiyun/article/details/4364964; https://www.sodocs.net/doc/c610420490.html,/language/20090806/66164.html

预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。 在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行响应的转换。预处理过程还会删除程序中的注释和多余的空白字符。 预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。下面是部分预处理指令: 指令用途 #空指令,无任何效果 #include包含一个源代码文件 #define定义宏 #undef取消已定义的宏 #if如果给定条件为真,则编译下面代码 #ifdef如果宏已经定义,则编译下面代码 #ifndef如果宏没有定义,则编译下面代码 #elif如果前面的#i f给定条件不为真,当前条件为真,则编译下面代码 #endif结束一个#if……#else条件编译块 #error停止编译并显示错误信息 一、文件包含 #include预处理指令的作用是在指令处展开被包含的文件。包含可以是多重的,也就是说一个被包含的文件中还可以包含其他文件。标准C编译器至少支持八重嵌套包含。 预处理过程不检查在转换单元中是否已经包含了某个文件并阻止对它的多次包含。这样就可以在多次包含同一个头文件时,通过给定编译时的条件来达到不同的效果。例如: #defineAAA #include"t.c" #undefAAA #include"t.c" 为了避免那些只能包含一次的头文件被多次包含,可以在头文件中用编译时条件来进行控制。例如: /*my.h*/ #ifndefMY_H #defineMY_H …… #endif 在程序中包含头文件有两种格式:

C语言源程序

C语言程序设计 <一> 1、程序运行从main()函数开始,也从main()函数结束。 2、函数是C程序的基本单位,由函数头和函数体组成。 3、C语言源程序是由函数组成,它们的数目可以有多个。 4、在C语言源程序中,是必须有一个函数名为main的函数。main()后的小括号()没有任何内容,它不可以省略。 5、C程序中的语句用分号结束,在一个程序行上可以有多个语句,一个C 语句能写在多个程序行上。 6、函数体是由一对大括号围起来语句序列组成。小括号是函数的标志。 二、C语言的组成元素 1、命令、函数和变量等是组成程序的基本对象,每一个程序对象都需要一个名字来标识,程序对象的名称就是标识符。 2、在C语言中,标识符分为用户标识符和系统标识符。 3、用户标识符是指在程序中由程序员为变量、函数、数组等程序对象自行命名的标识符。 4、系统标识符是指C语言编译系统内部预定义的用于表示命令数据内型的标识符,又称保留字符。 5、基本字符集 英文字母:a~z和A~Z。 阿拉伯数字:0~9。其他字符:()、[]、+、-、*、/、%、<、>、<=、>=、==、!=、!、&&、‖、++、--、+=、-=、*=、/=、%=。它们是由1~2个字符组成。用作C语言的运算符;还包括:空格、换行符,回车符,单双引号,大括号,逗号,分号,反斜线,它们在程序中起到分隔和定界作用。 6、标识符:是用于标识命令;变量、函数,数组,数据类型等程序对象名称的字符序列。 7、组成标识符的合法字符有:字母,数字,下划线,三种,数字不能作首字符。 三、执行C语言程序 1、单击“开始”——“程序”——“附件”——“命令提示符”。 2、按功能键<10>激活菜单,执行“File”——“NEW”(ALT+回车)全屏。 3、为保存,输入程序文件名。 4、+运行 有输入:等待输入→回车 通过 无输入:返回到编辑 未通过:回车→F6→修改 F3(打开)

C语言的32个关键字和9种控制语句

C语言的32个关键字和9种控制语句 C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int:声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明共用体(联合)数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) 2控制语句关键字(12个): A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D返回语句 return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)

C语言 程序设计基础试题一及答案

《程序设计基础》考试试卷一 班级姓名学号____________ 一、选择题(20分) 1.算法具有五个特性,以下选项中不属于算法特性的是 (A)有穷性(B)简洁性(C)可行性(D)确定性 2.以下选项中可作为C语言合法常量的是 (A)-80. (B)-080 (C) (D) 3.以下叙述中正确的是 (A)用C语言实现的算法必须要有输入和输出操作 (B)用C语言实现的算法可以没有输出但必须要有输入 (C)用C程序实现的算法可以没有输入但必须要有输出 (D)用C程序实现的算法可以既没有输入也没有输出 4.以下不能定义为用户标识符是 (A)Main (B) _0 (C) _int (D) sizeof 5.以下选项中,不能作为合法常量的是 (A) (B) (C)+4 (D) 6.数字字符0的ASCII值为48,若有以下程序 main() {char a='1',b='2'; printf("%c,",b++); printf("%d\n",b-a);} 程序运行后的输出结果是 (A)3,2 (B)50,2 (C)2,2 (D)2,50 7.有以下程序 main(){

int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运行后的输出结果是 (A) (B) (C) (D) 8.有以下语句:int b;char c[10];,则正确的输入语句是 A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c); (C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c); 9.有以下程序 main(){ int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是 A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 10.有以下程序 main(){ int a,b,d=25; a=d/10%9;b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是 A)6,1 B)2,1 C)6,0 D)2,0 11.有以下程序 main(){ int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是 (A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 3 12.若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a

c语言循环控制语句

循环控制结构(又称重复结构)是程序中的另一个基本结构.在实际问题中,常常需要 进行大量的重复处理,循环结构可以使我们只写很少的语句,而让计算机反复执行,从而完成大量类同的计算. C语言提供了while语句、do...while语句和for语句实现循环结构. 3.4.1while语句 while语句是当型循环控制语句,一般形式为: while<表达式>语句; 语句部分称为循环体,当需要执行多条语句时,应使用复合语句. while语句的流程图见图3-8,其特点是先判断,后执行,若条件不成立,有可能一次也不执行. [例3-11]求n! 分析:n!=n*(n-1)*(n-2)*..2*1,0!=1.即S0=1,Sn=Sn-1*n.可以从S0开始,依次求出S1、S2、...Sn. 统一令S等于阶乘值,S的初值为0!=1;变量i为计数器,i从1变到n,每一步令S=S*i,则最终S中的值就是n!. 流程图见图3-9,程序如下:

考察图3-9中循环部分的流程图可以看出,在循环前各变量应有合适的值(s=1),另外,控制循环结束的变量(此处为i)必须在循环体中被改变,否则,循环将无限进行下去,成为死循环.

本题中,将多项式的每一项用t表示,s代表符号,在每一次循环中,只要改变s、n的值,

就可求出每一项t. 一般情况下,while型循环最适合于这种情况:知道控制循环的条件为某个逻辑表达式的值,而且该表达式的值会在循环中被改变,如同例3-12的情况一样. 3.4.2do...while语句 在C语句中,直到型循环的语句是do...while,它的一般形式为: do语句while<表达式> 其中语句通常为复合语句,称为循环体. do...while语句的流程图见图3-10,其基本特点是:先执行后判断,因此,循环体至少被执行一次. 但需要注意的是,do...while与标准的直到型循环有一个极为重要的区别,直到型循环是当条件为真时结束循环,而do...while语句恰恰相反,当条件为真时循环,一旦条件为假,立即结束循环,请注意do...while语句的这一特点. 例[3-13]计算sin(x)=x-x3/3!+x5/5!-x7/7!+... 直到最后一项的绝对值小于1e-7时为止. 分析:这道题使用递推方法来做. 让多项式的每一项与一个变量n对应,n的值依次为1,3,5,7,...,从多项式的前一项算后一项,只需将前一项乘一个因子: (-x2)/((n-1)*n) 用s表示多项式的值,用t表示每一项的值,程序如下: #include # include m a i n ( ) { double s,t,x ; int n ; printf("please input x :"); scanf("%lf",&x); t=x; n=1; s=x; do { n=n+2; t=t*(-x*x)/((float)(n)-1)/(float)(n); s=s+t;

C语言程序的流程控制

第3章C语言程序的流程控制 利用计算机进行程序设计时,不仅仅只处理一些简单的数据,在大部分的程序设计里处理的问题还是相当复杂的。对于那些复杂的程序设计,读者不可能直接就能写出程序的源代码,而是要通过一些具体的设计方法(如用程序流程图)把程序设计思想先写出来,然后根据程序流程图编写代码。本章将具体介绍进行程序设计时使用的基本方法和C程序的流程控制。 3.1程序设计的基本知识 3.1.1程序流程图 在描述一个程序的基本结构思想时有很多种方法,其中程序流程图是最常用也是最基本的方法。 1.传统程序流程图 传统流程图表示法的特点是用一些图框表示各种类型的操作,用线表示这些操作的执行顺序。美国国家标准化协会ANSI规定了一些常用的流程图符号,现已为世界各国普遍采用。我国也有自己的国家标准GB 1526-89与该标准基本相同,本书就参照

ANSI标准做具体介绍。标准中各种图示如图所示。 起止框输入输出框判断框处理框 或 流程线连接点注释框 图传统流程图表示法 下面对其中一些主要符号作简要说明: (1)起止框是用来标识程序的开始和结束位置的。规定流程图以起止框开始,以起止框结束。 (2)输入输出框也叫数据框,其中可以注明数据名称、来源、用途或其它的文字说明。 (3)菱形框的作用是对一个给定的条件进行判断,根据给定的条件是否成立来决定如何执行其后的操作。 (4)处理框用矩形表示各种处理功能。例如,执行一个或一组特定的操作,从而使信息的值、信息的形式或所在位置发生变化。另外在矩形框内可注明特定处理名称或其简要功能。 (5)流程线用带箭头的直线表示程序

的执行顺序。当流程自左向右或自上向下时流程线可以不带箭头,其它情况应加箭头表示流程。 (6)连接点用小圆圈表示将画在不同地方的流程线连接起来。下图中有两个以①为标志的连接点,它表示这两个点是互联在一起的,实际它们是同一个点。这种连接通常用在图形画不下而需要分开画时。 ① ① (7)注释框不是流程图的必要部分,其不反映流程操作,只是为了流程图中某些操作做解释补充的,以帮助阅读流程图的人更好的理解流程图的作用。 2.N-S流程图 灵活的流程线在程序设计中有它自己的优点,但也隐藏着许多导致错误的祸根。因为它允许用流程线使流程任意转移,这对程序设计是一个隐患,它使程序流程看起来很乱,使程序难以理解和维护。针对这一弊病,1973年美国学者I . Nassi和B . Shneiderman 提出了一种无流程线的流程图,称为N-S图。

C语言程序设计(第3章程序控制语句)4

C语言程序设计(第3章程序控制语句)4 3.4 循环控制语句 3.4.1 while语句 3.4.2 do... while 语句 3.4.3 for 语句 3.4.4 break与continue语句 3.4.5 程序应用举例 3.4 循环控制语句 循环控制结构(又称重复结构)是程序中的另一个基本结构。在实际问题中,常常需要进行大量的重复处理,循环结构可以使我们只写很少的语句,而让计算机反复执行,从而完成大量类同的计算。 C语言提供了while语句、do . . . while语句和for语句实现循环结构。 3.4.1 while语句 while语句是当型循环控制语句,一般形式为: while 语句; 语句部分称为循环体,当需要执行多条语句时,应使用复合语句。 while语句的流程图见图3 - 8,其特点是先判断,后执行,若条件不成立,有可能一次也不执行。 [例3 - 11] 求n! 分析: n!= n* (n - 1)*(n - 2)* .. 2*1, 0 ! = 1。即S0= 1,Sn= Sn - 1* n。可以从S0开始,依次 求出S1、S2、. . . Sn。 统一令S等于阶乘值, S的初值为0!= 1;变量i为计数器, i从1变到n,每一步令S = S * i,则最终S中的值就是n!。 程序如下: main( )

{ int n,i; long int s; printf(" please input n (n>=0) :"); scanf("%d" , &n); if (n>=0) { s = 1 ; if (n>0) { i = 1 ; while (i<=n) { s * = i ; i = i + 1 ; } } printf("%d! = %ld \n",n,s); } else printf("Invalid input! \n"); } 运行结果如下: please input n(n>=0): 0 0!= 1 please input n(n>=0): 6 6!= 720 please input n(n>=0): - 2 Invalid input! 考察图3- 9中循环部分的流程图可以看出,在循环前各变量应有合适的值( s = 1 ),

c语言32个关键字和9种控制语句和34个运算符集合

一、C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int:声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明共用体(联合)数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) 2控制语句关键字(12个): A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件

(4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D返回语句 return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) (3)register:声明积存器变量 (4)static :声明静态变量 4 其它关键字(4个): (1)const :声明只读变量 (2)sizeof:计算数据类型长度

C语言32个关键字9个控制语句

由ANSI标准定义的C语言关键字共32个: auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static 根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类。 1数据类型关键字 A基本数据类型(5个) void:声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果char:字符型类型数据,属于整型数据的一种 int:整型数据,通常为编译器指定的机器字长 float:单精度浮点型数据,属于浮点数据的一种 double:双精度浮点型数据,属于浮点数据的一种 B类型修饰关键字(4个) short:修饰int,短整型数据,可省略被修饰的int。 long:修饰int,长整形数据,可省略被修饰的int。 signed:修饰整型数据,有符号数据类型 unsigned:修饰整型数据,无符号数据类型 C复杂类型关键字(5个) struct:结构体声明 union:共用体声明 enum:枚举声明 typedef:声明类型别名 sizeof:得到特定类型或特定类型变量的大小 D存储级别关键字(6个) auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配 static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部 register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数 extern:指定对应变量为外部变量,即在另外的目标文件中定义,可以认为是约定由另外文件声明的韵蟮囊桓觥耙谩? const:与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变)

C语言控制语句关键字运算符

9种控制语句: goto语句:无条件转向; if语句:判断语句; while循环语句; do-while语句:先执行循环体,然后判断循环条件是否成立. 之后继续循环; for语句:循环,可替代while语句; 只是用法不同; break语句跳出本层的循环;(只调处包含此语句的循环) continue语句:继续(一般放到循环语句里,不在执行它下面的语句,直接跳到判断语句例:for语句,就直接跳到第二个分号处,while语句,就直接跳到while()的括号里; switch语句:多相选择; return语句:返回; 32个关键字: auto :声明自动变量一般不使用 double :声明双精度变量或函数 int:声明整型变量或函数 struct:声明结构体变量或函数 break:跳出当前循环 else :条件语句否定分支(与if 连用) long :声明长整型变量或函数 switch :用于开关语句 case:开关语句分支 enum :声明枚举类型 register:声明积存器变量 typedef:用以给数据类型取别名(当然还有其他作用) char :声明字符型变量或函数 extern:声明变量是在其他文件正声明(也可以看做是引用变量) return :子程序返回语句(可以带参数,也看不带参数) union:声明联合数据类型 const :声明只读变量 float:声明浮点型变量或函数 short :声明短整型变量或函数 unsigned:声明无符号类型变量或函数 continue:结束当前循环,开始下一轮循环 for:一种循环语句(可意会不可言传) signed:生命有符号类型变量或函数 void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) default:开关语句中的“其他”分支 goto:无条件跳转语句 sizeof:计算数据类型长度 volatile:说明变量在程序执行中可被隐含地改变 do :循环语句的循环体 while :循环语句的循环条件 static :声明静态变量 if:条件语句

《C语言程序设计》课程教学大纲

《C语言程序设计》课程教学大纲 一、课程教学目的 本课程系统学习 C语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用 C 语言编写软件的能力,为培养学生有较强软件开发能力打下良好基础。 二、课程教学要求 通过本课程的学习,应熟练掌握 C 语言中的基本知识、各种语句及程序控制结构,熟练掌握 C 语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用 C 语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。 三、课时分配 本学科计划学时为246学时,其中理论与实训课时比例为7:3。 四、课程教学重、难点 课程教学重点:掌握C语言变量类型及不同类型常量的表示;标准的输入输出函数的使用;运算符及常用数学函数的使用;控制流程、数组和指针的使用;结构体、链表的构造使用;函数结构、函数参数传递及递归等方面的知识;基本的文件操作。 难点:指针的使用、结构体链表的构造和使用及函数的参数传递。 五、课程教学方法(或手段) 本课程实践性较强,故采用讲授和上机操作相结合的方式进行教学。 六、课程教学内容 第一章 C语言概述 1.教学内容 (1) 编程历史的回顾、程序设计介绍(过程式,面向对象,函数式,逻辑式); (2) C语言的历史背景、特点; (3) C语言源程序的格式和程序结构; (4) C程序的上机步骤。 2.重、难点提示 (1)重点:掌握简单的 C程序格式,包括main()函数、数据说明、函数开始和结束标志等;

(2)难点:编程入门以及对语言的理解。 第二章算法 1.教学内容 (1) 算法的概念及特性;评价算法优劣的方法(时间和空间); (2) 简单算法举例; (3) 算法的表示(自然语言、流程图、N-S流程图); (4) 结构化程序设计的基本思想及基本步骤。 2.重、难点提示 (1)重点:算法流程图三种基本结构(以后各章学习中利用流程图强化对程序的理解); (2)难点:算法概念以及对结构化程序设计思想的理解。 第三章数据类型、运算符与表达式 1.教学内容 (1) 基本数据类型及其常量的表示法(字符和字符串常量),各种数制(八、十、十六进制)的整型数和长整型数,实型数( float和double); (2) 变量的类型说明、初始化及引用; (3) 运算符与表达式: 2.重、难点提示 (1)重点:掌握 C的几种基本数据类型,不同类型数据间的混合运算规则;不同运算符的使用特点,清楚每种运算符的优先级与结合性;各种表达式的含义与使用要点。 (1)难点:不同类型数据间的混合运算;运算符的优先级与结合性。 第四章最简单的 C 程序设计—顺序程序设计 1.教学内容 (1) C程序结构和语句的构成; (2) 顺序结构程序的设计:赋值语句的使用要点; (3) 数据的输入与输出: 2.重、难点提示 (1)重点:顺序结构程序的表达式语句形式;输入/输出函数的表示与调用方法;利用流程图加深对顺序结构程序的理解。 (2)难点:格式输入与输出表示中各种格式字符的表示含义。

相关主题