C语言最终模拟题资料讲解_第1页
C语言最终模拟题资料讲解_第2页
C语言最终模拟题资料讲解_第3页
C语言最终模拟题资料讲解_第4页
C语言最终模拟题资料讲解_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

C语言最终模拟题(含

答案)题号1.以下选项中,能用作用户标识符的是(C)。A:voidB:8_8C:_0_D:unsigned题号2...选择题A:(1分,正确答案A,学生答案*)阅读以下程序#include<stdio.h>main(){intcase;floatprintF;printf(-请输入2个数:,scanf("%d%f”,&case,&printF);printf("%d%f\n",case,printF);}该程序在编译时产生错误,其出错原因是()。A:定义语句出错,case是关键字,不能用作用户自定义标识符B:定义语句出错,printF不能用作用户自定义标识符C:定义语句无错,scanf不能作为输入函数使用D:定义语句无错,printf不能输出case的值题号3...选择题A:(1分,正确答案B,学生答案B)表达式:(int)((double)9/2)-(9)%2的值是()。A:0B:3C:4D:5题号4...选择题A:(1分,正确答案B,学生答案D)若有定义语句:intx=10;,则表达式x-=x+x的值为()。A:-20B:-10C:0D:10题号5...选择题A:(1分,正确答案D,学生答案*)有以下程序#include<stdio.h>main(){inta=1,b=0;printf("%d,”,b=a+b);printf("%d\n",a=2*b);}程序运行后的输出结果是()。A:0,0B:1,0C:3,2D:1,2题号6...选择题A:(1分,正确答案A,学生答案*)有以下程序#include<stdio.h>main(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf("%d\n",c);}程序运行后的输出结果是()。A:3B:5题号7...选择题A:(1分,正确答案B,学生答案A)当需要定义一个函数时,以下标识符中,()不能用作函数名。A:scanfB:forC:_sumD:F2题号8...选择题A:(1分,正确答案D,学生答案*)已有声明语句"unsignedcharch;",与表达式"ch='B'"的值不相同的表达式是()。(注释:字符A的Ascii码以十进制表示为65)A:ch=0x42B:ch=0102C:ch='\102'D:ch=066题号9...选择题A:(1分,正确答案C,学生答案*)若要对a进行++运算,则a应具有以下说明()。A:inta[3][2];B:char*a[]={"12”,"ab"};C:intb[10],*a=b;D:char(*a)(char);题号10...选择题A:(1分,正确答案B,学生答案*)以下对于break语句使用的正确描述是()。A:可以出现在程序中的任何位置B:只能出现在循环或switch结构中C:只能出现在switch结构中D:只能出现在循环结构中题号11...选择题A:(1分,正确答案B,学生答案*)若有声明语句"inta=5,b=4,c=3,*p=&a;”,则下列()表达式语句是正确的。A:(*p)++=c;B:printf(a%4==0?”%3d\n":"%3d”,*p);C:*(*p)++;D:a>20?return*p-20:return*p-1;题号12...选择题A:(1分,正确答案A,学生答案*)设intx=2,y=3,z=(++x<=y--)?((--y=1)?y--:--y):y--;则x,y,z的值为()。A:3,0,1B:2,0,0C:3,1,1D:2,2,1题号13...选择题A:(1分,正确答案B,学生答案*)在定义任何一个函数时,下列选项中,()是不可缺少的。A:函数名之前的数据类型B:函数名之后的一对圆括号C:形式参数声明D:函数体内的语句题号14...选择题A:(1分,正确答案D,学生答案*)已知某程序如下:floatp=1.5;#definep2.5main(){printf("%f",p);}则main函数中标识符p代表的操作数是()。A:float型变量B:double型变量C:float型常量D:double型常量题号15...选择题A:(1分,正确答案A,学生答案*)已有声明"ints[2][3]",以下选项中()正确地引用了数组s中的基本元素。A:s[1>2][!1]B:s[2][0]C:s[1]D:s题号16...选择题A:(1分,正确答案C,学生答案*)若有声明"inta[5],*b=a,(*c)[3],*d[3];”,则在以下表达式中有语法错误的是()。A:a[0]=0B:b[0]=0C:c[0]=0D:d[0]=0题号17...选择题A:(1分,正确答案C,学生答案*)以下跳转语句中,只有()可以选择不唯一的跳转目的地。A:continue;B:break;C:goto标识符;D:return;题号18...选择题A:(1分,正确答案A,学生答案*)一个用c语言编写的程序,()是必不可少的。A:取名为main的函数定义B:#include<stdio.h>C:变量声明D:注释题号19...选择题A:(1分,正确答案D,学生答案*)以下声明中正确的是()。A:intn=2,a[n]={10};B:intn=10,*p[2]=&n;C:intn=10,a[2]={n};D:inta[2][2]={10},(*p)[2]=a+1;题号20...选择题A:(1分,正确答案B,学生答案*)若有函数fun的定义为voidfun(…){staticinta=1;♦♦♦}则下列叙述中不正确的是()。A:在每次调用fun函数时,变量a的值是上次调用结束时a的值B:在fun函数之外,可以用变量名a直接引用a的值C:在其他函数中,可以出现声明doublea=2.5;D:fun函数的形式参数不能取名为a题号21...选择题A:(1分,正确答案D,学生答案*)以下单目运算符均只需一个操作数,其中要求操作数的类型只能是指针型的是()。A:&B:++C:!D:*题号22..•选择题A:(1分,正确答案D,学生答案*)C语言规定,在一个源程序中main函数的位置()。A:必须在最开始B:必须在最后C:必须在预处理命令的后面D:可以在其他函数之前或之后题号23...选择题A:(1分,正确答案D,学生答案B)以下选项中,()是C语言关键字。A:printfB:includeC:funD:default题号24...选择题A:(1分,正确答案A,学生答案*)已知有声明"inta=3,b=4,c;",则执行语句,'c=1/2*(a+b);"后,c的值为()。A:0B:3C:3.5D:4题号25...选择题A:(1分,正确答案B,学生答案*)设指针变量占2个字节的内存空间,若有声明"char*p="123";intc;",则执行语句"c=sizeof(p);"后,c的值为()。A:1B:2C:3D:4题号26..•选择题A:(1分,正确答案C,学生答案*)已知有声明"inta=3,b=4;”,下列表达式中合法的是()。A:a+b=7B:a=lblC:a=b=0D:(a++)++题号27...选择题A:(1分,正确答案D,学生答案*)已知有声明"chars[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是()。A:s="Good”;B:s[20]="Good";C:strcat(s,"Good");D:strcpy(s,"Good");题号28...选择题A:(1分,正确答案B,学生答案*)已知有声明"intn;floatx,y;",则执行语句"y=n=x=3.89;"后,y的值为()。A:3B:3.0C:3.89D:4.0题号29...选择题A:(1分,正确答案C,学生答案A)已知有声明"inta=12,b=15,c;”,则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为()。A:3,1B:15,12C:15,1D:3,12题号30..•选择题A:(1分,正确答案B,学生答案*)已知int类型数据在内存中存储长度为2个字节,以下语句中能正确输出整数32768的是()。A:printf("%d",32768);B:printf("%ld",32768);C:printf("%f",32768);D:printf("%c",32768);题号31...选择题A:(1分,正确答案D,学生答案*)已知有声明"inta=3,b=4,c=5;”,以下表达式中值为0的是()。A:a&&bB:a<=bC:allb&&cD:!(!cll1)题号32..•选择题A:(1分,正确答案C,学生答案B)已知有声明"longx,y;”且x中整数的十进制表示有n位数字(4<n<10),若要求去掉整数x十进制表示中的最高位,用剩下的数字组成一个新的整数并保存到y中,则以下表达式中能正确实现这一功能的是()。A:y=x/(10*(n-1))B:y=x%(10*(n-1))C:y=x%(long)pow(10,n-1)D:y=x%(10A(n-1))题号33..•选择题A:(1分,正确答案B,学生答案B)已知有声明"intm[]={5,4,3,2,1},i=0;",下列对m数组元素的引用中,错误是()。A:m[++i]B:m[5]C:m[2*2]D:m[m[4]]题号34...选择题A:(1分,正确答案C,学生答案*)下列程序的输出结果是()。main(){inta=7,b=5;printf("%d\n”,b=b/a);}A:5B:1C:0D:不确定值题号35...选择题A:(1分,正确答案B,学生答案*)假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。A:7B:8C:9D:2题号36...选择题A:(1分,正确答案B,学生答案*)设a为int型变量,执行下列赋值语句后,a的取值分别是()。a=125.534;a=(int)125.521%4;a=5<<2;A:125,31,1B:125,1,20C:125,31,20D:125.534,2,20题号37...选择题A:(1分,正确答案C,学生答案*)设有如下程序段,下面描述中正确的是()。intk=10;while(k=0)k=k-1;A:循环执行一次B:循环是无限循环

