中南大学考试试题(C语言)10级程序设计试题(修改)

合集下载

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。

C语言考试复习试题及参考答案

C语言考试复习试题及参考答案

中南大学现代远程教育课程考试复习试题及参考答案C语言程序设计一、单项选择题若以下各题所有库函数都可以合法使用,且变量定义如下:int m=5, i=3,j=2,*p, a=8,b=0;int arr[10]={0,1,2,3,4,5,6,7,8,9},td[ ][3]={1,2,3,4,5,6};float x=2.5,y=3.0;double z=0; long n=1;char c=’A’,ch[20]={’a’,’b’,’c’,’\0’,’d’,’\0’};struct student{ int num;char name[20];float score;struct student *next;}st1,st2,*ps;FILE *fp;1.若将3和10从键盘输入给变量a、x,输入语句为scanf(“a=%d,x=%f”,&a,&x);正确的键盘输入是(↙表回车):A a=3,x=10↙B 3,10↙C 3 10↙D 3,10.0↙2. 以下不是死循环的语句是:A for ( ;;y+=i++);B while(a) y+=i++ ;C do{ y+=i++}while (a>0);D for (b=0;(c=getchar()!=’\n’);)b++;3.若p=arr;正确的语句是:A *p=arr[10];B *p=arr[2*a];C p=arr[5];D p[i]=arr[0];4.若ps=&st1;则下面描述正确的是:A ps->num与st1->num等价。

B ps.num与st1.num等价。

C ps->num与num等价。

D ps->num与st1.num等价。

