欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言程序的设计试题与答案完整版.pdf

    • 资源ID:82481193       资源大小:131.84KB        全文页数:50页
    • 资源格式: PDF        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序的设计试题与答案完整版.pdf

    C 语言复习资料5 元必须清楚的:1)程序结构是三种:顺序结构,循环结构(三个循环结构),选择结构(if 和 switch)2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。3)计算机的数据在电脑中保存是以二进制的形式.数据存放的位置就是他的地址.4)bit 是位是指为 0 或者 1。byte 是指字节,一个字节=八个位.5)一定要记住二进制如何划成十进制。概念常考到的:、编译预处理不是C 语言的一部分,不再运行时间。C 语言编译的程序称为源程序,它以ASCII 数值存放在文本文件中。、每个C 语言程序中main 函数是有且只有一个。、在函数中不可以再定义函数。、算法的是一定要有输出的,他可以没有输入。、break 可用于循环结构和switch 语句。、逗号运算符的级别最低。第一章1)合法的用户标识符考查:合法的要由字母,数字,下划线组成。有其它元素就错了。并且第一个必须为字母或则是下划线。第一个为数字就错了。关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If 是可以做为用户标识符。因为If 中的第一个字母大写了,所以不是关键字。2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333 10-1。考试口诀:e 前 e 后必有数,e 后必为整数。.3)字符数据的合法形式::1 是字符占一个字节,1 是字符串占两个字节(含有一个结束符号)。0 的 ASCII 数值表示为48,a 的 ASCII 数值是 97,A的 ASCII 数值是 65。4)整型一般是两个字节,字符型是一个字节,双精度一般是4 个字节:考试时候一般会说,在16 位编译系统,或者是32 位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节,字符型是一个字节,双精度一般是4 个字节就可以了。5)转义字符的考查:在程序中int a=0 x6d,是把一个十六进制的数给变量a 注意这里的0 x 必须存在。在程序中int a=06d,是一个八进制的形式。在转义字符中,x6d 才是合法的,0 不能写,并且x 是小写。141 是合法的,0 是不能写的。108 是非法的,因为不可以出现8。6)算术运算符号的优先级别:同级别的有的是从左到右,有的是从右到左。7)强制类型转换:一定是(int)a 不是 int(a),注意类型上一定有括号的。注意(int)(a+b)和(int)a+b 的区别。前是把 a+b 转型,后是把a 转型再加 b。8)表达式的考查:是表达式就一定有数值。赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。自加、自减表达式:假设a=5,+a(是为 6),a+(为 5);运行的机理:+a 是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这个+a 表达式的数值为6,而 a+是先用该表达式的数值为5,然后再把a 的数值加上1 为 6,再放到变量a 中。进行了+a 和 a+后在下面的程序中再用到a 的话都是变量a中的 6 了。考试口诀:+在前先加后用,+在后先用后加。逗号表达式:优先级别最低;表达式的数值逗号最右边的那个表达式的数值。(2,3,4)的表达式的数值就是4。9)位运算的考查:会有一到二题考试题目。总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。例 1:char a=6,b;b=a2;这种题目的计算是先要把a 的十进制6 化成二进制,再做位运算。例 2:一定要记住,例 3:在没有舍去数据的时候,右移一位表示除以2。10)018 的数值是非法的,八进制是没有8 的,逢 8进 1。11)%符号两边要整数。不是整数就错了。12)三种取整丢小数的情况:、int a=1.6;、(int)a;、第二章1)printf 函数的格式考查:%d 对应整型;%c 对应字符;%f 对应单精度等等。宽度的,左对齐等修饰。%ld 对应long int;%lf 对应 double。2)scanf 函数的格式考察:注意该函数的第二个部分是&a 这样的地址,不是a;Scanf(“%d%d%*d%d”,&a,&b,&c);跳过输入的第三个数据。3)putchar,getchar 函数的考查:char a=getchar()是没有参数的,从键盘得到你输入的一个字符给变量a。putchar(y)把字符 y 输出到屏幕中。4)如何实现两个变量x,y 中数值的互换(要求背下来)不可以把x=y,y=x;要用中间变量t=x;x=y;y=t。5)如何实现保留三位小数,第四位四舍五入的程序,(要求背下来)这个有推广的意义,注意x=(int)x 这样是把小数部分去掉。第三章特别要注意:c 语言中是用非0 表示逻辑真的,用0 表示逻辑假的。1)关系表达式:表达式的数值只能为1(表示为真),或 0(表示假)当关系的表达是为真的时候得到1。如98 这个是真的,所以表达式的数值就是1;2)逻辑表达式:只能为 1(表示为真),或 0(表示假)a)共有&|!三种逻辑运算符号。b)!&|优先的级别。c)注意短路现象。考试比较喜欢考到。d)要表示x 是比 0 大,比10 小的方法。0 x10 是不可以的(一定记住)。是先计算0 x 得到的结果为1或则 0;再用 0,或 1 与 10 比较得到的总是真(为1)。所以一定 要用(0 x)&(x第一行a1 4 5 6第二行a2 7 8 9第三行步骤二:这样作题目间很简单:*(a0+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里就是a01 元素,所以是。*(a1+2)我们就知道是第二行的第一个元素往后面跳二列。那么这里就是a12 元素,所以是6。一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。数组的初始化,一维和二维的,一维可以不写,二维第二个一定要写 int a=1,2 合法。int a4=2,3,4 合法。但 int a4=2,3,4非法。二维数组中的行指针int a12;其中 a现在就是一个行指针,a+1 跳一行数组元素。搭配(*)p2 指针a0,a1现在就是一个列指针。a0+1 跳一个数组元素。搭配*p2 指针数组使用还有记住脱衣服法则:a2 变成*(a+2)a23 变成*(a+2)3再可以变成*(*(a+2)+3)这个思想很重要!第一部分:基础知识(20 项,共 40 分)】1一个 C 语言程序是由()组成的。A主程序B子程序C函数D过程2转换说明符%x 的输出形式是()。A十进制B八进制C十六进制D二进制3若 a、b 均为 int 型变量,且 a=100,则关于循环语句 for(b=100;a!=b;+a,+b)printf(“-“);的正确说法是()。A循环体只执行一次B死循环C循环体一次也不执行D输出-4若 x、y、z 均为 int 型变量,则执行下列语句后的z 值为()。x=1;y=2;z=3;z=(xy)?z:y;z=(z=1;n-),下列语句实现将 S2所指字符数组中前n 个字符复制到 S1所指字符数组中,其中代码不正确的是()。A*S1+=*S2+BS1n-1=S2n-1 C*(S1+n-1)=*(S2+n-1)D*(+S1)=*(+S2)17调用函数的实参与被调用函数的形参应该有如下关系()。A只要参和形参个数相等B只要求形参和实参顺序相同C只要参和形参数据类型相同D上述三点均需具备18联合体成员的数据类型()。A相同B可以不同也可以相同C长度一样D是结构体变量19由系统分配和控制的标准输出文件为()。A键盘B磁盘C打印机D显示器20C 语言标准库函数 fread(fd,buffer,n)的功能是()。A从文件 fd 中读取长度不超过n 个字节的数据送入buffer 指向的存区域B从文件 fd 中读取长度不超过n-1 个字节的数据送入buffer 指向的存区域C从文件 fd 中读取长度不超过n 个字符送入 buffer 指向的存区域D从文件 fd 中读取长度不超过n-1 个字符送入 buffer 指向的存区域第二部分:简单程序(12 项,共 30 分)21下列程序main()int x,y,z;x=y=2;z=3;y=z+-1;printf(“%d t”,x,y);y=+x-1;printf(“%d n”,x,y);y=z-1;printf(“%d t”,z,y);y=-z-1;printf(“%d n”,z,y);运行后输出的数据为?_。A.3 1 4 2 B.3 1 3 3 C.2 2 3 2 D.2 1 3 2 2 4 1 3 2 4 2 2 3 3 2 1 1 3 1 2 22.下列程序main()int i,j;char*a,c;a=”computer”;printf(“%s”,a);for(i=0,j=7;icomputer B.computer-retupmoc a3=u a5=m C.computer-retupmoc D.computer-retupmoc a4=p a2=t 23.下列程序int sum(int n)int p=1,s=0,i;for(i=1;i=n;i+)s+=(p*=i);return s;main()printf(“sum(5)=%dn”,sum(5);运行后输出的数据为 _ _ A.sum(5)=151 B.sum(5)=152 C.sum(5)=153 Dsum(5)=155 24.下列程序main()static int a=5,6,7,3,2,9;int s1,s2,i,*ptr;s1=s2=0;ptr=&a0;for(i=0;i5;i+2=2)s1+=*(ptr+i);s2+=*(ptr+i+1);printf(“s1=%d,s2=%dn”,s1,s2);运行后输出的数据为 _ A.s1=18,s2=14 B.s1=14,s2=32 C.s1=14,s2=18 D.s1=15,s2=19 25.下列程序int c=1;main()static int a=5;int b=6;printf(“a=%d b=%d c=%dn”,a,b,c);func();printf(“a=%d,b=%d,c=%dn”,a,b,c);func();func()static int a=4;int b=10;a+=2;c+=10;b+=c;printf(“a=%d,b=%d,c=%dn”,a,b,c);运行后输出的数据为 _ _.A.a=5 b=6 c=1 B.a=5 b=6 c=1 a=6 b=21 c=11 a=7 b=17 c=11 a=5 b=6 c=11 a=5 b=6 c=11 a=8 b=31 c=21 a=9 b=17 c=21 C.a=5 b=6 c=1 D.a=5 b=6 c=1 a=6 b=21 c=11 a=7 b=17 c=11 a=6 b=21 c=11 a=7 b=17 c=11 a=8 b=31 c=21 a=9 b=38 c=21 26已知struct student char name;int student_n;char grade;struct student temp,*p=&temp;temp.name=”chou”;则下面不正确的是 _。表达式值A.pname chou B.(*p)name+2 h C.*pname+2 e D.*(pname+2)o 27.下列程序#define MAX 10 main()int i,sum,a=1,2,3,4,5,6,7,8,9,10;sum=1;for(i=0;iMAX;i+)sum-=ai;printf(“SUM=%d”,sum);程序运行结果是:A.SUM=55 B.SUM=-54 C.SUM=-55 D.SUM=54 28.下列程序void inv(int*x,int n)int*p,t,*i,*j,m=(n-1)/2;i=x;j=x+n-1;p=x+m;for(;ip;i+,j-)t=*i;*i=*j;*j=t;return;main()static int i,a10=3,7,9,11,0,6,7,5,4,2;inv(a,10);for(i=0;i10;i+)printf(“%d,”,ai);程序运行结果:A.0,2,3,4,5,6,7,7,9,11 B.11,9,7,7,6,5,4,3,2,0 C.3,7,9,11,0,6,7,5,4,2 D.2,4,5,7,6,0,11,9,7,3 29.下列程序main()int a10,b10,*pa,*pb,i;pa=a;pb=b;for(i=0;i3;i+,pa+,pb+)*pa=i;*pb=2*i;printf(“%d n”,*pa,*pb);printf(“n”);pa=&a0;pb=&b0;for(i=0;i3;i+)*pa=*pa+i;*pb=*pb*i;printf(“%d n”,*pa+,*pb+);运行后输出的数据为 _。A.0 0 B.0 0 C.0 0 D.0 0 1 2 1 2 1 2 2 2 2 4 2 4 2 4 2 4 0 0 0 0 0 0 0 0 2 2 2 2 1 2 1 2 4 8 2 4 2 4 4 8 30.下列程序copy_string(from,to)char*from,*to;while(*from)*to+=*from+;*to=0;main()static char s1=”c_program.”;static char s280;copy_string(s1,s2);printf(“%sn”,s2);copy_string(“123”,s2);printf(“%sn”,s2);运行后输出的数据为()。A.c_program 123 B.123 C.c_program123 D.c_program 123 31.下列程序:#include main()char a40,b40;int i,j;printf(“Enter the string:”);scanf(“%s”,a);i=j=0;while(ai!=0)if(!(ai=0&ai=9)bj=ai;j+;+i;bj=0;printf(“%s”,b);运行后输出的结果是()。A.把键盘输入的字符串显示在屏幕上B.把键盘输入的字符串中的数字字符删掉,然后显示该字符串C.把键盘输入的字符串中的字符0 和 9 删掉,然后显示该字符串D.只保留由键盘输入的字符串中的字母数字,然后显示该字符串32下列程序#include main()char a80;int i,j;printf(“Enter the string:”);scanf(“%s”,a);i=0;while(ai!=0)if(ai=A&ai=Z)ai=ai-A+a;printf(“%s”,a);运行后输出的结果是()。A.把键盘输入的字符串中的大写字母变换成小写字母,然后显示变换后的字符串。B.把键盘输入的字符串中的数字字符删除掉,然后显示该字符串。C.把键盘输入的字符串中的小写字母变换成大写字母,然后显示变换后的字符串。D.把键盘输入的字符串原封不动地显示在屏幕上。第二卷说明:(1)第二卷含二大题,均属填空题,每题各有5 个空栏,在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句,以构成一个正确的C 语言程序。(2)每空栏填对得 3 分,两大题共 10个空栏,全填对得30 分。试题一一个整数称为完全平方数,是指它的值是另一个整数的平方。如81 是个完全平方数,因为它是9的平方。下列程序是在三位的正整数中寻找符合下列条件的整数:它既是完全平方数,且三位数字中又有两位数字相同:例如144(12*12)、676(26*26)等,从程序中找出并输出所有满足上述条件的三位数。程序如下:main()int n,k,a,b,c;for(k=1;k+)_ if(n100)_ if(n1+2&2|2*44-!0 后,x 的值为()。(A)-l(B)O(C)1(D)5 6、以下变量 x、y、z 均为 double 类型且已正确赋值,不能正确表示数学式子:(x)/(yz)的 c 语言表达式是()。(A)x/y*z(B)x*(1/(y*z)(C)x/y*1/z(D)x/y/z 7、设有以下说明语句struct ex int x;float y;char z;example;则下面的叙述不正确的是()。(A)struct 是结构体类型的关键字(B)example 是结构体类型名(C)x,y,z 都是结构体成员名(D)struct ex 是结构体类型8、假定 w、x、y、z、m 均为 int 型变量;有如下程序段:w=1;x=2;y=3;z=4;m=(wx)?w:x;m=(my)?m:y;m=(mz)?m:z;则该程序段执行后,m 的值是()。(A)4(B)3(C)2(D)1 9、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。(A)地址传递(B)单向值传递(C)由实参传给形参,再由形参传回实参(D)传递方式由用户指定10、以下定义语句中,错误的是()。(A)int a=1,2;(B)char*a3;(C)char s10=text;(D)int n=5,an;11、下列程厅执行后的输出结果是()。main()char arr24;strcpy(arr,you);strcpy(arr1,me);arr03=&;printf(%sn,arr);(A)you&me(B)you(C)me(D)err 12、标有/*/的语句的执行次数是()。int y,i;for(i=O;ipup.sex(C)(*p).pup.sex(D)(*p).sex 18、若已定义了如下的共用体类型变量x,则 x 所占用的存字节数为()。union data int i;char ch;double f;x;(A)7(B)11(C)8(D)10 19、若有下面的说明和定义:struct test int m1;char m2;float m3;union uu char u15;int u22;ua;myaa;则 sizeof(struct test)的值是()。(A)12(B)16(C)14(D)9 20、若要打开:A 盘上 user子目录下名为 abc.txt 的文本文件进行读、写操作,下面符合此要求的函数调用是()。(A)fopen(A:userabc.txt,r)(B)fopen(A:userabc.txt,r+)(C)fopen(A:userabc.txt,rb)(D)fopen(A:userlabc.txt,w)第二部分:简单程序(12 题,共 30 分)21、以下程序的运行情况是()。main()int i=1,sum=0;while(i=85);case B:case C:printf(=60);case D:printf(=85(B)=60(C)=6060error(D)error 23.有如下程序main()int x=23;do printf(%d,x-);while(!x);该程序的执行结果是()。(A)321(B)23(C)不输出任何容(D)陷入死循环24.有如下程序int func(int a,int b)return(a+b);main()int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(%dn,r);该程序的输出结果是()。(A)12(B)13(C)14(D)15 25.以下程序的输出结果是()。main()int a,b;for(a=1,b=1;a=10)break;if(b%3=1)b+=3;continue;printf(%dn,a);(A)101(B)6(C)5(D)4 26.以下程序的输出结果是()。int a,b;void fun()a=100;b=200;main()int a=5,b=7;fun();printf(%d%dn,a,b);(A)100200(B)57(C)200100(D)75 27.下面的程序执行后,文件testt 中的容是()。#include void fun(char*fname,char*st)FILE*myf;int i;myf=fopen(fname,w);for(i=0;istrlen(st);i+)fputc(sti,myf);fclose(myf);main()fun(test.t,new world);fun(test.t,hello,);(A)hello,(B)new,worldhello(C)new,world(D)hello,rld 28.以下程序的运行结果是()。#include main()static char s30=abcdefg;static char t=abcd;int i,j;i=0;while(si!=0)i+;j=0;whi1e(tj!=0)si+j=tj;j+;si+j=0;printf(%sn,s);(A)abcdabcdefg(B)abcdefg(C)abcd(D)abcdefgabcd 29.有如下程序main()char ch25=6937,8254,*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i0;j+=2)s=10*s+pij-0;printf(%dn,s);该程序的输出结果是()。(A)69825(B)63825(C)6385(D)693825 30.若已建立如下图所示的单向链表结构在该链表中,指针 p,s 分别指向图中所示结点,则不能将s 所指的结点插入到链表末尾仍构成单向链表的语句组是()。(A)p=p-next;s-next=p;p-next=s;(B)p=p-next;s-next=p-next;p-next=s;(C)s-next=NULL;p=p-next;p-next=s(D)p=(*p).next;(*s).next=(*p).next;(*p).next=s;31.请选择正确的运行结果填入()中。include int x,y;num()int a=15,b=10;int x,y;y=a-b;y=a+b;return;main()int a=7,b=5;x=a+b;y=a-b;num();printf(%d,%dn,x,y);(A)12,2(B)5,25(C)2,12(D)不确定32.以下程序的输出结果是()。#define M(x,y,z)x*y+z main()int a=1,b=2,c=3;printf(%dn,M(a+b,b+c,c+a);(A)19(B)17(C)15(D)12 第二卷说明:(1)第二卷含两大题,均属填空题,每题各有5 个空栏,在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句,以构成一个正确的C 语言程序。(2)每空栏填对得 3 分,两大题共 10 个空栏,全对得 30 分。试题一:有一函数,实参传来一个字符串,统计此字符串中字母、数字、空各和其他字符的个数,在主函数中输入字符串以及输出上述的结果。int letter,digit,space,others;/*是全局变量*/main()int count(char _(1)_);char text80;printf(nlnput string:n);_(2)_;printf(string:);puts(text);letter=O;digit=O;space=O;others=O;_(3)_;printf(letter:%d,digit:%d,space:%d,other:%dn,letter,digit,space,others);int count(char str)int i;for(i=O;stri!=0;i+)if(_(4)_=a&stri=A&stri=0&stri=9)digit+;else if(stri=)space+;else _(5)_;试题二:把下列程序补充完整,实现两个字符串的比较,即自己写个strcmp函数,函数原型为:int strcmp(char*p1,char*p2)设 p1 指向字符串 s1,p2 指向字符串 s2。要求:当 s1=s2时,返回值为 0。当 sls2 时,返回它们两者的第一个不同的字符的ASCII 码差值(如“BOY”与“BAD”,第二个字母不同,“O”与“A”之差为 79-65=14);如果 s1s2,则输出正值;如果sls2,则输出负值。main()int m;char _(6)_,str220,*p1,*p2;printf(Input two string:n);scanf(%s,strl);scanf(%s,_(7)_);p1=&strl0;p2=_(8)_;m=strcmp(p1,p2);printf(result:%d,n,m);strcmp(char _(9)_,char*p2)/*两个字符串比较的函数*/int i;_(10)_;while(*(pl+i)=*(p2+i)if(*(p1+i+)=0)return(0);return(*(pl+i)-*(p2+i);/*不等时返回结果为第一个不等字符ASCII 码的差值*/参考答案第一卷第一部分:基础知识1.A 2.B 3.B 4.A 5.C 6.A 7.B 8.D 9.B 10.D 11.A 12.C 13.A 14.A 15.D 16.C 17.D 18.C 19.A 20.B 第二部分:简单程序21.D 22.C 23.B 24.D 25.D 26.B 27.A 28.D 29.C 30.A 31.A 32.D 第二卷试题一:1、str 2、gets(text)或 scanf(“%s”,text)3、count(text)4、stri 5、others+试题二:6、str120 7、str2 8、&str20 9、*p1 10、i=0 C 语言程序设计(卷)考核班级学生数印数考核方式闭卷 考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷本卷共 70 分,其中第 126题每题 2 分,第 2732 题每题 3 分。第一部分:基础知识1、一个 C 语言程序是从 _开始执行的。A、程序中的第一个语句B、包含文件(头文件)的第一个函数C、名为 main的函数 D、程序中的第一个函数2、语句 while(!E)中的条件!E 等价于_ A、E=0 B、E!=1 C、E!=0 D、E 3、若有以下类型说明语句:char w;int x;float y;double z;则表达式 w*x+z-y 的结果为 _类型。A、float B、double C、int D、char 4、一个函数返回值的类型是由_决定的A、return语句中的表达式类型;B、定义函数时所指定的函数类型C、调用该函数的函数的类型D、调用函数时临时类型5、设 x、y、z 和 k 都是 int 型变量,则执行下列表达式后,变量x 的值为 _.x=(y=4,z=16,k=32);A、4 B、16 C、32 D、52 6、有以下程序:main()int i=10,j=1;printf(“%d,%dn”,i-,+j);执行后输出的结果是 _ A、9,2 B、10,2 C、9,1 D、10,1 7、以下指针 s的指字符串的长度为 _ char*s=”Name n”;A、19 B、15 C、18 D、-12 8、设有语句 int a=3;则执行了语句 a+=a-=a*a;后,变量 a的值是 _ A、3 B、0 C、9 D、-12 9、对于下面的 for 循环语句,可以断定它 _。for(x=0,y=0;(y!=123)&(x4);x+)printf(“-“);A、是无限循环(死循环)B、循环次数不定C、共执行 4 次循环D、共执行 3 次循环10、设有以下语句,则 _不是对 a数组元素的正确引用,其中0 i10.int a10=0,1,2,3,4,5,6,7,8,9;int*p=a;A、ap-5 B、*(&ai)C、ai D、*(a+i)11、为了判断两个字符串s1和 s2是否相等,应当使用 _ A、if(s1=s2)B、if(s1=s2)C、if(strcmp(s1,s2)D、if(strcmp(s1,s2)=0)12、对于 C 语言程序中的函数,下列叙述中正确的是_ A、函数的定义不能嵌套,但函数调用可以嵌套B、函数的定义可嵌套,但函数的调用不能嵌套C、函数的定义和调用均不能嵌套D、函数的定义和调用均可嵌套13、有以下程序main()int i;for(i=0;i5)printf(“%dn”,m);else printf(“%d n”,m-);A、7 B、6 C、5 D、4 23、当 a=1,b=3,c=5,d=4时,执行下面一段程序后,x 的值为 _ if(ab)if(cd)x=1;else if(ac)if(bd)x=2;else x=3;else x=6;else x=7;A、1 B、2 C、3 D、6 24、以下程序企图把从终端输入的字符输出到名为abc.txt 的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。出错的原因是_#include main()FILE*fout;char ch;fout=fopen(abc.txt,w);ch=fgetc(stdin);while(ch!=#)fputc(ch,fout);ch=fgetc(stdin);fclose(fout);A、函数 fopen 调用形式有误B、输入文件没有关闭C、函数 fgetc调用形式有误D、文件指针 stdin 没有定义25、有以下程序,执行后输出结果是_ main()union unsigned int n;unsigned char c;ul;ul.c=A;printf(“%cn”,ul.n);A、产生语法错B、随机值C、A D、65 26、有以下程序,执行后输出结果是_ main()int m 3=1,4,7,2,5,8,3,6,9;int i,k=2;for(i=0;i3;i+)printf(“%d”,mki);A、4 5 6 B、2 5 8 C、3 6 9 D、7 8 9 27、以下程序运行后,输出结果是_ int func(int a,int b)static int m=0,i=2;i+=m+1;m=i+a+b;return(m);main()int k=4,m=1,n;n=func(k,m);printf(“%d,”,n);n=func(k,m);printf(“%d”,n);A、8,15 B、8,16 C、8,17 D、8,8 28、在执行以程序时,如果从键盘上输入:ABCdef,则输出结果为:_#include main()char ch;while(ch=getchar()!=n)if(ch=A&ch=a&ch=z)ch=ch-32;printf(“%c”,ch);printf(“n”);A、ABCdef B、abcDEF C、abc D、DEF 29、有以下程序,执行后输出结果是_ int*f(int*x,int*y)if(*x*y)return x;else return y;main()int a=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf(“%d,%d,%dn”,*p,*q,*r);A、7,8,8 B、7,8,7 C、8,7,7 D、8,7,8 30、下面程序的输出结果是 _ fun(char*s,int p1,int p2)char c;while(p1p2)c=sp1;sp1=sp2;sp2=c;p1+;p2-;main()char a=”ABCDEFG”,k,*p;fun(a,0,2);fun(a,4,6);printf(“%sn”,a);A、ABCDEFG B、DEFGABC C、GFEDCBA D、CBADGFE 31、以下程序的运行结果是 _#include long func(int x)long p;if(x=0|x=1)return(2);p=x*func(x-1);return(p);main()printf(“%d n”,func(4);A、8 B、12 C、24 D、48 32、下面的程序运行后,全局量t.x 和 t.s 的正确结果为 _ struct tree int x;char*s;t;func(struct tree t)t.x=10;t.s=”computer”;return(0);main()t.x=1;t.s=”minicomputer”;func(t);printf(“%d,%s”,t.x,t.s);A、10,computer B、1,computer C、1,minicomputer D、10,minicomputer 第二卷说明:(1)第二卷均为填空题,在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句以构成一个正确的C 语言程序。(2)答本卷的题目时,要在本卷答题纸上编号对应的栏目中,用钢笔或圆珠笔书写。用铅笔答题无效,在试题上直接答题者无效。请勿在第一卷的答题卡上填写本卷答案。(3)每空栏 3 分,共 10 个空栏,共 30分。试题一下列程序是求 1+1/2+1/4+1/50 的值。#include“stdio.h”main()int i=2;float sum=1;while(_(1)_)sum=sum+1.0/i;_(2)_;printf(“sum=%f”,sum);试题二下列函数用于统计一行字符中的单词个数,单词之间用空格分隔。word_num(char str)int i,num=0,word=0;for(i=0;stri!=_(3)_;i+)if(_(4)_=)word=0;else if(word=0)word=1;_(5)_;return(num);试题三以下函数的功能是删除字符串s中的所有数字字符。void dele(char*s)int n=0,i;for(i=0;si;i+)if(_(6)_)sn+=si;sn=_(7)_;试题四以下程序的功能是:从键盘输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。main()float x1000,sum=0.0,ave,a;int n=0,i;printf(“Enter mark:n”);scanf(“%f”,&a);while(a=0.0&n1000)sum=_(8)_;xn=_(9)_;n+;scanf(%f,&a);ave=sum/n;printf(“Output:n”);printf(“ave=%fn”,ave);for(i=0;in;i+)if_(10)_ n”,xi);参考答案第一卷一、基础知识1.C 2.A 3.B 4.B 5.C 6.B 7.B 8.D 9.C 10.A 11.D 12.A 13.A 14.D 15.A 16.B 17.C 18.B 19.C 20.B 二、简单程序21.B 22.B 23.B 24.A 25.C 26.C 27.C 28.B 29.B 30.D 31.D 32.C 第二卷1、i=0&si=9)7、0 8、sum+a 9、a 10、(xin,则该结点没有()。A)左子结点B)右子结点C)左子结点和右子结点D)左子结点、右子结点和兄弟结点(4)快速排序算法的平均时间复杂度为()。A)O(n)B)O(n2)C)O(nlog2n)D)O(log2n!)(5)在面向对象的程序设计方法中,描述对象静态和动态特征的三要素是()。A)封装、继承和重载B)属性、事件和方法C)数据、代码和接口D)聚、耦合和驱动(6)软件测试的目的是()。A)证明软件的正确性B)找出软件系统中存在的所有错误C)证明软件系统中存在错误D)尽可能多地发现软件系统中的错误(7)软件开发型的作用是()。A)为了控制软件需求的易变性B)作为一种软件工程方法学C)作为一种项目管理

    注意事项

    本文(C语言程序的设计试题与答案完整版.pdf)为本站会员(索****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开