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

    C语言期中考试题目及答案(共6页).docx

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

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

    C语言期中考试题目及答案(共6页).docx

    精选优质文档-倾情为你奉上一、选择题:【1】在C语言中,用户能使用的正确标识符是    。A)  5f     B)  _for    C)  struct     D) _f.5答案:B分析:标识符只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线;大小写敏感;不能使用关键字;最长32个字符。【2】以下 那个是正确的C语言常量。A) 0678    B) '0101'    C) 1.2E3.5   D) 123L答案:D【3】以下对C语言源程序有关常识正确的描述是      。A)  main函数必须位于文件的开头B)  每个语句必须单独一行C)  标识符中大小写字母没有区别D)  宏定义#define部分不一定要放在程序的最开头位置答案:D【4】以下for循环的执行次数是。for(x=0,y=0;(y=123)&&(x<4);x+)A)是无限循环  B)循环次数不定  C)执行4次  D)执行3次答案:C分析:若要判断(y=123)&&(x<4)假,因为y=123永远为真,所以只需要判断x<4为假即可。【5】对for(表达式1;表达式3)可理解为。            A)for(表达式1;0;表达式3)            B)for(表达式1;1;表达式3)            C)for(表达式1; 表达式1;表达式3)            D)for(表达式1; 表达式3;表达式3)答案:B【6】设有程序段       int k=10;       while(k=0)  k=k-1;       则下面描述中正确的是。A)while循环执行10次             B)循环是无限循环C)循环体语句一次也不执行           D)循环体语句执行一次答案:C分析:因为k=0为假,所以程序不执行其后的语句。【7】C语言中while和do-while循环的主要区别是。A)  do-while的循环体至少无条件执行一次B)  while的循环控制条件比do-while的循环控制条件严格C)  do-while允许从外部转到循环体内D)  do-while的循环体不能是复合语句答案:A【8】设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为。A)1        B)2        C)3        D)4答案:B分析:对于&&运算,只要第一个操作数为假,就不判定第二个操作数。对于|运算,只要第一个操作数为真,就不判定第二个操作数。上题中m=a>b为假,则n=c>d没有被判定,所以n的值仍为2。【9】以下程序运行后,a和b的值分别为:       #include <stdio.h>       main()       int a,b;         a=10%3,b=5;         printf(“%d,%d”, a , b);       A)%1,%5       B)%1,%d       C)%3,%5   D)1,5答案:B分析:如果两个%连在一起,则输出一个%【10】在以下运算符中,优先级最高的运算符是(      ) (A) =      (B)          (C) !=        (D) 答案:B【11】下列对一维数组a的正确说明语句为     。      A) int a(10);                   B) int n=10, an;      C) int n;                             D) #define SIZE 10         scanf("%d", &n);                   int aSIZE;         int an;答案:D分析:数组名后面的是数组的标志,不能用圆括号或其它符号代替;数组元素的个数必须是一个固定的值,可以是整型常量、符号常量或整型常量表达式,不能是变量。【12】下面程序段的输出结果是      int i;int x33=1,2,3,4,5,6,7,8,9;for(i=0;i<3;i+)   printf("%d",xi2-i);A)1 5 9       B)1 4 7        C)3 5 7        D) 3 6 9答案:C分析:数组x33的元素分别为:x00 x01 x02                         x10 x11 x12                         x20 x21 x22对数组初始化后对应的值为:  1       2       3                            4       5       6                            7       8       9当i=0时,xi2-i= x02=3当i=1时,xi2-i= x11=5当i=2时,xi2-i= x20=7当i=3时,条件不成立,程序退出。 二、填空题:【1】main() int a=5;float x=5.3,y=6.6;printf("%.2f",x+a%3*(int)(x+y)%2/4);答案:5.30分析:算术运算符结合方向为自左向右,并注意格式控制。【2】main() int a=1,b=2,m=2,n=2;      (m=a>b)&&+n;printf(“%dn”,n+);答案:2分析:对于&&运算,只要第一个操作数为假,就不判定第二个操作数。所以n的值为2,表达式n+的值也为2。【3】main() int x=1,y=0;      y=(x->(y+x)?10:12.5>y+?20:30);      printf("%d",y);答案:10分析:关系运算符的优先级高于条件运算符,条件运算符的结合方向为自右向左。-x>(y+x)或x->(y+x)之类结构中,右边的x应为自减后的值。如表达式x>(y+x)?10:12.5>y+?20:30; 的值为20;表达式-x>(y+x)?10:12.5>y+?20:30; 的值为20。【4】main() int n=0;while (n<=2) n+; printf(“%d”,n);答案:123分析: n+; printf(“%d”,n);为while语句的循环体部分,当n=0时条件成立,执行n+后n的值变为1,并输出1;当n=1时条件成立,执行n+后n的值变为2,并输出2;当n=2时条件成立,执行n+后n的值变为3,并输出3;n=3时条件不成立,程序退出。【5】main() int i=0;    do printf(“*”);    i+;if (i>3) break; while (1);printf(“n”);  答案:*分析:此题中的while (1)永远为真,程序结束依靠break来控制,循环体语句为 printf(“*”); i+;if (i>3) break; ,当i的值分别为0,1,2,3时,程序循环四次,输出*;当i的值为4时,i>4为真,退出整个程序。【6】main()   int a,i;   for ( a=1,i=-1; -1<=i<1;i+)        a+;printf(“%d”,a);printf(“%d”,i);答案:-1分析:此题中for的循环体语句为 a+;printf(“%d”,a);。当i=-1时,-1<=i<1为0(为假),则不执行 a+;printf(“%d”,a);,也就不输出a的值,所以只输出i的值为-1。【7】main() int i,x;for ( i=1,x=1;i<=50;i+) if (x>=10) break;if (x%2=1)   x+=5; continue;x-=3;printf(“x=%d,i=%dn”,x,i);答案:x=10,i=6分析:break的功能是退出整个循环,结束程序的执行;而continue的功能是退出本次循环,进入下次循环。此题可用变量跟踪法来求解:i     x     x%2    x+=5    x-=31    1       1      62    6       0              33    3       1      84    8       0              55    5       1      106    10   则if (x>=10) break;条件成立,退出整个循环。【8】以下程序的运行结果是        。main()  int i, v1=0, v2=1, v3=2;   for(i=1; i<10; i+)     switch ( i% 4)        case 1: v1+;         case 2: v2+; break;        default: v3+;                printf("%d,%d,%dn ",v1,v2,v3);  答案:3,6,6分析:用变量分析法如下:i    i% 4    v1    v2    v31     1      1     22     2            33     3                  34     0                  45     1      2     46     2            57     3                  58     0                  69     1      3     6【9】执行以下程序后,输出结果是多少?main() int j,k,s;   for(k=2;k<6;k+,k+)    s=1;      for(j=k;j<6;j+) s+=j;       printf("%d",s);答案:10分析:此题要注意每循环一次,s的值就变为1,要得到s的值只需要看最后一次循环后s的值即可。当k=4时,j分别等于4和5,当j=4时,s+=j的值为5;当j=5时,s+=j的值为10。【10】以下程序的运行结果是     。main()    int i=0;do + + i;if (i % 2!=0)   printf("%d,",i);       while (i<=15)答案:1,3,5,7,9,11,13,15分析:用变量跟踪法进行分析:i      + + i      i % 2!=0       是否执行printf("%d,",i)0        1            真                    是1        2            假                    否2        3            真                    是3        4            假                    否4        5            真                    是5        6            假                    否6        7            真                    是7        8            假                    否8        9            真                    是9        10           假                    否10       11           真                    是11       12           假                    否12       13           真                    是13       14           假                    否14       15           真                    是15       16           条件不成立,退出程序。三、程序填空输入一个正整数,求该数各位之和,如输入3256, 求得3+2+5+6=16。main() int i,t=  【1】 ;  scanf(“%d”,&i);  while(   【2】   )t+=  【3】 ; i/=10;  printf(“%dn”,t);答案:【1】0   【2】i>0    【3】i%10分析:本题定义i为输入的整数,t为各位数字之和。四、编程题:编程求“卖西瓜”问题。问题:有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?参考答案一:(其中d为天数,s为西瓜数量)main()int d,s=1020;for(d=0;s>=0;d+)s=s/2-2;printf("%d",d);参考答案二:(其中day为天数,sum为西瓜数量)main()int day,sum; day=0,sum=0; while(sum<=1020) sum=sum*2+4;day+; printf("%d",day); 专心-专注-专业

    注意事项

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

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




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

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

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

    收起
    展开