logo资料库

2018年江西师范大学程序设计(C语言)考研真题.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
2018 年江西师范大学程序设计(C 语言)考研真题 一、单项选择题(每小题 2 分,共 30 分) 1、组成 C 程序的若干函数在源程序文件中的位置顺序为:() A.第一个函数必须是主函数,其他函数任意 B.可以在任意位置 C.必须完全按照执行的顺序排列 D.其他函数可以任意,主函数必须在最后 2、以下选项中不合法的常量是() A.123L B.0×35 C.018 D.6e-2 3、判断字符串 s1 与字符串 s2 相等,应当使用()。 A.if(sl=s2) B.if(strcmp(sl,s2)) C.if(lstrcmp(sl,s2)) D.if(strcmp(sl,s2)=0) 4、二维数组 a 有 m 行 n 列,则在 a[i][j]之前的元素个数为()。 A.j*n+i B.i*n+j C.i*n+j-1 D.*n+j+1 5、若有定义 int (*p)[4],则标识符 p 是一个()。 A.指向整型变量的指针变量 B.指向函数的指针变量 C.指向有四个整型元素的一维数组的指针变量 D.指针数组名,有四个元素,每个元素均为一个指向整型变量的指针 6、下列对变量进行初始化有可能导致将来出现问题的是:( )。 A.char str[7]="FORTRAN"; B.char str[]="FORTRAN"; C.char*str="FORTRAN"; D.charst[]={F,'O’,R,T,R,A,N,0}; 7、C 语言中允许的基本数据类型包括:( ) A.整型、实型、逻辑型, B.整型、实型、字符型 C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型 8、下列能正确表示 a≥10 或 a≤-10 的关系表达式是:( ) A.a>=10or a<=-10 B.a<=10z>=-10 C.a>=10||a<=-10
D.a>=10&&a<=-10 9、若有定义和语句: chars;s="nanchang"; printf("%n",s); 则结果是:( ) A.输出 97 B.输出 a C.输出 adcb D.编译不能通过 10、若变量要给 int 型变量 a,b,c 输入数据,正确的输入语句是:() 11、假定 w、x、y、z、m 均为 int 型变量,有如下程序段: w=1;x=2;y=3;z=4; m=(w>x)?w:x;m=(m>y)?m:y;m=(m>z)?m:z; 则该程序运行后,m 的值是:() A.4 B.3 C.2 D.1 12、假设 int 型变量占两个字节的存储单元,若有定义: int x[5]={1,2,3}; 则数组 x 在内存中所占字节数为( )。 A. 3 B.6 C.10 D.20 13、下列合法的数组定义是( ) A.inta{]="string"; B.int a[5]={0,1,2,3,4,5}; C. char a="string"; D.char a[]={0,1,2,3,4,5}; 14、在 C 语言中,下列错误的说法是( )。 A.函数可以递归调用 B.不允许在函数中再定义函数 C.递归程序不可能用非递归算法实现 D.对于 continue 语句,可以通过改变程序的结构而不使用它 15、下列属于文件包含的命令是( )。 A.#define N 25 B.#endif C.#include "stdio.h" D.#else 二、填空题(每空 2 分,共 20 分) 1、高级语言编写的程序必须转化成机器语言才能在计算机上运行,这个转化过程称为 ______。 2、与二进制数(1100001)2 等价的八进制为________。
3、C 程序编译后最终产生(即计算机执行)的文件的扩展名为________。 4、若有以下定义和语句: int a=5,b b=a++; 则 b 的值为______。 5、C 程序中调用函数时,实参与对应形参之间的数据传递方式是 6、从键盘上获得一个字符数据的函数是____。 7、编译预处理命令以__________结尾。 8、已定义以下函数 fun(int *pr) { return *pr;} 该函数的返回值是:__________ 。 9、当定义一个结构体变量时系统分配给它的内存是: ___________。 10、若执行 fopen 函数时发生错误,则函数的返回值是_________。 三、 程序分析题(本大题共 4 小题,每小题 6 分,共 24 分) 1、 #include main(){ int a=5,b=4,x,y; x=2*a++; printf("a=?x=?n",a,x); y=-b*2; printf("b=?y=?n",b,y); } 程序运行结果是: 2、 #include main(){ int x,y; scanf("-?s-",&x,&y); printf("?,y-x); } 程序运行时输入:123456789< 程序运行结果是: 3、 #include main(){ char a[]="Hello"; char *p=NULL; for(p=a;p
#include int fun(int x, int y){ return x>y?x:y; } main(){ int a=2,b=5,c=8; printf("?n", fun(fun(a+c,b),a-c)); } 程序运行结果是: 四、程序填空题(本大题共 4 小题,每小题 6 分,共 24 分) 1、 下面程序的功能是输入三个整数,按由小到大的顺序输出这三个数: #include void swap①_/*交换两个数* int temp; temp=*pa; *pa=*pb; *pb=temp; } void main(){ } 2、 下面程序的功能是删除字符串 S 中的空格 #include main(){ char s[]="Jiangxi Normal University"; int i,j; for(i=j=0;s[i]!=^10;i++) if(s[i]!=!' ①; else ②; printf("2,s); } 3、 下面程序的功能是计算 1-3+5-7+…-99+101 的值: main(){ int i,t=1,s=0; for(i=1;i<=101;i+=2){ s=s+t; ② }
4、 下面程序的功能是打印一个数列的第 30 项的值。该数列的第 1,2 项均为 1,其他各项值均为其前两项之和。即 1,1,2,3,5,8,13… #include ① void main(){ printf("?ln",f(30)); } long f(int n){ if ②) return1; else returnf(n-1)+f(n-2); } 五、 程序设计题(本大题共 4 小题,第 1~3 小题每小题 12 分,第 4 小题 16 分,共 52 分) 1、编程打印出如下图案,要求一条输出输出语句只能打印一个字符。 A BB CCC DDDD EEEEE 2、编程计算 1!+2!+3!+……+10!的值。 3、打印出所有的“水仙花数”,‘所谓“水仙花数”是指一个三位数,其各位数字立方和等 于该数本身。例如:153 是一个“水仙花数”,因为 153=1 的三次方+5 的三次方+3 的三次方。 4、写一个函数,功能为求一个字符串的长度,在 main 函数中输入字符串,调用该函数并输 出其长度。
分享到:
收藏