填空期末总复习(基础知识+程序设计部分)1. _______________________________________ 己知charch=,A:则下列表达式的值是:_____________________________________________ aCh=(chx'A' && ch<=,Z,)? (ch+32):ch;2.若x=l,y=2,z=3,则表达式z+二++x+y++之值是__________3.若x=2,y=3,则x%二y+3 Z值为 24..________________________________________________________________ 若有定义int y=3; float z=5.2, x=4.8;则表达式y+=(int)x+x+z 的值为17 _____________________5.设x,y,z为int型变量,且x=3,y=・4,z=5,请写岀下列各表达式的值1)(x&&y) ==(x||z) ___________ 1 __________2)! (x>y) +(y!二z)||(x+y)&&(y・z) 03)___________________ x++-y+什+z) _____ 136.设x,y,z为int型变量,请用C语言表达式描述下列命题1) x 和y 中有——个小于z(xvz&&y>z||x>z&&yvz )=1 ___________________2)x,y 和z 中有两个为负数(x<0&&y<0&&z>=0||z<0&&yv0&&x>=0||yv0&&x<0&&z>=0)==l __________________3)y是奇数y%2!二07.下面for循环语句最多可执行 4 次For (x=0,y=0 ;(y !=99)&&(x<4) ;x++)8.设i,j,k均为ini型变量,则执行以下for语句后,k的值是_ 10for (i=0,j=10 ;i<=j ;i++,j・・)k二i+j ;9.若已知x, y,z,m,n均为int型变量,则执行下面语句后,x的值为7 v的值为________ z的值为______________m=10 ; n=5;x=(—m==n++)? —m : ++n;y 二m++;z=n;10.若有说明语句:w=l,x=2,y=3,z=4;则表达式w>x? w:z>y? z:x值是_____________ 4 _______11.若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符_________________12.凡在函数中未指定存储类型的变量,其隐含的存储类别为_________13.在C语言屮,一个函数直接或I、可接地调用自身,编构成函数的 __________ 14•如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成________________________________ 在调用函数的文件中将该函数说明为________________________ 型。
15.对于所定义的二维数组a[2][3],元素a[l][2]是数组的第 6 个元素。
N*j+m+l16. ___________________________________________________________ 若有定义:char *str=,l am a student.^^;则字符串在存储单元中占____________________________ 16 _______ 个字节。
17.在执行ima[]⑶二{{1,2},{3,4}};语句后,a[l][2]的值是_________________ °18.调用strlen( u abc\0ef\0g")的返回值是一 3 。
\0为停止符19.设有定义:char s[12]= "string";则printf( <<%d\n,,,strlen(s));的输出值是___________ 6 ______20.执行下列程序段后,和等于___________________int a[5J={ 1,3,5,7,9}; *p=a;p++;二.判断(true or false )1.调用函数吋,实参的类型、个数和顺序与函数定义吋形参的类型、个数和顺序完全一致。
T2.函数可以嵌套定义F3.函数必须有返回值,否则不能正确作用F4.C程序中有调用关系的所有函数必须放在同一源程序文件中。
F5.全局变量与函数体内定义的局部变量重名吋,局部变量不起作用。
F6.函数定义时可以不制定形参的类型,函数调用时由实参的类型决定形参的类型F7.当函数定义放在main()®数前面时,可以缺省函数声明。
T8.C语言中允许函数嵌套调用T9.局部静态变量是在编译时赋初值的,即只赋一次初值。
T10.外部变量必须定义在文件的开头部分F11.字符是字符串的结朿标记,其ASCII码为0.T12.若有说明:inta[3][4]={0};则数组a中每个元素的初值都为0.T13.若有说明:inta[2][4]={0, 0);则只有a[0][0]和a[0][l]的初值为0,其余元素的初值均不为0.F14.若有说明:inta[3][4];则数组a中各元素可在程序的编译阶段达到初值0.F15.若用数组名作为函数调用时的实参,则实际上传递给形参的是数组的第一个元素值。
F16.在两个字符串的比较中,字符个数多的字符串比字符少的字符串大。
F17.当需要接受用户从键盘上输入的含有空格的字符串时,应使用gets ()函数。
T1&在C语言中,二维数组元素在内存中的存放顺序可以随意调整变化。
F19.&b指的是变量b的地址处所存放的值;F20.指针变量可用于保存同类型变量的地址值;F21.存放地址的变量同其他类型的变量一样,可以存放任何类型的数据;F22.指向同一数组的两指针pl,p2相减的结果与所指元素的下标相减的结杲是相同的。
F23.如果泄义函数时参数是指针变量,那么,调用函数时的参数就可以是同类型的指针变量,数组名或简单变量的地址T24.char *name[5]定义了一个一维指针数组,它有5个元素,每个元素都是指向字符数据的指针型数据。
F25.语句y =*p++;和y=(p)++;是等价的。
F26.函数指针指向的是函数的入口地址。
T27.int *p;定义了一个指针变量,英值是整型的。
F28.用指针作为函数参数时,釆用的是“地址传送”方式・T三、选择题1.下列变量名中哪些是合法的?n 2a a# C$ t3var 0 int2.语言中用表示逻辑值“真”oA) true B)整型值0C)非零整数值D)T3.下列合法的字符常量为。
A)n a H B)1\n f C) 1 china 1D)a4.设有语句char c= * \72 ';则变量c _____________ 。
A)包含1个字符B)包含2个字符C)包含3个字符D)不合法5.字符串n\t\n Name\\Address\n n的长度为________________ 。
A)19 B) 15 C) 18 D)不合法6.设a.f b, c为int型变量,且a = 3 ,b = 4 , c = 5,下面表达式值为0的是___________________A) f a f && B) a <= bC) a || b+c && b-c D) ! ((a<b) && !c || 1)7.若有以下定义:char a ;int b; float c ;double d ;则表达式a * b+ d - c的值的类型为.A)float B) int C)char D) double设有语句int a = 3;执行了语句m += a - =a * a; 后,变量a的值是A) 3 B) 0 C) 9 D) -129.设有语句int a = 3;执行了语句printf (n%d n z -a + + );后,输出的结果是_C ,变量a的值是_D __________ oA) 3 B) 4 C)・3 D) -210.将下列数学表达式表示为合法的C语言表达式。
(1) y/a2 +b?(2) |(a + b)(c + c/) + 2 (3) (lnx + sin(y))/22c(4) (5) 1 (6)sin(3(T) + 2K1 +- 2y + >严X12. F列可作为C语言赋值语句的是:0A) x = 3, y = 5 B)a =b = c C)i —; D) y = int ( x13.以下程序的输出结果为:_____________ omain(){int a = 2, c = 5;printf(u a = %%d, b = %%d\n“, a, c);A)a = %2z b = %5 B) a = 2, b = 5 C) a=%%d, b=%%d D) a=%d, b=%d14.在下面的条件语句中,只有一个在功能上与其它三个语句不等价(其中si和s2表示它是C语句),这个不等价的语句是:________ 。
A)if (a) si; else s2;B)if (? a) s2; else si;C)if (a != 0) si; else s2;D)if (a == 0) si; else s2;15.设有声明语句:int a=l z b=0;Km行以下语句后输出为:_______________ oswitch (a){case 1:switch (b)case 0 : printf (f,**0**,f) ;break;case 1: prin;break;}case 2: printf(H**2**n)/break;}A)**0** B) **0****2** c)**0****l****2** D)有语法错误16.在while (x)语句中的x与下面条件表达式等价的是: _____________ oA) x == 0 B) x == 1 C) x ! = 1 D) x ! = 017.若int x;且有下面的程序片断,则输出结果为:_____________ ofor (x=3; x<6; x++)print£((x%2)==0? : x);}A) * *3 B) ##3 C) ##3 D) **3##4##4 ★ * 4 **4##5 **5**5 ##518.以下能对外部的一维数组a(含有10个元素)进行正确初始化的语句是: ___________ oA)int a[10] = (0,0,0,0,0);B)int a[10] = { };C)int a[] = {0};D)int a[10] = {10*1};19.以下能对外部的二维数组a进行正确初始化的语句是:_________ oA)int a[2][] = {{1,0,1},{5,2,3}};B)int a[] [3] = {{1,2,1},{5,2,3}};C) 2 int a[2] [4] = { {1,2,1}, { 5,2 }, { 6} };D)int a[][3] = {{1,0,2},{},{2,3}};20.若二维数组a有m列,则在a[i] [j]之前的元素个数为: ______________ 。