语言历年试卷-月31日_第1页
语言历年试卷-月31日_第2页
语言历年试卷-月31日_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2000~2001学年《程序设计基础-C》试考试时间:200012318:30-注:一、单项选择题(每小题2分,共30分C语言程序中可以对程序进行注释,注释部分必须用符号 A、‘{‘和 下列运算符中,优先级最低的是 A、 若变量已正确定义,表达式(j=3,j++)的值是 。A、 B、 D、已知字符‘a’的ASCII码为97,执行下列语句的输出是 printf("%d,%c",’b’,’b’+1)A、98, C、98, D、98,表达式strcmp(“box”,“boss”)的值是一个 A、正 B、负 C、 D、不确定的数组定义为inta[3][2]={1,2,3,4,5,6},数组元素_B 要调用数学函数时,在#include命令行中应包含 A、 B、 C、 D、判断i和j至少有一个值为非0的表达式是 A、i!=0&& C、!(i==0|| 若a是基本整型变量,c是单精度实型变量,输入语句 A、scanf(”%d,%f”,&a, B、scanf(”d=%d,c=%f”,&a,C、scanf(”%d%f”,&a, D、scanf(”%d%f”,a,若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于B 若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向 A A、 C、 D、下列程序段的输出是 intc[]={1,3,int*k=c+1;printf("%d",*++k);A、 B、 C、 D、不正确的赋值或赋初值的方式是 A、charB、charstr[7]={'s'tri'n'g'};C、charstr[10];str="string";D、charstr[7]={'s''t'r'i''n','g对于以下结构定义,++p->str中的++加在 structintlen;char*str;}A、指针str B、指针p C、str指的内容 对于如下说明,语法和语义都正确的赋值是 intc,*s,a[]={1,3,A、 B、 C、 D、二、填空题(每小题2分,共20分floatx1,x2;printf("%d,%.1f",(int)x1,x2) 表达式(7<<1>>2^2)的值是 A printf("%d", -写出判断字符变量cc>=’a’&&c<=’z’||c>=’A’&&c<=’Z’intk,for(k=0,x=0;k<=9&&x!=10;k++)printf("%d,%d",k,x) printf(“%d, NULL, 0,-对于以下递归函数f,调用f(3)的返回值 f(int return((n>0)?2*f(n-1)+f(n-2):- -charstr[]="printf("%d,%c\n",sizeof(str), 12345#后,写出下列程序的输出结果。voidmain() charfor(c=getchar();getchar()!=’#’;c=getchar()) 执行程序find–nxouldtext.txt时,*++argv[1]的值是 三、程序阅读题(每题5分,共20分若输入 3<回车> 则以下程序的输出结果是1,2,3,2,3,1,3,2,#include"stdio.h"voidmain() inti,j,n,scanf("%d",&n);for(i=0;i<n;for(i=0;i<n;i++)for(j=0;j<n;j++)printf("%d,",a[(i+j)%n]);}若输入89762425981116354<回车> 则以下程序的输出结果是4,8,16,24,89,35,25,11,#include"stdio.h"#defineN10{intx[N],y1[N],y2[N];inti,j,n1,n2,t,p;scanf(“%d”,&x[i]);if(x[i]% }for(i=1;i<n1;i++)for(j=0;j<n1-1;j++)t=y1[j];y1[j]=y1[j+1];}for(i=0;i<n2-1;i++){for(j=i+1;j<n2;j++)if(y2[p]<y2[j])p=j;t=y2[i];y2[i]=y2[p];}}for(i=0;i<n1;i++)printf("%d,",for(i=0;i<n2;i++)printf("%d,",}以下程序的输出结果是_2,4,6#2,5, #include<stdio.h>intz;voidp(int*x,int printf("%d,%d,%d#",*x,y,}void intx=1,y=5,z=9;p(&x,y);printf("%d,%d,%d#",x,y,}若输入-6+15*3/5=<回车> 则以下程序的输出结果是_0,-6,9,6, #include<stdio.h>voidmain(){intm=0,sum=0;charc,oldc='+';do{ m=10*m+c-'0';else{if(oldc=='+')sum+=m;elsesum-=m;printf("%d,",} }四、程序填空题(每空2分,共20分#include<stdio.h>#include<alloc.h>structlink{ struct *voidinsert(char*,int);structlink*head=NULL;{ link*t;while(1){scanf("%s if(strcmp(name,"#")==0 (1)insert(name, }for(t=head; (2)t!=NULL;t=t->next printf("<%s>:%d\n", }voidinsert(char* int{structlink*p= (3)_(structlink*)malloc(sizeof(structlink)); p->mark= (4)p->next=NULL if(head!=NULL)head=p;}

(5)p->next=head prog.cprogfilenamefilename中的内容原样progufilename时,将文本文件filename中的所有字母以大写方式输出(其余字符原样输出prog-dfilenamefilename中的数字输出。#include<stdio.h>#includevoidmain(intargc,char*{ *filename,ch; if(argc<2||argc>3){printf(“Argumenterror\n”);return;}if(argc==3){if(strcmp(argv[1],“-u”)== elseif(strcmp(argv[1],“-d”)==0) else{printf(“Optionerror\n”);return;} (6)filename= }elsefilename=if( (7)(fp=fopen(filename,“r”))==NULL ){printf(“Cannotopenfile\n”); }while( (8)!feof(fp) ){ch=fgetc(fp);if(tag==0)elseif(tag==1) (9) elseif( (10)tag==2&&isdigit(ch) }}(10分,混合班学生做第2题,其他学生做第1题[程序说明10分mn(m≥n≥0)后,计算下列表达式的值并输出。[程序说明10分编写函数strcmp(char*s1, char*s2)。若s1和s2均是数字串(包括+/-号,则按照十进制整数大小进行比较;否则按照Ascii序进行比较。s1大于/等于/小于s2时,分别输出1/0/-1。可以直接调用atoi#include<stdio.h>floatfact(int);{intm, floatval;scanf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论