5.语句printf(“%d",a<i>j);的输出结果是:A 1B 0C 8 D都不对6.表达式 j/i+a%i+x 的值是:A 6B 4.5C 6.0D 5.57.表达式 b||a+i&&i<j 的值是:A 不确定B 0.0C 1D 08.若执行语句 a=b+=3*j+(int)x;则b的值为:A 1B 8C 0D 8.59. 若执行语句 a=b>j ?++i : i++;则a与i的值分别为:C x=D x=1a≥b 1 a<b11.将字符串“Wan Ming”输入数组ch中,正确的是:A、scanf(“%s”,ch)B、scanf(“%s”,&ch)C、ch=“Wan Ming”D、gets(ch)12. 执行语句printf(“%c”,td[1][0]+’A’)的结果是:A、AB、BC、DD、E13.下列关于main()函数说法正确的是A、C语言程序总是从main()开始执行B、C语言程序可以没有main()函数C、C语言程序可以包含多个main()函数,但必须在不同的模块中D、C语言程序中main()函数不能有形式参数14.下列关于函数说法正确的是A、C语言程序的函数内还可定义其他的函数B、C语言程序的函数内不可再定义其他的函数C、C语言程序的函数不能自己调用自己D、C语言程序中只有同一源文件中的函数才能有调用与被调用关系15.若#define squ(x) x*x 执行语句printf(“result=%d”,squ(i+j));结果为:A、result=36B、36C、result=11D、1116. 若#define squ(x) (x)*(x) 执行语句printf(“result=%d”,squ(i+j));结果为:A、result=36B、result=17C、result=11D、result=25 17.C语言对宏命令叙述正确的是A、宏替换占用运行时间B、编译程序对宏命令的处理是在对源程序中其它成分编译之前进行的C、宏命令的处理是在程序执行时进行的D、宏命令的处理是在程序连接时进行的18. 若执行语句a- =a+=a*=10;a的值为:A、0B、-10C、-100D、100 19.若执行语句p=arr; printf(“%d”,*(p+i));输出结果为A、0B、2C、3D、120.若执行printf(“%s”,ch);结果为:A、’abc’B、abcC、abcdD、abc\0d21.若对数组进行初始化:charcarr[ ]={’s’,’t’,’u’,’d’,’e’,’n’,’t’},barr[ ]=”student ”;则正确的是A、carr与barr长度相同B、carr比barr长C、carr与barr相同D、carr比barr短22.若有说明语句int (*p)[N];则p是A、N个指向整型变量的指针B、可指向有N个整型元素的一维数组的指针C、指向N个整型变量的函数指针D、有N个指针元素的一维指针数组23.若有说明语句int *f( );则函数f是A、f是一个指向整型变量的数组指针B、f返回一个整型数据C、f是一个指向整型变量的函数指针D、f 返回一个整型指针,指向函数本身24.若函数f定义如下:void f(char *d, char *s){ while ( *d++=*s++);}函数f的功能是:A、串比较B、串复制C、求串长D、串反向25.表达式100+a+’a’+x*z的值的数据类型为A、intB、floatC、doubleD、char26.若要动态申请一个double型内存单元,正确的语句是A、pd=double malloc(sizeof(double))B、pd=( *double)malloc(sizeof(double))C、pd=double * malloc(sizeof(double))D、pd=(double*)malloc(sizeof(double))27.若要从键盘上输入67892到变量n中,正确的语句是A、scanf(“%lf”,&n);B、scanf(“%ld ”,&n);C、scanf(“%lf ”,n);D、scanf(“%d ”,&n); 28.判断字符变量c是否不为小写英文字母的正确表达式是A、’a’<=c <=’z’B、c>= ‘a’ && c<=’z’C、’a’≤c ≤’z’D、c<’a’ || c>’z’ 29.下列每组表达式被执行后,结果完全等价的是A、!(b= =0)与!(!b )B、b=(a=4,4*5) 与 b=a=4,4*5C、float(i/j) 与 float i/jD、0<x<100 与 x>0 && x<10030.表达式(m&1)==(m%2)的值是A、 0B、无法确定C、 1D、以上都不对31.数学式ln2x+asin(60°)的C语言表达式是A、log(2*x)+a*sin(60)B、ln(2*x) +a*sin(60/180*3.14)C、ln(2*x) +a*sin(60)D、log(2*x)+a*sin(3.14*60/180)32. 要打开一个已经存在的非空文件file用于修改,则正确的语句是A、fopen(“file”,”r+”)B、fopen(“file”,”w”)C、fopen(“file”,”a+”)D、fopen(“file”,”r”)33. 若打开文件时发生错误,则fopen()函数的返回值是A、1B、0C、不确定D、没有返回值34. 调用函数fseek(fp,-25L,2),其操作结果是A、文件位置指针从文件开始处前移25字节B、文件位置指针从文件结尾处后移25字节C、文件位置指针从文件当前位置处前移25字节D、文件位置指针从文件当前位置处后移25字节35. 能正确表示a和b同时为正或同时为负的逻辑表达式是A、(a>=0||b>=0)&&(a<0||b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a*b>0&&(a*b<=0)D、a*b>036. 若x=y=z=1;表达式(x--||++y)&&(z++)执行后,x,y,z的值分别为:A. 0,1,1B. 0,1,2C. 0,2,1D. 0,2,237.下列变量的初始化,不正确的是:A. int x,y=5;B. float x=y=3.5;C. char s[]=”a”;D. int a[][3]={{1},{},{0,9}};38. 可以代替while(x!=0)中的条件x!=0的是:A. xB. !xC. x==1D. x!=139.有关函数参数,下列说法不正确的是:A. 实参和形参是不同的变量;B. 实参可以将数据传给形参;C. 形参可以将数据传给实参;D. 实参和形参必须个数相等,类型一致。

中南大学试题

中南大学试题

; 用汇编语言实现实现冒泡排序,并将排序后的数输出DATAS SEGMENT A dw 3 10 8 56 22 36 1 43 31 3N=$-A ; 计算数字所占的字节数DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AX MOV SI,0 MOV CX,N/2-1 CALL BUBBLE;SI 遍历数字; 前一个数的地址;设置循环次数,M(M=N/2个数需要,循环M-1次;调用BUBBL将原来的数排序; 输出排序后的数MOV CX,N/2 MOV SI,0 MOV DI,0;循环M次输出排序后的M个数;SI 遍历排序后的数;用DI记录数字的位数MOV BP,N+5 ;BP 用于遍历存储的转化后的字符的位置SHOW: PUSH CX; 循环次数入栈MOV DX,0 ; 由于将要进行16位除需要置高16位为0 MOV AX,[SI] ; 低16位为排序后的数CALL DTOC ;调用DTO将十进制数转换为字符串CALL SHOW_STR调用SHOW_S将一个数转化得到的字符串输出ADD SI,2 ; 下一个数POP CX ; 循环次数出栈栈LOOP SHOWMOV AH,4CHINT 21H ; 冒泡排序BUBBLE PROCL1: PUSH CXLEA SI,AL2: MOV AX,A[SI]CMP AX,A[SI+2]JBE NEXTXCHG AX,A[SI+2]; 将循环次数入栈;SI遍历DATA数据段的数字; 将前一个数存于AX; 比较前后两个数; 如果前一个数小于或等于后一个数则继续本轮的比较; 否则,交换前后两个数的位置MOV A[SI],AXNEXT:ADD SI,2LOOP L2POP CXLOOP L1RET BUBBLE ENDP; 下一个数; 注意内层循环的次数已经确定了; 将循环次数出栈; 下一轮比较将十进制数转换为字符串并储存起来DTOC PROCS:MOV CX,10 ; CALL DIVDW ADD CL,30H将除数10,放入CX中;调用DIVDV程序;把数字转换为ASCII码,这样就能显示了MOV DS:[BP],CL ; 把ASCII码放到内存中INC DIPUSH AXADD AX,DXJZ BACKPOP AXDEC BP ; JMP S; 用DI 记录循环的次数; 将低16位入栈; 将高位与低位相加,接着判断是否已经除尽; 除尽后返回调用处; 将低1 6位出栈逆序存放转化后的字符,便于主程序调用SHOW_STRBACK:POP AX;RET为了得到正确的IP值,需要出栈一次; 子程序定义开始, 功能是分离被除数的各个位的数字; 公式:X/N=int(H/N)*65536+[rem(H/N)*65536+L]/N DIVDW PROCPUSH AX MOV AX,DX MOV DX,0DIV CXMOV BX,AX POP AXDIV CX ; MOV CX,DX ; MOV DX,BX ; RET ;DIVDW ENDP ; 低16位入栈;将高16位写入AX,; 将高16位置零; 将新的数除10,;将商int(H/N)转移到BX 默认余数rem(H/N)在DX; 将低16位出栈,将[rem(H/N)*65536+L]除10,默认余数在DX 将余数转移到CX将商int(H/N)转移到dx,相当于int(H/N)*65536 子程序定义结束; 实现字符串的输出SHOW_STR PROC S2:MOV AH,2 MOV DL,DS:[BP] INT 21HINC BPDEC DIJZ OKJMP S2; 输出数字转化后的字符串; 顺序输出; 数字的位数减一; 字符串输出完了就结束; 否则继续输出OK:MOV AH,2 ;输出空格MOV DL,0INT 21HRETSHOW_STR ENDPCODES ENDSEND START第一个累加和的源码:AREA TEXT,CODE,READWRITEENTRYMOV R0,#100 ;循环数目MOV R1,#0 ;初始化数据LOOPADD R1,R1,R0 ;将数据进行相加,获得最后的数据SUBS R0,R0,#1 ;循环数据R0减去1CMP R0,#0 ;将R0与0比较看循环是否结束BNE LOOP ;判断循环是否结束,接受则进行下面的步骤LDR R2,=RESULTSTR R1,[R2]RESULTDCD 0STOPB STOP第二个排序的源码附上:;排列算法:先将所有的数据与第一个进行比较,最后取出最小的数据放到第一个内存单元中;然后再从第二个内存单元开始进行比较,将第二小的数据放到第二个内存单元中,;以此内推则能将十个数据进行排列。

中南大学大数据库试的题目

中南大学大数据库试的题目

一、填空(10空,每空1分,共10分)1.SQL语言有四类语句,分别是、、DML和。

(中文及英文简写均可)2.基本表中,“关键字”概念应该体现其值的和两个特征。

3.数据库系统的模式结构由、和三级组成。

4.SQL有两种使用方式:和。

二、选择(10题,每题 1.5分,共15分)1.数据是指所有能输入到计算机中并被计算机程序所处理的的总称。

A)文字 B)字母 C)符号 D)数字2.数据模型的三要素是指。

