欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言复习题及答案老师给的.doc

    • 资源ID:13014214       资源大小:152KB        全文页数:23页
    • 资源格式: DOC        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言复习题及答案老师给的.doc

    . .复习A:一、单项选择题1、如果要把常量327存入变量a中,a不能定义的类型是哪一个?(B)A int B char C long D float 2、假设x 为unsigned int 型变量,那么执行以下语句后x值为 D x = 65535;printf(“%dn,x);A65535 B1 C无定值D-13、有以下程序mainint a=1,b=2,m=0,n=0,k;k=n=b>a|m=a<b;printf%d,%dn,k,m;程序运行后的输出结果是 C  A)0,0   B)0,1   C)1,0   D)1,14、在C语言中,如果下面的变量都是int类型,那么输出的结果是 C 。sum=pad=5; pAd=sum + + ,pAd + +, + + pAd;printf("%dn",pad);A) 7 B) 6 C) 5 D) 45、以下程序的输出结果是A。main() int a=4,b=5,c=0,d;d=!a&&!b|!c;printf("%dn",d); A1B0C非0的数D-16、当执行以下程序段时A。x=-1;dox=x*x;while(!x);A循环体将执行一次B循环体将执行两次C循环体将执行无限次D系统将提示有语法错误7、全局变量的存储类型可以定义为D。Aauto或static B extern或 register C auto或extern D extern或static8、定义全局变量时,假设变量的的存储类别缺省,那么默认的存储类型是C。Aauto B register C externD static9、:int a, x; 那么正确的赋值语句是C 。 A a=(a1+a2)/2;B a*=*a+1; C a=(x=1, x+, x+2);D a="good"10、:int a, *p=&a; 那么以下函数调用中错误的选项是 D 。 A scanf("%d", &a);B scanf("%d", p); C printf("%d", a);D printf("%d", p);11、下述程序的输出结果是D。#include <stdio.h>void main( ) struct plex int x ; int y; um2=1,3,2,7; printf(“%d,um0.y/um0.x*um1.x) ; A 0 B 1 C 3 D 6 12、下述程序的输出结果是B。 #include <stdio.h>void main( ) union unsigned char c ; unsigned int i4; z ; z.i0=0x39 ; z.i1=0x36; printf(“%c,z.c); A 6 B 9 C 0 D 313、下述关于C语言文件操作的结论中,B是正确的。A对文件操作必须先关闭文件B对文件操作必须先翻开文件C对文件操作顺序无要求D对文件操作前必须先测试文件是否存在,然后再翻开文件14、以下程序的输出结果是C。 main() char ch34="123","456","78",*p3; int i;for (i=0;i<3;i+) pi=chi;for (i=0;i<3;i+) printf("%s",pi); A123456780 B123 456 780 C 12345678 D 14715、对于所定义的二维数组a23,元素a12是数组的第( D )个元素。A3 B4 C5 D6 1、 赋值运算符的优先级低于关系运算符。2、 条件运算符的结合方向是“自左向右 ×。3、 C语句的循环语句中循环体如果包含一个以上的语句,必须以复合语句形式出现。4、 C程序中的函数不能嵌套调用,但可嵌套定义×。5、 假设自定义函数要求函数名返回一个值,那么该函数体中必须要有return语句( ×。6、 当形式参数为指针变量名时,实际参数可为指针变量名、数组名或其它类型变量的首地址。7、 假设有说明:static int a34;,那么数组a中各数组元素可在程序的编译阶段得到初值0。8、 假设用数组名作为函数调用时的实参,那么实际上传递给形参数组的是数组的第一个元素的值。9、 利用指针和构造体类型可以构成表、树等复杂的数据构造。10、共用体变量的地址和它的各成员的地址都是同一地址。11、printf函数中的“%0格式参数表示用来输出unsigned型数据 × 。12、在一个C程序中,所有要使用的变量和要调用的函数都必须在main( )函数中定义 × 。13、赋值运算符的结合性是“自右至左 。14、一个C程序可以由多个源程序文件组成 。15、do-while语句构成的循环,当while语句中的表达式的值为零时完毕循环 。三、写出下面各程序的运行结果. .word. .1、 #include<stdio.h>main ( )int i=0, j=0, k=0, m;for (m=0; m<4; m+)switch (m)case 0: i=m+; case 1: j=m+; case 2: k=m+; case 3: m+;printf(“n%d, %d, %d, %d, i, j, k, m);2、 #include<stdio.h>main ( )int i=1;while (i<=15)if (+i% 3!=2)continue;elseprintf(“%d, i);3、#include<stdio.h> add1(int a , int n) int i; for(i =0;i<n;i+) ai+;main() static int array =0,1,2,3,4,5,6,7,8,9;int j;add1(array,10);for(j=0;j<10;j+)printf(“%d,arrayj);4、union data long w; float x; int y; char z; beta;main( ) beta.w=123456;beta.y=888;beta.x=3.14;beta.z=x;printf(“%c,beta.y); . .word. .5、# include <string.h>typedef struct student char name10; long sno; float score; STU;main( ) STU a="zhangsan",2001,95,b="Shangxian",2002,90,c="Anhua",2003,95,d,*p=&d;d=a;if(strcmp(a.name,b.name)>0) d=b; if(strcmp(c.name,d.name)>0) d=c;printf("%ld%sn",d.sno,p->name);四、程序填空1、以下程序是从键盘上输入假设干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时完毕输入,请将缺省语句填上。main ( )float x, amax, amin;scanf (“%f, &x);amax=x; amin=x;while ( )if ( ) amax =x;if ( ) amin =x;scanf (“%f, &x);printf(“amax=%f, amin=%fn, amax, amin);2、下面的程序是用指针来交换两个数据,请将缺省语句填上。void exchange( int *p ,int *q) int t; t=*p; *p=*q; *q=t;main() int a,b,*x,*y; a=10;b=20; x=&a;printf(“%d %dn,*x, *y);五、程序设计题 有10个学生,每个学生的数据包括学号、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据包括学号、3门课的成绩、平均分数。 2、用自定义函数和数组求n个数的平均值,并用主函数调用参考答案:一、单项选择题1、B 2、D 3、C 4、C 5、 A 6、A 7、D 8、C 9、C10、D11、D 12、B 13、B 14、C15、 D二、判断题 2、× 3、 4、× 5、×6、 7、 8、 9、10、11、× 12、× 13、 14、 15、 三、写出程序的运行结果1、 答案是:0,1,2,52、 答案是:2 5 8 11 143、答案是:4、答案是:x5、答案是:2002Shangxian四、程序填空1、答案是:x>=0 x>amax x<amin2、答案:y=&b; exchange(x,y);五、程序设计题1、参考答案:#define N 10struct student. .word. . char num6;char name8;int score4;float ave; stuN;main() int i,j,max,maxi,sum; float average; /*输入*/for ( i=0; i<N; i+) printf(“nInput scores of student %d,n,i+1);printf(“No.:);scanf(“%s,stui.num);printf(“name:);scanf(“%s,stui.name);for(j=0;j<3;j+) printf(“score %d:,j+i);scanf(“%d,&stui.scorej); /*计算*/average=0;max=0;maxi=0;for(i=0; i<N; i+) sum=0; for(j=0; j<a; j+) sum+=stui.scorej; stui.avr=sum/3.0; average+=stui.avr;if (sum>max) max=sum; maxi=i; average/=N;/*打印*/printf(“NO. name score1 score2 score3 averagen);for(i=0; i<N; i+) printf(“%s%10s, stui.num , stui.name); for(j=0; j<3; j+)printf(“%9d,stui.scorej); printf(“%8.2fn,stui.avr); printf(“average=%6.2fn,average);printf(“The highest score is : %s, score total: %d, stumaxi.name,max);. .word. . .word. . 2、参考答案: float average( float a , int n) float aver=0; int j; for(j=0;j<n;j+) aver=aver+aj;aver=aver/n; return aver;main() float x10,y; int j;for(j=0;j<10;j+) scanf(“%f,&xj);y=average(x,10); printf(“aver=%.2fn,y);. .word. .复习B:一、单项选择题1、逗号表达式2,4,6,8的值为 d 。 A 2 B4 C6 D82、以下选项中非法的表达式是( d ) A0<=x&&x<100 Bi=j = =0C(char)(65+3) Dx+1=x+13、假设定义float a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,那么选用 a 。Ascanf(“%f,&a); B) scanf(“%5.2f,a);C) scanf(“%6.2f,&a); D) scanf(“%f,a);4、以下程序的运行结果是 d main()int a=3, b=2, c=1, k=4; printf("%dn", k<a? k : c<b? c: a);A) 4B) 3C) 2D) 15、以下程序中,while循环的循环次数是d。main( ) int i=0;while(i<10) if(i<1) continue;if(i=5) break;i+;A1B10C6D死循环,不能确定次数6、执行语句:fori=1;i+<4;后;变量i的值是c。A3B4C5D不定7、有关函数参数,以下说法不正确的选项是c。A实参可以将数据传给形参;B实参和形参是不同的变量; C 形参可以将数据传给实参; D 实参和形参必须个数相等,类型一致。8、C语言中,变量和函数具有两个属性是b 。A作用域和生存期 B类型和存储类别C作用域和类型 D作用域和存储类别9、说明语句“int (*p)( ):的含义是 c 。Ap是一个指向一维数组的指针变量Bp是指针变量,指向一个整型数据Cp是一个指向函数的指针,该函数的返回值是一个整型D以上都不对10、说明语句"int *(*p);"的含义是 d 。Ap是一个指向int 型数组的指针Bp是指针变量,它构成了指针数组Cp是一个指向函数的指针,该函数的返回值是一个整型Dp是一个指向函数的指针,该函数的返回值是一个指向整型的指针11、下述程序的执行结果是a。. .word. .#include<stdio.h>union un int i; char c2; ;void main( ) union un x; x.c0=10; x.c1=1; printf(“n%d,x.i);. .word. .A 266 B11 C265 D138 12、假设程序中有如下的说明和定义:struct ex int x, y ; struct ex x, y; 那么会发生的情况是a。A 编译时错 B 程序能顺利编译、连接、执行C 能顺利编译和连接,但不能执行D 能通过编译,但连接出错13、C语言可以处理的文件类型是b。 A 文本文件和数据文件B 文本文件和二进制文件 C 数据文件和二进制文件D 数据代码文件14、下面的for语句 c 。for (x=0, y=0; (y!=123) && (x<4); x+) A是无限循环B循环次数不定C循环执行4次D循环执行3次15、假设有如下说明:struct char ch; int i; double x; arr23=a,1,3.45,b,2,7.89,c,3,1.93;那么表达式 b 的值为2。A arr01.ch B arr01.i C arr00.i D arr02.i 二、判断题1、条件运算符的结合方向是“自左向右 ×。2、switch语句中每一个case的常量表达式的值必须互不一样。3、循环语句中循环体允许包含一个以上的语句,可以不以复合语句形式出现×。4、构成C程序的源文件之间以及函数与函数之间,相互位置可以任意。5、C程序中的函数不能嵌套定义,但可嵌套调用。6、从变量的作用域角度来分,可以分为全局变量和局部变量。7、从终端输入一个字符串给字符数组,该字符串两端不必用双引号括起来。8、假设有说明:int a 4=0,0;,那么只有a00和a01可得到初值0,其余元素均得不到初值0。9、利用指针和构造类型不能构成更复杂的数据构造×。10、共用体类型可以出现在构造体类型定义中。11、当一个case语句末包含break语句时,执行完该case语句后跳出switch构造 。12、宏定义中的标识符可以用大写字母,也可以用小写字母 × 。13、do-while语句构成的循环,当while语句中的表达式的值为非零时完毕循环× 。14、用“%作求余运算时,该运算符两侧均应为整型数据 。15、一个逗号表达式可以与另一个表达式组成一个新的逗号表达式 。三、写出程序的运行结果. .word. .1、 #include<stdio.h>main ( )int a=1, b=3, c=5, d=4;if (a<b)if (c<d) x=1;elseif (a<c)if (b<d) x=2;else x=3;else x=6;else x=7;printf(“x=%d, x);2、 #include<stdio.h>main ( )int k, j, m;for(k=5; k>=1; k- -)m=0;for (j=k, j<=5; j+)m+=k*j;printf (“m=%dn, m);. .word. . .word. .3、#include <stdio.h> main() union Exa struct int a; int b; out; int c;int d;e;e.c=1;e.d=2; e.out.a=e.c*e.d;e.out.b=e.c+e.d; printf("%d %d",e.out.a,e.out.b); 4、#include “stdio.hmain( ) int a =1,2,3,4,i,j,s=0; j=1; for(i=3;i>=0;i-) s=s+ai*j; j=j*10; printf(“s=%dn,s);5、#include "stdio.h"#include "string.h"main( ) char s1 ="som things" char s2 ="test" char s3 ="good"printf("%sn",strcat(strcpy(s1,s2),s3);. .word. .四、程序填空1、下面程序输出100到200之间的素数,每行输出10个素数,请将缺省语句填上,使算法完整。#include “math.hmain ( )int m, k, i, n=0;for (m=101; m<=200; m=m+2)if ( ) printf (“n);k=sqrt(m); for (i=2, i<=k; i+)if ( ) break;if ( i>=k+1)printf(“%d, m); n=n+1;2、一个函数days,实现求某月某日是该年的第多少天。由主函数将年、月、日传递给days函数,计算后将日数传回主函数输出,请将缺省语句填上,使算法完整。struct y_m_d int year; int month; int day; date;main() int days(int ,int ,int); int i,day_sum; printf(“input year,month,day:); scanf(“%d,%d,%d,&date.year,&date.month,&date.day); day_sum=days( ); printf(“n%d / %d is the %d th day in %d., date.month, date.day, day_sum,date.year);days(int year, int month, int day) int day_sum, i; int day_tab13=0,31,28,31,30,31,30,31,31,30,31,30,31; for(i=1; i<month; i+)day_sum+=day_tabi; day_sum+=day; if (year%4=0&&year%100!=0|year%4=0) && month>=3) return(day_sum); 五、程序设计题1,学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入构造体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在h所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。#define N 16typedef struct char num10; int s;STREC;int fun(STREC *a, STREC *b) main() STREC sN=“GA05,85,“GA03,76,“GA02,69,“GA04,85,“GA01,91,“GA07,72,“GA08,64,“GA06,87,“GA015,85,“GA013,96,“GA012,64,“GA014,91,“GA011,91,“GA017,64,“GA018,64,“GA016,72;STREC hN; int i, n;n=fun(s,h); printf(“The %d lowest score:n,n);for(i=0; i<n; i+)printf(“%d%4dn,hI.num, hI.s);printf(“n); 2、从键盘输入一批字符回车键完毕,存入一个磁盘文件abc.txt中参考答案:一、单项选择题1、D 2、D 3、A 4、D 5、D 6、C 7、C 8、B 9、C10、D11、A 12、A 13、B 14、C 15、B 二、判断题1、×2、3、×4、5、6、7、8、9、×10、11、 12、 × 13、 × 14、 15、 三、写出程序的运行结果.

    注意事项

    本文(C语言复习题及答案老师给的.doc)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开