已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言期末复习题1.构成C语言源程序的基本单位是_D_A 子程序B过程C文本D函数2. 在一个C程序中,main()函数_B_A必须出现在所有函数之前B可以在任可地方出现C必须出现在所有函数之后D以上都不对3以下描述正确的是_A_A最简单的C源程序可以不包括任何内容。B编译程序对C源程序编译时不检查语法。CC程序中没有输入输出语句。D在C程序中,至少必须有一个main()函数。4C语言是一种_结构_化程序设计语言结构5下面不正确的字符串常量是_A_AABB”abab”C”a”D”“6下面四个选项中均是合法的整型常量的是:_A_A 340,025,-11B02,0x,03fC-0X2A,985.768,4d2D0X15,0X2,-760x7设有定义:int a=10;则表达式a+=a*=a的值是:_D_A10B100C1000D2008设有如下定义:int a=1,b=2,c=3,d=4,x=2,y=2;则表达式(x=ab)&(y=cd)运算后,y的值为_B_A 1B2C3D.49能正确表示逻辑关系“a大于等于10或小于等于0”的C语言表达式是_D_Aa=10 or a=0 | a=10 & a=10 | aba =015.若有以下语句组,则输出结果是_B_int x=0; if(x+0) printf(“%d”,- -x);printf(“%d”,x+);A-1B1C-1-1D-1 0答:16以下程序的输出结果是:_Dmain() int x=3,y=0,z=0;if(x=y+z) printf(“*”);else printf(“#”);A有语法错误不能通过编译B输出 *C通过编译,但不能通过连接D输出#答案17以下程序的运行结果是:_ y is 1_ I do this _main() int x=1,y=1;switch (x)case 1:switch(y)case 0:printf(“y is 0.n”); break;case 1: printf(y is 1.n”); break;default:printf(“y is unknown.n”); break;case 2:printf(“I do this.n”);答案: I do this18.C语言中,while与dowhile语句的主要区别是_A_Adowhile 的循环体至少无条件执行一次。Bdo-while允许从外部跳到循环体内。Cwhile循环体至少无条件执行一次。Dwhile的循环控制条件比do-while的严格。答案:19以下说法正确的是_D_AC语言中不能使用do-while语句构成的循环Bdo-while语句构成的循环必须用break语句才能退出。Cdo-while语句构成的循环,当while后圆括号内的表达式的值为非零时结束循环。Ddo-while语句构成的循环,当while后圆括号内的表达式值为零时结束循环。答案20.下面关于for 语句的正确描述为:(D)Afor语句只能用于循环次数已经确定的情况Bfor语句是先执行循环体语句,再判断表达式C在for语句中,不能用break语句跳出循环体。D在for语句的循环体语句中,可以包含多条语句,但必须用大括号括起来。答案:21对于for(表达式1;表达式3)可以理解为_B_Afor(表达式1;0;表达式3)Bfor(表达式1; 1;表达式3)Cfor(表达式1;表达式1;表达式3)Dfor(表达式1;表达式3;表达式3)22以下程序执行后,输出“#”号的个数是:_C_main() int i,j; for(i=1;i5;i+)for (j=2;j=i;j+) printf(“#”);A0B4C6D7答案:23.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为_B_for(i=0,j=10;i=j;i+,j-) k=i+j;A9B10C11D12答案24以下程序输出的结果是:_0122_main()int i; for(i=0;i3;i+)switch(i)case 1: printf(“%d”,i);case 2: printf(“%d”,i);default:printf(“%d”,i);答案:25.请填入一个整数,使以下程序段输出 10个整数。for(i=0;i=_20_;printf(“%dn”,i+=2);答案:26编程序 打印所有的水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数。如:153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。#includemain()int i,j,k,n; for(i=100;i1000;i+) j=i/100; k=i%100/10; n= i%100%10; if(i=j*j*j+k*k*k+n*n*n) printf(“%dn”,i); 27.打印出以下图案:* *#includemain( ) int i,j;for(i=1;i=4;i+) for(j=1;j=4-i;j+) printf(“ “);for(j=1;j=2*i-1;j+) printf(“*”);printf(“n”); 28.以下描述正确的是_D_Areturn语句是函数中不可缺少的语句B函数中不可以有多条return 语句 C函数中,return 后面一定要有表达式。D函数返回值一定要通过return语句返回。答案29一个函数返回值的类型取决于_C_A定义函数时指定或缺省的函数类型B调用该函数时临时指定C调用该函数的主调函数的类型Dreturn语句中表达式的类型答案30以下叙述正确的是_B_A一个源程序中只能有一条文件包含命令。B预处理命令都必须以“#”开头C预处理命令必须定义在程序的头部。D以下是正确的宏定义:#define IBM-PC答案:B31以下程序的输出结果是_D_#include “stdio.h”int fun(int a ,int b)return a+b;void main()int x=2,y=5,z=8,r;r=fun(fun(x,y),z);printf(“%d”,r);A12B13C14D1532.以下程序的输出结果是_A_#include int f(int n) if(n2)return (f(n-1)+f(n-2);else return 2;void main() printf(“%dn”,f(3);A4B6C2D833以下程序的输出结果是:_2510=2_void main()int a ,b,c;a=10;b=25;c=f(a,b);printf(“%d/%d=%d”,b,a,c);f(int m,int n)return (n/m);答案:1)以下符合C语言语法的实型常量是(B)A) 1.2E0.5 B) 3.14.159EC) .5E-3D) E152)给出以下定义:char x=abcdefg;char y=a,b,c,d,e,f,g;则正确的叙述为( B)A)数组X和数组Y等价B)数组X的长度大于数组Y的长度C)数组x和数组Y的长度相同 D)数组X的长度小于数组Y的长度3)不能把字符串:Hello!赋给数组b的语句是 (A)A)char b10=H,e,l,l,o,!;B)char b10;strcpy(b,Hello!);C)char b10=Hello!;D)char b10;b=Hello!;4) 若有以下说明:int a12=1,2,3,4,5,6,7,8,9,10,11,12;char c=a,d,g;则数值为4的表达式是 (D)A) ag-cB) a4C) ad-cD) ad-c5) 设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是(D)scanf(“%d”,pa) ;scanf(“%d”,a) ;scanf(“%d”,&pa);scanf(“%d”,*pa);6) 若有以下函数调用语句fun(a+b,(x,y),fun(n+k,d,(a,b);在此函数调用语句中实参的个数是 (A)A)3B)4C)5D)67) 有以下程序void fun (int a,int b,int c)a=456;b=567;c=678;main()int x=10,y=20,z=30;fun (x,y,z);printf(%d,%d.%d,x,y,z);输出结果是(B)A)30,20,10 B)10,20,30 C)456,567,678 D)678,567,4568) 定义如下变题和数组:int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是: (B)for(i=0;i3;i+) printf(%d,*x2-i);A) 1 5 9B) 7 4 1C) 3 5 7D) 3 6 99) 以下程序运行后,输出结果是 (A)int d=1;fun(int p) int d=5;d+=p+;printf(%d,d);main()int a=3;fun(a);d+=a+;printf(%dn,d);A)84 B)99 C)95 D)4410)下面程序的输出是(B)A) 3B) 4C) 6D) 9fun3(int x)static int a=3;a+=x;return(a);main() int k=2, m=1, n;n=fun3(k);n=fun3(m);printf(%dn,n);11) 当调用函数时,实参是一个数组名,则向函数传送的是 (C)A)数组的长度B)数组每一个元素的地址C)数组的首地址D)数组每个元素中的值12) 以下程序void sort(int a,int n) int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(aaj) t=a;a=aj;aj=t;main() int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(&aa3,5);for(i=0;i10;i+) printf(%d,aa);printf(n);程序运行后的输出结果是 (A)。A)1,2,3,4,5,6,7,8,9,10, B)1,2,3,8,7,6,5,4,9,10,C)10,9,8,7,6,5,4,3,2,1, D)1,2,10,9,8,7,6,5,4,3,13) 以下程序的输出结果是 (B)int f(int n) if (n=1) return 1;else return f(n-1)+1;main()int i,j=0;for(i=1;i3;i+) j+=f(i);printf(%dn,j); A) 4 B) 3C) 2 D) 114) 有程序段如下:void reverse(int a,int n) int i,t;for(i=0;in/2;i+)t=a;a=an-1-i;an-1-i=t;main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0;reverse(b,8);for(i=6;i10;i+) s+=b;printf(%dn,s);程序运行后的输出结果是_A_。A) 22 B) 10 C) 34 D) 3015)有以下程序main()int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,3,9,6;int i,s=0;for(i=0;i4;i+) s+=aa1;printf(%dn,s);程序运行后的输出结果是_D_。A) 11 B) 19 C) 13 D) 2016)有以下程序main( ) int i,a10,s=0;for(i=1;i10;i+) a=i;for(i=1;i10;i+=2) s+=a+1;printf(“%dn”,s); 程序执行后的输出结果是( D)A)自然数19的累加和 B)自然数110的累加和C)自然数19中的奇数之和 D)自然数110中的偶数之和17)有以下程序int f(int b4) int i,j,s=0;for(j=0;j2) i=3-j;s+=bj;return s;main( )int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0;printf(“%dn”,f(a); 执行后的输出结果是(B )A)12 B)11 C)18 D)1618)以下程序的输出结果是(A )# include # include main()char str12=s,t,r,i,n,g;printf(%dn,strlen(str);A) 6B) 7C) 11D) 1219)有以下定义#include char a10,*b=a;不能给数组a输入字符串的语句是 BA) gets(A)B) gets(a0)C) gets(&a0)D) gets(B)20)语句printf(abrehiyboun);的输出结果是(C)A)abrehiybouB)abrehiybou C)rehiyouD)abrehiybou21)下面程序的功能是输出以下形式的金字塔图案:*main( ) int i,j;for(i=1;i=4;i+) for(j=1;j=4-i;j+) printf(“ “);for(j=1;j=_ _;j+) printf(“*”);printf(“n”); 在下划线处应填入的是(B)A)i B)2*i-1 C)2*i+1 D)i+222)有以下程序main( )char k;intI;for(i=1;i3;i+)scanf(“%c”,&k);switch(k)case 0:printf(“anothern”);case 1:printf(“numbern”);程序运行时,从键盘输入:01,程序执行后的输出结果是(A)A) another B) another C) another D) numbernumber numbernumbernumberanothernumber23)若程序中定义了以下函数double myadd(double a,double b) return (a+b);并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是( A)A)double myadd(double a,b); B)double myadd(double,double);C)double myadd(double b,double a); D)double myadd(double x,double y);24) 下面的程序(D )main() int x=3,y=0,z=0;char a=* * * *,b=# # # #;if(x=y+z)printf(%s,a);elseprintf(%s,b);A) 有语法错误不能通过编译B) 输出* * * *。C) 可以通过编译,但是不能通过连接,因而不能运行。D) 输出# # # #。25)有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END) ;语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)#include main( ) FILE *fp;int i,a4=1,2,3,4,b;fp=fopen(data.dat,wb);for(i=0;i4;i+)fwrite(&a,sizeof(int),1,fp);fclose(fp);fp=fopen(data.dat,rb);fseek(fp,-2L*sizeof(int).SEEK_END;fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/fclose(fp);printf(%dn,B) ;执行后输出结果是(C)A) 2B) 1 C) 4D) 326)请读程序:#includeint a=2,4,6,8;main() int i;for(i=0;i4;i+) a=a+;printf(%dn,a2);上面程序的输出结果是 ( A)A) 6B) 8C) 4D) 227)有以下程序char fun(char x , char y) if(xy) return x;return y;main( ) int a=9,b=8,c=7;printf(“%cn”,fun(fun(a,b),fun(b,c); 程序的执行结果是(D )A)函数调用出错B)8C)9D)728)有以下程序struc STU char name10;int num;void f1(struct STU C) struct STUb=“LiSiGuo”,2042;c=b;void f2(struct STU *C) struct STUb=“SunDan”,2044;*c=b;main( ) structSTU a=“YangSan”,2041,b=“WangYin”,2043;f1(A) ;f2(&B) ;printf(“%d %dn”,a.num,b.num);执行后的输出结果是 CA)2041 2044 B)2041 2043 C)2042 2044D)2042 204329)有以下程序void swap1(int c) int t;t=c0;c0=c1;c1=t;void swap2(int c0,int c1) int t;t=c0;c0=c1;c1=t;main( ) int a2=3,5,b2=3,5;swap1(a); swap2(b0,b1);printf(“%d %d %d %dn”,a0,a1,b0,b1); 其输出结果是( A)A)5 3 5 3 B) 5 3 3 5 C)3 5 3 5 D)3 5 5 330)以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。#include void f(char p10,int n) char t20; int i,j;for(i=0;in-1;i+)for (j=i+1;jn;j+)if(strcmp(p,pj)0) strcpy(t,p);strcpy(p,pj);strcpy(pj,t);main()char p10=abc,aabdfg,abbd,dcdbe,cd;int i;f(p,5); printf(%dn,strlen(p0);程序运行后的输出结果是(D )A) 6 B) 4 C) 5 D) 331)以下程序功能为:输入a、b两个整数,使用指针变量按大小顺序输出这两个整数,请填空。main( ) int a,b,*p1,*p2,*p;p1=&a;p2=&b; scanf(%d%d,p1,p2);if(*p1*p2)*p=*p1; *p1=*p2*p2=*p; printf(a=%d,b=%dn,a,b);printf(max=%d,min=%dn,*p1,*p2);32)若有以下定义:double w15; 则数组元素下标的下限是_0-14_33)以下程序段给数组所有元素输入数据,空白处应的填入的是main()int a10,i=0;while(i10) scanf(“%d”,_ai_);/*循环输入十个整数到数组a*/34)以下程序的输出结果是_15_main() int arr0,i,k=0;for(i=0;i10;i+) arr=i;for(i=0;i4;i+) k+=arr+i;printf(“%d n”,k);35)以下程序的输出结果是_abc_。 main() char s=abcdef; s3=0; printf(%sn,s); 36)以下程序运行后的输出结果是_9.0_。double sub(double x,double y,double z)y-=1.0;z=z+x;return z;main()double a=2.5,b=9.0;printf(“%f n”,sub(b-a,a,a);37)以下程序运行后的输出结果是_6,-1_。void fun(int x,int y)x=x+y;y=x-y;x=x-y;printf(%d,%d,x,y);main()int x=2,y=3;fun(x,y);printf(%d,%dn,x,y);38) 下面rotate函数的功能是:将n行n列的矩阵A转置为A,例如:1 2 3 41 5 9 135 6 7 82 6 10 14当 A9 10 11 12,则A=3 7 11 1513 14 15 164 8 12 16请填空#defineN4Void rotate(int aN)int i,j,t;for(i=0;iN;i+)for(j=0;j+)t=aj;;aj=t;39)fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。请填空。#include #define N 100int fun(int aNN) int row,col,max,min;for(row=0;rowN;row+) for(max=arow0,col=1;colN;col+)if(_max max _) min=max; return min;40)函数fun的功能是计算xndouble fun(double x,int n) int i; double y=1;for(i=1;i=n;i+) y=y*x;return y; 主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算:m=a4+b4-(a+b)3。实现这一计算的函数调用语句为_ double fun(a,b)_。41)mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。 int mystrlen(char *str) int i; for(i=0; _stri_!= 0;i+);return(_i_); 42)函数fun的功能是:将n个人员的考试成绩进行分段统计,考试成绩放在a数组中,各分数段的人数存到b数组中:成绩为60到69的人数存到b0中,成绩为70到79的人数存到b1,成绩
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州铜仁玉屏侗族自治县公安局招聘警务辅助人员29人考试笔试参考题库附答案解析
- 2025河北张家口康保县二人台艺术团招聘专业演职人员18人笔试考试备考试题及答案解析
- 2025安徽省农村信用社联合社金融科技管理人员及专业岗招聘笔试考试参考试题及答案解析
- 2026水利部长江水利委员会事业单位招聘107人(第一批重庆有岗)笔试考试备考试题及答案解析
- 2026中国能建广西工程局校园招聘考试笔试备考题库及答案解析
- 雅安市2025年下半年赴外招才引智需求计划表(市属企业附经开区企业)考试笔试参考题库附答案解析
- 2025贵州水投水务集团有限公司第三批次面向社会招聘3人考试笔试模拟试题及答案解析
- 2025中煤矿山建设集团安徽绿建科技有限公司第三批中层管理人员招聘笔试考试参考题库及答案解析
- 2025年沈阳市苏家屯区事业单位面向社会公开招聘高层次(博士)人才55人(第二批)考试笔试备考题库及答案解析
- 2026厦门国际银行秋季校园招聘考试笔试备考试题及答案解析
- 银行理财代销管理办法
- DB45∕T 1098-2024 橡胶沥青路面施工技术规范
- 直播中控培训课件
- 粉末喷塑工艺培训课件
- 上市公司关务管理制度
- 2024年上海松江区工作者招聘笔试真题
- 洗车行安全管理制度
- 细胞库建立管理制度
- 北京开放大学2025年《企业统计》形考作业1答案
- 临床技术操作规范麻醉学分册
- 医院应急预案管理和演练制度
评论
0/150
提交评论