A)数据结构、数据对象和数据共享B)数据结构、数据操作和数据控制C)数据结构、数据对象和完整性D)数据结构、数据操作和完整性约束条件3.一般说来,两个实体之间的联系可分为种。

A)四 B)三 C)二 D)六4.某个用户对某类数据有何种操作权力由决定。

A)用户 B)系统分析员 C)DBA D)应用程序员5.若关系R(U)的每个属性值都是不可分的原子值,且每个非主属性完全函数依赖于关键字,则称R满足。

A)1NF B)2NF C)3NF D)BCNF6.数据库系统中,数据独立性是指。

A)数据之间相互独立 B)应用程序与数据库的结构之间相互独立C)数据的逻辑结构与物理结构相互独立D)数据与磁盘之间相互独立7.对数据库中数据的操作分成两大类。

A)查询和更新 B)检索和修改 C)查询和修改 D)插入和修改8.SQL中,“SALARY IN(1000,2000)”的语义是。

A)SALARY<=2000 AND SALARY>=1000B)SALARY<2000 AND SALARY>1000C)SALARY=1000 AND SALARY=2000D)SALARY=1000 OR SALARY=20009.下列式子中,不正确的是。

A)R-S=R-(R∩S) B)R=(R-S) ∪(R∩S)C)R∩S=S-(S-R) D)R∩S=S-(R-S)10.数据库设计人员和用户之间沟通信息的桥梁是。

