上海理工大学 c语言复习卷以及答案.doc_第1页
上海理工大学 c语言复习卷以及答案.doc_第2页
上海理工大学 c语言复习卷以及答案.doc_第3页
上海理工大学 c语言复习卷以及答案.doc_第4页
上海理工大学 c语言复习卷以及答案.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

参考解答一、单选题1. 以下C程序中预处理命令写法正确的是: D 。知识点:编译预处理命令A. #include “studio.h”B. #include stdio.hC. #include stdio.hD. #include “stdio.h”2.执行下列语句序列后,不可能出现的运行结果是_ C _。知识点:开关语句int n; scanf( %d, &n); switch ( n ) case 1: case 2: putchar(X); case 3: case 4: putchar(Y); break; default: putchar(Z); A. 显示:zB. 显示:xyC. 显示:xD. 显示:y3.设a,b为整型变量, 且二者均不为0, 以下关系表达式中恒成立的是_ C _。知识点:运算与数据类型A. a/b*b/a=1B. a/b*b=aC. a*b/a=bD. a*b/ a*b =14.设有定义:int x=10,y=20,z=30; 则执行下列语句后的结果是_ B _。知识点:if语句if ( xy ) z=x;x=y; y=z;printf(%d,%d,%d,x, y, z );A. 20,30,20B. 20,30,30C. 20,30,10D. 10,20,305.下列程序的输出结果是_ B _。知识点:整型常量的表示和自增运算main() int a = 011; printf( %dn, +a );A. 9B. 10C. 11D. 126.设 x, y 和 z 是 int 型变量,且 x=3, y=4, z= 5,则下面表达式中值为0的是_ B _。知识点:关系、逻辑运算A. !(xy)&!z|1B. x=y&y!=zC.x|y+z&y-zD. y&y7.以下所列的各函数声明中,正确的是_ D _。知识点:函数声明A. sub play(a as integer,b as integer)B. void play(var a:Integer,var b: Integer)C. void play(int a,b)D. void play(int a,int b)8.表达式 !x 等价于_ B _。知识点:关系运算A. x=1B. x=0C. x!=0D. x!=19.设有定义int a10; 则合法数组元素的下标范围为_ B _。知识点:数组定义A. 1至10B. 0至9C. 1至9D. 0至1010. 若有数组定义语句:int a32;则 t数组最后一个元素是: D 。知识点:二维数组定义A. a32B. a23C. a2D. a21二、程序调试题1. 程序调试题1(D_2_1.C)调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括D_2_1.c文件和D_2_1.exe文件)保存到指定目录中。功能说明:以下程序计算并输出等差数列的累加和,数列的首项为a0,公差为d,项数为n。如输入:-3 5 4则输出:sumx=18例示说明:-3为首项,5为公差,4为项数,前4项之和为18原程序(见素材D_2_1.C):#include #include int sumx( int a0, d, n )int i, k, s=0;k = a0;for ( i=0; in; i+ )s += k;k += d;(return要放在花括号的后面)return s;void main()int a0, d, n;scanf( %d%d%d, &a0, &d, &n );printf( sumx=%dn, sumx(a0,d,n) );答案:#include #include int sumx( int a0, int d, int n )int i, k, s=0;k = a0;for ( i=0; in; i+ )s += k;k += d;return s;void main()int a0, d, n;scanf( %d%d%d, &a0, &d, &n );printf( sumx=%dn, sumx(a0,d,n) );system(pause);2. 程序调试题2(D_2_2.C)调试要求:下列程序有3处错误,请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将结果(包括D_2_2.c文件和D_2_2.exe文件)保存到指定目录中。功能说明:以下函数length返回字符串中字母A到字母Z所包含字符的长度。主程序输入一行字符串,调用length函数输出该字符串中大写字母A到Z的子串长度。如输入:Z2009-AShanghaiZ则输出:Length=8例示说明:从A到Z的子串为Shanghai,其长度为8原程序(见素材D_2_2.C):#include #include int length( char p )char q100, r100;int i,j,k;for ( i=0;pi=A; i+ );for ( j=i+1; pj!=0 & pj!=Z; j+ );return j-i;void main()char str81;int n;gets( str0 );n = length( str );printf( Length=%dn, n );system(pause);答案:#include #include int length( char p )int i,j;for ( i=0;pi!=A; i+ );for ( j=i+1; pj!=0 & pj!=Z; j+ );return j-i-1;void main()char str81;int n;gets( str );n = length( str );printf( Length=%dn, n );system(pause);三、程序填空题1.以下程序输入一个10进制整数,转换为16进制,计算16进制的各个位数,并从高位到低位依次输出。如输入:687则输出:2 A F例示说明:10进制687等于16进制2AF,输出时2、A、F中间包含空格源程序(见素材T_3_1.C):#include #include void main()int a10, i, n;scanf( %d, &n );for ( i=0; n0; i+ )ai = _1_;n /= 16;for ( i-; _2_; _3_ )printf( %X , ai );答案:#include #include void main()int a10, i, n;scanf( %d, &n );for ( i=0; n0; i+ )ai=n%16;n /= 16;for ( i-; i=0; i- )printf( %X , ai );system(pause);2.以下程序输入n和n个大于1的正整数,输出其中素数。如输入:5 19 93 11 37 15则输出:19 11 37例示说明:先输入n为5,再输入5个正整数,输出5个整数中的素数源程序(见素材T_3_2.C):#include #include void main()int n, a, i, j, ct;scanf( %d, &n );for ( i=0; _1_; i+ )_2_;scanf( %d, &a );for( j=2; ja; j+ )if ( _3_ )ct+;if ( ct=0 )printf( %d , a );printf( n );答案:#include #include void main()int n, a, i, j, ct;scanf( %d, &n );for ( i=0; in; i+ )ct=0;scanf( %d, &a );for( j=2; ja; j+ )if ( a%j=0 )ct+;if ( ct=0 )printf( %d , a );printf( n );system(pause);四、编程题1编程题1(B_4_1.C)编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_4_1.C文件和B_4_1.exe文件)保存到“实验结果”文件夹中。功能说明:键盘输入5个整数,按由小到大的顺序排序后输出。如输入:10 0 20 5 31则输出:5 0 10 20 31答案:#include stdio.h#include void SelectSort( int v , int n ) int i,j,k,temp; for( i=0; in-1; i+ ) int k = i; /k存放最小记录位置 for( j=i+1; jn; j+) /找最小记录位置 if( vjvk ) k = j; if( k!=i ) /交换第i和第k个位置记录 temp=vi; vi=vk; vk=temp; void main() int a10,i,n; printf(input number of datan); scanf(%d,&n); for(i=0;in;i+) printf( input %d datan,i+1); scanf(%d,&ai); SelectSort(a, n); for(i=0;in;i+) printf( %5d,ai); printf( n); system(pause); 2编程题2(B_4_2.C)编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_4_2.C文件和B_4_2.exe文件)保存到“实验结果”文件夹中。功能说明:键盘输入正整数n,计算并输出的值,输出结l则输出:0.645635答案:#include Mian()Float s;For(i=1;i=n,i+)If(i/2=0)S+= -1.0/n;Else S+=1

温馨提示

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

评论

0/150

提交评论