西交大程序设计复习题.doc_第1页
西交大程序设计复习题.doc_第2页
西交大程序设计复习题.doc_第3页
西交大程序设计复习题.doc_第4页
西交大程序设计复习题.doc_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

程序设计基础-学习指南一填空题1计算机系统是由( )、( )两部分组成。2程序执行过程中其值保持不变的量称为( )。它又可以分为( )、( )、( )。3( )语句的作用是从switch、for、while或dowhile语句中跳出来,终止这些语句的执行,把控制转到被中断的循环语句或switch语句之后去执行。4标准字符串处理函数的头文件是( )。5在C语言中,字符串实际上是指字符串第一个字符的( ),所以字符串数组中的每一个元素实际上是每一个字符串的( )。6putchar( )函数的函数功能是( )。7Static char a15=H,a,p,p,y,.;这个初始化语句中有9个数组元素没有给出初值,系统会自动对它们赋值为( )或( )。8由于指针变量直接指向变量,所以称为( )。而如果通过指向指针的指针变量来访问变量则构成( )。二选择题1下列哪个不是算法的特征( )A有穷性 B可行性 C不确定性 D输入2设:x=9;y=+x;,则产生的结果是( )Ax=9;y=9; Bx=10;y=10; Cx=9;y=10; Dx=10;y=9;3下列说法错误的是( )Afor语句中, 、和都可以缺省。B缺省,系统会认为此处的值是0Cfor语句的三个表达式可以是任何类型的表达式Dfor语句可以嵌套使用4关于数组,下列说法正确的是( )A对数组的初始化操作在定义数组的同时进行B给数组赋初值时,必须所有数组元素都被赋值C给数组元素全部赋初值时,一定要指明数组的大小。D引用数组元素的时候,可以一次引用数组中的全部元素5以下说法错误的是( )AC程序必须从main( )函数开始执行B所有函数在定义上讲都是相互独立的,不存在嵌套定义CC语言中有两类函数,系统提供的库函数和用户自定义的函数D参数的作用是向函数传递不同的数据6对于如下的表达式: int a34,*p; p=*a; 执行p+操作之后,*p表示取( )的内容。Aa00 Ba10 Ca11 Da017以下函数,哪个不属于动态申请空间的标准库函数( )Amalloc( ) Bcalloc( ) Cfree( ) Dstrcmp( )8执行下列两个语句后,输出的结果为( )char c1=66,c2=98;printf(“%c,%d”,c1,c2);A66,98 B66,b CB ,97 DB,989以下程序的输出结果是( )main() int a=4,b=5,c=0,d;d=!a&!b|!c;printf(%dn,d); A1 B0 C非0的数 D-110若int i=10;执行下列程序后,变量i的正确结果是( )switch ( i ) case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;A10 B11 C12 D1311以下说法错误的是( )Aint (*p)( ) ; 表示p被定义为一个指向返回值为整数的函数的指针B使用指向函数的指针是结构化程序设计的一种有效手段。Cchar *p相当于char *(*p)D指针数组的元素补仅能存放地址,还可以存放其他数组的元素。12关于链表的插入和删除,下列说法错误的是( )A插入位置包括表头、表中和表尾B从链表中删除一个结点,就是把它从内存中抹掉。C要删除链表中的某个结点,需自己定义删除函数。D删除结点要注意删除的结点是否是头结点13以下不能定义为用户标识符的是( )Ascanf BVoid C_3com_ Dint14若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是( )Ap=2*(int*)malloc(sizeof(int);Bp=(int*)malloc(2*sizeof(int);Cp=(int*)malloc(2*2);Dp=(int*)calloc(2,sizeof(int);15有如下程序, 该程序的输出的结果是( )int addc(int a,int b,int c) c=a+b;return(c); main() int x=4,y=2,z,r; z=x+y;r=addc(addc(x,y,z),addc(y,z,x),z);printf(%dn,r); A36 B12 C14 D6三程序填空题1.求12!3!20!的和。#include stdio.hvoid main() float n,s=0,t=1; for( ) printf(1+2!+3!.+20!=%en,s); getch();2. 下面程序求s=a+aa+aaa+aaaa+aa.a的值,其中a是一个数字。例如2+22+222+2222+22222.#include stdio.hvoid main() int a ,n,count =1; long int sn=0,tn=0; printf(please input a and nn); scanf( ); printf(a=%d,n=%dn,a,n); while( ) tn=tn+a; a=a*10; printf(a+aa+.=%ldn,sn); getch();四程序设计题1编写一个程序,要求能够将输入的任意一个三位数颠倒过来。2用选择法对任意输入的一个10元整数数组排序(从小到大)。3用指针设计一个可以计算字符串长度的程序。4利用冒泡法将10个数组元素按从小到大顺序排列。5编写一个可以实际交换两个变量数值的函数。6用公式求的近似值,直到最后一项的绝对值小于为止,请编程实现。7求一个33矩阵对角线元素之和。8写一个程序,求一个字符串的长度,在main函数中输入字符串,并输出其长度。9利用数组技术写一程序,使之打印出以下图形。& & & &程序设计基础-学习指南答案一填空题1硬件系统、软件系统2常量、整型常量、实型常量、字符型常量3Break4“string.h”5指针 首地址6将给定的一个字符常量或字符变量的内容输出到显示器屏幕上70、08“单级间址”、“二级间址”二选择题1C 2B 3B 4A 5B 6D 7D 8D 9A 10C 11D 12B 13D 14A 15C三程序填空题1.: n=1;n=20;n+ : t*=n;: s+=t;2.: %d,%d,&a,&n : count=n : sn=sn+tn; : +count;四程序设计1解:#include void main() int units,tens,hundreds,a,b; printf(Please input a number(100999):); scanf(%d,&a); hundreds=a/100; tens=(a-hundreds*100)/10; units=a-hundreds*100-tens*10; b=100*units+tens*10+hundreds; printf(after change,the number is:%dn,b);2解:#include void main() int a10; int i,min,k,temp; printf(Please input 10 integer numbers:n); for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+) min=i; for(k=i+1;k10;k+) if(ak=amin) min=k; temp=ai; ai=amin; amin=temp; for(i=0;i10;i+) printf(%-4d,ai);3答:int strlen(s)char *s; char *p=s; while(*p!=0) p+; return(p-s);4解:#include void main() int a10,i,j,temp; printf(Please input 10 integer numbers:n); for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i9;i+) for(j=0;jaj+1) temp=aj; aj=aj+1; aj+1=temp; for(i=0;i10;i+) printf(%-4d,ai);5答: #include swap(int *p,int *q) int temp; temp=*p; *p=*q; *q=temp;void main() int a , b, *pa,*pb; printf(Please input 2 integer numbers:); scanf(%d%d,&a,&b); pa=&a; pb=&b; swap(pa,pb); printf(%d %d,a,b);6答: #include stdio.h#include math.hmain() int s; float n,t,pi; t=1.0; pi=0; n=1.0; s=1; while(fabs(t)1E-6) pi=pi+t; n=n+2; s=-s; t=s/n; pi=pi*4; printf(pi=%10.6fn,pi);7解:#include void main() int a33,sum=0; int i,j; printf(enter data:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) sum=sum+aii; printf(sum=%6dn,sum);8答: #include int len(char *p) int n=0 ; while(*p!=0) n+; p+; return(n);void main() int length; char *str20; printf(Please input a string :n); scanf(%s,str); length=len(str); printf(the length of the string is %d,length);9答:#include stdio.hsort(int *p,int n) int i,j,*tp; for(i=0;in-1;i+) for

温馨提示

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

评论

0/150

提交评论