C:循环体语句一次也不执行D:循环体语句执行一次题号38...选择题A:(1分,正确答案A,学生答案*)以下程序的输出结果为()。inti;voidprt(){for(i=5;i<8;i++)printf("%c",'*');printf("\t");}main()}A}A:B:C:***““““““““““““************““““““*********题号39...选择题A:(1分,正确答案A,学生答案*)以下函数调用语句中含有()个实参。func((e1,e2),(e3,e4,e5));A:2B:3C:5D:语法错误题号40...选择题A:(1分,正确答案D,学生答案*)C语言中的文件类型只有()。A:索引文件和文本文件两种B:文本文件一种C:二进制文件一种D:ASCII码文件和二进制文件两种题号41...选择题B:(2分,正确答案D,学生答案*)有以下程序#include<stdio.h>main(){intn=2,k=0;while(k++&&n++>2);printf("%d%d\n",k,n);}程序运行后的输出结果是()。A:02B:13C:57D:l2题号42...选择题B:(2分,正确答案D,学生答案*)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。#defineMIN-2147483647intfindmax(intx[],intn){inti,max;for(i=0;i<n;i++){max=MIN;if(max<x[i])max=x[i];}returnmax;}造成错误的原因是()。A:定义语句inti,max;中max未赋初值B:赋值语句max=MIN;中,不应给max赋MIN值C:语句if(max<X[i])max=X[i];中判断条件设置错误D:赋值语句max=MIN;放错了位置题号43...选择题B:(2分,正确答案D,学生答案A)下面是有关C语言字符数组的描述,其中错误的是()。A:不可以用赋值语句给字符数组名赋字符串B:可以用输入语句把字符串整体输入给字符数组C:字符数组中的内容不一定是字符串D:字符数组只能存放字符串题号44...选择题B:(2分,正确答案C,学生答案*)有以下程序#include<stdio.h>intf(intn);main(){inta=3,s;s=f(a);s=s+f(a);printf("%d\n”,s);}intf(intn){staticinta=1;n+=a++;returnn;}程序运行后的输出结果是()。A:7B:8C:9D:10题号45...选择题B:(2分,正确答案B,学生答案*)下面结构体的定义语句中,错误的是()。A:structord{intx;inty;intz;};structorda;B:structord{intx;inty;intz;}structorda;C:structord{intx;inty;intz;}a;D:struct{intx;inty;intz;}a;题号46...选择题B:(2分,正确答案A,学生答案D)设有定义:char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是(A)。A:charstr[]="string”;c=str;B:scanf("%s",c);C:c=getchar();D:c=*string”;题号47...选择题B:(2分,正确答案D,学生答案*)有以下程序#include<stdio.h>#include<string.h>structA{inta;charb[10];doublec;};structAf(structAt);main(){structAa={1001,"ZhangDa",1098.0};a=f(a);printf("%d,%s,%6.1f\n”,a.a,a.b,a.c);}structAf(structAt){t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returnt;}程序运行后的输出结果是()。A:1001,ZhangDa,1098.0B:1002,ZhangDa,1202.0C:1001,ChangRong,1098.0D:1002,ChangRong,1202.0题号48...选择题B:(2分,正确答案D,学生答案*)下列程序段执行后的结果为()。main(){staticinta[3][3]={1,3,5,7,9,11,13,15,17},y,x,*p=&a[2][2];for(x=0;x<3;x++)y+=*(p-4*x);printf("\n%d",y);}A:45B:33C:17D:27题号49...选择题B:(2分,正确答案B,学生答案*)设有定义如下;typedefstuct{intx,y;}pOINT;typedefenum{RED,YELLOW,BLUE,GREEN}COLOR;struct{pOINTxy;COLORc;}pixel,*p=&pixel;以下对变量pixel的赋值操作中正确的是()。A:pixel={1,2,BLUE};B:p->xy.x=1;p->xy.y=2;p->c=BLUE;C:scanf("%d%d%d”,p->xy.x,p->xy.y,&pixel.c);D:pixel.color=2;题号50...选择题B:(2分,正确答案C,学生答案*)执行了以下程序段后,x、w的值为()。intx=0,y=1,z=2,w;if(x++)w=x;elseif(x++&y>=1)w=y;elseif(x++&&z>1)w=z;A:0、1B:1、1C:2、1D:3、2题号51..•选择题B:(2分,正确答案B,学生答案*)已有数据类型定义和变量声明如下:structperson{intnum;charname[20],sex;strrut{intcla;charprof[20];}in;}a={20,"Lining",'M',{5,"computer"}},*p=&a;下列语句中正确的是()。A:printf("%s”,a->name);B:printf("%s",p->f);C:printf("%s",*);D:printf("%s",p->in->prof);题号52...选择题B:(2分,正确答案C,学生答案*)已有预处理命令和声明如下:#defineN10inta=2,c=1;doubleb=1.2;下述程序段正确的是()。A:switch(a){casec:a--;break;casec+1:a++;break;}B:switch(a){caseN>0:a=1;break;case1:a=O;break;}C:switch(a){case2:b++;break;case'0':b=3;}D:switch(b){case1.0:b++;break;case1.2:b=1;break;}题号53..•选择题B:(2分,正确答案C,学生答案*)若有以下声明和定义:voidfun(intc){printf("%d",c);}main(){void(*a)(int)=fun,*b(int),(*c)(int);/*调用fun函数语句位置*/}void*b(intc){}如果在main函数中需要调用fun函数,以下调用语句中错误的是()。A:fun(1);B:(*a)(1);C:b=fun;(*b)(1);D:c=a;(*c)(1);题号54…判断题:inti=20;switch(i/10){case2:printf("A");case1:printf("B”);}的输出结果为Ao()(对或错)参考答案(1分)学生答案(0分)错题号55…判断题:函数strlen("ASDFG\n")的值是7。()(对或错)参考答案(1分)学生答案(0分)错~~F题号56…判断题:通过return语句,函数可以带回一个或一个以上的返回值。(错)(对或错)参考答案(1分)学生答案(0分)题号57…判断题:用fopen("file","r+");打开的文件"file"可以进行修改。()(对或错)参考答案(1分)学生答案(0分)对题号58...填空题:若有定义语句:inta=5;,则表达式:a++的值是 。参考答案(2分)学生答案(0分)5题号59...填空题:若有语句doublex=17;inty;,当执行y=(int)(x/5)%2;之后y的值为参考答案(2分)学生答案(0分)1题号60..•填空题:有以下程序#include<stdio.h>main(){intf,f1,f2,i;f1=0;f2=1;printf("%d,%d",f1,f2);for(i=3;i<=5;i++){f=f1+f2;printf("%d",f);f1=f2;f2=f;}}程序运行后的输出结果是 。参考答案(2分)学生答案(0分)0,1123题号61...填空题:有以下程序#include<stdio.h>inta=5;voidfun(intb){inta=10;a+=b;printf("%d”,a);}main(){intc=20;fun(c);a+=c;printf("%d”,a);}程序运行后的输出结果是 参考答案(2分)学生答案(0分)3025题号62...填空题:有以下程序:#include<stdio.h>fun(intx){if(x/2>0)fun(x/2);printf("%d",x);}main(){fun(6);}程序运行后的输出结果是 。参考答案(2分)学生答案(0分)136题号63…实验_程序填空题:输入x、y两个整数,按先大后小的顺序输出x、y。请写出完整程序。注意:源程序存放在blank.c中。不得增行或删行,也不得更改程序的结构!上传完整程序代码!参考答案(6分)学生答案(0分)#include"stdio.h”main(){intx,y,*px,*py,*p;//空1scanf("%d%d",&x,&y);//空2px=&x;//空3py=&y;//空4if(x<y){p=px;px=py;py=p;}printf("x=%d,y=%d,",x,y);printf("MAX=%d,MIN=%d”,*px,*py);}题号64...实验_程序修改题:给定程序modi.c中fun函数的功能是:根据形参m,计算如下公式的值。例如,若输入5,则应输出2.283333。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!上传完整程序代码!参考答案(6分)学生答案(0分)#include<stdio.h>doublefun(intm){doublet=1.0;inti;for(i=2;i<=m;i++)t+=1.0/i;//错1returnt;//错2}main(){intm;scanf("%d",&m);printf("\nTheresultis%lf\n",fun(m));}题号65...实验_程序设计题:编写函数fun,它的功能是计算:s作为函数值返回。在C语言中可调用log(n)函数求ln(n)。log函数的引用说明是:doublelog(doublex)。例如,若m的值为:20,fun函数值为:6.506583。注意:部分源程序在文件prog.c中。请勿改动主函数main,仅在函数fun的花括号中填入你编写的若干语句上传完整程序代码!参考答案(8分)学生答案(0分)#include<math.h>#include<stdio.h>doublefun(intm){doubles=0.0;inti;for(i=1;i<=m;i++)s+=log(1.0*i);s=sqrt(s);returns;}main(){intn;scanf("%d",&n);printf("%f",fun(n));}选择题A:(1分,正确答案D,学生答案D)以下叙述中正确的是()。A:程序设计的任务就是编写程序代码并上机调试B:程序设计的任务就是确定所用数据结构C:程序设计的任务就是确定所用算法D:以上三种说法都不完整选择题A:(1分,正确答案B,学生答案B)表达式:(int)((double)9/2)-(9)%2的值是()。A:0B:3C:4D:5选择题A:(1分,正确答案B,学生答案B)若有定义语句:intx=10;,则表达式x-=x+x的值为()。A:-20B:-10C:0选择题A:(1分,正确答案A,学生答案A)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是()。A:if((a>b)&&(b>c))k=l;elsek=0;B:if((a>b)ll(b>c))k=l;elsek=0;C:if(a<=b)k=0;elseif(b<=c)k=1;D:if(a>b)k=l;elseif(b>c)k=1;elsek=0;70.选择题A:(1分,正确答案B,学生答案B)当需要定义一个函数时,以下标识符中,()不能用作函数名。A:scanfB:forC:_sumD:F2.选择题A:(1分,正确答案C,学生答案C)若要对a进行++运算,则a应具有以下说明()。A:inta[3][2];B:char*a[]={"12","ab"};C:intb[10],*a=b;D:char(*a)(char);.选择题A:(1分,正确答案B,)若有以下程序:仅供学习与交流,如有侵权请联系网站删除谢谢32intx:intf(inty){return标识符;}#include<stdio.h>intw:main(){intz=2;f(z);…}则在函数f中return语句后允许出现的标识符是()。A:x或wB:x或yC:z或wD:NULL.选择题A:(1分,正确答案A,学生答案A)一个用c语言编写的程序,()是必不可少的。A:取名为main的函数定义B:#include<stdio.h>C:变量声明D:注释.选择题A:(1分,正确答案D,学生答案)已知有声明charc='1';intx=300;floatt=35000;doubled=3.1234567e10;,则以下表达式求值时除()外其结果都可能是不准确的。A:x=t/cB:t=d/xC:t=d/le5fD:t=x+c选择题A:(1分,正确答案A,学生答案A)已知有声明"inta=3,b=4,c;",则执行语句,'c=1/2*(a+b);"后,c的值为()。A:0B:3C:3.5D:4..选择题A:(1分,正确答案A,学生答案C)已知有声明"inta[4][4]={{1,2,3,4},{5,6,7,8),{9,10,11,12},{13,14,15,16)};”,若需要引用值为12的数组元素,则下列选项中错误的是()。A:*(a+2)+3B:*(*(a+2)+3)C:*(a[2]+3)D:a[2][3].选择题A:(1分,正确答案B,学生答案D)下列叙述中,正确的是()。A:C语言中的文件是流式文件,因此只能顺序存取文件中的数据B:调用fopen函数时若用"r"或"r+"模式打开一个文件,该文件必须在指定存储位置或默认存储位置处存在C:当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到该文件中的第1个数据D:无论以何种模式打开一个已存在的文件,在进行了写操作后,原有文件中的全部数据必定被覆盖选择题A:(1分,正确答案C,学生答案)以下叙述中正确的是()。A:C语言系统以函数为单位编译源程序B:main函数必须放在程序开始C:用户定义的函数可以被一个或多个函数调用任意多次D:在一个函数体内可以定义另外一个函数选择题A:(1分,正确答案D,学生答案D)若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是()。A:实参和其对应的形参占用同一存储单元B:形参不占用存储单元C:同名的实参和形参占用同一存储单元D:形参和实参占用不同的存储单元.选择题A:(1分,正确答案D,学生答案)已知有声明inti,a[10],*p=a;,现需要将1到10保存到元素a[0]到a[9]中,以下程序段中不能实现这一功能的是()。A:for(i=0;i<10;i++)a[i]=i+1;B:for(i=0;i<10;i++)p[i]=i+1;C:i=1;whi1e(p<a+10)*p++=i++;D:i=1;whi1e(p<a+10)*a++=i++;.选择题A:(1分,正确答案B,学生答案B)C语言源程序的基本单位是()。A:过程B:函数C:子程序D:标识符选择题A:(1分,正确答案C,学生答案C)下列程序的输出结果是()。main(){inta=7,b=5;printf("%d\n”,b=b/a);}A:5B:1C:0D:不确定值.选择题A:(1分,正确答案B,学生答案B)在C语言程序中,以下说法正确的是()。A:函数的定义可以嵌套,但函数的调用不可以嵌套B:函数的定义不可以嵌套,但函数的调用可以嵌套C:函数的定义和函数的调用都不可以嵌套D:函数的定义和函数的调用都可以嵌套.选择题A:(1分,正确答案A,学生答案A)设有以下定义,值为5的枚举常量是()。enumweek{sun,mon=4,tue,wed,thu,fri,sat}w;A:tueB:satC:friD:thu.选择题B:(2分,正确答案D,学生答案D)有以下程序#include<stdio.h>main(){intn=2,k=0;while(k++&&n++>2);printf("%d%d\n",k,n);}程序运行后的输出结果是()。A:02B:13C:57D:l2.选择题B:(2分,正确答案B,学生答案)有以下程序#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}程序运行后的输出结果是()。A:1,2,1,2B:1,2,2,1C:2,1,2,1D:2,1,1,287选择题B:(2分,正确答案C,学生答案D)有以下程序#include<stdio.h>main(){inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){case0:a[i]++;break;case1:a[i]--;}break;case1:a[i]=0;}for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");}程序运行后的输出结果是()。A:3344B:2050C:3040D:0304选择题B:(2分,正确答案A,学生答案)下列函数的功能是()。fun(char*a,char*b){while((*b=*a)!='\0'){a++;b++;}}A:将a所指字符串赋给b所指空间B:使指针b指向a所指字符串C:将a所指字符串和b所指字符串进行比较D:检查a和b所指字符串中是否有'\0'选择题B:(2分,正确答案A,学生答案A)设有以下函数:voidfun(intn,char*s)( }则下面对函数指针的定义和赋值均正确的是()。A:void(*pf)();pf=fun;B:void*pf();pf=fun;C:void*pf();*pf=fun;D:void(*pf)(int,char);pf=&fun;.选择题B:(2分,正确答案C,学生答案C)若有以下程序段intr=8;printf("%d\n",r>>1);输出结果是()。A:16B:8C:4D:2选择题B:(2分,正确答案D,学生答案)若有声明:intk,a,b;unsignedlongy=5;doublex=1.23;则以下表达式中正确的是()。A:x%(-5)B:x=y[6]C:k=(a=l,b=2,&a+&b)D:a+=a-=(b=2)*(a=3)选择题B:(2分,正确答案A,学生答案A)以下程序的输出结果为()。#defineADD(x)x*xmain(){inta=4,b=6,c=7,d=ADD(a+b)*c;printf("d=%d",d);}A:d=70B:d=80C:d=140D:d=700选择题B:(2分,正确答案A,学生答案A)以下程序的输出结果为()。#include"stdio.h”voidxy(int*x,int*y){int*t;t=x;x=y;y=t;}intmain(){inta=7,b=8,*x=&a,*y=&b;xy(x,y);printf("%d,%d,%d,%d",a,b,*x,*y);}A:7,8,7,8B:7,8,8,7C:8,7,7,8D:8,7,8,7判断题:char*p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。(对)95..判断题:若有定义:char*p(chara[10]);则p是函数名。(对)(对或错).填空题:以下程序运行后的输出结果是__10。#include<stdio.h>main(){intx=20;printf("%d",0<x<20);printf("%d",0<x&&x<20);}97.填空题:以下程序运行后的输出结果是_5。#include<stdio.h>main(){inta=1,b=7;do{b=b/2;a+=b;}while(b>1);printf("%d",a);}填空题:有以下程序#include<stdio.h>main(){chara[20]="Howareyou?”,b[20];scanf("%s",b);printf("%s%s",a,b);}程序运行时从键盘输入:Howareyou?<回车〉则输出结果为Howareyou?How填空题:有以下程序#include<stdio.h>typedefstruct{intnum;doubles;}REC;voidfunl(RECx){x.num=23;x.s=88.5;}main(){RECa={16,90.0};funl(a);printf("%d",a.num);}程序运行后的输出结果是 16实验—程序修改题:给定程序modi.c计算n的阶乘。请改正程序中的错误,使程序能输出正确的结果。注意:不得增行或删行,也不得更改程序的结构!上传完整程序代码!#include"stdio.h”intmain(){intn,i;longt;t=1;scanf("%d”,&n);for(i=1;i<=n;i++)t*=i;printf("%d!=%ld",n,t);}实验—程序设计题:请编写函数ff(str,ch),功能是统计并返回字符ch在字符串str中出现的次数。例如:调用ff("every",'e')后返回2,因为在字符串"every"中字符'e'出现了2次。注意:部分源程序在文件prog.c中。请勿改动主函数main,仅在函数ff的花括号中填入你编写的若干语句。上传完整程序代码!参考答案(8分)#include<stdio.h>intff(char*str,charch){intcount=0;while(*str){if(*str==ch)count++;str++;}returncount;}intmain(){charstr[80],ch;scanf("%s”,str);scanf("%c”,&ch);scanf("%c”,&ch);printf("%d",ff(str,ch));}102.选择题A:(1分,正确答案C,学生答案A)设有定义:inta=l,b=2,c=3;,以下语句中执行效果与其它三个不同的是()。A:if(a>b)c=a,a=b,b=c;B:if(a>b){c=a,a=b,b=c;}C:if(a>b)c=a;a=b;b=c;D:if(a>b){c=a;a=b;b=c;}103.选择题A:(1分,正确答案A,学生答案A)已知数据类型定义和变量声明如下:structsk{inta;floatb;}data[2],*p;若有p=data,则以下对data[0]中成员a的引用中错误的是()。A:data[0]->aB:data->aC:p->aD:(*p).a.选择题A:(1分,正确答案B,学生答案A)有以下程序#include<stdio.h>main(){chars[]={"012xy"};inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='a'&&s[i]<='z')n++;printf("%d\n",n);}程序运行后的输出结果是()。A:0B:2C:3D:5105.选择题A:(1分,正确答案D,学生答案D)逻辑"异或"运算可描述为%xorb",其中a和b为参加运算的两个操作数,运算结果为当且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。以下表达式中()可以正确表示逻辑”异或”运算。A:a||bB:a&&bC:(a&&b)&&!(a||b)D:(a||b)&&!(a&&b)106.选择题A:(1分,正确答案D,学生答案C)已知有声明charc='1';intx=300;floatt=35000;doubled=3.1234567e10;,则以下表达式求值时除()外其结果都可能是不准确的。A:x=t/cB:t=d/xC:t=d/le5fD:t=x+c选择题A:(1分,正确答案A,学生答案D)已知有声明chars[80];,若需要将键盘输入的一个不含空格的字符串保存到数组中,则下列语句中正确的是()。A:scanf("%s",s);B:scanf("%s",s[0]);C:s=gets();D:s=getchar();108.选择题A:(1分,正确答案D,学生答案D)已知有声明inti,a[10],*p=a;,现需要将1到10保存到元素a[0]到a[9]中,以下程序段中不能实现这一功能的是()。A:for(i=0;i<10;i++)a[i]=i+1;B:for(i=0;i<10;i++)p[i]=i+1;C:i=1;while(p<a+10)*p++=i++;D:i=1;while(p<a+10)*a++=i++;选择题B:(2分,正确答案C,学生答案C)有以下定义语句,编译时会出现编译错误的是()。A:chara='a';B:chara='\n';C:chara='aa';D:chara='\x2d';选择题B:(2分,正确答案C,学生答案C)有以下程序#include<stdio.h>#include<string.h>main(){charstr[][20]={"One*World","One*Dream!"},*p=str[1];printf("%d,",strlen(p));printf("%s\n",p);}程序运行后的输出结果是()。A:9,One*WorldB:9,One*Dream!C:10,One*Dream!D:10,One*World选择题B:(2分,正确答案A,学生答案C)有以下程序include<stdio.h>definef(x)x*x*xmain(){inta=3,s,t;s=f(a+1);t=f((a+1));printf("%d,%d\n",s,t);}程序运行后的输出结果是()。A:10,64B:10,10C:64,10D:64,64选择题B:(2分,正确答案C,学生答案B)下列关于C语言文件的叙述中正确的是()。A:文件由一系列数据依次排列组成,只能构成二进制文件B:文件由结构序列组成,可以构成二进制文件或文本文件C:文件由数据序列组成,可以构成二进制文件或文本文件D:文件由字符序列组成,其类型只能是文本文件选择题B:(2分,正确答案B,学生答案C)设有定义如下;typedefstuct{intx,y;}pOINT;typedefenum{RED,YELLOW,BLUE,GREEN}COLOR;struct{pOINTxy;COLORc;}pixel,*p=&pixel;以下对变量pixel的赋值操作中正确的是()。A:pixel={1,2,BLUE};B:p->xy.x=1;p->xy.y=2;p->c=BLUE;C:scanf("%d%d%d”,p->xy.x,p->xy.y,&pixel.c);D:pixel.color=2;选择题B:(2分,正确答案B,学生答案B)已有数据类型定义和变量声明如下:structperson{intnum;charname[20],sex;strrut{intcla;charprof[20];}in;}a={20,"Lining",'M',{5,"computer"}},*p=&a;下列语句中正确的是()。A:printf("%s”,a->name);B:printf("%s",p->f);C:printf("%s",*);D:printf("%s",p->in->prof);选择题B:(2分,正确答案D,学生答案D)若有声明:intk,a,b;unsignedlongy=5;doublex=1.23;则以下表达式中正确的是()。A:x%(-5)B:x=y[6]C:k=(a=l,b=2,&a+&b)D:a+=a-=(b=2)*(a=3).判断题:inti=20;switch(i/10){case2:printf("A");case1:printf("B”);}的输出结果为A。(错)(对或错).判断题:若有定义:char*p(chara[10]);则p是函数名。()(对或错)参考答案(1分)学生答案(1分)对填空题:设有定义:structperson{intID;charname[12];}p;请将scanf("%d",);语句补充完整,使其能够为结构体变量p的成员ID正确读入数据。参考答案(2分)p.ID实验—程序填空题:输入1个长整数,求各位数字的平方和,请写出完整程序。源程序存放在blank.c中。注意:不得增行或删行,也不得更改程序的结构!上传完整程序!参考答案(6分)学生答案(0分)#include<stdio.h>intmain(){intdigit;longin,s;scanf("%ld",&in);if(in<0)in=-in;//空1s=0;//空2while(in>0){digit=in%10;//空3s=s+digit*digit;in=in/10;//空4}printf("sum=%ld",s);}实验—程序修改题:给定程序modi.c计算n的阶乘。请改正程序中的错误,使程序能输出正确的结果。注意:不得增行或删行,也不得更改程序的结构!上传完整程序代码!参考答案(6分)学生答案(0分)#include<stdio.h>intmain(){intn,i,t;t=1;//错1scanf("%d”,&n);for(i=1;i<=n;i++)t*=i;//错2printf("%d!=%d",n,t);}实验_程序设计题:函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如,当a=45,b=12时,调用该函数后,c=4152。注意:部分源程序存在文件prog.c中。请勿改动主函数main,仅在函数fun的花括号中填入你编写的若干语句上传完整程序代码!参考答案(8分)学生答案(0分)#include<stdio.h>voidfun(inta,intb,long*c){*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);}main(){inta,b;longc;scanf("%d,%d",&a,&b);fun(a,b,&c);printf("Theresultis:%d”,

温馨提示

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

评论

0/150

提交评论