C语言程序设计-第三阶段练习_第1页
C语言程序设计-第三阶段练习_第2页
C语言程序设计-第三阶段练习_第3页
C语言程序设计-第三阶段练习_第4页
C语言程序设计-第三阶段练习_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、江南大学现代远程教育 第三阶段练习题考试科目:C语言程序设计第10章至第13章(总分100分) 学习中心(教学点) 批次: 层次: 专业: 学号: 身份证号: 姓名: 得分: 一、单项选择题(本题共20小题,每小题2分,共40分。)1、若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是( D )。A、p=q;B、 *p=*q;C、 n=*q;D、 p=n;2、已定义以下函数fun (int *p) return *p: 该函数的返回值是( C )。A、不确定的值 B、 形参p中存放的值C、 形参p所指存储单元中的值 D、 形参p的地址值3、有以下程序main()char

2、*s=one,two,three,*p;p=s1;printf(%c,%sn,*(p+1),s0);执行后输出结果是( C )。A、n,twoB、 t,oneC、w,oneD、 o,two4、若有定义:int *p3;, 则以下叙述中正确的是( B )。A、定义了一个基类型为int的指针变量p,该变量具有三个指针B、 定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C、 定义了一个名为*p的整型数组,该数组含有三个int类型元素D、 定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素5、已定义以下函数fun(char *p2, char *p1

3、) while(*p2=*p1)!=0)p1+;p2+; 函数的功能是( A )。A、 将p1所指字符串复制到p2所指内存空间B、 将p1 所指字符串的地址赋给指针 p2C、 对p1和p2两个指针所指字符串进行比较D、 检查p1和p2两个指针所指字符串中是否有06、有以下程序void fun(char *c,int d) *c=*c+1;d=d+1;printf(“%c,%c,”,*c,d);main() char a=A,b=a;fun(&b,a); printf(“%c,%cn”,a,b);程序运行后的输出结果是( D )。A、B,a,B,a B、 a,B,a,B C、 A,b,A,b D

4、、 b,B,A,b7、若有以下的说明,则对初值中字符a的引用方式为( B )。static struct st char ch;double x;char a;struct st c22=a,3.5,bc,c,4.5,de,m,8.6,abc;A、c.ch B、c00.ch C、c11.ch D、a08、有以下程序#include main( ) FILE *fp; int i,k=0,n=0; fp=fopen(“d1.dat”,”w”); for(i=1;i4;i+) fprintf(fp,”%d”,i); fclose(fp); fp=fopen(“d1.dat”,”r”); fscan

5、f(fp,”%d%d”,&k,&n); printf(“%d %dn”,k,n); fclose(fp);执行后输出结果是( B )。A、1 2 B、 123 0 C、 1 23 D、 0 09、有以下程序段int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b;b=p5;b中的值是( D )。A、5B、6C、8D、910运行下列程序后的输出结果是 B 。 main() char str10=China,Beijing,*p=*str; printf(%sn,p+10);A、China B、Beijing C、ng D、ing11、以下枚举类型的定义中正确的是( B )。A

6、、enum a=one, two, three; B、enum a one=9, two=-1,three;C、enum a=“one” , “two”, “three”; D、enum a “one”, “two”, “three”;12、设有说明: union data int i;float f; struct int x;char y; s; double d; a; 在16位微机环境下,int类型的整数占用两个字节,则变量a在内存中所占字节数为( A )。A、8 B、17 C、9 D、1513、下面对结构数据类型的叙述中,( C )是错的。A、结构变量可以在说明结构类型后定义,也可在

7、说明结构时定义B、结构可由若干个成员组成,各成员的数据类型可以不同C、定义一个结构类型后,编译程序要为结构的各成员分配存储空间D、结构变量的各成员可通过结构变量名和指向结构变量的指针引用14、有以下程序#include main() char *p=“abcdeOfghjik0”;printf(“%dn”,strlen(p);程序运行后的输出结果是( D )。A、12 B、 15 C、 6 D、 515、以下叙述中错误的是( D )。A、二进制文件打开后可以先读文件的末尾,而顺序文件不可以B、在程序结束时,应当用fclose函数关闭已打开的文件C、 在利用fread函数从二进制文件中读数据时,

8、可以用数组名给数组中所有元素读入数据D、 不可以用FILE定义指向二进制文件的文件指针16、若有如下说明,则( D )的叙述是正确的。struct stint a;int b2;a;A、结构体变量a与结构体成员a同名,定义是非法的B、程序只在执行到该定义时才为结构体st分配存储单元C、程序运行时为结构体st分配6个字节存储单元D、类型名struct st可以通过extern关键字提前引用(即引用在前,说明在后)17、对于用r方式打开文件下列说法正确的是( B )。A、用r方式打开的文件只输入不能输出B、用r方式打开的文件只能输出,不能输入C、用r方式可以打开任何文件D、以上均不对18、在C语言

9、中,文件若按数据的组织形式分类可分为( B )。A、字符文件和数字文件 B、ASCII文件和二进制文件C、顺序文件和随机文件 D、以上均不对19、如有以下定义“int y44=1,2,3,4,5,6,7,8,9,10,*pyl=yl,(*py2)4=y;”,则不能正确引用值为7的数组元素的表达式是( B )。A、*(yl+2) B、*(y+1)+2 C、pyl2 D、 py21220、若有以下说明:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为6的表达式是( C )。A、*p+6 B、*(p+6) C、*p+=5 D、p+5二、填空题(本题共6小题,每空2分,共3

10、0分)1、以下程序输出整形变量a的值,错误的语句是 (4) ,应改为 p=&a 。()main()()int a, *p;()a=100;()*p=a;()printf(“a=%d”,*p);()2、下面的程序用来统计文件中字符的个数,请填空。#include stdio.hmain()FILE *fp; long num=0;if(fp=fopen(filename.dat,r)= NULL )printf(cannot open file!n);exit(0);while( !feof(fp) )fgetc(fp); num+ ;fclose(fp);printf(num=%dn,num)

11、; 3、以下程序运行后输出的第一行内容是 AD ,第二行内容是 BC ,第三行内容是 BB 。 # include main() char *s1=”BD”,*s2=”BC”,*s3=”AB”; if (strcmp(sl,s2)0) swap(sl,s2); if (strcmp(s2,s3)0) swap(s2,s3); if (strcmp(sl,s2)0) swap(sl,s2); puts(sl); puts(s2); puts(s3); swap(char *s1,char *s2) char t; t= *s1;*s1=*s2;*s2=t;4、下面的函数用于比较两个给出的C字符串

12、。按比较结果,函数将返回下列函数值:若: s1=s2 返回0s1s2 返回正值,请填空。程序scmp(char *s1,char *s2)while(*s1)if( *s1-*s2 )return( *s1-*s2 );elses1+;s2+;return( 0 ); 5、C程序中,数据可以用 二进制 和 ASCII 两种代码形式存放。6、运行程序后输出的第一行内容是 n1=t,n2=u 、第二行内容是 a=tesustring,b=tesusfg 。#include main() static char a50=test; char b40,*p; p=a; *(p+3)+=1; strcpy(b,abcdefg); strcat(a,string); strncpy(b,a,5); printf(n1=%c,n2=%ct,*p,*(p+3); printf(a=%s,b=%sn,a,b); 三、编程题(本题共2小题,每小题15分,共30分

温馨提示

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

评论

0/150

提交评论