C语言复习3Word格式文档下载.docx
- 文档编号:19615506
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:22
- 大小:30.50KB
C语言复习3Word格式文档下载.docx
《C语言复习3Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言复习3Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
32.标识符的作用域指可使用该标识符的程序区域。
33.把控制权从被调用函数返回到调用函数的三种方法是执行return语句、执行return表达式和___遇到完毕函数的左花括号
34.编译器用函数原型检查传递给函数的参数个数、参数类型和参数顺序。
35.rand函数用来产生随机数。
36.Srand函数用来给随机数程序设置随机数种子。
37.存储类别说明符有auto、register、extern和static。
38.在块或函数参数列表中声明的变量除非指定了存储类别,否那么其存储类别被假定为Auto。
39.存储类别说明符Register建议编译器把变量存储在计算机的某个存放器中。
40.在块或函数之外声明的变量是外部,全局变量。
41.要想使函数中的局部变量在函数调用之间保持其值,该变量必须用存储类别说明符Static说明。
42.标识符的四种可能的作用域是函数作用域、文件作用域、和块作用域,函数原型作用域。
43.直接或间接调用自身的函数称为递归函数。
44.递归函数通常由两局部组成。
一局部是通过测试根本实例确定是否终止递归,另一局部是通过递归调用把问题简化。
45.数值列表和数值表储存在数组中。
46.数组元素的相关性表现在它们具有一样的名字和类型。
47.用来引用特定数组元素的数字称为下标。
48.应该用符号常量声明数组的大小,因为这种能够更容易调整程序。
49.把数组元素按顺序存放的过程称为数组排序。
24.continue25.Break26.swithc选择构造27.函数28.函数调用29.局部变量
30.Return31.Void32.作用域33.执行return语句、执行return表达式、遇到完毕函数的左花括号34.函数原型35.rand36.Srand37.auto、register、extern、static38.Auto39.Register40.外部、全局41.Static42.函数作用域、文件作用域、块作用域、函数原型作用域。
43.递归44.根本45.数组46.名字、类型47.下标48.符号常量49.排序23.控制变量或计数器
50.确定某个数组中是否包含某个关键值的过程称为数组数查找。
51.使用两个下标的数组称为二维数组。
52.指针是把另一个变量的地址作为其值的变量。
53.有三种值可以来初始化指针,它们是0、NULL和地址。
54.能够赋给指针的唯一的整数是0。
50.查找51.二维52.地址53.0、NULL、地址。
54.0
二.判断下述说法是否正断。
如不正确,说明理由。
1.printf函数总是从新行的起始位置开场打印。
()
2.计算时机把/*和*/之间的注释文本打印到屏幕上。
3.在printf函数的格式控制串中使用转义序列\n会把光标定位到屏幕上下一行开场位置
4.所有的变量在使用前都必须予以声明。
5.在声明变量时必须给出变量的类型。
6.C语言认为变量number和NuMbEr是一样的。
7.声明语句可放在函数体中的任何位置。
8.printf函数的格式控制串之后的所有参数的前面都必须有&
。
9.求余运算符%只能用于两个整数操作数。
10.算述运算*、/、+和一具有一样的优先级。
11.打印三行输出的C语言程序必须用三条printf语句。
()
12.一个数组能够存放许多不同类型的值。
13.数组的下标可以float数据类型。
14.如果初始化值列表中的初始化值的个数少于数组的元素个数,C编译器会自动把剩余的元素初始化为初始化值列表中的最后一个值。
(
15.初始化值列表中的初始化值个数多于数组元素的个数是错误的。
(
16.把单个数组元素传递给修改该元素值的函数会使调用函数包含修改后的值。
1.不正确。
printf函数总是从光标所在位置开场打印,光标位置可在屏幕上某行的任何位置。
2.不正确。
在执行程序时,注释不会使计算机产生任何动作。
注释只是用来提高程序的可读性。
6.不正确。
C语言是对大小写敏感的,所以这两个变量是不相等的。
7.不正确。
声明必须放置在函数体左括号之后和任何可执行语句之前。
8.不正确。
printf函数的参数之间通常不使用&
,scanf函数的格式控制串之后的参数通常要在前面加上&
例外情形在第6章和第7章中讨论。
10.不正确。
运算符*、/和%具有一样的优先级,而运算符+和-的优先级较低。
11.不正确。
在printf语句中用多个\n转义序列可进展多行打印。
12.不正确。
数组只能存储具有一样类型的值13不正确。
数组下标必须是整数或整数表达式14不正确。
C编译器自动把余下的元素初始化为0.16不正确。
数组的单个元素是传值调用。
如果把整个数组传递给函数,被调用函数对数组元素值的修改就会影响到原始数组。
三.判断以下各表达的正确性,假设正确在()内标记√,假设错误1.()全局变量与函数体内定义的局部变量重名时,局部变量不起作用。
2.()C程序中,有调用关系的所有函数必须放在同一个源程序文件中。
3.()函数定义时,可以不指定形参的类型,函数调用时由实参的类型决定形参的类型。
4.()C程序文件中每个函数都将被本文件调用。
5.〔〕函数可以嵌套定义,即在一个函数的内部可以定义另一个函数,
6.〔〕当函数定义放在main()函数前面的时候,可以缺省函数声明。
7.〔〕在C语言中允许函数之间的嵌套调用。
8.〔〕局部静态变量是在编译时赋初值的,即只赋初值一次。
9.〔〕外部变量必须定义在文件的开头局部。
10.〔〕函数的形参在退出该函数后是不可见的。
11.〔〕字符“\0〞是字符串的完毕标记,其ASCII代码为0。
12.〔假设有说明:
inta[3][4]={0};
,那么数组a中每个元素的初值都为0。
13.〔假设有说明:
inta[][4]={0,0};
,那么二维数组a的第一维大小为0。
14.〔〕假设有说明:
inta[2][4]={0,0};
,那么只有a[0][0]和a[0][1]的初值为0,其余元素的初值均不为0。
15.〔〕假设有说明:
staticinta[3][4];
,那么数组a中各元素可在程序的编译阶段得到初值0。
16.〔〕假设用数组名作为函数调用时的实参,那么实际上传递给形参的是数组的第一个元素值。
17.〔〕调用strlen(“abc\0ef\0g〞)的返回值为8。
18.〔〕在两个字符串的比拟中,字符个数多的字符串比字符少的字符串大。
19.〔〕当需要承受用户从键盘输入的含有空格的字符串时,应使用gets()函数。
20.〔〕在C语言中,二维数组元素在内存中的存放顺序可以随意调整变化。
21.〔〕&
b指的是变量b的地址处所存放的值。
22.〔〕指针变量可用于保存同类型变量的地址值。
23.〔〕存放地址的变量同其它变量一样,可以存放任何类型的数据。
24.〔〕指向同一数组的两指针p1、p2相减的结果与所指元素的下标相减的结果是一样的。
25.〔〕如果定义函数时的参数是指针变量,那么,调用函数时的参数就可以是同类型的指针变量、数组名或简单变量的地址。
26.〔〕char*name[5]定义了一个一维指针数组,它有5个元素,每个元素都是指向字符数据的指针型数据。
27.〔〕语句y=*p++;
和y=(*p)++;
是等价的。
28.〔〕函数指针所指向的是函数的入口地址。
29.〔〕int*p;
定义了一个指针变量p,其值是整型的。
30.〔〕用指针作为函数参数时,采用的是“地址传送〞方式。
31.〔〕构造体的成员可以作为变量使用。
32.〔〕在一个函数中,允许定义与构造体类型的成员一样名的变量,它们代表不同的对象。
33.〔〕在C语言中,可以把一个构造体变量作为一个整体赋值给另一个具有一样类型的构造体变量。
34.〔〕使用联合体union的目的是,将一组具有一样数据类型的数据作为一个整体,以便于其中的成员共享同一存储空间。
35.〔〕使用构造体struct的目的是,将一组数据作为一个整体,以便于其中的成员共享同一空间。
36.〔〕在C语言中,如果它们的元素一样,即使不同类型的构造也可以相互赋值。
37.〔〕在C语言中,枚举元素表中的元素有先后次序,可以进展比拟。
38.〔〕用typedef可以定义各种类型名,但不能用来定义变量。
39.〔〕语句printf(“%d\n〞,sizeof(structperson));
将输出构造体类型person的长度。
40.〔所谓构造体变量的指针就是这个构造体变量所占内存单元段的起始地址。
1.╳2.╳3.╳4.╳5.╳
6.√7.√8.√9.╳10.√
11.√12.√13.╳14.╳15.√
16.╳17.╳18.√19.√20.╳
21.╳22.√23.╳24.√25.╳
26.√27.╳28.√29.╳30.√
31.╳32.√33.√34.╳35.╳
36.╳37.√38.√39.√40.√
四.选择题
1.在C语言中,不同类型数据混合运算时,要先转换成同一类型后进展运算。
设一表达式中包含有int、long、unsigned、char类型的变量和数据,那么表达式最后的运算结果是4类型数据。
①int②char③unsigned ④long
2.假设int型数据占2个字节,那么以下语句的输出为4。
intk=-1;
printf(“%d,%u\n〞,k,k);
①-1,-1②-1,32767③-1,32768④-1,65535
3.假设a,b均为int型变量,x,y均为float型变量,正确的输入函数调用是2。
①scanf("
%d%f"
&
a,&
b);
②scanf("
x);
③scanf("
%d%d"
a,b);
④scanf("
%f%f"
x,y);
4.假设x,y均为double型变量,正确的输入函数调用是3。
x,&
y);
%lf%lf"
④scanf("
5.假设x为char型变量,y为int型变量,x,y均有值,正确的输出函数调用是1。
①printf("
%c%c"
②printf("
%c%s"
③printf("
%f%c"
④printf("
%f%d"
6.假设a,b,c,d都是int型变量且初值均为10,不正确的赋值语句是3。
①a=b=c=d;
②a=b++;
③a+b++;
④d=(a=b=125)-c++;
7.假设x,y均为int型变量且有值,要输出x,y的值,正确的输出函数调是4
① printf("
②printf("
④printf("
8.x为int型变量,且值为2345,不正确的输出函数调用是4。
%d"
x);
%3d"
%c"
x);
%s"
9.设x和y均为int型变量,那么执行以下语句后的输出为1。
x=15;
y=5;
printf(“%d\n〞,x%=(y%=2));
① 0 ② 1③ 6④ 12
1.④2.④3.②4.③5.①6.③
7.④8.④9.①
10.假设m为float型变量,那么执行以下语句后的输出为。
m=1234.123;
printf(“%-8.3f\n〞,m);
printf(“%10.3f\n〞,m);
①1234.123②1234.123
1234.1231234.123
③1234.123④
001234.123001234.123
11.假设n为int型变量,那么执行以下语句后的输出为。
n=32767;
printf(“%010d\n〞,n);
printf(“%10d\n〞,n);
①0000032767②32767
327670000032767
③32767④输出格式说明符不合法
3276732767
12.假设x为unsignedint型变量,那么执行以下语句后的x值为。
x=65535;
printf(“%d\n〞,x);
①65535②1
③无定值④-1
13.假设x为int型变量,那么执行以下语句后的输出为。
x=0xDEF;
printf(“%4d\n〞x);
printf(“%4o\n〞x);
printf(“%4x\n〞,x);
①3567②3567③3567④3567
67576757067576757
defdef0xdef0def
14.假设x、y、z均为int型变量,那么执行以下语句后的输出为。
x=(y=(z=10)+5)-5;
printf(“x=%d,y=%d,z=%d\n〞,x,y,z);
y=(z=x=0,x+10);
①x=10,y=15,z=10
x=0,y=10,z=0
②x=10,y=10,z=10
x=0,y=10,z=0
③x=10,y=15,z=10
x=10,y=10,z=0
④x=10,y=10,z=10
10.②11.①12.④13.①14.①
15.假设x是int型变量,y是float型变量,所用的scanf调用语句格式为:
scanf(“x=%d,y=%f〞,&
那么为了将数据10和66.6分别赋给x和y,正确的输入应当是。
①x=10,y=66.6<
回车>
②10 66.6 <
③10<
66.6<
④x=10 <
y=66.6<
16.假设w、x、y、z均为int型变量,那么为了使以下语句的输出为:
1234+123+12+1,正解的输入形式应当是。
scanf(“%4d+%3d+%2d+%1d〞,&
y,&
z,&
w);
printf(“%4d+%3d+%2d+%1d\n〞,x,y,z,w);
①1234123121<
②
③1234+1234+1234+1234<
④1234+123+12+1<
17.假设x、y均为int型变量,z为double型变量;
那么以下不合法的scanf函数调用语句为。
①scanf(“%d,%lx,%le〞,&
z);
②scanf(“%2d*%d%lf〞,&
③scanf(“%x%*d%o〞,&
④scanf(%x%o%6.2f〞,&
18.设a、b均是int型变量,那么以下不正确的函数调用为。
①’a’<
=c1<
=’z’②putchar(‘\108’)
③scanf(“%d%*2d〞,&
b)④putchar(‘\’’)
19.判断char型变量c1是否为小写字母的最简单且正确的表达式为。
=’z’②(c1>
=a)&
&
(c1<
=z)
③(‘a’<
=c1)||(‘z’>
=c1)④(c1>
=’a’)&
=’z’)
20.假设a、b、c均为int型变量,那么执行以下语句后,a值为
(1),b值为
(2)。
a=b=c=1;
++a||++b&
++c;
(1)①不正确②0③2④1
(2)①1②2③不正确④015.①
16.④17.④18.②19.④20.
(1)③
(2)①
w=1,x=2,y=3,z=4,a=5,b=6,那么执行以下语句的a值为
(1),b值为
(2)。
(a=w>
x)&
(b=y>
z);
(1)①5②0③1④2
(2)①6②0③1④4
22.以下不正确的if语句是_______。
① if(x>
②if(x==y)x+=y;
③if(x!
=y)scanf(“%d〞,&
x)elsescanf(“%d〞,&
④if(x<
y){x++;
y++;
}
23.C语言对嵌套if语句的规定是:
else总是与配对。
①其之前最近的if②第一个if
③缩进位置一样的if④其之前最近且不带else的if
24.假设有说明intx,y;
那么下面程序段不能实现以下的函数关系:
①if(x<
0)y=-1;
elseif(x==0)y=0;
elsey=1;
②y=-1;
if(x!
=0);
if(x>
0)y=1;
elsey=0;
③y=0;
if(x>
=0);
0)y=1;
elsey=-1;
④if(x>
=0)if(x>
25.假设x、y、z、m、n均为int型变量,那么执行下面语句后的x值为
(1),y值为
(2),z的值为(3)。
m=10;
n=5;
x=(--m==n++)?
--m:
++n;
y=m++;
z=n;
(1)①5②6③10④7
(2)①11②6③9④10
(3)①5②10③6④7
26.假设有说明语句:
intw=1,x=2,y=3,z=4;
那么表达式w>
x?
w:
z>
y?
z:
x的值是。
① 4② 3③ 2④ 1
27.以下关于switch语句和break语句的描述中,只有是正确的。
①在switch语句中必须使用break语句。
②break语句只能用于switch语句中。
③在switch语句中,可根据需要用或不用break语句。
④break语句是switch语句的一局部。
21.
(1)②
(2)①22.③23.④24.②,③
25.
(1)④
(2)③(3)④
26.①27.③28.②
28.设有说明语句:
inta=2,b=7,c=5;
那么执行以下语句后,输出为2。
switch(a>
0)
{
case1:
switch(b<
{case1:
printf(“@〞);
break;
case2:
printf(“!
〞);
}
case0:
switch(c==5)
{case0:
printf(“*〞);
case1:
printf(“#〞);
default:
printf(“$〞);
default:
printf(“&
①@#&
②#&
③
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习
![提示](https://static.bdocx.com/images/bang_tan.gif)