c语言复习.doc_第1页
c语言复习.doc_第2页
c语言复习.doc_第3页
c语言复习.doc_第4页
c语言复习.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一选择题:(单选, 每题1分, 共40分)1. 若有语句“int a;”,则表达式“(a=2*4,a*2),a+6”的值是( A A )A. 14 B. 6 C. 16 D. 82. 有一程序如下:void main() int x=23; do printf(%d, x-); while(!x); 该程序执行后的结果是( cBcc )。A. 321 B. 23 C. 不输出任何内容 D. 陷入死循环3. 算法的时间复杂度是指( A )。A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程中所需要的基本运算次数 D. 算法程序中的指令条数 4. 已知程序段:int a=-6;printf(%8x,a);以下叙述中,正确的是( B )。A. 整型变量的输出格式符只有%d一种B. %x是格式符的一种,它可以适用于任何一种类型的数据C. %x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的D. %8x不是错误的格式符,其中数字8规定了输出字段的宽度5. 已知一程序段为:int x;float y; scanf(x=%d,y=%f,&x,&y);为了将数据9和11.1分别赋给x和y,使用正确的输入应当是( C )。A. 9 11.1 B. 9,11.1C. x9,y11.1 D. x=9 y=11.16. 假设是int数据,和z都是double数据,则表达式x=2,y=x+3/2,z=x+y的值是( C )A. 5.500000 B. 5 C. 5.000000 D. 4.0000007. 现有以下语句:char c1=a,c2=d;printf(%d ,%cn ,c2-c1 ,c2-a+B);它们执行后的输出结果是( C )。A. 2 ,M B. 3 ,E C. 2 ,E D. 输出结果不确定8. 判断字符型变量ch是否为大写字母的正确表达式是( C )。A. A=ch=A) | (ch=A) & (ch=Z) D. (A=ch)9. 有一程序段如下: int x=1, y=2, z=3;if(xy)z=x;x=y;y=z;该程序段执行后,x,y,z的值是( B )。A. x=1, y=2, z=3 B. x=2, y=3, z=3C. x=2, y=3, z=1 D. x=2, y=3, z=210. 有一程序如下: #inlcudevoid main()int m=5;if (+m5)printf(%dn, m+);elseprintf(%dn, +m);该程序执行后的输出结果是( C )。A. 4 B. 5 C. 6 D. 711. 有以下程序:#includevoid main() int a=8, b=8; printf(%d,%dn,a-,+b); 该程序执行后的输出结果是( D)。A. 8,8 B. 7,8 C. 7,9 D. 8,912.有一程序如下: #inlcudevoid main()int x=1, a=0, b=0;switch(x)case 0:b+;break;case 1:a+;case 2:+a;b+;printf(a = %d, b=%dn, a, b);该程序执行后的输出结果是( A )。A. a=2 , b=1 B. a=1 , b=1 C. a=1 , b=0 D. a=2 , b=213. 有一程序如下:#includevoid main() int i, sum;for(i=1;ia) | (m=ab); printf(%d,%dn,k,m); A)0,0 B)0,1 C)1,0 D)1,115. 有一程序如下: #includevoid main() int i=0;while(i10) if(i0);该语句段执行后的输出结果是( A)。A. I=3 B. I=3 C. I=2 D. I=3 I=1 I=1 I=-1 I=2 I= -1 I= 3 17. 以下对C语言函数的有关描述中,正确的是( A)A. 在C程序中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参。B. C程序中函数体不能为空。C. 函数必须有返回值,否则不能使用函数。D. C程序中有调用关系的所有函数必须放在同一个源程序文件中。18. 有如下程序: #includeint func(int a,int b) return(a+b); void main() int x=3,y=4,z=5,r; r=func(func(x,y),z); printf(%dn,r); 该程序的输出的结果是( C )。A. 7 B. 9 C. 12 D. 1119. 在C语言中,函数的隐含存储类别是(C )。 A. auto B. static C. extern D. 无存储类别20. 若变量已正确说明为float类型,要通过语句scanf( %f,%f,%f ,&a,&b,&c);给a赋于1.0,b赋予2.0,c赋予3.0,正确的输入形式是( B )A. 1 B.1.0,2.0,3.0 C. 1.0 D. 1, 2 2 2.0 3.0 3 321. 以下叙述中,不正确的是( C )。A. 建立函数的目的之一,是为了提高程序的效率 B. C函数既可以嵌套调用又可以递归调用C. 函数必须有返回值,否则不能使用函数D. C程序必须由一个或一个以上的函数组成22以下程序的输出结果是( D )int fun( int n) int s; if(n= =1 | n= =2) s=2; else s=n+;return s; void main() printf(%dn, fun(4); A. 5 B. 2 C. 3 D. 423以下程序的执行结果是( )int fun(int x, int y) y = 2*x+; return y;void main( ) int a=1 , b=2, c=3; c = fun(a, b); printf(%d,%d,%dn,a,b,c);A 1,2,3 B.3,2,1 C.1,2,2 D.2,2,224. 一个C程序的执行,总是从( )。 A. 本程序的main函数开始,到main函数结束 B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C. 本程序的main函数开始,到本程序文件的最后一个函数结束 D. 本程序文件的第一个函数开始,到本程序main函数结束25. 复合语句中定义的变量的作用范围是( )。 A. 整个源文件 B. 整个函数 C. 整个程序 D. 所定义的复合语句26. 以下叙述中,正确的是( )。A. 在程序中,函数必须提前说明 B. 在C的函数中,最好使用全局变量 C. 形式参数是局部变量 D. 形式参数可以是表达式27. 有一程序如下: void main() char arr24; strcpy(arr0,you); strcpy(arr1,me); arr03=&; printf(%sn,arr); 该程序执行后的输出结果是( )。 A. you&me B. you C. me D. err28. 若有定义:char ch= I love China!; int i; 则下列语句中,能正确输出ch数组值的是( )。 A. printf(%s,chi); B. printf(%c,ch);C. printf(%c,chi ); D. printf(%s,ch);29. 若二维数组有m列,则在aij前面的元素个数为( )。A. j*m+i B. i*m+j C. i*m+j-1 D. i*m+j+130. 判断字符串a和b是否相等,应当使用( )。 A. if(a=b) B. if(a=b) C. if(strcpy(a,b) D. if(strcmp(a,b)31. 有以下程序: #includevoid swap1( int c ) int t; t=c0;c0=c1;c1=t; void swap2 ( int c0,int c1 ) int t; t=c0;c0=c1;c1=t; void main( ) int a2=6,8, b2=6,8;swap1(a) ; swap2(b0,b1); printf(%d %d %d %dn,a0,a1,b0,b1); 该程序执行后的输出结果是( )。A. 8 6 8 6 B. 8 6 6 8 C. 6 8 6 8 D. 6 8 8 632下面关于流程图优点的说法中,正确的是( )。A. 采用简单规范的符号,画法简单 B. 结构清晰,逻辑性强 C. 便于描述,容易理解 D. 以上均正确33在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则( )。A. 称为函数的直接递归调用 B. 称为函数的间接递归调用C. 称为函数的循环调用 D. C语言中不允许这样的递归调用34. 当调用函数时,实参是一个数组名,则向函数传送的是( )。A. 数组的长度 B. 数组的首地址C. 数组每一个元素的地址D. 数组每个元素中的值35. 以下语句中,不能正确进行字符串赋初值的是( )。A. char str6=China!; B. char str=China!;C. char *str= China!; D. char str6=C,h,i,n,a;36. 以下描述中,正确的是( )。. 在语言中,每行只能写一条语句. 若是实型变量,语言程序中允许赋值,因此实型变量中允许存放整型数据. 语言中,无论整数还是实数,都能被准确无误地表示. 在语言程序中,只是用于整数运算的运算符37. 有如下程序段:int *p,a=10,b=1 ; p=&a; a=*p+b; 执行该程序段后,a的值为( )。 A. 12 B. 11 C. 10 D. 编译出错38. 有一程序段如下: struct studentint age;int num;stu, *p;p=&stu;以下对结构体变量stu中成员age的引用中,非法的引用是( )。A. student.age B. stu.age C. p-age D. (*p).age39. 结构体类型变量在程序执行期间( )。A. 所有成员一直驻留在内存中B. 只有一个成员一直驻留在内存中C. 部分成员驻留在内存中D. 没有成员驻留在内存中40. 下面的叙述中,正确的是( )。A. 对指针只要赋给它个地址值就可以了B. 指针也要求类型匹配C. 因为指针变量里保存的是地址,由系统分配,所以指针变量不能进行任何算术运算。D. 上面说法都不对二填空题(每空1分,共10分) 1在C语言中,格式化输入库函数为scanf,格式化输出函数为【 1 】。2任何复杂的程序都可以由顺序、分支和【 2 】这三种基本结构组成。3. C语言中用0表示假,用【 3 】表示真。4C语言中实现循环结构的控制语句有for语句、【 4 】语句和do-while语句。5若有定义int a34, 假设a00是数组中第一个元素,则a22是数组中第【5】个元素。6从函数定义的角度看,函数可以分为标准库函数和【 6 】两种。7如果函数没有返回值,则函数的类型符应该写为【 7 】。8当a=3,b=2,c=1时,表达式“f=abc”的值是 【 8 】。9循环结构程序中break语句的作用是【 9 】。10用数组名字作为函数的实参时,实际上传递的是该数组的【 10 】。三. 判断题(每题1分,共10分)1语句“int a10 ;”与语句“a10=3;”中的a10所表示的含义相同。【 】2只有主函数才能调用其他函数。【 】3. 外部类型的变量作用范围大,编程中应多用外部变量。【 】4If语句中的表达式可以是任意表达式。【 】5函数的定义不能嵌套,但函数的调用可以嵌套。【 】6逻辑运算符两侧的运算对象可以是任何类型的数据。【 】7无论整数还是实数,都能被准确无误地表示。 【 】8C语言代码中的注释内容太多会影响程序执行效率。【 】9形参和实参都可以是表达式。【 】10用do-while语句构成的循环,在while后的表达式为零时结束循环。【 】四. 综合题(共40分)1 定义一个学生信息的结构体类型,包括如下四个成员:学号(占8个字符)、姓名(占16个字符)、性别(占2个字符)和年龄。(5分)struct student char xh8; char xm16; char xb2; int age;2 编写一程序,输入整数a和b,若a2+b2大于100,则输出a+b的值,否则输出ab的值。(5分)#include void main() int a,b; scanf(%d%d,&a,&b); if (a*a+b*b100) printf(%dn, a+b); else printf(%dn,a-b);3. 编写一人口统计程序,现在全球人口达到了60亿,按年增长率2%计算,多少年后世界人口将翻一番,达到120亿?(7分)#include void main() int i; float people=60; for(i=1;i+) if (people=people*(1+0.02)=120) break; printf(%dn,i);4.编写一程序,输入两个实数和一个算术运算符(,*,),根据运算符执行相应的运算并输出运算结果。(8分)#include void main() int a,b; char c; scanf(%d%c%d,&a,%c,&b); swithch(c) case +: printf(%d+%d=%dn,a,b,a+b);break; case -: printf(%d-%d=%dn,a,b,a-b);break; case *: printf(%d*%d=%dn,a,b,a*b);break; case /: printf(%d/%d=%dn,a,b,a/b);break; default:printf(o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论