C语言期中试卷(共9页).doc

上传人:飞****2 文档编号:13825644 上传时间:2022-05-01 格式:DOC 页数:9 大小:44.50KB
返回 下载 相关 举报
C语言期中试卷(共9页).doc_第1页
第1页 / 共9页
C语言期中试卷(共9页).doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《C语言期中试卷(共9页).doc》由会员分享,可在线阅读,更多相关《C语言期中试卷(共9页).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上 C语言 课程期中考试试卷 一. 在A B C D四个选项中,选择一个正确的答案填入括号内( )1、用char定义的变量在IBM PC机中能表示的数的范围是:A) 0 +255 B) 0 +65535 C) -128 +127 D) 只能存字符,不能存数( )2、设有int k=2; 则执行printf(“%d”,k+);的输出为:A) 0 B) 1 C) 2 D) 3( )3、在while(!x)中,!x与_等价。A) x=0 B) x!=0 C) x=1 D) x!=1( )4、设有声明int value=5;,则执行下列选项的赋值语句后,value的值不等于5的

2、是_。A.) value=value - 0; B) value=value - 0x30;C) value=value - 49; D) value=value - 060;( )5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:A) 0 B) 2 C) 2.5 D) 2.75( ) 6、若有int a,b;则语句:printf(%d,(a=2)&(b=-2);的输出结果是: A)无输出 B)结果不确定 C)-1 D)1( ) 7、设有int a=2; 则执行printf(%d,5a1);的输出为: A)0 B)1

3、C)2 D)3( ) 8、执行语句c=(a=2,a+1,b=a+);后, a,b,c的值依次为:A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2 ( )9、以下程序的输出结果是 A)2 0 B)3 1 C)3 2 1 D)2 1 0 main( ) int n=4; while(n-)printf(%d ,-n); ( )10、给出以下定义: char x =abcdef; char y =a,b,c,d,e,f; 则正确的叙述为 A) 数组和数组等价 B) 数组x和数组的长度相同 C) 数组的长度大于数组的长度 D) 数组的长度小于数组的长度( )11、若对一个函数调用在前,

4、定义在后,C语言将视其返回值为_类型。 A) void B) int C) float D) 不合法( )12、如果用数组名作为函数调用的实参, 传递给形参的是_。 A) 数组的首地址 B) 数组元素的个数 C) 数组的第一个元素的值 D) 数组中全部元素的值二、填空题 1. C语言中的标识符可以由三种字符组成,它们是_ _、_ 和_ _。2. 关键字case和default只能在_ _ 语句中出现。3. 若有说明int a 4=1, 2,3,4,5,6,7,8, 9;,则数组a第一维的大小是_。4.有声明: int a34=1,2,3,6,7,8,8; 则a12的初值是_,a21的值是_。三

5、、阅读程序,写出其输出结果1. 设输入为:3 3 (其中”表示回车),则下面程序的输出是:_ _ main() int k,t,a,n; long s;scanf(“%d%d”,&a,&n);for(s=t=k=0;kn;k+) t=t*10+a; s+=t; printf(“s=%ld”,s);2若以下程序输入为5,8 ,则输出为: _ swap(int x, int y) int t; t=x;x=y;y=t;main() int a,b;scanf(“%d,%d”,&a,&b);swap(a,b);printf(“a=%d,b=%d”,a,b);3. 设输入为: C+ ProGramin

6、g LangUage (其中”表示回车),下面C程序的输出是:_ _ #include main() int n1,n2,n3; char ch; n1=n2=n3=0; while(c=getchar()!=n) if(c=A&c=a&c=z) n2+; else n3+; printf(“n1=%d,n2=%d,n3=%dn”,n1,n2,n3);4以下程序运行时,输出结果的第一行是 ,第二行是 _ _ 。 #include void change(int x,int m) char ch=0,l,2,3,4,5,6,7,8,9,b 80; int i=0,r; while(x) r=xm

7、; x/=m; bi+= chr; for(-i; i=0; i-) printf(“c”,bi); main() int a,b; change(10,2); printf(“n”); change(10,8); 四、完善程序1、下面的程序读入数组元素值,然后以每行4个元素的形式输出。 #define N 20 main() int aN,i;for (i=0; iN;i+)scanf(“%d”, _ _); for (i=0; iN;i+) if ( _ _ ) printf(“n”); printf(“%8d”, ai); printf(“n”);2. 下面程序的功能是:使一个字符串按逆