A)程序流程图 B)实体联系图 C)模块结构图 D)数据流图(DFD)三、简答题(5×3′)1、数据库系统阶段的数据库管理有哪些特点?2、关系三完整性规则是什么?3、为什么要进行关系模式的分解?分解的依据的是什么?4、基于数据库系统生存期的数据库设计分成哪些阶段?5、简述层次模型、网状模型、关系模型的特点?四、名词解释(5×2′)1、3NF2、视图3、DBMS4、实体5、模式五、E-R模型设计题(24分)1.设有商务数据库用以处理销售记帐,它涉及的数据包括顾客、商品信息。

中南大学考试试卷带答案

中南大学考试试卷带答案

中南大学考试试卷带答案2010 —2011 学年上学期时间110分钟MATLAB程序设计与仿真课程32 学时2 学分考试形式:闭卷专业年级:电子信息工程20XX级,总分100分,占总评成绩70%一、填空题(本题42分,每空2分)1.MATLAB中的显示所有内存变量的命令是:who ;清除内存变量的命令是:clear 。

2.在MA TLAB命令窗口中的“≥”标志表示MA TLAB处于准备状态。

3.把一个图形显示在一个图像窗口的m×n个子图像中的第p个位置的命令是subplot(m,n,p) 。

4.设A=reshape(1:9,3,3), 删除矩阵A的第7号元素后,A= 1 2 3 4 5 6 8 9 。

5.已知A=[1 2 3;4 5 0;7 8 9];B=[1 0 3;1 5 0;0 1 2];写出下列各指令运行的结果。

A+B ans=2 2 6;5 10 0;7 9 11 ;A.*B ans= 1 0 9;4 25 0;0 8 18 ;diag(A)/diag(B) ans= ;A(3)*B(4) ans= 0 。

6.假定变量A是5行4列的矩阵,则plot(A)将在图形窗口绘制 4 条折线。

7.x=-2.65, 则fix(x)= -2 , floor(x)= -3 , ceil(x)= -2 。

8.假定将符号变量x,y定义“x=sym(‘a’);y=sym(’5’); z=sym(’2’);”,则写出下列指令的运行结果:y+z ans= 7 ;x^z-y ans= a^2-5 ;9.(超纲)MA TLAB中的读图像的函数是imread ;显示图像的函数是:imshow 。

10.MATLAB中,特殊变量‘nargin’表示在函数体内判断输入变量个数;‘nargout’表示在函数体内输出参数的个数。

