C语言复习提纲

更新时间:2024-07-11 15:01:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一部分C语言基础

1、 C语言是一个函数式语言,有且仅有一个叫MAIN的主函数,程序从MAIN中开始,在

MAIN中结束。 2、 C语言的特点。

3、 C语言程序运行的方式。

4、 C语言有32个关键字,34种运算符,9种控制语言,三种基本结构。 5、 C语言的数据类型有哪几种,每一种类型的数据范围。 6、 C语言的运算符的使用,优先级,结合律,含义等。 7、 C语言中数据类型的转换规则。 8、 C语言中数据表示形式。 9、 C语言修饰符的含义及使用。 10、 C语言的标识符的组成。 11、 三种基本结构的语句和语法格式。 12、 函数的定义格式。 13、 模块化设计的要求。 14、 C语言程序在内存中运行的情况。 15、 二种程序分析的方法。 16、 实参和形参的关系。 17、 实参向形参传递参数的规则。 18、 变量的属性有哪几种,以及它们在程序中的用途。 19、 C语言库函数的使用。 20、 局部变量和全局变量的定义和作用范围。 21、 数组的定义,含义和理解。 22、 一维数组的定义和引用。 23、 一维数组中常用算法(插入,删除,查询,排序等) 24、 二维数组的理解,元素的引用。 25、 二维数组中的常用算法。 26、 字符串的定义和使用以及注意事项、库函数的使用等。 27、 指针的含义 28、 指针与变量之间的关系 29、 指针与一维数组的关系。 30、 指针与二维数组的关系,特别注意行指针,和列指针以及指向指针的使用。 31、 指针与函数之间的关系,以及返回指针值的函数。 32、 结构体数据类型的定义和数据项元素的引用。 第二部分相关复习题

C语言复习题A

一、单项选择题

1、 C语言提供的合法关键字是_______。

A、AUTO B、include C、unsigned D、dafault 2、 合法的C语言标识符是__________。

A、2a B、sum C、default D、a+b

3、下面四个选项中,不是C语言整型常量的是 。 A、01 B、0x11 C、081 D、-32768

4、下面四个选项中正确的实型常量是 。 A、0x12 B、-12345.e-3 C、Ie0.5 D、e-5

5、若a为整型变量,则下面语句 。 a=-2L;

printf(“%d\\n”,a);

A、赋值不合法 B、输出值为-2

C、输出为不确定值 D、输出值为-2

6、在C语言中,要求参加运算的数必须是整数的运算符是 。 A、/ B、! C、% D、= =

7、字符串“\\\\012\\012”在内存中占用的字节数是 个。 A、4 B、5 C、6 D、7 8、下列说法中,错误的是 。

A、 变量的定义可以放在所有函数之外 B、 变量的定义可以不放在本编译单位中,而放在其他编译单位中 C、 变量的定义可以放在某个函数的函数头中 D、 变量的定义可以放在某个复合语句的开头 9、下列说法中,正确的是 。

A、 自动型变量是分配在内存的数据区的 B、 寄存器型变量是分配在内存的数据区中的 C、 表态型变量是分配在内存的数据区中的

D、 外部参照型变量是分配在内存的数据区中的 10、在C语言中,一个int型数据在内存中占用2个字节,则int型数据的取值范围是 。 A、-128~127 B、-32768~32767 C、0~65536 D、0~2147483647 11、下面不正确的字符串常量的 。 A、’abc’ B、”12’12” C、”0” D、” ”

12、char型常量在内存中存放的是 。 A、ASCII代码值 B、BCD代码值 C、内码值 D、十进制代码值 13、以下程序段 。

int x=2,y=3;

