2019年大学《C语言程序设计》期末考试题库500题(含答案).pdf
《2019年大学《C语言程序设计》期末考试题库500题(含答案).pdf》由会员分享,可在线阅读,更多相关《2019年大学《C语言程序设计》期末考试题库500题(含答案).pdf(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2019年大学C语言期末考试题库500题含答案一、选择题1.设 a 为 int型变量,执行下列赋值语句后,a 的取值分别是()。a=125.534;a=(int)125.521%4;a=52;A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,202.main()int i=200,n=0;/*n用来记录每行已打印数的个数*/while(i=300)if(i%7=0)/break;printf(H%5d,i);n=n+l;if(n=5)/*满 5 个换行*/printf(n);n=0;)i+;2).main()int i,s=0,t=l;for(i=l;
2、i=7;i+)t=t*i;s=s+t;printf(sum=%dn/s);)五、程序设计题3.有以下程序main()int a=l,b;for(b=l;b=8)break;if(a%2=l)a+=5;continue;a-=3;printf(%dnzb);)程序运行后的输出结果是B。A、3 B 4 C、5 D、6知识点:程序分析4.有以下程序main()intnum4 4=lz2z3,4)45,6,7,8,9,10,11,12,13,14,15,16,iJ;for(i=0;i4;i+)for(j=l;j=i;j+)printf(%4c;);fo r(j=;j 4;j+)printf(“%4d”
3、,numi皿);printf(nH);)若要按以下形式输出数组右上半三角1234678111216则在程序下划线处应填入的是 B oA、i-1 B、I C、i+1 D、4-i5.main()int xgs,b;for(x=100;x1000;x+)b=x/100;s=x%100/10;g=x%10;if(g*g*g+s*s*s+b*b*b)=x)printf(dn,x);)2.main()int i,s=0,f=l;for(i=2;i5|x-59.有以下程序main()(int izn=0;for(i=2;i5;i+)(do(if(i%3)continue;n+;)while(!i);n+;p
4、rintf(n=%dnzn);)程序执行后的输出结果是_ D _ oA n=5 B、n=2 C、n=3 D、n=410.以下程序运行后的输出结果是 omain()(int x,a=l,b=2,c=3,d=4;x=(ab)?a:b;x=(xx)?x:d;printf(%dn”,x);答案:111.有以下程序段int k=0;while(k=l)k+;while循环执行的次数是_ A_oA、无 限 次 B、有语法错,不 能 执 行 C、一闪也不执行D、执 行 1 次12.以下程序中,while循环的循环次数是 D。main()int i=0;while(i10)(if(il)continue;if
5、(i=5)break;i+;A、1 B、10 C、6 D、死循环,不能确定次数13.A)abc(B)123(C)abcl23(D)123abc14.下面的程序中哪一行有错误()。Dinclude main()(float array5=0.0;第 A 行int i;for(i=0;i5;i+)scanf(%f,&arrayi);for(i=l;i5;i+)arrayO=arrayO+arrayi;/1 B 行printf(fn,array);第 C 行)A.第 A 行 B.第 B 行 C.第 C 行 D.没有15.C 语言源程序的基本单位是()。A 过 程 B 函数C 子程序D 标识符16.下
6、面的程序运行结果为 Dmain()int x=3,y=0,z=0;if(x=y+z)printf(*);else printf(#);)A、有语法错误不能通过编译 B、输出*,C、可以通过编译,但是不能通过连接,因而不能运行。D、输出#。17.以下程序的输出结果为()。int i;void prt()for(i=5;i8;i+)printf(%c;*);printf(t);main()for(i=5;ib?(bc?l:0):0;功能等价的是 A_A if(ab)&(bc)k=l;else k=0;B、if(ab)|(bc)k=l;else k=0;C if(a=b)k=0;else if(bb
7、)k=l;else if(bc)k=l;else k=0;20.以下函数调用语句中含有()个实参。func(el,e2),(e3,e4,e5);A 2 B 3 C 5 D 语法错误21.以下程序的输出结果为()。#define ADD(x)x*xmain()int a=4zb=6,c=7,d=ADD(a+b)*c;printf(d=%d,d);Ad=70Bd=80 Cd=140 Dd=70022.能正确表示a 和 b 同时为正或同时为负的逻辑表达式是 D。A、(a=0 II b=0)&(a0 II b=0&b=0)&(a0&b0)&(a+b0知识点:条件表达式构成的选择结构23.有如下程序ma
8、in()(int a=l,b=2,m=0,n=0;k;k=(n=ba)|(m=ab);printf(%d,%dn,k,m);)程序运行后的输出结果是 C。A、0,0 B、0,1 C、1,0 D、1,124.合法的数组定义是()。DA.int a3 =0,l,2,3,4,5;B.int a 3 =0,1,2,3,4);C.int a2 3=0,1,2,3,4,5,6;D.int a2 3=0,l,2,3,4,5,;25.以下程序的输出结果是 A omain()int a=4,b=5,c=0,d;d=!a&!b|!c;printf(%dn,cl);)A、1 B、0 C、非 0 的数 D、-126.
9、下列语句中,正确的是()。DA.char a Rabc”;B.char a 3 =ab J 1;C.char a3 =az 1;D.char a 3 =a,1;27.下列定义的字符数组中,输出printf(sn”,str);的输出是()。Cstatic str3 20 =basic,foxpro,windows;A.basic B.foxpro C.windows D.输出语句出错2 8.下列各语句定义了数组,其中哪一个是不正确的()。CA.char a3 10=China,American,Asia;B.int x2 2=l,2/3,4);C.float x2 K 1,2,4,6,8,10;
10、D.int m 3=l,2,3,4,5,6;29.设变量已正确定义,则以下能正确计算f二 n!的程序段是 D。A、f=0;for(i=l;i=n;i+)f*i;B f=l;for(i=l;i f=l;for(i=n;il;i+)f*i;D f=l;for(i=n;i=2;i-)f*=i;30.A)a*b/a*b=l(B)a/b*b/a=l31.设有以下定义,值为5 的枚举常量是()。enum weeksun,mon=4,tue,wed,thu,fri,sat w;A tue B sat C fri D thu32.以下程序的输出结果为()。#define ADD(x)x*xmain()int
11、a=4,b=6,c=7,d=ADD(a+b)*c;pnntf(d=%dzd);)Ad=70Bd=80Cd=140 Dd=70033.以下函数调用语句中含有()个实参。func(elze2),(e3,e4,e5);A 2 B 3 C 5 D 语法错误34.设有如下程序段,下面描述中正确的是()。int k=10;while(k=0)k=k-l;A 循环执行一次B 循环是无限循环C 循环体语句一次也不执行D 循环体语句执行一次35.设 a 为 int型变量,执行下列赋值语句后,a 的取值分别是()。a=125.534;a=(int)125.521%4;a=52;A 125,31,1 B 125,1
12、,20 C 125,31,20 D 125.534,2,2036.C 语言源程序的基本单位是()。A 过程B 函数C 子程序D 标识符37.若有下面的变量定义,以下语句中合法的是()。inti,a10,*p:A p=a+2;B p=a5;C p=a2+2;D p=&(i+2);38.设有以下定义,则以下对变量w 的 赋 值()是错误的。enum weeksun,mon=4,tue,wed,thu,fri,satw;A w=sun;B w=(enum week)4;C w=san;D w=(enum week)9;39.D)birth.day=25;birth.month=10;birth.ye
13、ar=1993;40.以下程序的输出结果是 B。#include main()(int a,b,d=241;a=d/100%9;b=(-l)&(-l);printf(“%d,%dn”,a,b);?)A、6,1 B、2,1 C、6,0 D、2,0知识点:赋值表达式41.在下列程序段中,枚举变量cl,C2的值依次是(),()。enum color red,yellow,blue=4,green/white cl,c2;cl=yellow;c2=white;printf(”%d,%dn”,cl,c2);42.A)10,10(B)8,10(C)010,10(D)8,843.要求以下程序的功能是计算:s
14、=l+l/2+V3+.+V10main()int n;float s;s=1.0;for(n=10;nl;n-)s=s+l/n;printf(%6.4fnzs);)程序运行后输出结果错误,导致错误结果的程序运行是A s=1.0;B、for(n=10;nl;n-);C s=s+l/n;D、printf(6.4fn,s);44.A)过程(B)函数(C)子程序(D)标识符45.SUM=2468四、程序改错46.关于return语句,下列正确的说法是()。A 可以在同一函数中出现多次B 必须在每个函数中出现C 只能在除主函数之外的函数中出现一次D 在主函数中不能出现47.main()int a6=10
15、,6,23,-90,0,3,i;invert(az0,5);for(i=0;i6;i+)printf(d,”,ai);printf(nw);)invert(int*s,int i,int j)int t;if(in B p-n+C(*p).n+D+p-n49.两个指针变量不可以()。A.相加B 比较C 相减D 指向同一地址50.以下程序的输出结果是()。main()int a=011;printf(/%dn,+a);A12B11C10D951.有以下程序/include main()char chl,ch2;int nl,n2;chl=getchar();ch2=getchar();nl=ch
16、l-O;n2=nl*10+(ch2-0);printf(%dn”,n2);)程序运行时输入:12 回车),执 行 后 输 出 结 果 是。答案:12知识点:数据输入52.以下程序运行后的了输出结果是 omain()int a=l,b=2,c=3;if(c=a)printf(%dn,c);else printf(%dn,b);)答案:153.若有定义:inta=10,b=9,c=8;接着顺序执行下列语句后,变量b 中的值是c=(a-=(b-5);c=(a%ll)+(b=3);答案:354.以下叙述中正确的是_ A_。A、C 程序中注释部分可以出现在程序中任意合适的地方B、花括号 和 只能作为函数
17、体的定界符C、构成C 程序的基本单位是函数,所有函数名都可以由用户命名D、分号是C 语言之间的分隔符,不是语句的一部分填空复习题55.56.892157.若执行以下程序时从键盘上输入9,则输出结果是B_main()int n;scanf(%d,&n);if(n+10)printf(%dn,n);else printf(%dn,n-);A、11 B、10 C、9 D、858.若 i,j 已定义为int类型,则以下程序段中内循环体的总的执行次数是 Afor(i=5;i;i-)for(j=0;jdata.a D)p.data.a2、根据以下定义,能输出字母M 的语句是(D)。A printf(%cn
18、,class3.name);B、printf(%cn”,class3.namel);C printf(/%cn,zclass2.namel);D、printf(%cn,class2.name);struct personchar name9;int age;struct person dass10=Johrrj7,Paul,19,Mary”,18,Adam,16,;62.下面程序的输出是_C omain()unsigned a=32768;printf(,a=%dn/a);A、a=32768 B、a=32767C、a=-32768 D、a=-l知识点:整型数据63.在 C 语言中,合法的长整型
19、常数是 A oA、OL B、4962710 C、324562&D、216D知识点:整型数据64.以下选项中不属于C 语言的类型名称是 D。A、signed short int B、unsigned long int C、unsigned int D、long short知识点:整型数据65.要求通过while循环不断读入字符,当读入字母N 时结束循环。若变量已正确定义,以下正确的程序段是 AoA、while(ch=getchar()!=N printf(%c,ch);B、while(ch=getchar()!=N printf(%c”,ch);C、while(ch=getchar()=N pr
20、intf(%c,ch);D、while(ch=getchar()=N printf(%c,ch);66.C 语言中,数组在内存中占一片的存储区,由代表它的首地址。数组名是一个常量,不能对它进行赋值运算。连续,数组名,地址67.若执下面程序时从键盘上输入5,main()(int x;scanf(%d,&x);if(x+5)printf(%dn,x);else printf(%dn,x-);)则输出是_ B _ oA、7 B、6 C、5 D、46 8.若有以下整型的a 数组,数组元素和它们得值如下所示:数组元素:a0 al a2 a3 a4 a5 a6 a7 a8 a9元素的值:9 4 12 8
21、2 10 7 5 13请写出对该数组的说明,并赋以上初值。该数组的最小下标值为一 最大下标值为写出下面各式的值:aa9 的值为;aa+a 的值为。int a10=9,4,12,8,2,10,7,5,l,3;098869.以下有4 组用户标识符,其中合法的一组是 CoA、For-sub Case B、4d DO Size C、f2_G3 IF abc D、WORD Void define知识点:常量、变量和标识符70.两次运行下面的程序,如果从键盘上分别输入6 和 4,则输出结果是_ A_。main()(int x;scanf(”%d”,&x);if(x+5)printf(“%d”,x);els
22、eprintf(%dn”,x-);A、7 和 5 B、6 和 3 C、7 和 D、6 和 471.有以下程序main()(int m=0256,n=256;printf(%o%on,m,n);)程序运行后的输出结果是_ C _。A、0256 0400 B、0256 256 C、256 400 D、400 400知识点:整型数据72.若有以下说明及语句,则值为6 的表达式是(D)。A、p+-nB、p-n+C(*p).n+D、+p-nstruct stint n;struct st*next;struct st a3,*p;a0.n=5;a0.next=&al;al.n=7;al.next=&a2
23、;a2.n=9;a2.next=,0,;p=&a0;73.有以下程序int fun(int x,int n)(static int sum=0J;for(i=0;in;i+)sum+=xi;return sum;main()(inta=l,2,3,4,5,b=6,7,8,9,s=0;s=fun(a,5)+fun(b,4);printf(%dn,s);)程序执行后的输出结果是_c _。A、45 B、50 C、60 D、557 4.以下程序的输出结果是_ A_。main()(int k=4/m=l,p;p=func(k,m);printf(dj,p);p=func(k,m);printf(%dnz
24、p);)func(int a,int b)(static int m=0,i=2;i+=m+l;m=i+a+b;return(m);)A、8,17 B、8,16 C、8,20 D、8,875.strlen(s)为求字符串s 的长度的函数)char s12=a book!;printf(%dzstrlen(s);A.12 B.8C.7 D.1176.V)(2)形参只有在被调用时才分配存储空间。77.x)数组定义int a10;表示数组名为a,此数组有1 0 个元素,第 1 0 个元素为a10 o78.有以下程序main()int a=Ozb=O;a=10;/*给 a 赋值*/b=20;/*给 b
25、 赋值*/printf(a+b=%dn,a+b);)程序运行后的输出结果是 B oA、a+b=10 B、a+b=30 C、30 D、出错知识点:简单C 语言程序的构成和格式79.下列选项中,合法的C 语言关键字是_ DA、VAR B、cher C、integer D、default知识点:常量、变量和标识符80.#include include void main()(char s80;int i;for(i=0;i80;i+)(si=getchar();if(si=n)break;)si=0;i=0;while(si)putchar(si+);putchar(/n,);)从键盘输入一个字符串
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 2019 大学 语言程序设计 期末考试 题库 500 答案
限制150内