?11. 产生3行4列均值为1,方差为2的正态随机矩阵的命令是a=_____1+sqrt(2)*randn (3,4)_______。

中南大学计算机数据结构试题参考答案讲解学习

中南大学计算机数据结构试题参考答案讲解学习

中南大学计算机数据结构2013试题参考答案中南大学考试试卷2015--2016学年上学期期末考试试题时间100分钟数据结构课程56学时3.5学分考试形式:闭卷专业年级:计算机科学与技术10级总分100分,占总评成绩70%姓名班级学号(本试卷共四道大题,答案全部做在答题纸上!)一、选择题(每题2分,共24分)1.以下数据结构中,属于线性结构的是()A.图B.栈C.二分查找树D.森林2.用二分法查找表(a0,a1,a2,a3,……a16),需要比较2次才能找到的元素是()A.a7和a16 B.a11和a13C.a1和a14 D.a3和a123.用概率查找改进查找效率,是经过多次查找以后使得()A.查找次数越少的元素查找速度越快B.查找次数越少的元素越往前存放C.查找次数越多的元素越往后存放D.查找次数越多的元素查找速度越快4.二分查找要求元素( )A.有序、顺序存储B.有序、链式存储C.无序、顺序存储D.无序、链式存储5.已知pPre为指向链表中某结点的指针,pNew是指向新结点的指针,以下哪段伪码算法是将一个新结点插入到链表中pPre所指向结点的后面?()A.pPre->link = pNew; pNew = null;B.pPre->link = pNew->link; pNew->link = null;C.pNew->link = pPre->link; pPre->link = pNew;D.pNew->link = pPre->link; pPre->link = null;6.在递归算法执行过程中,计算机系统必定会用到的数据结构是()A.队列B.链表C.栈D.二叉树7.一个队列的入列序为ABCD,则队列的可能输出序列为()A.DCBA B.ABCDC.ADCB D.CBDA8.具有10个叶子结点的二叉树中有()个度为2的结点A.8 B.9C.10 D.119.若A=10,B=4,C=6,D=4,E=15则后缀表达式“AB*CD+-E+”的值为( )。

中南大学C 题库精华

中南大学C  题库精华

中南大学C++题库选择题:1.下列常量中不能作为C++常量的是:03282.下列哪个是C++语言的合法字符常量:’\x89’3.表达式(1,2,3,4)的结果是:44.关于C++和C语言的描述中,错误的是:C语音和C++都是面向对象的5.结构化程序由三种基本结构组成,不包括:控制结构6.在位运算中,操作数每右移一位,其结果相当于:操作数除以27.用C++于洋便血的代码程序:是一个源程序8.在函数中如果不说明变量的存储类型,则默认的存储类型是:auto9.不属于C++源程序的翻译过程的是:解释分析10.二进制文件与字符文件不同的是:二进制文件中每字节数据都没有用ASCII码表示11.变量生成期是指:变量在内存中分配存储但愿到被释放期间12.C++源程序中,以下说法不正确的是:变量定义语句一定会给变量赋初值13.不属于C++源程序的独立部分是:存储区分配部分14.函数的返回值的类型由:定义函数时所指定的返回值类型15.有关变量的正确说法是:存储单元及内容16.设有int a[10],*p=a;则下面哪种表示与a[5]不等价:p+517.若有:int a,*p=&a;则下面哪个表达式为假:*p==&a18.下面哪一C++语言表达式不能正确表示数学关系a<x<=b。

