




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
理论考试(120分钟)一、单项选择题(在每小题的4个备选答案中,选出一个最佳答案,共15小题;每小题2分,共30分) 1一个C程序的执行是从( A )A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2已知int x=10,y=20,z=30; 以下语句执行后x,y,z的值是( B ) if (xy) z=x; x=y;y=z; A. 10,20,30 B. 20,30,30 C. 20,30,10 D. 20,30,203int a=1,b=2,x=3; 表达式:x*=a+b计算后x的值为:( B )A. 5 B. 9 C. 3 D. 64 下列选项,在C语言中能作为合法标识符的是( D ) A. %x B. a+b C. 2_int_12_ D. int_2_5#include (A)void main()int sum,pad; sum=pad=5;pad=sum+;pad+;+pad;printf(%d %dn,pad, sum);A. 7 6 B. 6 5 C. 7 5 D. 6 66若有说明:int a10;则对a 数组元素的正确引用是( D )A. a10B. a3, 5C. a(5)D. a10107请读程序#include#define MUL(x,y) (x)*yvoid main() int a=3, b=4, c;c=MUL(a+, b+);printf(%dn, c); 上面程序的输出结果是(A )。A. 12 B. 15 C. 20 D. 168若用数组名作为函数调用的实参,传递给形参的是数组的( A )A. 数组的首地址 B. 数组第一个元素的值C. 数组中全部元素的值 D. 数组元素的个数9阅读以下程序void main() int a=5,b=0,c=1;if(a=b+c) printf(“*n”);else printf(“$n”); 以上程序( C )A. 语法有错不能通过编译 B. 可以通过编译但不能通过连接 C. 输出* D. 输出$10下列关于函数定义正确的是( D )A. fun(int x,y) int z;return z;B. void fun(int x,int y) return x+y;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在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(B )A. 地址传递 B. 单向值传递C. 由实参传给形参,再由形参传回实参 D. 传递方式由用户指定12具有相同基类型的指针变量P和数组Y,下列写法中不合法的是( D )AP = Y B*P = Yi CP = &Yi DP = &Y 13设x和y均为int型变量,则下列语句:x+=y; y=x-y; x- =y;的功能是(D )A把x和y按从大到小排列。 B把x和y按从小到大排列。 C无确定的结果。 D交换x和y中的值14若已定义:char s10; 则在下面表达式中不表示s1的地址的是( B ) A. s+1 B. s+ C. &s0+1 D. &s115以下定义语句中,错误的是( D )A. int a=1,2; B. char *a3; C. char s10=text; D. int n=5, an;二、完善程序(本大题5小题,每空1分,共10分 ) 1下面程序是将一个字符串的内容颠倒过来,请补充完整程序。#include #include void change(char str) (1) /*函数头*/ int len ,i , j; char c; len=strlen(str); for (i=0,j=len-1;ilen/2;i+,j-) c=stri; stri=strj (2) ; strj=c; void main() char str80; printf(Enter string:); gets(str); change(str); printf(n result is: %sn,str);2输入一个整数,并在数组中查找这个数。如果找到这个数,就将对应元素的取值改变为它的相反数。void main() int i,x,a=3, 5, 8, 2, 5, 7, 9, 4; scanf(%d, &x ); /*输入所要查找的数,并把这个数赋值给x*/for(i=0;i8;i+ ) /*在数组中查找这个数*/ if( ai=x ) ai=-x; 3用折半查找法填空(需要查找的数为m): int binary(int a10,int m) int low=0,high=9,mid; while(low=high) mid=(low+high)/2; if(mamid) mid=low (6) ; else return(mid); return(-1); 4下面程序是判断输入的字符串是否是回文(顺读和倒读都一样的字符串称为回文),请完成程序。void main( ) char s81,*p1,*p2;int n; gets(s); n=strlen(s);p1=s; p2= sn-1 ;while(p1p2 ) if(*p1!=*p2) break; else p1+ ; p2- (8) ; if(p1p2) printf(Non);else printf(Yesn); 5下面程序由终端键盘输入字符,存放到文件中去,用!结束输入。完善程序。#include stdio.hvoid main() FILE *fp; char ch,fname10; printf(Input name of filen); gets(fname); if(fp=fopen(fname,w)=NULL) printf(cannot open this file!n); exit(0); printf(Enter data:n); while( (ch=getchar() !=!)fputc( ch,fp ); fclose(fp);三、读程序写结果(本大题5小题,每题4分,共20分 ) 1以下程序的输出结果是 2 1 4 3 。void fun(int *x, int *y) printf(“%d %d”, *x, *y); *x=3;*y=4; void main( ) int x=1,y=2; fun(&y, &x); printf(“%d %d”, x, y); 2以下程序的输出结果是 2 4 9 。#include int fun(int n) static int f=1; int m=2; f=f*n; m+; return (f+n);void main( ) int i; for(i=1;i=3;i+) printf(%d , fun(i) );3若输入的值是-125,以下程序的运行结果是 -125= -5*5*5 。 #include math.h void main() int n; scanf(%d,&n); printf(%d=,n); if(n0)printf(-); n=fabs(n); fun(n); fun(int n) int k,r;for(k=2;k1)printf(*); r=n%k; if(n!=1)printf(%dn,n); 4以下程序的运行结果是 0 1 3 6 。 #include void main() int i, k ; for(i=0;ia, q-b); 四、编程题(本大题共4题,每小题10分,共40分)1编写程序,从键盘上输入10个学生的成绩,计算出平均成绩,并输出不及格的成绩和人数。(简单,自己写)#includevoid main() int score10,i,j=0,sum=0; float avg=0; for(i=0;i10;i+) scanf(%d,&scorei); for(i=0;i10;i+) if(scorei60) printf(%d ,scorei); j+; sum+=scorei; avg = sum/10.0; printf(n平均分为%f,不及格人数为%d,avg,j);2 编写程序,实现把键盘输入的数字串转换成对应的整数。#include#include void main() int temp,a; int num=0; char s; printf(输入数字字符串:); while(s=getchar()!=n)temp=0;a = s-48;num =num*10+a; printf(num=%dn,num);3 找出100以内的所有素数,找出的素数输出到data.txt文件中,要求用自定义函数实现判断素数的功能。#include #include int ss(int n) /*检查n是否为素数,如果是则返回1,否则返回0*/ int i; for (i=2; i=(int)sqrt(double)n); i+) if (n%i=0) return 0; return 1;int main(void)FILE *fp;fp=fopen(data.txt,w);int i,j=0;for (i=2; i=100; i+)if(ss(i)j+;fprintf(fp,%5d,i);fclose(fp);return 0;4动态创建链表并打印链表各结点信息。链表每个结点包含学号、姓名、性别三个信息。当输入学号为1时表示输入结束。#include#define NULL 0#define LEN sizeof (struct student)struct studentint No;char name10;char sex;struct student *next;int n;struct student *create(void)struct student *head, *p1, *p2;n = 0;p1 = p2 = (struct student *)malloc(LEN);printf(Input No Name and Sex n);scanf(%d %s %s,&p1-No,p1-name,p1-sex);head =NULL;while(p1-No!=-1)n+;if(n=1) head = p1;elsep2-next =p1;p2=p1;p1=(struct student *)malloc(LEN);printf(Input No Name and Sex n);scanf(%d %s %s,&p1-No,p1-name,p1-sex);p2-next=NULL;return(head);void displaylist(struct student * head)struct student *p;p=head;doprintf(%d %s %dn,p1-No,p1-name,p1-sex);p=p-next;while(p!=NULL);void main()struct student *head , *p;head = create();displaylist(head);实验考试(120分钟)一、改错题(本题共有5处错误,每处错误6分,计30分)下面程序功能是将一个数组从二分之一处切开(元素个数为奇数时,正中间元素不动;元素个数为偶数时,无正中间元素),然后将中间的元素向两头搬移,同时两头元素向中间平移,共移动了4次。例如,对于1 2 3 4 5 88 99 6 7 8 9 10 搬移一次后的格局为: 88 1 2 3 4 5 6 7 8 9 10 99。最后运行结果为:3 4 5 88 1 2 9 10 99 6 7 8请改正程序中的错误,使它能得出正确结果。注意:1、不得增行或删行;2、不得更改程序的结构。3、在运行时如果遇到死循环,按Ctrl+Break键结束运行#include #define N 12int move(int p , int m) int k,x; k=m/2; if(m%2=0) k-;x=pk; for( ; k0; k-)pk=pk-1; pk=x; k=m/2; if(m%2=1) k+; x=pk; for(;km-1;k+) pk+1=pk; pk=x;return pk;void main()int k; int aN=1,2,3,4,5,88,99,6,7,8,9,10; for(k=0 ;k6 ; k+) move(a,N);for(k=0;k12;k+) printf( %d ,*(a+k); putchar(n);二、编程题(本题共3小题,第1,2题各20分;第3题,30分,计70分)1、编写一程序,将字符串s中的数字字符放入d数组中,最后输出d中的字符串。字符串s通过键盘输入。例如:输入字符串abc123def4567ghf,执行程序后输出结果为1234567。#include#includevoidmain()chars80,d80;inti,j;gets(s);for(i=j=0;si!=0;i+)if(si=48&si=57)dj=si;j+;dj=0;puts(d); 2、 求1!+2!+3!+.+20
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB23-T2903-2021-鳞片石墨企业化验室记录及报告编制规程-黑龙江省
- DB23-T2843-2021-政务信息资源体系总体架构-黑龙江省
- DB23-T2829-2021-电子政务外网安全管理规范第一部分:网络安全总体要求-黑龙江省
- 单位物业合同管理制度
- 医院甲方工程管理制度
- 国企人才流程管理制度
- 华为销售人员管理制度
- 服务技能比赛方案(3篇)
- 学校绘画社团管理制度
- 农资市场运营管理制度
- 薪酬激励实施方案
- 2025年上海市各区高三语文一模试题汇编之文言文二阅读(含答案)
- 大学英语四级写作课件
- 【MOOC】证券投资学-江西财经大学 中国大学慕课MOOC答案
- 《PBR次世代游戏建模技术》教学大纲
- 专题06手拉手模型(原卷版+解析)
- 国家开放大学本科《管理英语3》一平台机考真题及答案总题库珍藏版
- 20万吨高塔造粒颗粒硝酸铵工艺安全操作规程
- 吉林省2024年中考物理试题(含答案)
- CJJ82-2012 园林绿化工程施工及验收规范
- 江苏省南京市2022-2023学年四年级下学期数学期末试卷(含答案)
评论
0/150
提交评论