




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
临沂师范学院信息学院04-05第二学期C语言程序设计期末试题(C)(适用于04级本科)一、选择(每题1分,共40分)1.以下叙述正确的是 。A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误2.以下选项中属于C语言的数据类型是 。A)复数型 B)逻辑型 C)双精度型 D)集合型3.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 。A)必须为字母 B)必须为下划线 C)必须为字母或下划线D)可以是字母、数字和下划线中的任一种字符4.下面四个选项中,均是不合法的浮点数的选项是 。A)160. B)123 C)-.18 D)-e3 0.12 2e4.2 123e4 .234 e3 .e5 0.0 1e35.下面正确的字符常量是 。A)c B) C)W D)6.已知char a;int b;float c;double d;执行语句c=a+b+c+d;后,变量c的数据类型是 。A)int B)char C)float D)double7.下列运算符中优先级最高的是 。A) B)+ C)& D)!=8.根据题目中已给出的数据输入和输出形式,程序中输入输出语句的正确内容是 。main()int x;float y;printf(enter x,y:);输入语句输出语句输入形式:enter x,y:2 3.4输出形式:x+y=5.40A)scanf(%d,%f,&x,&y); B)scanf(%d%f,&x,&y); printf(nx+y=%4.2f,x+y); printf(nx+y=%4.2f,x+y);C)scanf(%d%f,&x,&y); D)scanf(%d%3.1f,&x,&y); printf(nx+y=%6.1f,x+y); printf(nx+y=%4.2f,x+y);9.若有说明和语句:int a=5,b; b=a+;b的值是 。A)7 B)6 C)5 D)410.下面程序段的运行结果是 。char c=tv0willn;printf(%d,strlen(c);A)3 B)6 C)9 D)1411.以下程序的输出结果是 。printf(n*s1=%15s*,chinabeijing); printf(n*s2=%-5s*,chi); A)*s1=chinabeijing* B)*s1=chinabeijing*s2=*chi* *s2=chi* C) *s1=chinabeijing* D) * s1=chinabeijing*s2=chi* *s2=chi*12.有int x=3,y=4,z=5;则下面表达式中值为0的是 。A)x&y B)x=y C)x|y+z&y-z D)!(xy)&!z|1)13.设a为整型变量,不能正确表达数学关系:10a15的C语言表达式是 。A)10a10&a15 D)!(a=15)14.不能正确表示(a*b)/(c*d)的C语言表达式是 。A)a*b/c*d B)a/(c*d)*b C)a*b/c/d D)a*b/(c*d)15.以下程序的输出结果是 。main()int a=100,x=10,y=20,ok1=5,ok2=0;if(xy)if(y!=10)if(!ok1) a=1;else if(ok2) a=10;a=-1;printf(%dn,a);A)1 B)0 C)-1 D)值不确定16. 以下程序的运行结果是 。main()int k=4,a=3,b=2,c=1;printf(n%dn,ka?k:cb?c:a);A)4 B)3 C)2 D)117.设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是 。A)while循环执行10次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次18.下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空。#include main()int a,b,t;scanf(%d%d,&a,&b);while( )if (ab) t=a;a=b;b=t;printf(%d,%dn,a,b);scanf(%d%d,&a,&b);A)!a=b B)a!=b C)a=b D)a=b19. 以下能正确计算10!的程序段是 。A)do i=1;s=1; B)doi=1;s=0;s=s*i; s=s*i;i+; i+;while(i=10); while(i=10);C)i=1;s=1; D)i=1;s=0; dos=s*i; dos=s*i; i+; i+; while(i=10); while(i=10);20.以下描述中正确的是 。A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。C)在do-while循环体中,一定要有能使while后面表达式的值变为零(假)的操作。D)do-while循环中,根据情况可以省略while。21.等比数列的第一项a=1,公比q=2,下面程序的功能是求满足前n项和小于100的最大n,请选择填空。#include main()int a,q,n,sum;a=1;q=2;n=sum=0;do【1】;+n;a*=q;while(sum100);【2】;printf(%dn,n);【1】A)sum+ B)sum+=a C)sum*=a D)a+=sum【2】A)n=n-2 B)n=n C)n+ D)n-=123. 下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。#includemain()int i,sum=0;for(i=1;i=50;i+) if( 【1】 )sum+=i;printf(%d,sum);A)(int)(i/7)=i/7 B)(int)i/7=i/7 C)i%7!=0 D)i%7=024. 以下描述正确的是 。A)goto语句只能用于退出多层循环。B)switch语句中不能出现continue语句。C)只能用continue语句来中止本次循环。D)在循环中break语句不能独立出现。25. 下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。#includemain()int i,sum=0;for(i=1;i=50;i+) if( 【1】 )sum+=i;printf(%d,sum);A)(int)(i/7)=i/7 B)(int)i/7=i/7 C)i%7!=0 D)i%7=026. 若运行以下程序时,从键盘输入Adescriptor(表示回车),则下面程序的运行结果是 。#include main() char c;int v0=0,v1=0,v2=0;do switch(c=getchar()case a:caseA: case e:caseE: case i:case I: case o:case O: case u:case U:v1+=1; default:v2+=1;v0+=1; while(c!=n);printf(v0-%d,v1=%d,v2=%dn,v0,v1,v2);A)v0=7,v1=4,v2=7 B)v0=11,v1=4,v2=11C)v0=12,v1=4,v2=11 D)v0=12,v1=4,v2=1227. 以下对二维数组a的正确说明是 。A)int a3; B)float a(3,4);C)double a14; D)float a(3)(4);28.若有说明:static int a34;则数组中各元素 。A)可在程序的运行阶段得到初值0B)可在程序的编译阶段得到初值0C)不能得到确定的初值D)可在程序的编译或运行阶段得到初值029. 若有说明:int a3=1,2,3,4,5,6,7;则a数组第一维的大小是 。A)2 B)3 C)4 D)无法确定30. 对两个数组a和b进行如下初始化char a=ABCDEF;char b=A,B,C,D,E,F;则以下叙述正确的是 。A)a与b数组完全相同 B)a与b数组长度相同C)a和b中都存放字符串 D)a数组比b数组长度长31.下面描述正确的是 。A)两个字符串包含的字符个数相同时,才能比较字符串B)字符个数多的字符串比字符个数少的字符串大C)字符串STOP与STOP相等D)字符串That小于字符串The32. 下面程序的功能是将字符串s中所有的字符c删除。#include stdio.hmain()char s80;int i,j;gets(s);for (i=j=0;si!=0;i+) if (si!=c) ;sj=0;puts(s);A)sj+=si B)s+j=si C)sj=si;j+ D)sj=si33. 下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。请分析程序填空。#includemain()char s80,c1,c2= ; int i=0,num=0; gets(s); while(si!=0) c1=si; if( ) num+; i+; c2=c1; printf(There are %d words.n,num);A)c1= &c2= B)c1!= &c2= C)c1= &c2!= D)c1!= &c2!= 34. 以下正确的函数形式是 。A)double fun(int x,int y)z=x+y;return z;B)double fun(int x,y)int z;return z;C)fun(x,y)int x,y;double z; z=x+y; return z;D)double fun(int x,int y)double z;z=x+y;return z;35. 以下不正确的说法是,C语言规定 。A)实参可以是常量、变量或表达式B)形参可以是常量、变量或表达式C)实参可以是任意类型D)实参应与其对应的形参类型一致36. 以下正确的描述是_。A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可嵌套D)函数的定义和函数的调用均可以嵌套37. 以下不正确的说法为 。A)在不同函数中可以使用相同名字的变量B)形式参数是局部变量C)在函数内定义的变量只在本函数范围内有效D)在函数内的复合语句中定义的变量在本函数范围内有效38. 以下有关宏替换的叙述不正确的是 。A)宏替换不占用运行时间B)宏名无类型C)宏替换只是字符替换D)宏名必须用大写字母表示39. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用括起时,寻找被包含文件的方式是 。A)直接按照系统设定的标准方式搜索目录B)先在源程序所在目录搜索,再按照系统设定的标准方式搜索C)仅仅搜索源程序所在目录D)仅仅搜索当前目录40. 下面程序欲对两个整型变量的值进行交换,以下正确的说法是 。main()int a=10,b=20;printf(1)a=%d,b=%dn,a,b);swap(&a,&b);printf(2)a=%d,b=%dn,a,b);void swap (int p,int q)int t;t=p;p=q;q=t;A) 该程序完全正确B) 该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可C) 该程序有错,只要将swap()函数中的形参p、q和变量t均定义为指针即可D) 以上说法都不正确二、填空题(每空2分,共30分)1.在C语言中的实型变量分为两种类型,它们是【1】和【2】。2. 若有定义:int a,b;表达式a=2,b=5,a+,b+,a+b的值为【3】。3. 已知A=7.5,B=2,C=3.6,表达式AB&CA|AB的值是【4】。4. 下面的程序是用do while语句求1至1000之间满足“用3除余2;用5除余3;用7除余2的数,且一行只打印五个数。请分析程序填空。#includemain()int i=1,j=0; do if(【5】) printf(%4d,i); j=j+1; if(【6】) printf(n); i=i+1;while(i1000);5. 下面程序的运行结果是 【7】 。#includemain()int a,b,i;a=1;b=3;i=1;doprintf(%d,%d,a,b); a=(b-a)*2+b; b=(a-b)*2+a; if(i+%2=0) printf(n);while(b100);6. 下面程序的功能是完成用一元人民币兑换一分、两分、五分零币的所有兑换方案。请分析程序填空。#includemain()int i,j,k,l=1; for(i=0;i=20;i+) for(j=0;j=50;j+) k=【8】; if(【9】)printf( %2d %2d %2d ,i,j,k); l=l+1; if(l%5=0) printf(n);7. 下面程序的功能是输入5个整数,找出最大数和最小数所在的位置,并把二者对调,然后输出调整后的5个数。main()int a5,max,min,i,j,k; for (i=0;i5;i+) scanf(%d:,&ai; min=a0; for (i=1;i5;i+) if (aimin) min=ai;【10】;max=a0;for (i=1;imax) max=ai; 【11】;【12】printf(nThe position of min is:%3dn,k);printf(nThe position of max is:%3dn,j);for (i=0;ib?a:b;return c;main()int a=8;printf(%d,max(a,b);9. 下面程序的功能是求出矩阵x的上三角元素之积。其中矩阵x的行、列数和元素值均由键盘输入。请分析程序填空。#define M 10main()int xMM; int n,i,j; long s=1; printf(Enter a integer(=10):n); scanf(%d,&n); printf(Enter %d data
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美妆品牌线上营销计划
- 环境监测行业智能化转型关键技术研究与应用2025年数据质量控制报告
- 农产品冷链物流标准化建设与可持续发展研究报告
- 文明行为培训题目及答案
- 海洋安全知识题库及答案
- 编译大赛日语题目及答案
- 2025年陕西省人民法院聘用书记员考试试题及答案
- 2024-2025学年广东省湛江二十一中高一(上)期中语文试卷
- 2025年电气防爆考试题目及答案
- 小学信息试卷及答案
- 项目部施工质量管理体系及管理制度
- 仁爱版七年级英语上册教学工作计划(含进度表)
- 2025年国防知识竞赛题库及答案(共100题)
- TJPMA 022-2024 疾病预防控制业务档案管理规范
- 餐饮服务与数字化运营 习题及答案 项目七
- 2024沪教版初中英语新教材六年级上册单词表(默写表)
- 教学课件-饭店管理概论第二版
- 开学第一课开学立规矩课件21
- 金融进校园小学
- 铁路劳动安全 课件 第五章 安全标志标识
- 教师严慈相济课件
评论
0/150
提交评论