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

    石油大学C语言知识在线考试-附答案解析.doc

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

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

    石油大学C语言知识在线考试-附答案解析.doc

    #+C语言综合复习资料一、单选题1. C语言中基本数据类型有 ( )A)整型、实型、逻辑型 B)整型、字符型、逻辑型C)整型、实型、字符型 D)整型、实型、字符型、逻辑型2. 在C语言中,数字029是一个( )A)八进制数 B)十进制数 C)十六进制数 D)非法数3. 在以下关于C语言的不严格的叙述中,错误的说法是( )A)在标识符中,大写字母和小些字母的意义相同B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义4. 已知 int a=4,b=5; ,这执行表达式 a=a>b 后,变量a的值为( )A) 0 B)1 C) 4 D) 55. 设有定义 int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是( ) A) a&&b B) a<=b C) a|b+c&&b-c D) !(a<b)&&!c|1)6. 以下不合法的赋值语句是( )A)x=(1,y=2); B)+x; C)x=y=15; D)y=int(x);7. 已定义c为字符型变量,则下列语句中正确的是( )A)c=97; B)c="97" C)c="a" D)c=97;8. 能将高级语言编写的源程序转换为目标程序的软件是( )A)汇编程序 B)编辑程序 C)解释程序 D)编译程序9. 设有定义 char *p=“abcde0fghjik0”; 则printf(“%dn”,strlen(p);输出结果是( )A) 12 B) 15 C) 6 D) 510.以下选项中合法的实型常数是( )A) 5E2.0 B) E-3 C) .2E0 D) 1.3E11.以下非法的赋值语句是( )A) n=(i=2,+i); B) j+; C) +(i+1); D) x=j>0;12.已定义c为字符型变量,则下列正确的赋值语句是( )A)c=66; B)c="66" C)c="B" D)c=66;13.设a=3,b=4,c=-5,则逻辑表达式:a | b+c&& b=c 的值是( ) A)1 B)0 C)非0 D)语法错14.以下能正确定义数组并正确赋初值的语句是( ) A)int N=5,bNN; B)int a12=1,3; C)int c2= 1,2,3,4; D)int d32=1,2,34;15.结构化程序设计的三种基本结构是( ) A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue16.在一个C程序中( ) A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置17.以下合法的字符常量是( )A)084 B)ab C)x43D)“0”18.用8位无符号二进制数能表示的最大十进制数为( ) A)127 B)128 C)255 D)25619.设有定义:int x=0,y=1,z=1;则运行表达式:x=y+>z-后,x,y,z的值分别是( )) 1,1,1) 1,2,0) 0,1,1) 0,2,020.设有int x=11;则表达式(x+*1/3)的值是( ) A) 3 B)4 C) 11 D) 1221.若有: int x=1,n=5; 则执行语句x%=(n%2)后,x的值为( )A) 3 B)2 C) 1 D) 022.结构化程序的3种基本控制结构是( )A) if-else结构、while结构、for结构 B) 顺序结构、分支机构、循环结构C) while结构、do-while结构、for结构 D) 以上三种都不对23.下面程序段的输出结果是( )int k=11;printf(“%d,%o,%x”,k,k,k);A)11,12,11 B)11,13,13 C)11,013,0xb D)11,13,b24.在微型计算机系统中,存储一个汉字的国标码所需要的字节数是( )A) 1 B) 2 C) 3 D) 425.以下非法的赋值语句是( )A) n=(i=2,+i); B) j+; C) +(i+1); D) x=j>0;26.语句:printf("%d",(a=2)&&(b=-2); 的输出结果是( )A)无输出 B)结果不确定 C) 1 D) 227.设有定义语句:charstr20="Hello","Beijing",*p=str; ( )则printf("%dn",strlen(p+20); 输出结果是A)0 B)5 C)7 D)2028.以下选项中,与k=+n完全等价的表达式是( )A) k=n,n=n+1 B) n=n+1,k=n C) k=+n D) k+=n+1二、读程序,写出程序执行结果1. #include <stdio.h>void main() int a=10,b=0;if(a=12) a+; b+; else a=a+3 ; b=b+3;printf(“%d,%dn”,a,b); 2. #include <stdio.h>void main() ints,i;for(s=0,i=1;i<5;i+,s+=i) ;printf(“%dn”,s);3. #include “stdio.h”void main() char n=c;switch(n+) default: printf(“error!”); break;case a: case A: case b: case B: printf(“good!”);break;case c: case C: printf(“pass!”);case d: case D: printf(“warm!”);4. #include <stdio.h>void main() int k=4,n=0;for( ; n<k ; ) n+;if(n%3!=0) continue;k- -; printf("%d,%dn",k,n);5. #include <stdio.h>int f(int b,intm,int n) inti,s=0;for(i=m;i<=n;i+=2) s+=bi;return s; void main() intx,a=1,2,3,4,5,6,7,8,9,10; x=f(a,3,8);printf(“%dn”,x);6. #include <stdio.h>voidcopy_str(char from ,char to ) int k=0;while(fromk!=0)tok=fromk;k+; tok=0; /*末尾加上串结束标志*/ void main() char str180=”red”,str280=”green”;copy_str (str1,str2); puts(str2);7. #include <stdio.h>int d=1; void fun(int p) int d=5;d+=p+;printf(“%d”,d); void main() int a=3;fun(a); d+=a+; printf("%dn", d); 8#include <stdio.h>void main() int i,j;for(i=0; i<3;i+)for(j=0; j<=i;j+)printf("*");printf("n");9. #include <stdio.h>void main() inti;for (i=0; i<3; i+)switch (i) case 1: printf("%d ", i);case 2: printf("%d ", i);default :printf("%d ", i); 10 #include <stdio.h>intws(int x) if(x/100>0) return(3);else if(x/10>0 ) return(2);else return(1); void main() int a=123; printf("%d是%d位数n",a,ws(a);11. #include <stdio.h>#include <string.h>void main() char a10="abc";char b="defg";puts(a); puts(b);puts(strcat(a,b);12.#include <stdio.h>void main()int i,n=1,2,3,4,5;for(i=0;i<2;i+)ni=n4-i+1;printf("%d ",ni);for(i=0;i<5;i+)printf("%d ",ni);13.#include <stdio.h>void main() int a34=1,2,3,4,9,7,10,6,-1,8,-5,5;int i,j,row=0,colum=0,max;max=a00; for(i=0;i<=2;i+)for(j=0;j<=3;j+)if(aij>max)max=aij;row=i;colum=j;printf("max=%d,row=%d,colum=%d",max,row,colum);14.#include <stdio.h>voidcopy_str(char from ,char to ) int k=0;while(fromk!= 0)tok=fromk;k+; tok=0; /*末尾加上串结束标志*/ void main() char str180= "good",str280= "abcdef";copy_str(str1,str2);puts(str2);15. #include <stdio.h>void main() int a=0; a+=(a=8);printf(“%dn”,a);16. #include <stdio.h>void main() int x=4;if(x+>=5)printf(“%dn”, x) ;elseprintf(“%dn”, x-) ; 17. #include <stdio.h> #define MAX(a,b) (a>b ? a : b)+1 void main() int i=6,j=8; printf(“%dn”,MAX(i,j);18#include <stdio.h>void main() int i,j,m=0,n=0,k=0;for(i=6; i<=9;i+) for(j=2; j<=3;j+)switch(i%j ) case 0: m+; break;case 1: n+; break;case 2: k+; break;default: k+;n+;m+; printf("%d %d %dn",m,n,k);19. #include <stdio.h>void main() inti;for(i=1;i<5;i+) if(i%2)putchar(<);elsecontinue;putchar(>);putchar(#);20#include <stdio.h>void main()int i,n=1,2,3,4,5;for(i=0;i<2;i+)ni=n4-i+1;printf("%d ",ni);for(i=0;i<5;i+)printf("%d ",ni);21. #include <stdio.h>int m=13; int fun(int x,int y) int m=3; return(x*y-m); void main() int a=7, b=5; printf("%dn", fun(a,b)/m); 22. #include <stdio.h>void main() int n=2;printf(“%d,%d,%dn”, +n , n+=2 , -n) ; 23. #include <stdio.h>void main() int x=1,a=0,b=0;switch(x) case 0: b+;case 1: a+;case 2: a+;b+; printf(“a=%d,b=%dn”,a,b);24. #include <stdio.h>void main() ints,t,a=-2,b=6; s=t=1;if(a>0) s=s+1;if(a>b) t=s+t;else if(a=b) t=5;else t=2*s;printf("t=%d ", t); 25. #include <stdio.h>#define S(a,b) (a)*(b) voidmain() int a=3 ,area;area=S(a,a+3) ;printf("area=%dn",area); 26. #include <stdio.h>void main() inti=0,a=0;while(i<20 ) for(;)if(i%10)=0) break;elsei-; i+=11;a+=i; printf("%dn",a);27. #include <stdio.h>void main() int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;inti,s=0 ;for(i=0;i<4;i+) s+=aai2;printf(“%dn”,s); 28. #include <stdio.h>fun(int a, int b) if(a>b) return(a);else return(b); void main() int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf("%dn", r);三、编程题1. 设有分段函数:x (x1)Y= 2x-1 (1x10) 写一程序,输入 x,输出 y 的值。3x-11 (x10) 2编程任意输入两个实数a和b,计算下面函数的值,并输出y值。 a-b a>by= a<ba*b a=b3.编程序求如下分段函数的值4.写一个判断素数的函数。要求在主函数中输入一个整数并输出相应的判断信息。5.编程序计算 s=1!-2!+3!-4!+ -10!,并输出结果。6.编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。要求字符串的输入与输出在主函数中完成。7.编程计算:s=1+12+123+1234+12345+123456 (必须用循环控制语句实现)8.编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串。例如输入是:12345abcde,则输出为:edcba543219.编程,在NN矩阵中(即N行N列的数组),求主对角线和次对角线上的各元素之和。10.10个评委给出某选手打分,编程实现去掉一个最高分和一个最低分,求最后得分(平均分)C语言综合复习资料参考答案一、 单选题题号12345678910答案CDAADDDDDC题号11121314151617181920答案CDACABCCDA题号2122232425262728答案DBCBCCCB二、读程序写出程序执行结果题1、13,32、143、pass!warm!4、3,35、186、red7、848、*9、01112210、123是3位数11、abcdefgabcdefg12、656534513、max=10,row=1,colum=214、good15、1616、517、918、4 3 119、<><>#20、656534521、222、4,3,123、a=2,b=124、t=2 25、area=18 26、32 27、2928、12三、编程题1. 设有分段函数:x (x1)Y= 2x-1 (1x10) 写一程序,输入 x,输出 y 的值。3x-11 (x10) #include <stdio.h>void main()intx,y;printf(“输入x:”);scanf(“%dn”,&x);if(x<1) y=x;printf(“x=%3d,y=x=%dn”,x,y);else if(x<10)y=2*x-1;printf(“x=%3d,y=2*x-1=%dn”,x,y);elsey=3*x-11;printf(“x=%3d,y=3*x-11=%dn”,x,y);2编程任意输入两个实数a和b,计算下面函数的值,并输出y值。 a-b a>by= a<ba*b a=b#include <stdio.h>void main()floata,b,y;scanf(“%f,%f”,&a,&b);if(a<b) y=a/b;elseif(a=b)y=a*b;else y=a-b;printf(“y=%fn”,y);3.编程序求如下分段函数的值#include<stdio.h>#include<math.h>void main() floatx,y;scanf(“%d”,&x);if(x<=0) y=fabs(x)+3; else if(x<1&&x>=0)y=1+x*x;elsey=2*x+sqrt(x); printf(“x=%f,y=%fn”,x,y);4.写一个判断素数的函数。要求在主函数中输入一个整数并输出相应的判断信息。#include <stdio.h>void main()intn,i;printf(“please enter a integer number,n=?”);scanf(“%d”,&n);for(i=2;i<=n-1;i+)if(n%i=0)break;if(i<n) printf(“%d is not a prime number.n”,n);elseprintf(“%d is a prime number.n”,n);求素数的问题方法有很多,同学们可以到教材或网络上进行查找学习。5.编程序计算 s=1!-2!+3!-4!+ -10!,并输出结果。#include <stdio.h>void main()inti,k=1,njie=1;float sum=0;for(i=1;i<=10;i+) njie=njie*i;sum=sum+njie*k;k=-1*k; printf("%fn",sum); 6.编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。要求字符串的输入与输出在主函数中完成。#include <stdio.h>void main()inti;char a80;gets(a);puts(a);for(i=0;i<80;i+)if(ai>=65&&ai<=90)ai=ai+32;puts(a);7.编程计算:s=1+12+123+1234+12345+123456 (必须用循环控制语句实现)#include <stdio.h>void main()longint t=0,s=0,i;for(i=1;i<=6;i+)t=i+t*10;s=s+t;printf(”s=%ldn”,s);本题请注意s数据类型的定义。8.编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串。例如输入是:12345abcde,则输出为:edcba54321void main() char a100; gets(a); change(a); puts(a); #include<stdio.h>#include<string.h>void change(char a)inti,j,k; char temp; k=strlen(a); for(i=0;i<k;i+) for(j=i+1;j<k;j+) temp=ai; ai=aj; aj=temp; 9.编程,在NN矩阵中(即N行N列的数组),求主对角线和次对角线上的各元素之和。#define N 10;main()inti,j;int aNN;int sum=0;for(i=0;i<N;i+)for(j=0;j<N;j+)scanf("%d",&aij);for(i=0;i<N;i+)for(j=0;j<N;j+)if(i=j|(i+j=N)/i=j是判断是否主对角线的元素i+j=N 是判断是否是次对角线的元素sum+=aij;printf("%d",sum);10.10个评委给出某选手打分,编程实现去掉一个最高分和一个最低分,求最后得分(平均分)#include <stdio.h>int main() int a10,i,max,min;float sum;for(i=0;i<10;i+ ) scanf("%d",&ai); max=a0;min=a0;for(i=1;i<=9;i+) if(max<ai)max=ai;else if(min>ai)min=ai; for(i=0;i<=9;i+) sum=sum+ai;sum=(sum-max-min)/8;printf("%fn",sum);

    注意事项

    本文(石油大学C语言知识在线考试-附答案解析.doc)为本站会员(小**)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开