选项为:a<x<=b19.下面字符序列中,合法的常量是:5L20.编译程序的功能是:将高级语言程序转换为目标程序21.设a和b为整型变量,执行语句b=(a=2+3,a*4),a+5;后a和b的值为:5,1022.有关符号常量不正确的说法:增加了程序执行速度23.以下属于C++语言的基本数据类型是:整数型24.VC++中常用数020表示十进制数:1625.不是VC++6.0的开发过程:使用exe程序26.VC++中常熟0x11表示十进制书:1727.有关变量的正确说法是:存储但愿及内容28.源程序中包含文件编译命令的作用是:把某个头文件中已写好的源代码加入源程序29.struct sd{int a;double b;}s;语句定义了变量s,s存储单元的长度至少为:1230.将圆的周长计算式定义为一个宏L,正确的写法为:#define L(R) (2*PI*(R))31.已知char a[][20]={“Beijing”,”shanghai”,”changsha”};语句cout<<a[3];得到的输出是:输出结果不确定32.如有定义:int a[20];则下面可以正确引用数组元素的表达式是:a[10-10]33.已知类MyClass声明如下:class MyClass{int n;public;MyClass(int k):n(k){}Int getValue()const {return n;}};在下列数组定义中正确的是:MyClass *x5[2]34.已知有数组定义char a[3][4];下列表达式中错误的是:a[2][3]=’W’35.设有数组定义:char array[]=”China”,则数组array所占的空间为:6个字节36.下面关于一维数组的说法错误的是:一维数组的定义中,表示数组长度的可以是直接常量、符号常量和变量37.有如下类定义:ciass A {char *a;public;A():a(0){}A(char *aa){//把aa所指字符串拷贝到a所指向的存储空间a= ;strcpy(a,aa);}~A()(delete []a; }};横线处应填写的表达式是:new char[strlen(aa)+1]38.C++语言的跳转语句中,对于break和continue说法正确的是:continue语句只应用于循环体中39.C++源程序分为区:2个40.与switch同时出现的关键字是:case41.关键字break不会直接影响的是:if42.下列关于循环的描述,错误的是:do-while、while和for循环均是先执行循环体语句,后判断表达式43.若有定义int i=1;则执行完循环while(i++<5);以后i的值为:644.若已有int e;则while(e){…},中的循环控制条件等价于:e!=045.下列关于for训话的描述中,正确的是:for循环的循环体语句中,可以包含多条语句,但必须用花括号{}括起来46.下列关于break语句的描述中,不正确的是:break语句可用在if语句中,它将使执行流程跳出当前的if语句47.下列关于do-while语句的描述中,正确的是:do-while语句所构成的循环只有在while后面的表达式为零时才结束48.下列关于switch语句的描述中,正确的是:switch语句中default子句可以没有,也可以有一个49.下列说法不正确的是:for和do-while循环都是先执行循环体语句,后判断循环条件表达式50.下列叙述中正确的是:栈是“先进先出”的线性表51.已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则:若FB定义在FA之后,则FB的原型必须出现在FA的定义之前52.其中关系T由关系R和S通过某种操作得到,该操作为:并53.数据库管理系统是:在操作系统支持下的系统软件54.在E-R图中,用来表示实体联系的图形是:菱形55.下列选项中不属于结构化程序设计原则的是:可封装56.软件设计中划分模块的一个准则是:低内聚低耦合57.算法的空间复杂度是指:算法在执行过程中所需要的计算机存储空间58.对于基类型相同的指针变量,进行下面哪种运算是没有意义的:+59.int *p1,*p2;p1=b;由此可推知,变量a和b的类型分别是:int和int*60.若有:int a,*p=&a;则下面哪个表达式为假:*p==&a61.设有int a[20],*p=x;则下面中哪个与x[1]不等价:p[1]62.sizeof关键字的作用是:求类型变量的字节数63.下面哪个定义或语句序列能使p指向a:int a,*p=&a;64.与delete关系最密的关键字是:new65.char *s=”Hello world!”;:char *p=s;66.要使指针变量p指向一维数组a的第1个元素,正确的赋值表达式是:p=a或p=&a[0]67.有关指针变量说法不正确的是:指针变量是一个不变的地址数68.若已定义:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;则对a数组元素不正确的引用是:a[10]69.已知char c;char *const pc=”asdf”.*pc=’b’是正确的70.有二维字符数组char s[4][6]={“zhang”,”gao”,”tang”,”wang”},执行程序cout<<*s[2]屏幕上显示:tang71.定义语句int(*p)();的含义是:p是一个指向函数的指针,该函数返回值是整数72.下列关于指针的运算中,两个指针在一定条件下可以相加是非法的73.1、2、3、4变成1、2、2、1。