8、序存放,请填空#include main() char m,str60; int i,j; printf(“input a string:”); gets(str); for(i=0,j=strlen(str)-1;i_ _;i+,j-) m=stri; stri=_ _; strj=m; puts(str); 3. 以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差, 如果两串相同,则返回0;例如:输入的两个字符串分别为abcdef和abceef,则输出为-1,请填空。 #include main() char str1100,str210

9、0,j; int s; printf(n input string 1:n); gets(str1); printf(n input string 2:n); gets(str2); j=0; while(str1j=str2j)&(str1j!=_ _) j+; s=_ _; printf(%dn,s); 4. 以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。例如:输入的字符串为:556,则输出十进制整数366。请填空。 #include main() char s6; int i=0,n; gets(s); n=0; while( si!=0 ) _ _; printf(

10、%d n,n); 五、改错题 下面的程序中, a是输入数组, b是输出数组; 程序功能是找出数组a中所有素数, 若a中某个元素为素数, 则将输出数组相同位置处的元素置为T; 否则置为F。如: 若输入数组为: 则输出数组为: 6 2 13 14 F T T F 16 15 25 67 F F F T 17 51 6 73 T F F T 81 11 21 19 F T F T要求: 改错时, 可以修改语句中的一部分内容, 调整语句次序, 除了允许增加变量说明或编译预处理命令外, 不允许增加整条语句, 也不能删除整条语句。#include #define N 4 main()int i, j, m

11、, k, a NN; char b N; for(i=0; iN; i+) for(j=0; jN; j+) scanf(“%d”, aij); for(i=0; iN; i+) for(j=0; jN; j+) bij=F; for(i=0; iN; i+) for(j=0; jN; j+) m=(int)sqrt(aij; for(k=2; k=m; k+) if(aij%k=0) break; if (km) bij=T; for(i=0; iN; i+) for(j=0; jN; j+) printf(“%5c”, bij);printf(“n”);六、编制C语言程序(共26分)1、用

12、递推法求 11/2!1/3!1/4!的前30项之和。 2、输入50个学生的某门课程成绩,计算出平均成绩(取两位小数),并统计出不及格(低于60分)的人数。 3、求199之间的所有同构数。同构数是其值等于其右边数字平方数的整数。如25, 36都是同构数(25=52, 36=62)。要求程序中判断1个整数是否是同构数的功能用函数实现。 参考答案:一. 选择题:15:CCACC 610:DADAC 1112:B二填空题: 1、字母、下划线、数字字符; 2、switch; 3、3; 4、0,7三阅读程序,写出其输出结果: 1、s=369; 2、a=5, b=8; 3、n1=5,n2=14,n3=4;

13、4、100,12;四、完善程序: 1、&ai,i%4=0; 2、j,strj; 3、0 ,str1j-str2j; 4、n=n*8+si+-0;五、改错题:#include #define N 4 插入: #include main()int i, j, m, k, a NN; char b N; 改: bNN for(i=0; iN; i+) for(j=0; jN; j+) scanf(“%d”, aij); 改: &aij for(i=0; iN; i+) for(j=0; jN; j+) bij=F; for(i=0; iN; i+) for(j=0; jN; j+) m=(int)s

14、qrt(aij;改:m=(int)sqrt(aij); for(k=2; k=m; k+) if(aij%k=0) break; 改: aij%k= =0 if (km) bij=T; for(i=0; iN; i+) for(j=0; jN; j+) printf(“%5c”, bij);printf(“n”);六、编制C语言程序1、#include main() int n=1,i; float t=1,s=0; for(i=1; i=30; i+) s+=t; t=t/+n; printf(“s=%f”,s); 2、#include main() int a50,n,i; float av,s; n=0; s=0; for(i=0; i50; i+) scanf(“%d”,&ai); if(ai60) n+; s+=ai; printf(“平均数为:%.2fn”,av); printf(“不及格人数=%dn”,n); 3、#include int istong(int m) int k; k=m%10; if(k*k=m) return (1); else return (0); main() int i; for(i=1; i100; i+)if(istong(i) printf(“%d, “,i);专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

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