




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
11-12第2学年C语言期中测试试卷学号_081130110_姓名_孟航_一、选择题(单选题,每小题2分,共15题,30分) 1字符a的ASCII码值是97,以下语句不能正确输出字符a的是_D_。A)putchar(a); B)putchar(x61); C)putchar(97); D)putchar(a);2有定义:int a=7; float x=2.5, y=4.7, z; 则语句z=x+a%3*(int)(x+y)%2/4; printf(“%f n”, z ); 的输出是_B_ A)3.000000 B)2.500000 C)2.750000 D)2.000000 3以下程序的正确输出是_C_。 main() int a=32767, b; b=a+1; printf(%d,%d, a, b);A)32767, -32768 B)32767, 32768 C)32767, 0 D)32767, 14执行下列程序段后,输出结果为_B_ int x=8,y=7; int a,b,c; a=(-x=y+)?-x : +y; b=x+; c=y; printf(“%d,%d,%d”,a,b,c); A) 6,6,8 B)7,8,7 C)1,9,7 D)6,6,6 5main ( ) int a ; printf (“%dn”, (a=3*5 , a*4 , a+5 ) ) ; 输出结果为:BA)65 B)20 C)15 D)106若i、j、sum已定义为int型变量,则以下程序段的输出是_B_。 for(sum=0, i=0; i=4; i+) for(j=0; j4; j+) sum+=1; printf(sum=%dn, sum);A)sum=20 B)sum=24 C)sum=25 D)sum=307有以下程序段main() inta=1, b; for(b=1;b=10) break; if(a%2=1)a+=5;continue; a-=3; printf(%dn,b); 程序运行后的输出结果是 AA)3 B)4 C)5 D)68以下语句的输出是_A_。 char s20=ATS0JK; printf( %d, %sn, strlen(s), s);A)6, ATS B)3, ATS C)3, ATS0JK D)6, ATS0JK9函数fun定义如下:void fun( ) printf(Hello world!n); 则对函数fun的正确调用方式是_C_。 A) fun ; B) fun(void); C) fun( ); D) fun(1);10main ( ) int x=1 , y=2 , z=3 ; if (x=y+z) printf (“# # # # “) ; else printf (“* * * * “) ; 程序输出为:BA)有语法错误不能通过编译B)输出* * * * C)可以通过编译,但不能通过连接,因而不能运行D)输出# # # #11若程序中定义了以下函数doublemyadd(doublea,doubleb)return(a+b);并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是( A ) A)doublemyadd(doublea,b); B)doublemyadd(double,double); C)doublemyadd(doubleb,doublea);D)doublemyadd(doublex,doubley);12. #include func (int a , int b) int c ; c = a+b ; return c ; main ( ) int x=6 , y=7 , z=8 , r ; r=func (x- , y+ , x+y ) , z- ) ; printf (“%d n “, r ) ; 程序输出为:CA) 11 B) 20 C) 21 D) 3113下面程序的功能是输出以下形式的金字塔图案: * * * * main()inti, j;for(i=1; i=4; i+) for(j=1; j=4-i; j+)printf(“”); for(j=1; j=_B_; j+)printf(“*”); printf(“n”);A)i B)2*i-1 C)2*i+1 D)i+214.下述对C语言字符数组的描述中错误的是:C A)字符数组可以存放字符串 B)字符数组中的字符串可以整体输入、输出 C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较15.#include #include void fun ( char str , int m ) char s ; int i,j; i=0 ; j=m-1; while ( ij ) s= stri+ ; stri= strj - - ; strj=s ; main ( ) char a = “ABCDEFG” ; fun ( a , strlen ( a ) ) ; puts ( a ) ; 程序输出为:A A)GFEDCBA B)AGADAGA C)AGAAGAG D)GAGGAGA二、试写出以下程序的输出结果(每小题3分,共6题,18分)1#include main()char k; while( (k=getchar()!=n) switch(k) case 1:k=k+1; putchar(k); case 2:k=k+2; putchar(k); default:k=k-1; putchar(k); 程序运行时从键盘输入125,输出结果为_2 int change(int x, int y, int z) int t; t=x; x=y; y=z; z=t; return z;main( ) int x, y, z; x=50; y=500; z=0; z=change(x, y, z); printf(x=%d, y=%d, z=%dn, x, y, z); 运行结果: _ x=500,y=0,z=50_ 3 main() char str140, str220; int i, j ; printf(Input string 1 and string 2:n); scanf(%s%s, str1, str2); i=0; while(str1i!=0) i+; for(j=0; str2j!=0; j+) str1i+j=str2j; str1i+j=0; printf(%sn, str1); 如果从键盘输入:how are you 则输出为_4. void fun (int n) int t;t=n/10;printf(“%d”,n%10);if (t) fun (n/10);printf(“%d”,n%10); main() int n; scanf(“%d”,&n); fun(n); 程序运行时输入5467,输出为_65_5. main() int a44=1,2,-3,-4,0,-12,-13,14 ,-21,23,0,-24,-31,32,-33,0; int i,j,s=0; for(i=0;i4;i +) for(j=0;j4;j +) if(aij0) continue; if(aij=0) break; s =aij; printf(%dn,s); 程序运行结果为_6. void ss(char s ,char t) int i=0; while (si!=0) if (si=t) si=t-a+c; i+; main() char str1100=”abcddfefdbd”,c=d; ss(str1,c);printf(“%sn”,str1); 程序运行结果为_abcfffeffbf_三、填空题(每空2分,共10空,20分)1有整型数组a20,输入一组非0整数(少于20个)到该数组中,以输入0值为结束。然后求出并输出该数组中正数的个数和平均值,负数不处理。 main( ) int a20;int n=0, i, zn=0;float zaver=0;scanf( %d, &an);while( i20 (1) ) n+; If(an=0) break; (2) ; for( i=0; i0 (3) ) zn+; zaver+=ai; if(zn!=0) zaver=zaver/zn (4) ; printf(zn=%d, zaver=%dn, zn, zaver);2.函数invert 函数功能是将一个字符串的内容颠倒过来。 #include void invert (str)char str ; int i=0,j,k; j=strlen(str)-1; while(ij) k=stri; _stri=strj-i_;_ (5) _strj-i=k;_ _i+;_ (6) _ 3.以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。main() int i , j; for(i=0;_i100_ (7)_; i+) j=i*10+6; if(_j%3=0_(8)_)continue; printf(d,j); 4. 以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下: A B C D E F G H I J K L M N O请填空完成该程序。#include main() int i,j,n; char ch=A; scanf(%d, &n); if(n11) for(i=1; i=n; i+) for(j=1; _ (9)_; j+) printf(%2c,ch); _ (10)_ printf(n); else printf(n is too large!n); printf(n);四、编程题(共3题,第1题11分,第2题11分,第三题10分,共32分)1 编写一个函数int prime(int x)判断参数x是否为素数,若是,返回1,若不是返回0,在主函数中定义并初始化一个一维数组a,其初值为: 10,23,9,16,17,3 在主函数中输出该数组中为素数的元素,统计并输出该数组中素数的个数。#include#include int prime(int x) int t=sqrt(x),k;for(i=2;it;i+) if(x%i=0) k=0;else k=1; printf(“%d”,ai);return k; main() int a6=10,23,9,16,17,3,i,x;int n=0,sum=0; k=prime(x); for(i=0;i6;i+) x=ai;prime(x); if(k=1) n+;sum+=ai;printf(“%d”,ai); printf(“n=%dnsum=%dn”,n,sum);2定义函数 getsum求二维数组两条对角线元素之和,函数原型为:int getsum(int b 4); 在主函数中定义数组int a44; 按下图所示初始化值初始化该数组,调用函数getsum求出该数组对角线之和。在主函数中以矩阵方式输出该数组并输出其对角线之和。请写出完整的程序。 int gesture(int b4) int sum=0;int i,j; for(i=0;i4;i+) for(j=0;j4;j+) if(i=j) sum+=aij; If(i+j=3) sum+=aij: return
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供应商管理市场现状研究
- 学校防汛试题答案及答案
- 2025年社区服务中心制度(三篇)
- icu出科考试题简答和答案
- 2025年股权转让合同调整协议书
- 少儿编程教学案例分享:如何编写生动的教案
- 世界无烟日主题班会教案
- 幼儿园中班教案《小黑猪》含反思
- 中班音乐活动《蚂蚁搬豆》公开课教案教学设计课件
- 大班社会教案:医院里的故事
- 2025年地质勘探与资源矿产管理技术考试试题及答案
- 中小学教师中高级职称答辩备考试题及答案(50题)
- 2025年药品监管与安全知识考试卷及答案
- 高中班级常规管理课件
- 超声波龈下刮治术专题讲解
- 2025年电信传输工程师职称考试试题
- 2024-2025学年人教版八年级数学上册《全等三角形》综合训练练习题(含答案解析)
- 肾内科常见病诊疗与管理
- 口腔医生岗前培训课件
- 小学一年级升二年级暑假数学作业-58套计算
- 2025年思想政治理论知识测试与能力考试试题及答案
评论
0/150
提交评论