printf( x>y ? ”****=%d” : “###y=%d”,x,y); A、输出控制格式错误 B、输出为:****x=2 C、输出为:###y=2 D、输出为:###y=3 14、以下程序的输出为 。

int a,b,c;

a=10;b=50;c=30;

if (a>b) a=b, b=c;c=a;

printf(“a=%d,b=%d,c=%d”,a,b,c);

A、a=10,b=50,c=10 B、a=10,b=30,c=10 C、a=50,b=30,c=10 D、a=50,b=30,c=50

15、在C语言中,当while语句构成的循环的条件为 时,结束循环。

A、True B、非0 C、1 D、0

16、下列四个选项中,正确的数组定义是 。

A、char 4a[4] B、int I;scanf(“%d”,&I);char ch[I]; C、#define MAX 20 D、#define MAX 20.0

Char a[MAX] int a[MAX]

17、合法的数组定义是 。

A、int a[]=”string” B、int a[5]={0,1,2,3,4,5} C、char a=”string” D、char a[]={0 1 2 3 4 5}

18、设有说明:char *str[10];则标识符的意义是: 。

A、str是一个指向有10个元素的数组的指针

B、str 是一个有10个元素的数组,数组元素的数据类型是指向char型的指针 C、str是一个指向char型函数的指针

D、str是具有10个指针元素的一维指针数组,每个元素都只能指向整型变量

19、阅读下面程序:

#include int a[ ]={2,4,6,8}; main( )

{int I; int *p=a;

for (I=0; I<4; I++) a[I]=*p++; printf(“%d\\n”,a[2]);}

上面程序的输出结果是 。 A、6 B、8 C、4 D、2

20 在C语言中,如果对函数类型未加显示说明,则函数的隐含类型是 。

A、int B、char C、void D、double 21在C语言中,当函数调用时 。

A、实参和形参共用存储单元

B、实参和形参各占一个独立的存储单元

C、由系统自动确定实参和形参是否共用存储单元 D、可由用户指定实参和形参是否共用存储单元 22、设有如下枚举型定义:enum color {red=1, black, white=10, green=100, blue};则枚举量blue的值为 。

A、5 B、3 C、101 D、11

23、当说明一个结构体变量时系统分配给它的内存是 。

A、 各成员所需内存量的总和 B、 结构中第1个成员所需内存量 C、 成员中占内存量最大者所需的容量 D、 结构中最后一个成员所需内存量

24、使用共用体union的目的是 。

A、 将一组数据作为一个整体,以便与其中的成员共享同一存空间 B、 将一组具有相同数据类型的数据作为一个整体,以便与其中的成员共享同一存储

空间 C、 将一组相关数据作为一个整体,以便程序中使用

D、 将一具有相同数据类型的数据作为一个整体,以便程序中使用 25、在宏定义#define PI 301415926中,用宏名PI代替一个 。

A、单精度数 B、双精度数 C、常量 D、字符串

二 、 填空题

1、C语言的函数体由 开始,用符号}结束;函数体的前面是 部分, 其后是执行语句。

2、在内存中存储“A”要占用 个字节,存储‘A’要占用 个字节。

3、使用“putchar( )”函数时,程序的开头必须写的一条包含命令为 。

4、下列是计算n!的值的程序,请填空。

Main()

{int I,s,n; s=1;

printf(“enter n: “); scanf(“%d”,&n); for (I=1;I<=n;I++) ; printf(“s=%d”,s); }

5、设有如下定义:int a[10]; ,则数组元素a下标的上限为 ,下限为 。 6、若自定义函数要求返回一个值,则应在该函数体中有一条 语句;若自定义函数要求不返回一个值,则应在该函数说明加一个类型说明符void。 7、引用结构变量中成员的一般形式是 。

三、程序分析题。

阅读下列程序,将输出结果或功能写到各题右侧的空白处。 1、 Main( )

{ int x1, x2, x3, x4;

x1=x2=x3=x4=1; switch(x1)

{ case 1: switch(x2)

{ case 0: x3++; break; case 1: x4 - -; }

case 2: x3++, x4- -; }

printf(“%d%d”, x3 , x4);

}

2、 main ( )

{ int I;

float f, sum;

for (I=1, sum=0.0;I<11;I++) { scanf (“%f”,&f);

sum=sum+f;}

printf (“average=%f\\n”, sum/10); }

3、#include main ( )

{ int I,j,x=0;

for (I=0; I<2; I++) { x++;

for (j=0; j<=3; j++)

{ if (j%2) continue; x++; } x++; }

printf (“x=%d”, x); }

4、#include void invert (char str[ ])