中南大学C语言历年试卷

中南大学C语言历年试卷

[6] );
if(isprime(*(p+i)) ) sum+=*(p+i)
}
printf(“sum=%d”,sum);
}
int isprime(int x)
{ int i,f=1;
for(i=2;i<=sqrt(x);i + + )
if(x%i = = 0) {f=0;break;}
[7]
;
}
3. 以下程序调用 invert 函数按逆序重新放置 a 数组中元素的值。a 数组中的值在 main
if (*(p1+k)= =*(p2+k))
printf("%c",*(p1+k));
}
四. 阅读程序,根据提示信息完善程序,每个空只能填写一条语句或一个表达式(每空
3 分,共 30 分)
1. 以下程序求数组中值最大的元素在数组中的下标。
# include <stdio.h>
void main()
{ int a[10] , i , num = [1]
void main()
{ char *chp ;
for (chp =b;*chp ;chp +=2) printf("%s",chp);
printf("\n");
}
10. 以下程序运行后,输出结果是 [10]
void main( )
{ char *s="abcde";
s+=2;
print("%s \n",s);
函数中读入。
#include <stdio.h>
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南大学考试试卷
2010 -- 2011学年2 学期期末考试试题A卷时间110分钟C语言程序设计基础课程48学时3学分考试形式:闭卷专业年级:2010级总分100分,占总评成绩70 % 注:此页不作答题纸,请将答案写在答题纸上
一填空题(每空2分,共30分)
1.若int x = 2,y = 7,z = 6;则表达式:x= = ( y = z );执行完后,x的值是;y的值是。

2.若int a,b = 9,d = 8;表达式:
a =(――b= = d+ +)? d++ : ――b;则a的结果是;
表达式执行完后d的值为。

3.已有宏定义#define P(x) x*x-2
设int x = 1,y = 3;且a = P(2+x);b = P(y);
则a的值为;b的值为。

4.若int x = 4,y = 6,z = 0;有循环while(x = y) {z ++;y--;}
则循环语句执行完后,z值为。

5.若有定义:
char str1[ ]={…C‟, …h‟, …i‟, …n‟, …a‟};char str2[ ]=“China”;
则数组str1的长度为;数组str2的长度为。

6.已知有定义:int a = 1,b = 2,c = 3,d = 4,m = 1,n =1,k;
则语句:k = (m = a > b) && (n = c > d);运行完毕后,
m的值为;n的值为;k的值为。

7.已有定义:char *p[]={“Chinese”,“France”,“America”,“Russia”};则语句printf(“%s”, p[1]);printf(“%c”, p[1][2]);printf(“%c”, *(p[3]+1));
的输出结果分别为:、、。

二判断题(每小题1分,共10分)
1、标准C中,并不区分英文字符的大小写。

2、标准C中,变量可以先使用再定义。

3、若定义函数时,其返回类型为void,则调用函数时,不能将其作为一个值赋
给某个变量。

4、表达式“3.6%2”符合C语言语法。

5、全局变量的作用域是整个源程序文件。

6、数组名可以作为参数进行传递。


7、表达式“ELSE”是合法的C语言标识符。

8、一个函数中只允许有一条return语句。

9、C语言中用到的任何一个变量都要规定其类型。

10、使用continue语句,可以使得C程序的执行直接从循环中跳出。

三下列各程序中每个程序各有2个错误,指出错误语句,写出对应正确语句(每小题4分,共16分)
四程序填空题:下列程序中缺少若干条语句,在对应的下划线上填上合适的语句,每一个下划线只填一条语句(每小题4分,共16分)
五 阅读下列程序,写出运行结果(每小题6分,共12分)
六 编程题(第1题6分,第2题10分,共16分)
1、编程求50
50
10
21111===++∑∑∑k k k k k k 。

2、编写程序求10个实数的最大值、最小值及平均值,要求: ① 最大值、最小值、平均值的求取分别通过三个函数实现,函数以
数组名或指针为参数;
② 主函数中通过键盘输入10个实数。

③ 求出结果后,要求将其在主函数中输出。

相关文档
最新文档