C语言期末复习(改完).doc_第1页
C语言期末复习(改完).doc_第2页
C语言期末复习(改完).doc_第3页
C语言期末复习(改完).doc_第4页
C语言期末复习(改完).doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

装 订 线 宁德师范学院计算机系高级语言程序设计期末复习 专业: 班级: 姓名: 学号: 一、选择题 (本大题共 10 题,每小题 3分,共 30 分)1、以下叙述中正确的是( B )。A在C语言程序中,main 函数必须放在其他函数的最前面B每个后缀为.C的C语言源程序都可以单独进行编译C在C语言程序中,只有main 函数才可单独进行编译D每个后缀为.C的C语言源程序都应该包含一个main函数2、一个C语言程序是由_组BA) 过程 B) 函数 C)子程序 D)标识符3、设字符型变量x的值是064,表达式xx2&x的值是( )。AA0333 B333 C0x333 D0204、设有以下定义Dint a=0; double b=1.25;char c=A;#define d 2 /*宏定义*/则下面语句中错误的是A) a+; B) b+ C) c+; D) d+;5、若k是int类型变量,且有以下for语句 for (k=-1; k0; k+ ) printf(*n); 下面关于语句执行情况的叙述中正确的是A A)循环体执行一次 B)循环体执行两次C)循环体一次也不执行 D)构成无限循环6、执行语句x=(a=3,b=a-); 后, x, a, b的值依次是_C_A) 3, 3, 2 B) 3, 2, 2 C) 3, 2, 3 D) 2, 3, 27、设变量a和b已定义为int类型,若要通过scanf(a=%d,b=%d,&a,&b);语句分别给a和b输入1和2,则正确的数据输入内容是CA1 2 Ba=1b=2 Ca=1,b=2 D1,28、有以下程序段int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b;b=p5;Db中的值是A) 5B) 6C) 8D) 99、while(exp)中的(exp)与下面表达式等价的是_B_A)(exp= =0) B) (exp! = 0) C) (exp = = 1) D) (exp!= 1)10、若k是int类型变量,且有以下for语句 for (k=-1; k0; k+ ) printf(*n); 下面关于语句执行情况的叙述中正确的是 A A)循环体执行一次 B)循环体执行两次C)循环体一次也不执行 D)要依据for语句开始时k值情况而定二、阅读程序,写出运行结果 (本大题共 10 题,共 25 分) 1. main( ) int x=102,y=012; printf(“%2d,%2dn”,x,y); 102 10执行后输出结果是:2. main( ) int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(“%dn”,s);30执行后的输出结果是:3.下列程序段的输出结果是_#*#*#_for(int i=1;i0&+x5) y=y-1; printf(“%d,%d,%dn”,x,y,z);执行后的输出结果是:3,2,-15main( ) int i,n=0; for(i=2;i5;i+) do if(i%3) continue; n+; while(!i);n+; printf(“n=%dn”,n);执行后的输出结果是:n=46. 以下程序执行后输出的结果是_4,8_#include void func(int n) static int num=1;num=num+n;printf(%d ,num);void main() func(3);func(4);printf(n); 7. 以下程序执行后输出的结果是_9_#includevoid fun(int *p)printf(%dn,p5);void main() int a10=1,2,3,4,5,6,7,8,9,10; fun(&a3);8. 以下程序段的输出结果是_19=2+6+9+2_。int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;int i, s=0;for(i=0;i4;i+) s+=aai1;printf(%dn,s);9. 以下程序执行后输出的结果是_1,3_#include void f(int *p,int *q)p=p+1/*指针后移一位,里面的值不变*/;*q=*q+1(表示q所指的空间里的数字加一);void main() int m=1,n=2,*r=&m;f(r,&n);printf(“%d,%d”,m,n);(10)设有如下定义语句 int m=2,4,6,8,10, *k=m; 写出各表达式的值。 *(k+2) 值为: 6 *k+2值为:4 *k+=2值为:4三、程序填空 (本大题共 3 题,共 15 分)1、 输入若干个正整数,判断每个数从高位到低位各位数字是否按值从小到大排列,请根据题意,将程序补充完整。#include int fun( int m );void main() int n;scanf(%d, &n);while (n 0) if(fun(n)printf(%d中各位数字按从小到大排列n, n);scanf(%d, &n);int fun( int m ) int k;_k=m%10_;while(m)if(m/10%10k) return 0;else _m=m/10_ ; k = m % 10; return 1;正确代码#include int fun(int m); int main() int n;scanf(%d,&n); while(n0) if(fun(n)=1)/这里要用两个等于,不是一个。不然就变成赋值了 printf(%d yesn,n); else printf(%d Non,n); scanf(%d,&n); return 0;int fun(int m) int k; k=m/10; while(m) if(m%10=A & xi=Z) for(j=0;jny;j+)If(yi=xi) break ;if( j=ny ) yny=xi; ny+; for(i=0;iny;i+)printf(%c ,yi); 3、从键盘输入3个浮点数a,b,c,首先按照输入顺序显示在屏幕上,然后按从小到大顺序把它们输出到屏幕上。#include main()float a,b,c,t; printf(please input three numbers:n);Scanf(“%f%f%f”,&a&b&c);printf(before sort:a=%f,b=%f,c=%fn,a,b,c); if(ab)t=a;a=b;b=t;printf(after sort:a=%f,b=%f,c=%fn,a,b,c);_if(ac)_ t=a;a=c;c=t; printf(after sort:a=%f,b=%f,c=%fn,a,b,c);_if(bc)_ t=b;b=c;c=t;printf(after sort:a=%f,b=%f,c=%fn,a,c,b); 四、编程题(本大题共 30分)1. 编程实现:从键盘输入一整型数m,计算1+2+3+4+m-1,输出计算结果。(15分)(设计一组测试数据用于程序的测试。(5分)#includeint main() int i,m,s; s=0; printf(shuru m:n); scanf(%d,&m); for(i=1;i=m-1;i+) s=s+i; printf(%dn,s); return 0; 2. 编程实现:定义一个表示人的结构体,包含人的姓名、手机号两个属性信息。将一个姓名为wangwu,手机号人的信息输入内存,并在显示器上输出。(10分)#include#includestruct manchar name20;char tel11;int main()system(color 67); Struct man s=wangwu printf(%st %stn,,s.tel); return 0;第二种#include#in

温馨提示

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

评论

0/150

提交评论