已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C 语言上机考试试卷-12008.1.6一、 选择题 ( 评分标准 20 分,每小题2分 )1. C语言规定:在一个源程序中,main函数的位置 。(A) 必须在最开始处 (B) 必须在系统调用的库函数的后面(C) 可以在任意位置 (D) 必须在最后2. 在C语言中,int、char和short三种类型数据在内存中所占的字节数 。(A) 由用户自己定义 (B) 都是2个字节(C) 是任意的 (D) 由所用的计算机的字长决定3. 假设所有的变量都是 int 型,则表达式 ( a=2,b=5,b+,a+b) 的值是 。(A) 7 (B) 8 (C) 6 (D) 24. 判断 char 型变量 ch 中的字符是否为小写字母的正确表达式是 。(A) a = ch = z (B) (a = ch) & (ch = z)(C) (a = ch) & (ch = z) (D) (a = ch) AND (ch = z)5. C语言中 while 和 do-while 循环的主要区别是 。(A) while的循环体可能一次也不执行(B) while的循环控制条件比do-while 的严格(C) do-while允许从该语句的外部跳转到循环体内(D) do-while的循环体不能是复合语句6. 若有说明 int a34,则对 a 数组元素的正确引用是 。(A) a24 (B) a1,3 (C) a (2)(1) (D) a137. 下面程序中有错误的行是 。(每行最前面的数字代表行号)1 main( )2 int a3 = 1,2;3 int j;4 a2 = 5;5 for (j=0, j3, j+)6 a0 = a0 +aj;7 printf(“a0=%dn”,a0);8 (A) 3 (B) 5 (C) 7 (D) 68. 对以下语句的正确理解是 。int a10 = 5, 6, 7, 8, 9, 10;(A) 将6 个初值依次赋给 a1 到a6(B) 将6 个初值依次赋给 a0 到a5(C) 将6 个初值依次赋给 a5 到a10(D) 因为数组长度与初值个数不同,所以此语句不正确9. 有两个字符数组 a、b,则以下正确的输入语句是 。(A) gets(a,b); (B) scanf(a,b);(C) scanf(“%s%s”,&a,&b); (D) gets(a); gets(b);10. 以下正确的函数定义是 。(A)double fun(int x, int y) double z; z=x+y; return z; (B) 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; 套数号答案11. C 2. D 3. B 4. B 5. A 6. D 7. B 8. B 9. D 10. A二、判断题 ( 评分标准 20 分,每小题2分)1. C语言规定可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行。2. 程序执行的效率与数据的存储结构相关。3. 函数调用时,同名称的实参变量和形参变量占同一存储单元。4. long、int和short类型数据占用内存大小,是根据数据的大小来决定所占内存的字节数。5. 已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,表达式A=c&c=Z能用于判断c中的字符是否为大写字母。6.已知字符A的ASC代码值是65,字符变量c1的值是A,c2的值是D。执行语句printf(%d,%d,c1,c2-2);后,输出结果是65,B。7. 当用户要求输入的字符串中含有空格时,可以使用scanf()函数来输入。8. 以下函数的功能是比较两个字符串的大小。 int strcmp1(char *s) char *t=s; while(*t+); t-;return(t-s); 9. 在C程序中可以给指针变量赋一个整数作为地址值。10. 若程序中有宏定义行:#define N 100,则以下叙述:“在编译程序对C源程序进行预处理时用100替换标识符N”是正确的。套数号答案71. F 2. T 3. F 4. F 5. T 6. F 7. F 8. F 9. F 10. T三、填空题(4) ( 评分标准 10 分,每空1分)1. 为读/写建立一个新的二进制文件,在fopen函数中打开文件的参数是_。2. 用于printf函数的控制字符常量中,代表“横向跳格”的字符常量是_。3. 在C语言中定义二维数组时,第_维数组的数量值可以省略。(请用数值表示)4. 求解赋值表达式 a=5+(c=6)后,表达式值、a、c的值依次为_ 、_ 、_ 。5. 求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c的值依次为_ 、_ 、_ 、_。参考答案:第6套(1)wb+(2)t(3)1(4)11,11,6(5)4,4,10,6四、程序改错题 ( 评分标准 20 分,每小题 5分 )1. 下列程序中输入3214,则输出4,即得到输入数值的位数。#include void main()int n,k=0; scanf(%d,&n); while( n%10 ) k+; n=n-10; /*$1 */ printf(%dn,k); 操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句n=n-10;有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:在程序中输入n位整型数值,得到输入数值的位数。例如:在程序中输入3214,得到输入数值的位数4。答案:n=n/10; 运行样例1行运行样例1: 3214 结果:42. 以下程序输入数值6,运行程序后输出结果2 。#include void main() int i=0,t=1,n; while( scanf(%d,&n),n=0); while(!(t=n) t=t*2; i-; /* $1 */ printf(%dn,i); 操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句i-;有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:运行程序后输入数值6,得输出结果2。答案:i+; 运行样例1行运行样例1: 6 结果:23. 输入1个正整数n。假设n为5,下列程序的输出结果为: sum= -0.216667 #include void main() int k, flag=1,n; float s=0; scanf(%d, &n); for(k=1;kn;k+) s=s+(float)1.0*k/(k+1)*flag ; flag=-1 ; /* $1 */ printf(sum=%fn,s); 操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1 * /”行中的语句flag=-1;有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:在程序中输入一个正数n然后输出求和后的结果。例如:在程序中输入n的值为5,得到输出结果为: sum= -0.216667。答案:flag=-flag ; 运行样例1行运行样例1: 5 结果:sum=-0.2166674. 以下程序运行后输出:49.455978。#include #include #define f(x) x*x-5*x+sin(x)void main() int i; float max; max=(float)(f(1); for(i=2;imax) max=i; /* $1 */ printf(%fn,max); 操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行中的语句 if(f(i)max) max=i;有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:运行程序后,得输出结果为:49.455978。答案:if(f(i)max) max=(float)(f(i); 运行样例1行运行样例1: 结果:49.455978五、程序填空( 评分标准 10 分,每小题5分)1. 该程序功能:分别统计字符串中所有英文字母中的各元音字母个数。(tolower函数把一个大写字母转化为相应的小写字母)#include #include void main() char a80; int n5=0,i; gets(a); /* $1*/ switch(tolower(ai) case a: n0+; break; case e: n1+; break; case i: n2+; break; case o: n3+; break; case u: n4+; break; for(i=0;i5;i+) printf(%d ,ni);操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:分别统计字符串中所有英文字母中的各元音字母个数(tolower函数把一个大写字母转化为相应的小写字母)。答案:for(i=0; ai!=0; i+) 运行样例1行运行样例1: abcde 结果:1 1 0 0 0如果填空为:for(i=0; istrlen(a); i+) 则需要加上:#include 否则编译不能通过。2. 本程序功能:输入n(0n10)后,输出1个数字金字塔。如输入n为4,则输出: 1 222 33333 4444444 #include void main() int i,j,n; scanf(%d,&n); /* $1*/ for(j=1;j=n+1-i;j+) putchar( ); for(j=1;j=2*i-1;j+) putchar(char)(i+48); putchar(n); 操作说明:在考生目录的*子目录下,有*.c文件,该文件中“/*$1*/”行是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入n(0n10)后,输出1个数字金字塔。例如输入n为4,则输出: 1 222 33333 4444444 答案:for(i=1; i=n; i+) 运行样例1行运行样例1: 4 结果: 1 222 33333 4444444 六. 程序设计 ( 评分标准 20 分,每小题10分)1. 操作说明:编制函数,其功能是在float类型1维数组中查找最大值、最小值,并将它们返回到调用程序,并输出,题目要求用scanf()函数输入7个实数数值。参考答案:#include #include void find(float num,int n,float *min,float *max);void main() int i; float min=10000.0,max=0,num7; for(i=0; i7; i+ ) scanf(“%f”,&numi); find(num,7,&min,&max); printf(%.1f %.1f,max,min); void find(float num,int n,float *min,float *max) int i; for(i=0;in;i+) if(numi*max) *max = numi; 运行样例2行运行样例1: 1.5 12.3 42.2 0.7 14.5 0.1 99 结果:99 0.1运行样例1: 1.5, 12.3, 42.2, 0.7, 14.5, 0.1, 99 结果:1.5 -10153254(乱码)2. 操作说明:已知某班N个(例如N = 4)学生的基本情况已经存放在磁盘文件“student.txt”中,文件的逻辑结构如下表所示(但实际存储中不含标题行):numnameages1s2s3s4950501Zhang20788882950502Wang19838590950503Li21797269950504Cheng22909195averscor编写一个完整的程序,用结构体数组的方法表示该表,从上述文件中读入已知数据,然后完成下列计算工作: (1)计算每个学生3门课的总成绩,分别填入各人的s4域中; (2)计算全班的平均年龄,填入最后一行的age域中; (3)计算全班每门课的平均成绩,依次填入最后一行的s1,s2,s3域中。并将计算结果输出到屏幕上。参考答案:#define Round(a) (int)(a+0.5)#include #include int main() struct student char num7;char name8;int age;int s1,s2,s3,s4;struct student stu5; int i;int ageav=0, s1av=0,s2av=0,s3av=0,s4av=0;FILE *fp;if (f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广水驾校复工通知书
- 廉租房抽房通知书
- 延安房地产停工通知书
- 建业鼎城停水通知书
- 建章路疫情封控通知书
- 开学交通管制通知书
- 开封本周疫情消息通知书
- 开远全员核酸检测通知书
- 张王庙封闭管理通知书
- 御景园停水停电通知书
- (2025年)广东省食品安全管理人员知识考试题库特殊食品生产带答案
- 备考2025届中考数学中档及压轴题型模型方法技巧专题03:圆的综合训练(解析版)
- 2025年湖南郴州资兴市第二次招聘城市社区专职工作者33人考试笔试参考题库附答案解析
- 2025年党的二十届四中全会精神宣讲稿及公报解读辅导报告
- 品誉咨询绩效考核方案(3篇)
- 学前教育专业专升本2025年考点精讲测试试卷(含答案)
- 统编语文四年级上册第六单元教材解读及集体备课
- GB/T 10125-2021人造气氛腐蚀试验盐雾试验
- CQJTG∕T D09-2021 重庆市高速公路特殊路段交通安全设施设计指南
- 道路绿化工程施工方案
- (完整word)常用血管活性药物
评论
0/150
提交评论