C语言复习资料1(2)

2019-03-29 15:05

33.假定不允许使用逻辑非操作符,则逻辑表达式a>b || b==5的相反表达式为___a<=b && (b>5 || b<5)____。

34.若x=5,y=10,则x>y逻辑值为___false___。 35.若x=5,y=10,则x<=y逻辑值为___true___。

36.假定x=5,则执行“a=(x?10:20);”语句后a的值为__10__。

37.执行“typedef int DataType;”语句后,在使用int定义整型变量的地方都可以使用___DataType___来定义整型变量。

38.在switch语句中,每个语句标号所含保留字case后面的表达式必须是__整型__。 39.作为语句标号使用的C保留字case和default只能用于__switch__语句的定义体中。 40.在switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)___不停止__执行。

41.若do循环的“尾”为“while(++i<10)”,并且i的初值为0,同时在循环体不会修改i的值,由循环体将被重复执行__10___次后正常结束。

42.当在程序执行到___break___语句时,将结束本层循环语句或switch语句的执行。 43.在程序中执行到__return__语句时,将结束所在函数的执行过程,返回到调用该函数的位置。

44.在程序执行完__主(main)__函数调用后,将结束整个程序的执行过程,返回到操作系统或C语句集成开发环境界面窗口。 二、填空题

1.假定一维数组的定义为“char * a[8];”,则该数组所含元素的个数为___8_______。 2.假定一维数组的定义为“char * a[8];”,则该数组所占存储空间的字节数为___32______。 3.假定二维数组的定义为“int a[3][5]”,则该数组所占存储空间的字节数为___60______。 4.假定二维数组的定义为“char a[M][N];”,则该数组所所含元素的个数为__M*N_____。 5.假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在__0~M-1___之间。

6.假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在__0~N-1___之间。

7.使用“typedef char BB[10][50];”语句定义__BB______为含有10行50列的二维字符数组类型。

8.存储字符’a’需要占用存储器的_1_____个字节空间。 9.空字符串的长度为__0_______。

10.存储一个空字符串需要占用__1___个字节。 11.字符串”a:\\\\xxk\\\\数据”的长度为___11______。

12.用于存储一个长度为n的字符串的字符数组的长度至少为__n+1______。 13.strcmp函数用于进行两个字符串之间的___大小比较___。

14.Strcpy函数用于把一个字符串___复制到___另一个字符数组空间中。 15.一个二维字符数组a[10][20]能够存储__ 10___个字符串。

16.一个二维字符数组a[10][20]能够存储的每个字符串的长度至多为___19___. 二、填空题

1.在C语言中,一个函数由函数头和___函数体_______组成。

2.在函数外定义的变量称为全局变量,若没有被初始化则系统隐含对它所赋的初值为___0______。

3.如果一个函数只允许同一程序文件中的函数调用,则应在访函数定义前加上的C保留字为为___static______。

4.如果一个函数直接或间接地调用自身,这样的调用被称为__递归_____调用。 5.调用系统函数时,要先使用#include命令包含该函数的原型语句所在__头___文件。 6.函数形参的作用域是该函数的__内部___。

7.假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为__25______。 8.假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为__46______。 9.假定p所指对象的值为25,p+1所指对象的值为46,则执行“*(p++);”语句后,p所指对象的值为__46______。

10.假定a是一个指针数组,则a+1所指对象的地址比a地址大__4___字节。 11.若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为___(char*)p______。

12.假定一个数据对象为int*类型,则指向该对象的指针类型为__int**______。 13.假定p是一个指向整数对象的指针,则用___&p___表示指针变量p的地址。 14.若p指向x,则___*p___与x的等价的。

15.NULL是一个符号常量,通常作为空指针值,它值为__ ’\\0’ (ASCII码0)___。 二、填空题

1.假定一个结构类型的定义为“struct A{int a,b;A*c;};”,则该类型的大小为___12_______字节。

2.假定一个结构类型的定义为“struct B{int a[5],char *b;};”,则该类型的大小为___24_______字节。

3.假定一个结构类型的定义为“struct D{int a;union{int b;double c;};struct D* d[2];};”,则该类型的大小为___20_____字节。

4.假定要动态分配一个类型为struct Worker的具有n个元素的数组,并由r指向这个动态数组,则使用语句的表达式为struct Worker* r=__(Worker*)malloc(n*sizeof(Worker));_____。

5.假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为__x.(*a)___。 6.假定要访问一个结构指针p所指向对象中的b指针成员所指的对象,则表示方法为_____ *(p->b)___

7.与结构成员访问表达式(*fp).score等价的表达式是__fp->score______。

三、写出下列每个程序运行后的输出结果 1. #include void main() { }

输出结果为: 11 14 switch end. Press any key to continue

2. #include void main() {

int x=5;switch(2*x-3){ }

printf(\

case 4:printf(\case 7:printf(\case 10:printf(\default:printf(\

}

int i,s=0; for(i=1;i<=6;i++)

s+=i*i;

printf(\

输出结果为: s=91.

Press any key to continue

3. #include void main() { }

输出结果为: 25 20.

Press any key to continue

4. #include void main() { }

输出结果为:

int n=10,y=1; while(n--){y++;y++;} printf(\int i,s1=0,s2=0; for(i=0;i<10;i++)

if(i%2)s1+=i; else s2+=i;

printf(\

y=21.

Press any key to continue

5. #include void main() { }

输出结果为: 1 1 2 3 5 8 13 21 34 55

Press any key to continue

6. #include #include void main() {

int i,n;

for(n=2;n<=20;n++){ int f,f1,f2,i; f1=f2=1;

printf(\for(i=3;i<=10;i++){ }

printf(\

f=f1+f2; printf(\if(i%5==0)printf(\f1=f2; f2=f;


C语言复习资料1(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《记承天寺夜游》课内外比阅读练习及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: