2022年江南大学现代远程教育计算机语言第3阶段测试题3b2.pdf
学习资料收集于网络,仅供参考学习资料江南大学现代远程教育 第三阶段测试卷考试科目 : 计算机语言(C ) 第 10章至第 13章(总分 100分)时间: 90 分钟学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一、选择题(每题 2 分,共 30 分)1. 若已定义a 为 int型变量,则对指针p 的说明和初始化正确的是( D ) 。A.int *p=a; B.int p=a; C.int *p=*a; D.int *p=&a; 2. 设 P是指向 A的指针 ,Y 为整型量 ,A=5,A 的地址为 FE03;B=6,B 的地址为 FE04;下列语句分别执行的结果是( D )。1)Y=*&A; 2)Y=*P+; 3)Y=&+A; 4)Y=*+P A.1)Y=4; 2)Y=4; 3)Y=FE05; 4)Y=7 B.1)Y=7; 2)Y=7; 3)Y=FE02; 4)Y=4 C.1)Y=6 ; 2)Y=6 ; 3)Y=FE03; 4)Y=5 D.1)Y=5 ; 2)Y=5 ; 3)Y=FE04; 4)Y=6 3. 下列程序段的执行结果是( D ) 。static int a=5,3,7,2,1,5,4,10; int s=0,k; for(k=0;ksex); B. scanf(” %s ” ,stu.name); C. scanf(” %d” ,&stu.age); D. scanf(” % f” ,p-score);11. 若要用 fopen 函数打开一个新的二进制文件,该文件要即能读也能写,则文件打开的方式应是( B ) 。A.ab+ B. wb+ C.rb+ D. ab12.fwrite函数的一般调用形式是( D ) 。A. fwrite(buffer,count,size,fp) B. fwrite(fp,size,count,buffer) C. fwrite(fp,count,size,buffer) D. fwrite(buffer,size,count,fp) 13.关闭文件函数fclose(fp) 的作用是(C ) 。A不再为fp 指向的文件分配内存空间;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 8 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料B将 fp 指向的文件存入磁盘;C释放指定文件所占据的内存空间和文件指针;D将指定文件封闭在某一内存区域。14. 下列有关C语言文件的说法正确的是( D )。A.C 语言文件是由记录组成B.C 语言文件被看作是一个字符(字节)的序列,称为流式文件C.C 语言有专门的文件操作命令D.以上说法都不正确15. 语句 ( )能正确完成赋字符串的功能。A. char s4;s0=“ string”; B. char *s;get(s); C. char *s= “string”; D. char *s;strcpy(s, “string”);二、填空题( 每空 3 分, 共 45 分) 1. C 程序中,文件可以用顺利方式存取,也可以用随机方式存取。2. C 程序中,数据可以用二进制和 ACSII 两种代码形式存放。3.结构体变量所占的内存长度为所有成员占有内存的总和。4.设有以下说明与语句:static int a32=1,2,3,4,5,6; int (*p)2; . . . p=a; 则 *(*(a+2)+1)的值为6 ,*(*(p+1)+1)的值为4 。5. 下面程序用变量count 统计文件 letter.dat中字符的个数。#include” stdio.h”main() FILE *fp; long count=0; if(fp= foren(“ letter.dat” , ” r ” ) )=NULL) printf(“ can not open this filen” ); exit(0); while(!feof(fp) fscanf(fp,”%c ”,&c) 或 c=fgetc(fp) ; if(c= a & c= A & c= Z ) count+ ; printf(“ count=%ldn ” ,count); fclose(fp); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 8 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料 6. 下面的函数用于比较两个给出的C字符串。按比较结果,函数将返回下列函数值:若: s1=s2 返回 0 s1s2 返回正值 程序 scmp(char *s1,char *s2) while(*s1) if( *s1-*s2 ) return( *s1-*s2 ); else s1+;s2+; return( 0 ); 7.下面程序的运行结果是Afgd 。#include”string.h”main() char * p1, * p2,str50=”ABCDEFG”;p1=”abcd”; p2=”efgh ”strcpy(str+1,p2+1); strcpy(str+3,p1+3); printf(“%s ”,str); 8. 下面程序的运行结果是 baCBAcd 。#include main() char *str=ABCabcd; bubble(str,5); printf(n%s,str); bubble(char *str,int count) int i,j=count; char tmp; while(j-1) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 8 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料 for(i=0;ij;i+) if(stristri+1) tmp=stri; stri=stri+1; stri+1=tmp; 三、编程题( 共 25 分) 1. 编写一个函数fun ( char *s,char *t) , 其功能是:将S所指字符串中ASCII 值为奇数的字符删除, s 中剩余的字符形成一个新串放在t 所指的数组中。(10 分)2.在本地磁盘上建立文件data1.dat,随机写入10 个大写字母和10 个小写字母, 然后将其中的大写字母转换成小写字母,小写字母转换成大写字母后仍保存在该文件中。(15 分 ) 1. #include #include fun (char *s, char*t) int i,j=0; for(i=0;istren(s);i+) if(si%2=0) tj+=si; tj=0; 2. #include ”stdio.h ”#include ”string.h”#include ”stdlib.h”Void wnitefile (char fname) FILE *fp; Int t; Char ch; If(fp=fopen(fname,”W ”)=NULL) printf(“error in winte n” ); Exit(0); Randomize(); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 8 页 - - - - - - - - - - 学习资料收集于网络,仅供参考学习资料Prinf(“Thefile is: ”);For(i=o;i10;i+) ch=65+random(26); Fputc(ch,fp); putchar(ch); For(i=o;i= A&ch= z)Ch=ch.32; Fputc(ch,fp2); Fclose(fp1); fclose(fp2); If(fp1=fopen(fname,”W ”)=NULL) prinf(“error in write n”); Exit(0); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 8 页 - - - - - - - - - - 文档编码:KDHSIBDSUFVBSUDHSIDHSIBF-SDSD587FCDCVDCJUH 欢迎下载 精美文档欢迎下载 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 8 页 - - - - - - - - - -