版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息和通信要求C语言程序设计试卷一、单项选择题(每题2分,共50分)1、设有以下宏定义: define N 3 define Y(n) (N+1)*n)则执行语句:z2*(N+Y(5+1);后,z的值为 。A、出错 B、42 C、48 D、542、若有说明:int a10;则对数组元素的正确引用是 。A、a10 B、a3.5 C、a(5) D、a10-10CD3、以下能正确计算s=123.10的程序段是 。 A)doi=1;s=1; s=s*i; i+; while(i=10);B)doi=1;s=0; s=s*i; i+; while(i=10);C)i=1;s=1; dos=s*i; i+
2、; while(i=10);D)i=1;s=0; dos=s*i; i+; while(i=10);C4、下面程序段的运行结果是 。 for(x=3;xy) z=x; B、if(x=y) z=0; C、if(x!=y) printf(“%d”,x) else printf(“%d”,y); D、 if(xy) x+;y-; 11、如有函数调用语句:func(rec1,rec2+rec3,(rec4,rec5);在该函数调用语句中,含有的实参个数是 。A、3 B、4 C、5 D、有语法错误CA12、下面程序的输出结果是 。 main()int n5=0,0,0,i,k=2;for(i=0;ik;
3、i+) ni=ni+1; printf(“%dn”,nk);A、不确定的值 B、2 C、1 D、013、若二维数组a有m列,则计算任一元素aij在数组中位置的公示为 。(假设a00位于数组的第一个位置上) A、i*m+j B、j*m+i C、i*m+j-1 D、 i*m+j+1DD14、设x和y均为int变量,则以下语句:x+=y;y=x-y;x-=y;的功能是 。A、把x和y按从小到大排序 B、把x和y按从大到小排序 C、无确定结果 D、交换x和y中的值D15、若执行以下程序段,其输出结果是 。int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%
4、d,%d”,a,b,c); A、5,0,-10 B、0,0,5 C、-10,5,-10 D、5,0,316、C语言规定:在一个源程序中,main函数的位置 。A、必须在最开始 B、必须在系统调用的库函数的后面 C、可以任意 D、必须在最后BC17、在C语言中,每个语句和数据定义是用( )结束。A、句号 B、逗号 C、分号 D、括号18、若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是 。A、a,point,*&a B、&*a,&a,*pointC、*&point,*point,&a D、&a,&*point,pointCD19、在printf函数中用来输出十
5、六进制无符号整数的格式字符是 。 A、d格式符 B、x格式符 C、u格式符 D、o格式符20、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 。 A、a B、!a C、a=0 D、a0BA21、利用fseek函数可以实现的操作是 。 A、改变文件的指针位置 B、文件的顺序读写 C、文件的随机读写 D、以上答案均正确22、设p1和p2为指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是 。 A、k=*p1+*p2; B、p2=k; C、p1=p2; D、 k=*p1*(*p2); AB23、若有说明:int a3=1,2,3,4,5,6
6、,7;则a数组第一维的大小是 。 A、2 B、3 C、4 D、无确定值24、以下程序的输出结果是 。point(char *pt);main()char b4=a,c,s,f,*pt=b;point(pt);printf(“%cn”, *pt);point(char *p)p+=3; A、a B、c C、s D、 fBA25、设有声明语句:int a=1,b=0;则执行以下语句后输出 。swith(a)case 1: swith(b) case 0: printf(“*0*”);break; case 1: printf(“*1*”);break; case 2: printf(“*2*”);
7、break; A、*0* B、*0*2* C、*0*1*2* D、 有语法错误B二、程序填空题(每空2分,共16分)下面给出了若干个程序,请按照题意将下划线处缺少的部分补上,使其能正确运行。26、函数fun的功能是使一个字符串按逆序存放,请填空。void fun(char str)char m; int i,j;for(i=0,j=strlen(str);i【1】 ;i+,j-) m=stri; stri=【2】 ; strj-1=m;printf(“%sn”,str);1 j2 strj-1 27、用“两路合并法”把已按升序排序的数组合并成一个升序数组。main()int a4=15,34,
8、48,98; int b5=12,32,55,67,78; int c10; int i,j,k; 【3】;while(i4&j5) if(aibj) ck=ai;k+;i+; else ck=bj;k+;j+;while( 【4】) ck=ai; i+; k+; while( 【5】) ck=bj; j+; k+;for(i=0;ik;i+)printf(“%5d”,ci);printf(“n”);3 i=j=k=04 i4&j=55 i=4&jnext 三、修改下列程序错误(每处3分,共15分)例 main()int I;*found* i=5;printf(“%d”,I);则答案为:将i
9、=5;改为I=5;在修改中不得增行或减行,也不得更改程序的结构!29、以下程序中函数cpoystr的功能是:将p1指向的字符串中从第m个字符开始的全部字符复制到另一个字符串(由p2指向)。例如:p1=“abc-de12345”,m=5,则复制后,p2=“e12345”。请改正程序中的错误,使它能得出正确的结果。includeint copystr(char *p1,char *p2,int m)/*found(1)*/ p1=p1+m;while(*p1!=0)/* found(2)*/*p1=*p2;p1+;p2+;/* found(3)*/*p2=“0”;main()int m;char
10、str120,str220;printf(“input string”);gets(str1);printf(“which character that begin to copy?”);scanf(“%d”,&m);if(strlen(str1)m|m=0)printf(“input error”);elsecopystr(str1,str2,m);printf(“result:%s”,str2);p1=p1+m;改成p1=p1+m-1;*p1=*p2;改成*p2=*p1;*p2=“0”;改成*p2=0;30、按顺序读入10名学生4门课程成绩,计算出每位学生的平均分并输出。main()int
11、 n,k,score,sum; float ave;/* found(4)*/ For(n=1;n=10;n+)sum=0;scanf(“%d”,&score);sum+=score;/* found(5)*/ave=sum/4;printf(“No.%d:%fn”,n,ave);For(n=1;n=10;n+)改成for(n=1;n1n!32、假定输入的字符串只含字母和*号。请编写函数fun,它的功能是:除了尾部的*号外,将字符串中的其他*号全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得是用C语言提供的字符串函数。例如:字符串的内容为:*A*BC*DEF*G*,删除后,字符串
12、中的内容应是:ABCDEFG*。注意:部分源程序如下,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。include void fun(char *a,char *p) main()char s81,*t;printf(“Enter a string:n”);gets(s);t=s;while(*t)t+;t-;while(*t=*)t-;fun(s,t);printf(“The string after deleted:n”);puts(s);0708学年第2学期C语言程序设计试卷一、单项选择题(每题2分,共50分) 1以下叙述不正确的是。 、一个
13、语言程序可以由一个或多个函数组成 、语言程序的基本组成单位是函数 、在语言程序中,注释只能位于一条语句的后面 、一个语言程序必须包含一个main函数 2若已定义x和y为double类型,则执行表达式x=1,y=x+5/2后,y的值是。 A、B、3C、D、CC 3在C语言中,字符型(char)数据在内存中存放的形式为。 A、BCD码B、原码C、补码D、ASCII码 4在C语言中,下列合法的长整型常量为。 A、aB、C、D、0L 5若定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是。 A、scanf(“%d”,a,b,c);B、scanf(“%d%d%
14、d”,a,b,c);C、scanf(“%d”,p);D、scanf(“%d”,&p);DDC 6若变量已正确定义并赋值,以下合法的C语言赋值语句是。 A、x=y=5;B、 C、x+n=i; D、x=5=4+1; 7若变量已正确定义,有以下程序段:int i=0; do printf(“%d”,i); while(i+); printf(“%dn”,i);其输出结果为。 A、0,0B、0,1C、1,1 D、程序进入无限循环AB 8下面的程序段表示的数学函数关系是。 y=-1; if(x!=0) if(x0) y=1; else y=0; A、y=-1(x0)B、y=1(x0)C、y=0(x0)D
15、、y=-1(x0)C 9有以下程序,程序运行结果是。 #include int y=9; for(;y0;y-) if(y%3=0) printf(“%d”,-y);A、741 B、963 C、852 D、875421C 10下面程序段的输出结果是。 x=3; doy=x-; if(!y)printf(“x”);continue; printf(“#”);while(1=x=2); A、将输出# B、将输出#* C、是死循环 D、含有不合法的控制表达式C 11以下叙述中正确的是。 A、用#include包含的头文件的后缀不可以是”.a” B、若一些源文件中包含某头文件,当该头文件有错时,只需对
16、该头文件进行修改,包含此头文件的所有源程序不必重新进行编译 C、宏定义可以看成是一行语句 D、C程序中的预处理是在编译之前进行的D 12以下程序的输出结果是。 #define S(r) 10*r*r main() int a=20,b=20,s; s=S(a+b); printf(“%dn”,s);A、320 B、620 C、16000 D、400B 13以下程序的输出结果是。 main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+;break; case 1:b+;break; case 2:a+;b+;break;
17、 printf(“a=%d,b=%dn”,a,b); A、a=2,b=1 B、a=1,b=1 C、a=1,b=0 D、a=2,b=2A 14若w=1,x=2,u=3,z=4,则表达式wx?w:uz?u:z的值是。 A、4 B、3 C、2 D、1 15以下正确的字符串常量是。 A、“” B、abc C、” D、Olympic GamesDC 16在以下定义中,标识符fprt是。 int(*fprt)(); A、是一个指向一维数组的指针B、是一个指向int型变量的指针C、是一个指向函数的指针。该函数返回值为int型 D、定义不正确C 17以下程序的输出结果是。 main() int k=8,m=4
18、,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(“%dn”,n);A、36 B、32 C、8 D、10B 18当调用函数时,实参是一个数组名,则实参向形参传递的是。A、数组的长度 B、数组的首地址 C、数组每一个元素的地址 D、数组每个元素的值B 19以下能正确表示 的C语言表达式是。A、(a+b/a-b)c B、(a+b)/(a-b)c C、 (a+b)/(a-b)*c) D、 (a+b)*c/(a-b) a+ba-bcD 21以下是对数组s的初始化,其中不正确的是 。A、char s=“abc”; B、char s5=a,b,c;
19、C、char s5=“”;D、char s5=“abcdef”; 20以下不正确的定义语句是。A、double x5=2.0,4.0,6.0,8.0,10.0; B、int y5=0,1,3,5,7,9; C、char c1=1,2,3,4,5;D、char c2 =x10,xa,x8;B D #includemain()FILE *fp;int i=30.j=40,k,n;fp=fopen(“d1.dat”,”w”);fprintf(fp,”%dn”,i);fprintf(fp,”%dn”,j);fclose(fp);fp=fopen(“d1.dat”,”r”);fscanf(fp,”%d%
20、dn”,&k,&n);printf(“%d %dn”,k,n);fclose(fp);22以下程序的运行结果是_ 。 A20 30 B30 40 C30 50 D20 40 B 23若有定义语句:inta36;,按在内存中的存放顺序,a数组的第10个元素是_。 Aa04 B a13 Ca03 D a14 B 24在一个C程序中,main函数出现的位置是_。 A必须在程序的最后面 B 可以在任意地方 C必须在程序的最前面 D必须在系统调用的库函数的后面B 25若fp是一个指向某二进制文件的指针,且已读到此文件的末尾,则库函数feof(fp)的返回值是_。AEOF B0 C1 DNULL C 二、
21、程序填空题 (每空2分,共16分),请按照题意将缺少部分补上,使其能正确运行。26用for循环打印1 4 7 10 13 16 19 22 25,请完善printf函数。 for(i=1;i=a&ch=A&ch05 n%10+486 strI=029输入3个int型的整数,求最大数。#includeint max(int x,int y)return(_7_);main()int a,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“max=%dn”,max(_8_);7 xy?x:y 8 a,max(b,c)三、修改下列程序的错误。(每处3分,共15分)在书写过程中,
22、如某一行中有错,请先将该行所有语句抄写,在写出正确的一行的所有语句。例 main()int I;*found* i=5;printf(“%d”,I);则答案为:将i=5;改为I=5;在修改中不得增行或减行,也不得更改程序的结构!30、下列给定程序中函数fun的功能是:计算1/n!的值。例如:给n输入5,则输出。#include#include/*found(1)*/int fun(int n)double result=1.0;if(n=0)return 1.0;while(n1&n170)/*found(2)*/result*=n+;result=1/result;return result;void main()int n;printf(“input n”);scanf(“%d”,&n);printf(“n1/%d!=%lf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年辽宁省庄河市高三生物下册期末考试模拟试卷及参考答案
- 2026年江苏省溧阳市高三物理下册期末考试模拟试卷及参考答案
- 2026年河南省孟州市高三生物上册期末考试模拟测试卷及参考答案
- 四川遂宁市射洪绿然学校2026-2027学年高二上学期9月月考数学试题(含答案)
- 陕西咸阳市实验中学2026-2027学年高二上学期第一次质量检测英语试卷(含答案无听力原文无音频)
- 2026年湖北省宜城市高三生物下册期末考试模拟卷及答案
- 2026年湖北省广水市高一化学上册期末考试模拟考试卷附答案(达标题)
- 2026年黑龙江省宁安市高一化学上册期末考试模拟卷附答案(培优)
- 2026年广东省普宁市高三生物上册期末考试模拟检测卷(含答案)
- 2026年湖南省涟源市高三生物下册期末考试模拟检测卷(含答案)
- 2025-2026学年人美版(2024)小学美术三年级上册《果篮传情谊》教学设计
- 认知障碍患者护理课件
- 4.7 京剧传统戏(看大王在帐中和衣睡稳) 教学设计-2023-2024学年高中音乐人音版(2019)必修 音乐鉴赏
- 自动化生产线设计合同
- 血透病人皮肤瘙痒的护理
- 2025年大学生微电子与集成电路考试试题及答案
- 磨工技师试题及答案解析
- 螺栓培训课件视频
- 华为光芯片机考题库
- 中国人寿保全知识课件
- 2025年银川文化旅游发展集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论