2012级C语言期末考试B卷(含答案).doc_第1页
2012级C语言期末考试B卷(含答案).doc_第2页
2012级C语言期末考试B卷(含答案).doc_第3页
2012级C语言期末考试B卷(含答案).doc_第4页
2012级C语言期末考试B卷(含答案).doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

桂林电子科技大学信息科技学院试卷 2012-2013 学年第 2 学期 课号 I04BT014 课程名称 C语言程序设计 (B卷;、闭卷) 适用班级(或年级、专业) 12级、全院 考试时间 120 分钟 班级 学号 姓名 题 号一二三四五六七八九十成绩满 分403030100得 分评卷人一 单项选择题(每小题2分,共40分)1. 一个C语言程序是从开始执行的A)程序中第一个函数 B)名为main的函数C)包含文件(头文件)的第一个函数 D)程序中的第一个语句2 .已知 int i=65;则putchar(i);printf(%d,i);printf(%c,i);的输出结果为A) A,65,A B) 65,65,A C) A,A,65 D) A,A,A3. 假设在程序中a,b,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式的表达式是。 A) 1/a*b*c B)1/(a*b*c) C) 1/a/b/ (float) c D)1.0/a/b/c4 . 若x, y, z均为整型常量,且a=100, 则执行下列语句后的z值为。 x = a+;y= -a;z=x+y-a-;A)100 B)400 C)200 D)3005. 设a、b和c都是int型变量,且a=3,b=0,c=5,则以下值为0的表达式是 。A a&b B a&b|c C a&b&c D a|b&c6下列程序运行后的输出的数据是 。main() int x,y,z; x=y=2; z=3; y=x+-1; printf(%dt%dt,x,y); (3,1) y=+x-1; printf(%dt%dn,x,y); (4,3) y=z-1; printf(%dt%dt,z,x);(2,4) y=-z-1; printf(%dt%dn,z,x);(1,4)A. 3 1 4 3 B. 3 1 3 32 4 1 4 2 4 2 2C. 3 1 4 3 D. 2 1 3 27. 以下程序的输出结果是 。main() int x=4,y=7; x-=y; y+=x; printf(%d%dn,x,y);A) 47 B) -3-3 C) -311 D) -348 当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值是 。if(ab) if(cd) x=1;else if(ac)if(bd) x=2;else x=3;else x=6;else x=7; A) 1 B) 2 C)3 D)69有以下程序#include main() char c1,c2,c3,c4,c5,c6; scanf(%c%c%c%c,&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(%c%cn,c5,c6);程序运行后,若从键盘输入(从第1列开始)12345678则输出结果是 。A) 1267 B) 1256 C) 1278 D) 124510在嵌套使用if语句时,C语言规定else总是 。A) 和之前与其具有相同缩进位置的if配对B) 和之前与其最近的if配对C) 和之前与其最近不带else的if配对D) 和之前的第一个if配对11. 有如下程序main() int n=9; while(n6) n- -; printf(%d,n); 该程序的输出结果是 。A)987 B)876 C)8765 D)987612. 有以下程序段int k=0;while(k=1) k+;while循环执行的次数是 。A)无限次 B)有语法错,不能执行C)一次也不执行 D)执行1次13. 以下叙述正确的是 。A)do-while语句构成的循环不能用其它语句构成的循环来代替B)do-while语句构成的循环只能用break语句退出C)用do-while语句构成的循环,在while后的表达式为非零时结束循环D)用do-while语句构成的循环,在while后的表达式为零时结束循环14. 有如下程序main() int x=23; do printf(%d,x- -); while(!x);该程序的执行结果是 。A)321 B)23 C)不输出任何内容 D)陷入死循环15. 以下程序的输出结果是 。main() int i=0,a=0; while(i20) for(; ;) if(i%10)= =0) break;else i- -;i+=11; a+=i; printf(%dn,a);A)21 B)32 C)33 D)1116. 以下循环体的执行次数是 。A)3 B)2 C)1 D)0main() int i,j; for(i=0,j=1; i=j+1; i+=2,j- -) printf(%d n,i);17. 以下对一维整型数组m的正确定义(说明)的是 。A) int n=10,a(n); B)int n=10,an; C) #define n 10 D) #define n 10int an; int a(n);18. 若有以下说明,则数值为4的表达式是 。int a12=1,2,3,4,5,6,7,8,9,10,11,12;char c=a,d,g;A) ag-c B) a4 C) ad-c D) ad-c19. 已定义a为int型变量,则 是对指针变量p的正确说明和初始化。A) int p=&a; B) int *p=a; C) int *p=*a; D) int *p=&a;20. C语言文件操作函数fread(buffer,size,n,fp)的功能是 。A) 从文件fp中读n个字节存入bufferB) 从文件fp中读n个大小为size字节的数据项存入buffer中C) 从文件fp中读入n个字节放入大小为size字节的缓冲区buffer中D) 从文件fp中读入n个字符数据放入buffer中二 填空题(每题3分,共30分)1. 设x为int型变量,请写出描述“x是偶数”的表达式是 2. 已知 scanf(a=%d,b=%d,c=%d,&a,&b,&c); 若从键盘输入2、3、4三个数分别作为变量a、b、c的值则正确的输入形式是 3. 设有语句 int a=3; 则执行了语句 a+=a-=a*a后,变量a 的值是 4以下程序的输出结果是 。#include main() int i=010 , j=10;printf(%d,%dn,+i,j-);5. 若用数组名作为函数调用的实参,传递给形参的是 。6设有有程序:main() int i=5,j,k; j=i+i+i+; k=(+i)+(+i)+(+i); printf(i=%5d j=%5dnk=%5dn,i,j,k); 则运行程序后的输出是 。7. 以下程序运行后的输出结果是 。main() int m=5;switch(m/2) case 1: m+;case 2: m+=3;case 5: m+=6;break;default: m-=7;printf(%dn,m);8. 以下程序的输出结果是 。main() int s,i;for(s=0,i=1;i3;i+,s+=i);printf(%dn,s);9 以下程序的输出结果是 。main() char ch=abc,x34; int i;for(i=0;i3;i+) strcpy(xi,ch);for(i=0;i3;i+) printf(%s,&xii);printf(n);10 以下程序运行结果是 。int a=1;int f(int c) static int a=2;c=c+1;return (a+)+c;main() int i,k=0;for(i=0;i2;i+) int a=3; k+=f(a); k+=a;printf(%dn,k);三 程序填空题(每空3分,共30分)1. 以下程序的功能是:输入一个小写字母,输出对应的大写字母,将程序补充完整。main() char ch ; 【1】 /* 从键盘输入一个小写字母 */ ch=ch-32; /* 将该字母转换为大写字母 */ 【2】 /* 输出转换后的结果 */2. 下列程序是求 的值。#include stdio.hmain() int i=2; float sum=1;while( 【3】 ) 【4】 ;i+=2;printf(sum=%fn,sum);3. 以下程序,数组a中存放一个递增数列。输入一个整数,并将它插入到数组a中,使之仍为一个递增数列。请填空。main() int a11=1,10,20,30,40,50,60,70,80,90,x,i,p;scanf(%d,&x);for(i=0,p=10;i10;i+)if(x=p;i-) ai+1=ai; 【6】 ;for(i=0;i=10;i+) printf(%5dn,ai);printf(n);4. 下面的程序用来求出所有的水仙花数。所谓水仙花数是指一个3位数,它 的各位数字的立方和恰好等于它本身。main() int n,i,j,k; for(n=100; n=999;n+ ) /* 判断3位数n是否是水仙花数 */ i=n/100; /* i是n的百位上的数字 */j= 【7】 ; /* j是n的十位上的数字 */k=n%10; /* k是n的个位上的数字 */if( 【8】 ) printf(%dn,n); 5. 下面函数的功能是从输入的十个字符串中找出最长的那个串,请填空使程序完整。void fun(char str1081,char *sp) int i;*sp = 【9】 ;for(i=1;i10; i+)if(strlen(*sp)strlen(stri) 【10】 ;桂林电子科技大学信息科技学院20122013 学年第 2 学期 课程名称:C语言程序设计(闭卷)答题纸班级 学号 姓名 一 单项选择题(每题2分,共40分)ADBDCBADAC1-5 6-10CCDDBBADBB11-15 16-20 二 填空题(本题共30分)1-6题每题2分 7-12题

温馨提示

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

评论

0/150

提交评论