{int I,j,k;

for (I=0, j=strlen(str)-1; I

5、#include main ( )

{ int a[ ]={1,2,3,4,5,6}, *p=a; *(p+3)+=2;

printf (“%d, %d”, *p,*(p+3));}

四、程序设计题。

编写一函数求n!, n由键盘输入。(例:5!=5*4*3*2*1)

C语言复习题B

一、单项选择题

1、_________是构成C语言的基本单位。

A、函数 B、子函数 C、过程 D、子过程 2、合法的C语言标识符是

A、2a B、sum C、default D、a+b 3、不属于整型常量的是 。 A、10 B、0/0 C、0*10 D、4/2.0 4、在C语言中,一个int型数据在内存中占用2个字节,则int型数据的取值范围是 。 A、-128~127 B、-32768~32767 C、0~65536 D、0~2147483647 5、下面不正确的字符串常量的 。 A、’abc’ B、”12’12” C、”0” D、” ”

6、设a为整型变量,不能正确表达数学关系1010&&a<15 D、!(a<=10)&&!(a>=15) 7、char型常量在内存中存放的是 。 A、ASCII代码值 B、BCD代码值 C、内码值 D、十进制代码值 8、下面的叙述不正确的是 。

A、 在C程序中所用变量必须先定义后使用 B、 在程序中,XYZ和xyz是两个不同的变量 C、 若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变 D、 当输入数值型数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型

9、下列说法中,正确的是 。

E、 自动型变量是分配在内存的数据区的 F、 寄存器型变量是分配在内存的数据区中的 G、 表态型变量是分配在内存的数据区中的 D、外部参照型变量是分配在内存的数据区中的 10、下述程序的输出结果是 。

int x=1; y=++x; z=x++;

printf(“%d,%d,%d”,x,y,z);

A、3,2,2 B、3,2,3 C、2,2,2 D、2,2,1

11、在C语言中,要求参加运算的数必须是整数的运算符是 。 A、/ B、! C、% D、= =

12、设ch是char型变量,其值为’A’,则下面表达式的值是 。 A、A B、a C、z D、Z

13、两次运行下面程序,分别输入6和5,请问输出结果分别是 。

main ( ) { int x ;

scanf (“%d”, &x);

if (x- ->5) printf (“%d”, x); else printf (“%d”,x++); }

A、5 5 B、6 6 C、6 4 D、5 4

14、C语言程序的三种基本结构是 。

A、 顺序,选择,循环 B、 递归,循环,转移 C、 嵌套,递归,顺序 D、 循环,转移,顺序

15、以下程序的输出为 。

int a,b,c;

a=10;b=50;c=30; if (a>b) a=b, b=c;c=a;

printf(“a=%d,b=%d,c=%d”,a,b,c);

A、a=10,b=50,c=10 B、a=10,b=30,c=10 C、a=50,b=30,c=10 D、a=50,b=30,c=50 16、下列关于字符数组与字符串的说法中正确的是 。

A、字符数组中存放的一定是一个字符串。 B、所有的字符数组都可以被当作字符串处理。

C、对存放字符串的字符数组可以像一般数组一样对数组中的单个元素进行操作。 D、一个字符数组可以认为就是一个字符串。

17、合法的数组定义是 。

A、int a[]=”string” B、int a[5]={0,1,2,3,4,5} C、char a=”string” D、char a[]={0 1 2 3 4 5}

18、在宏定义#define PI 301415926中,用宏名PI代替一个 。

A、单精度数 B、双精度数 C、常量 D、字符串

19、使用共用体union的目的是 。

A、将一组数据作为一个整体,以便与其中的成员共享同一存空间

B、将一组具有相同数据类型的数据作为一个整体,以便与其中的成员共享同一存

储空间

C、将一组相关数据作为一个整体,以便程序中使用

D、一具有相同数据类型的数据作为一个整体,以便程序中使用 20、当说明一个结构体变量时系统分配给它的内存是 。

A、各成员所需内存量的总和 B、结构中第1个成员所需内存量 C、成员中占内存量最大者所需的容量 D、结构中最后一个成员所需内存量

21、设有如下枚举型定义:enum color {red=1, black, white=10, green=100, blue};则枚举量blue

的值为 。

A、5 B、3 C、101 D、11

22、在C语言中,当函数调用时 。

A、实参和形参共用存储单元

B、实参和形参各占一个独立的存储单元

C、由系统自动确定实参和形参是否共用存储单元 D、可由用户指定实参和形参是否共用存储单元

23、在C语言中,如果对函数类型未加显示说明,则函数的隐含类型是 。

A、int B、char C、void D、double 24、阅读下面程序:

#include int a[ ]={2,4,6,8}; main( )

{int I; int *p=a;

for (I=0; I<4; I++) a[I]=*p++; printf(“%d\\n”,a[2]);}

上面程序的输出结果是 。 A、6 B、8 C、4 D、2

25、设有说明:char *str[10];则标识符的意义是: 。

A、str是一个指向有10个元素的数组的指针

B、str 是一个有10个元素的数组,数组元素的数据类型是指向char型的指针 C、str是一个指向char型函数的指针

D、str是具有10个指针元素的一维指针数组,每个元素都只能指向整型变量 二 、 填空题

1、C程序是由函数构成的,其中有且只能有 个主函数。C语言程序的执行总是由 函数开始,并且在主函数结束。

2、C语言中的运算符大都直接采用 上的符号。 3、符号常量的定义方法是 。

4、下列程序的主要功能是求出所有3位数中能被8整除余7,或者被7整除余8的所有整数,请填写程序中缺少的语句成分。 Main ( ) { int k=100; do

if

printf (“%d\\n”,k);

while (k++<999); }

5、下列是计算n!的值的程序,请填空。

Main()

{int I,s,n;

s=1;

printf(“enter n: “); scanf(“%d”,&n); for (I=1;I<=n;I++) ; printf(“s=%d”,s); }

6、二维数组的元素在内存中是先按 ,后按 的次序排列的。 7、引用结构变量中成员的一般形式是 。

8、若自定义函数要求返回一个值,则应在该函数体中有一条 语句;若自定义函数要求不返回一个值,则应在该函数说明加一个类型说明符void。

三、程序分析题。

阅读下列程序,将输出结果或功能写到各题右侧的空白处

1、main()

{long sum=0,I;

I=1;

While (I<51) Sum+=I++;

Printf(“%d”,sum); }

2、#include main ( )

{ int I,j,x=0;

for (I=0; I<2; I++) { x++;

for (j=0; j<=3; j++)

{ if (j%2) continue; x++; } x++; }

printf (“x=%d”, x); }

3、#include

main()

{int a=0,b=1,c=2; switch (a)

{case 0:switch (b)

{case 1:printf (“ # ”); break; case 0:printf (“ * ”);break;} case 1:switch (c= =2)

{case 1:printf (“&”);break;

case 0:printf(“!”); preak;}

} }

4、#include main ( )

{ int a[ ]={1,2,3,4,5,6}, *p=a; *(p+3)+=2;

printf (“%d, %d”, *p,*(p+3));}

5、findmax (int s[ ],int t)

{int k,p;

for (p=0,k=p;p<=t;p++) if (s[p]>s[k]) k=p; return k; }

四、程序设计题。

1、求100以内的所有素数,并按10个一行进行打印。 2、从键盘上输入十个元素,求它们的最值。

3、 编写程序,对输入两个正整数m和n,求出它们的最大公约数和最小公倍数。 4、输入年月日,求这一天是该年的第多少天 5、打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。

6、一个数恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3而6=1+2+3,因此6是完数。编程找出求1000以内的所有完全数。

7、题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

8、题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时

9、数组元素的查询(顺序查询和折半查询)

10、数组元素的排序(插入排序、冒泡排序、选择排序)

第三部分试题题型 一、选择题

1、 C语言标识符命名规则 2、 合法的运算表达式 3、 字符常量 4、 条件表达式 5、 赋值表达式

6、 求解表达式的结果

7、 与IF语句等价的表达式 8、 正确的输入格式

9、 给出一段程序求解它的值 10、 函数的隐含类型是什么 11、 数组元素正确的引用

12、 实参与形参的关系 13、 三种基本结构 14、 实参与形参的关系 15、 不合法的表达式是什么 16、 指针与变量的关系 17、 变量的作用域 18、 指针与变量的关系 19、 指针与数组的关系 20、 指针与数组的关系 二、填空题

1、C语言的概述

2、赋值表达式的书写形式 3、C语言的基本内容包括哪些 4、求解表达式的结果

5、通过语言描述写出表达式的形式 6、数组元素的引用 7、指针与数组的关系

8、二维数组中数组元素与指针的关系 9、数组的描述

10、C语言程序在内存中运行的空间 11、C语言标识符的组成 12、字符与字符串的关系

12、 实参与形参的关系 13、 三种基本结构 14、 实参与形参的关系 15、 不合法的表达式是什么 16、 指针与变量的关系 17、 变量的作用域 18、 指针与变量的关系 19、 指针与数组的关系 20、 指针与数组的关系 二、填空题

1、C语言的概述

2、赋值表达式的书写形式 3、C语言的基本内容包括哪些 4、求解表达式的结果

5、通过语言描述写出表达式的形式 6、数组元素的引用 7、指针与数组的关系

8、二维数组中数组元素与指针的关系 9、数组的描述

10、C语言程序在内存中运行的空间 11、C语言标识符的组成 12、字符与字符串的关系

本文来源:https://www.bwwdw.com/article/0ux.html

Top