版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2008年 秋江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试 第二部分 c语言程序设计一、选择题(10分)21以下叙述中正确的是_。a在编译时可以发现注释中的拼写错误bc语言程序的每一行只能写一条语句cmain()必须位于程序的开始dc语言程序可以由一个或多个函数组成22以下选项中不能用作变量名的是_。a_float b. switch c. sum d. _12323已知sizeof(int)的值为2,为将10!的值存储到变量f中(10!=3628800),变量f的类型应声明为_。along int b. int c. short int d. unsigned int24若
2、有声明“double x=3, c, *a=&x, *b=&c;”,则下列语句中错误的是_。aa=b=0; b.a=&c, b=a; c. &a=&b; d.*b=*a;25数学式在c程序中正确的表示形式为_。asqtr(a)/2*b b. sqtr(a)/2/b c. sqtr(a)/2b d. sqtr a /(2*b)26已知有程序段“char str10=“aoyun”,”beijing”,*p=&str00;printf(“%sn”,p+10);”,则执行printf语句后输出为_。abeijing b. aoyun c. ing d.
3、 ng27以下声明中错误的是_。aint a2; b. int a=0,1; c.int a3=0; d. int a34=0;28已知有结构定义和变量声明如下:struct student char name20; int score; struct student *h; stu, *p; int *q;以下选项中错误的是_。ap=&stu; b. q=&stu.score; c.scanf(“%s%d”,&stu); d.stu.h=p;29已有声明“int a=3,b=3,c=2;”,以下选项中值为0的表达式是_。a!a&&!b&&
4、;c b. !a|!b|c c.a=b&&b>=c d.a>=b&&b>c30若有声明“char ss8=”red”;”,则sizeof(ss)的值是_。a8 b. 4 c. 3 d. 1二、填空题(30分)l 基本概念1已知有函数定义“int fun()return(3,4);”,则调用fun后的函数返回值是_。2设有声明“int a=3,b=4; float x=4.5,y=3.5;”,则表达式“(float)(a+b)/2+(int)x%(int)y”的值是_。3若已有定义“enum tpa,b,c;”,则执行语句“printf(“%dn
5、”,a+1);”后输出结果是_。4若需要打开d盘上user子目录下已经存在的名为abc.txt的文本文件,先读出文件中数据,后追加写入新数据,则正确的函数调用语句是:“fp=fopen(“d:userabc.txt”,_);”。l 阅读程序5以下程序运行时输出结果的最后一行是_。 #include<stdio.h> void main() int a=1,b=1,i; for(i=1;i<=2;i+) a=a+b; printf("%d / %d , ",b,a); b=a+b; printf("%d / %d , ",a,b); pr
6、intf("n"); 6以下程序运行时输出结果是_。 #include<stdio.h> void main() int i,sum=0; for(i=0;i<5;i+) switch(i) case 0: case 1:sum+; case 3:sum+; case 4:sum-; break; printf("%dn",sum); 7以下程序运行时输出结果是_。 #include<stdio.h> void func(int b) int a;a=b;b=10; void main() int a=10,b=20; fu
7、nc(b); printf("%d,%dn",a,b); 8以下程序运行时输出结果的第一行是_,第二行是_。 #include<stdio.h> int f1() static int i=0,f=1; return f*=+i; int f2() int i=0,f=1; return f*=+i; void main() printf("%dn",f1()+f1(); printf("%dn",f2()+f2(); 9以下程序运行时输出结果是_。 #include<stdio.h> #include<
8、string.h> void sf(char *s1,char *s2) if(*s1=*s2) sf(s1+1,s2+1); void main() char a20="abc",b20="xyz" sf(a+strlen(a),b); puts(a); 10以下程序运行时输出结果的第一行是_,第三行是_。 #include<stdio.h> void main() int i,j,a33; for(i=0;i<3;i+) for(j=0;j<3;j+) if(i<j) aij=1; else aij=i-j+1;
9、for(i=0;i<3;i+) for(j=0;j<3;j+) printf("%4d",aij); printf("n"); 11以下程序运行时输出结果是_。 #include<stdio.h> void sort(int a,int n) int i,j,p; int t; for(i=1;i<n-1;i+=2) p=i; for(j=i+2;j<n;j+=2) if(aj>ap) p=j; if(p!=i) t=ai;ai=ap;ap=t; void main() int s=8,1,4,3,n=4,k;
10、sort(s,n); for(k=0;k<n;k+) printf("%4d",sk); printf("n"); 12以下程序运行时输出结果的第一行是_,第二行是_。 #include<stdio.h> struct s int x,*y; *p; int d5=10,20,30,40,50; struct s a5=100,&d0,200,&d1,300,&d2,400,&d3,500,&d4; void main() p=a; printf("%5d",p->x+)
11、; printf("%5dn",p->x); printf("%5d",*p->y); printf("%5dn",*+p->y); 13以下程序运行时若输入8,则输出结果中第一行是_,第二行是_,第三行是_。 #include<stdio.h> void main() int k,i,m,n,num20; scanf("%d",&n); for(i=0;i<n;i+) numi=i+1; i=k=m=0; while(m<n-1) if(numi!=0) k+;
12、if(k=3) printf("%4d",numi); numi=0; k=0; m+; if(m%3=0) printf("n"); i+; if(i=n) i=0; i=0; while(numi=0) i+; printf("%4d",numi); l 完善程序14以下程序的功能是:求 a数组中前4个元素之和及后6个元素之和。试完善程序以达到要求的功能。 int fsum(int *array,int n) int i,s; s=0; for(i=0;_;i+) s+=arrayi; return(s); void main()
13、 int a15=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15; int sumh,sumt; sumh=fsum(a,4); sumt=_; printf("%d %dn",sumh,sumt); 15以下程序对二维数组a中存储的n×n矩阵做如下操作:先将每一行中值最大的元素与该行位于主对角线处的元素交换值,然后对主对角线上的所有元素排序使其左上角到右下角升序排列,最后输出排序后主对角线上各元素的值。试完善程序以达到要求的功能。 #include<stdio.h> #define n 5 void fun(int xn,in
14、t n) int i,j,t,arr,col; for(i=0;i<n;i+) arr=xi0; col=0; for(j=0;j<n;j+) if(xij>=arr) arr=xij; _; t=xii; _; xicol=t; for(i=0;i<n-1;i+) for(j=i+1;j<n;j+) if(_) t=xii; xii=xjj; xjj=t; void main() int ann=10,25,24,13,23,11,22,12,21,14,20,15,19,16,18,17,9,4,5,3,2,1,6,7,8, i; fun(a,n); for(
15、i=0;i<n;i+) printf("%3d",aii); printf("n"); 16以下程序中函数replace的功能是:将字符串s中所有属于字符串s1中的字符都用s2中的对应位置的字符替换。假如s为“abcba”,s1为“ac”,s2为“ac”,则调用replace函数后,字符串s的内容将变换为“abcba”。试完善程序以达到要求的功能。 #include<stdio.h> #define max 20 void replace(char *s,char *s1,char *s2) char *p; for(;*s;s+) p
16、=s1; while(*p&&_)p+; if(*p) *s=_; void main() char smax="abcba",s1max="ac",s2max="ac" _; printf("the string of s is:"); printf("%sn",s); 17以下程序的功能是:函数struct node *insert(struct node *head,struct node *p)将p指向的结点作为首结点插入head指向的链表中。main函数接收从键盘输入的一行字符,每接收一个字符后,申请一个新结点保存该字符,并调用insert函数将新结点插入链表中。最后从表头开始依次输出该链表各结点成员c的值。 #include<stdio.h> #include<stdlib.h> struct node char c; struct node *next; ; void main() struct node *insert(struct node *head,struct node *p); char ch; struct node *head,*p; head=null; w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年尚义县教师招聘笔试备考试题及答案解析
- 亚运村中心招聘全科医生1人笔试模拟试题及答案解析
- 2026年方正县教师招聘考试参考题库及答案解析
- 招聘18人!玛沁县紧密型医共体2026年下半年编外人员招聘笔试参考题库及答案解析
- 2026武汉市疾病预防控制中心招聘眼视光师1名笔试模拟试题及答案解析
- 2026重庆巫山县生态环境局招聘7人笔试备考题库及答案解析
- 2026年兴业县教师招聘笔试备考题库及答案解析
- 2026年柏乡县教师招聘笔试参考题库及答案解析
- 2026福建农林大学附属小学福州仓山淮安实验小学招聘笔试模拟试题及答案解析
- 2026贵州黔南公路建设养护有限公司公开招聘3人笔试模拟试题及答案解析
- 眼科疾病诊疗技术新进展与挑战
- 2026年初三年级资深班主任工作经验分享课件-班级管理的“细”与“实”
- 2026年丽江市消防救援局第三批政府专职消防员、消防文员招聘(55人)笔试备考试题及答案详解
- 2026年中考英语短文填空(7大考点14篇跟踪训练)
- 高校实验室建设项目投标文件
- 住宅项目施工总承包工程方案投标文件(技术标)
- 营商环境平台建设方案
- 2026新教材统编版九年级上册历史:全册教材问题答案
- 2026年国企纪检监察岗位面试题含答案
- 2026北京市市政工程设计研究总院有限公司校园招聘笔试历年参考题库
- 七大浪费分析与改善培训
评论
0/150
提交评论