2024年10月大一上学期c语言试题(C语言试题及答案(2))

 更新时间:2024-10-12

  ⑴大一上学期c语言试题(C语言试题及答案()

  ⑵C语言试题及答案()

  ⑶{intk,a={,,,,};

  ⑷for(k=;k《;k++)fun(a);

  ⑸for(k=;k《;k++)printf(“%d“,a);

  ⑹上面程序的输出结果是

  ⑺#defineSUB(X,Y)(X)*Y

  ⑻{inta=,b=;

  ⑼printf(“%d“,SUB(a++,b++));

  ⑽上面程序的输出结果是

  ⑾while(num《=)

  ⑿{num++;printf(“%d

  ⒀上面程序的输出结果是

  ⒁{floatx,y;

  ⒂scan(“%f“,&x);

  ⒃if(x《.)y=.

  ⒄elseif((x《.)&&(x!=.))

  ⒅y=./(x+.);

  ⒆elseif(x《.)y=./x;

  ⒇printf(“%f

  ⒈若运行时从键盘上输入.(表示回车),则上面程序的输出结果是

  ⒉{intx=,y=,a=,b=;

  ⒊{case:a++;break;

  ⒋case:b++;break;

  ⒌a++;b++;break;

  ⒍printf(“a=%d,b=%d

  ⒎上面程序的输出结果是

  ⒏若有下面的程序片段:

  ⒐inta,**pp,i;

  ⒑for(i=;i《;i++)

  ⒒则对数组元素的错误引用是

  ⒓D.*(*(p+)+)

  ⒔{floatx,y,z;

  ⒕scan(“%f%f“,&x,&y);

  ⒖{if(fabs(z)》.)

  ⒗{x=y;y=z;z=x/y;

  ⒘printf(“%f

  ⒙若运行时从键盘上输入..(表示回车),则输出的结果是

  ⒚f(inb,intn)

  ⒛for(i=;i《=n;i++)r=r*b;

  {intx,a={,,,,,,,};

  printf(“%d

  上面程序的输出结果是

  voidfun(char*s)

  strcpy(a,“STRING“);

  printf(“%s

  上面程序的输出结果是(└┘表示空格)

  A.STRING└┘└┘└┘└┘

  C.STRING└┘└┘└┘

  若已建立下面的链表结构,指针p、s分别指向图中所示的结点,则不能将s所指的结点插入到链表末尾的语句组是

  A.s-》next=NULL;p=p-》next;p-》next=s;

  B.p=p-》next;s-》next=p-》next;p-》next=s;

  C.p=p-》next;s-》next=p;p-》next=s;

  D.p=(*p).next;(*s).next=(*p).next;(*p).next=s;

  voidfun(float*pl,float*p,float*s)

  {s=(float*)calloc(,sizeof(float));

  *s=*p+*(p++);

  {floata={.,.},*s=a;

  fun(a,b,s)

  printf(“%f

  上面程序的输出结果是

  voidfun(char*w,intm)

  {chars,*p,*p;

  p=w;p=w+m-;

  while(p{s=*p++;*p=*p--;*p=s;}

  {chara=“ABCDEFG“;

  fun(a,strlen(a));

  上面程序的输出结果是

  填空题(每空分,共分)

  请将每空的正确答案写在答题卡上【】-【】序号后的横线上,答在试卷上不得分。

  DOS命令分为内部命令与外部命令,XCOPY命令是【】命令

  为了列出当前盘当前目录中所有第三个字符为C的文件名的有关信息,应该用命令【】。

  设当前盘为A盘,当前目录为XY,A盘上的一个文件QR.C在当前目录下的子目录W中。现已将A盘的当前目录改为DXY,当前盘改为C盘,如需指定A盘上该文件应写成【】。

  用十六进制给存储器中的字节地址进行编号,其地址编号是从到FFFF,则该存储器的容量是【】KB。

  设有两个八位二进制数与相加,其结果的十进制表示为【】。

  数学式子写成C语言表达式是【】。

  下面程序的输出结果是【】。

  {statiharb=“Goodbye“;

  char*chp=&b;

  while(--chp》=&b)putchar(*chp);

  下面程序的输出结果是【】。

  voidas(intx,inty,int*cp,int*dp)

  {inta=,b=,c,d;

  as(a,b,&c,&d);

  printf(’%d%d

  main(intargc,char*argv)

  printf(’%d

  for(i=;i《=argc+;i++)printf(“%s“,argv);

  若上面的程序编译、连接后生成可执行文件ABC.EXE,则输入以下命令行

  abcfilefile(表示回车)

  程序执行后的输出结果是【】。

  条件“()设二进制数a是,若想通过异或运算a^b使a的高位取反,低位不变,则二进制数b应是【】。

  若有以下说明和定义语句,则变量w在内存中所占的字节数是【】。

  {floatx,y;

  structst{unionaav;floatw;doubleave;}w;

  下面程序的输出结果是【】。

  fun(char*s,chara,intn)

  while(ereturnj;

  for(k=;k《=N;k++)

  printf(“%d

  “,fun(s,’E’,N));

  }()下面程序的输出结果是【】。

  voidfun(char*a,char*a,intn)

  for(k=;ka-’A’-+)&+’A’;

  fun(s,s,);

  下面的findmax函数返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空。

  findmax(ints,intt)

  for(p=,k=p;pif(s)【】。

  下面程序的输出结果是【】。

  if(x==||x==)return();

  p=x-fun(x-);

  {printf(“%d

  “,fun());}

  下面程序的输出结果是【】。

  funa(inta,intb)

  {returna+b;}

  funb(inta,intb)

  {returna-b;}

  sub(int(*t)(),intx,inty)

  {return((*t)(x,y));}

  {intx,(*p)();

  x=sub(p,,);

  x+=sub(funb,,);

  printf(“%d

  下面程序的输出结果是【】。

  {char*p={“BOOL“,“OPK“,“H“,“SP“};

  for(i=;i》=;i--,i--)printf(“%c“,*p);

  为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是向结点的指针域),请填空。

  structlink{chardata;【】}node;

  下面的程序用来统计文件中字符的个数,请填空。

  if((fp=fopen(“fname.dat“,“r“))==NULL)

  {printf(“Can’topenfile!

  “);exit();}

  {fgetc(fp);num++;}

  printf(“num=%d

  fclose(fp);

  一`选择题(()~()题每题分,()~()题每题分,共分)

  C()A()B()D()D()A()C()B()D()C

  B()D()A()C()B()A()B()A()C()C

  D()B()B()A()C()D()D()B()C()A

  B()B()D()C()A()C()A()B()C()A

  C()C()A()C()B()B()D()C()D()C

  二`填空题(每空分,共分)

  (第()`()空允许小写或大小写混合使用,其它空均须与答案一样)

  pow(sin(x),)*(a+b)/(a-b)或sit(x)*sit(x)*(a+b)/(a-b)

  abc.exefilefile(注:两个答案,每个分)

  structlink*next

  !feof(fp))或(feof(fp)==)

  车票根据题意两两站点连线生成,金额和数量分别用随机数。

  数据存储:站点,车票,用户分别为个结构体,用于对应数据库。

  购买流程:检查输入数值有效性-》检查车票库存-》购买成功同步修改用户购买流水及车票库存。(这里题目需求不明确,没有指明用户购买方式,我的代码允许一个用户同时购买多种票,每种票可分批购买多张。购买流水记录自动增加和更新。

  退票流程:检查输入和用户购买记录,同步更新用户及车票信息。

  删除流程:选择删除没有被用户购买的票(函数检查所有用户,虽然本题只要一个用户,实际传参用户数组首地址。

  PS:这个题目涉及到增删改,用链表来写更好,但考虑你学习范围,没有使用链表而是动态数组,动态数组删除,考虑内存占用,不仅要需循环移位还要释放多余地址。

  另外整体程序,异常的处理我只是单纯返回或者或者-区分基本的成功与失败。你如想对个别异常进行特殊处理,自行修改返回值,接收判断。

  #include《stdio.h》

  #include《stdlib.h》

  #include《string.h》

  #include《time.h》

  #include《windows.h》

  #include《conio.h》

  #defineMS//最大站点数

  typedefstructstation

  charsName;

  typedefstructticket

  inttid;//票编号

  STN*ssP;//起始站

  STN*tsP;//终点站

  intvalue;//票价

  intnumber;//数量

  typedefstructuserInfo//用户

  charuid;//身份证号

  intt;//购买的票种类数量

  int*btids;//购买的所有票id数组

  int*btNum;//购买的所有票数量数组

  intinit(STNstns,TKT**tkts);//初始化车站、票数据

  intdisAllTickets(TKT*tkts);

  intbuyTicket(UIFO*uifo,TKT*tkts);//异常返回

  intreTicket(UIFO*uifo,TKT*tkts);//异常返回

  intshowMenu(UIFO*uifo,TKT*tkts);

  intdelIntByIndex(int*nums,intlen,intindex);//通过下标index删除动态整型数组nums对应元素,并释放多余地址,返回删除后的数组长度,异常返回-

  intdelTkts(UIFO*uifos,intlen,TKT*tkts);//删除指定票(检查用户组,只要有一个用户购买,无法删除

  intt;//票种类数量

  TKT*tkts=NULL;

  UIFOuifo={““,,NULL,NULL};

  srand(time(NULL));

  t=init(stns,&tkts);

  printf(“共生成%d组票(每组往返两种票,共%d种票

  “,t/,t);

  printf(“按任意键继续。。。。

  “),getch();

  system(“cls“);

  showMenu(&uifo,tkts);

  intshowMenu(UIFO*uifo,TKT*tkts)

  printf(“()Buyticket

  printf(“()Refundticket

  printf(“()Removeticket

  printf(“()Displayalltickets

  printf(“()Exit

  while(n《||n》)

  scanf(“%d“,&n);

  case:return;

  case:if(!buyTicket(uifo,tkts))return;break;

  case:if(!reTicket(uifo,tkts))return;break;

  case:if(!delTkts(uifo,,tkts))return;break;

  //这里删除功能,用户多名,要传数组首地址,由于演示只有一个用户(len=对应用户数,所以只传该用户地址(len=

  case:disAllTickets(tkts);break;

  showMenu(uifo,tkts);

  intdisAllTickets(TKT*tkts)

  for(i=;i《t;i++)

  printf(“编号:%d路程:%s-%s票价:%d剩余票数:%d

  “,tkts.number);

  printf(“按任意键继续。。。。

  “),getch();

  system(“cls“);

  intdelIntByIndex(int*nums,intlen,intindex)

  inti,*temp=NULL;

  if(index》len-)return-;

  for(i=index;i《len-;i++)

  temp=(int*)realloc(nums,sizeof(int)*len);

  if(!temp)return-;

  nums=temp;

  free(nums);

  returnlen;

  intreTicket(UIFO*uifo,TKT*tkts)

  inti,j,tid,n,index,len,flag=;

  printf(“当前用户购买记录:

  for(i=;i《uifo-》t;i++)

  for(j=;j《t;j++)

  if(tkts)index=j;

  printf(“--车票编号:%d,起末站:%s-%s,购买票数:%d

  “,uifo-》btids);

  printf(“请输入要退票的车票id及票数:“),scanf(“%d%d“,&tid,&n);

  for(i=;i《uifo-》t;i++)

  if(uifo-》btids》=n)

  for(j=;j《t;j++)

  if(tkts.number+=n;//同步修改对应车票剩余票数

  uifo-》btNum-=n;//用户购买记录修改

  if(uifo-》btNum==)//某种车票全部退完,删除该条记录

  len=delIntByIndex(uifo-》btNum,uifo-》t,i);

  if(len==-)return;

  len=delIntByIndex(uifo-》btids,uifo-》t,i);

  if(len==-)return;

  uifo-》t=len;

  printf(“退票成功!

  printf(“无此购买记录或输入数量不符合

  printf(“按任意键继续。。。。

  “),getch();

  system(“cls“);

  intbuyTicket(UIFO*uifo,TKT*tkts)

  inti,n=-,index=-,*temp=NULL;

  for(i=;i《t;i++)

  printf(“编号:%d路程:%s-%s票价:%d剩余票数:%d

  “,tkts.number);

  printf(“请输入始发站站名和终点站站名:“),scanf(“%s%s“,spn,tpn);

  for(i=;i《t;i++)

  if(strcmp(tkts.tsP-》sName,tpn)==)

  printf(“车票%s-%s票价:%d剩余票数:%d

  “,tkts.number);

  if(index==-)

  printf(“购买失败!无此路程的车票

  while(n《=)

  printf(“请输入要购买的数量(大于:“),scanf(“%d“,&n);

  if(tkts.number《n)

  printf(“错误:车票数量不足或者输入数值超出范围!请重新输入!

  for(i=;i《uifo-》t;i++)//检查用户购买记录,重复票累加购买数量,不同票新增记录

  if(uifo-》btids.tid)

  printf(“该票已购买了%d张,现再次购买%d张,累计购买了%d张

  “,uifo-》btNum+n);

  uifo-》btNum+=n;

  tkts.number-=n;

  if(i==uifo-》t)//未检查到重复记录,新增

  if(!uifo-》btids)

  uifo-》btids=(int*)malloc(sizeof(int));

  if(!uifo-》btids)return;

  uifo-》btNum=(int*)malloc(sizeof(int));

  if(!uifo-》btNum)return;

  temp=(int*)realloc(uifo-》btids,sizeof(int)*(uifo-》t+));

  if(!temp)return;

  uifo-》btids=temp;

  temp=(int*)realloc(uifo-》btNum,sizeof(int)*(uifo-》t+));

  if(!temp)return;

  uifo-》btNum=temp;

  uifo-》btids.tid;

  printf(“该票购买了%d张

  “,(uifo-》btNum=n));

  tkts.number-=n;

  uifo-》t++;

  printf(“用户购买记录:

  for(i=;i《uifo-》t;i++)

  printf(“--车票编号:%d,购买票数:%d

  “,uifo-》btids);

  printf(“本次成功购买了%s-%s的票%d张!

  “,tkts.tsP-》sName,n);

  printf(“按任意键继续。。。。

  “),getch();

  system(“cls“);

  intdelTkts(UIFO*uifos,intlen,TKT*tkts)//len:所有购买的用户数量

  inti,j,k,tid,flag=,index;

  for(i=;i《t;i++)

  printf(“编号:%d路程:%s-%s票价:%d剩余票数:%d

  “,tkts.number);

  printf(“请输入要删除的车票编号:“),scanf(“%d“,&tid);

  for(i=;i《t;i++)

  if(tid==tkts.tid)

  for(j=;j《len;j++)//检查所有用户购买记录

  for(k=;k《uifos.t;k++)

  if(uifos==tid)

  printf(“该票已被用户购买,无法删除,需先完成退票!

  if(!flag)printf(“删除失败,输入数值超出范围或不可删除!

  free(tkts.ssP);

  free(tkts.tsP);

  free(&tkts);

  free(tkts.ssP);

  free(tkts.tsP);

  for(i=index;i《t;i++)

  tkts.ssP=NULL;

  tkts.tsP=NULL;

  free(&tkts);

  printf(“删除成功!

  printf(“按任意键继续。。。。

  “),getch();

  system(“cls“);

  intinit(STNstns,TKT**tkts)

  TKT*tTemp=NULL;

  inti,j,n,v,t=;

  staticintid=;

  printf(“生成站点:

  for(i=;i《MS;i++,id++)

  sprintf(stns.sid,“车站%d“,id);

  sprintf(stns.sName,“SN%d“,id);

  printf(“----站点名:%s。站点ID:%s

  “,stns.sName);

  printf(“计算所有站点连线,生成车票(票是往返,所以一次生成往返两组票:

  for(i=;i《MS;i++)

  for(j=i+;j《MS;j++)

  if(!(*tkts))

  *tkts=(TKT*)malloc(sizeof(TKT)*);

  if(!(*tkts))return-;

  tTemp=(TKT*)realloc((*tkts),sizeof(TKT)*t);

  if(!tTemp)return-;

  *tkts=tTemp;

  n=rand()%+;//每种票随机~张(保证总数大于

  v=rand()%+;//随机生成票价~

  (*tkts).tid=t;

  (*tkts).value=v;

  (*tkts).number=n;

  (*tkts).tid=t-;

  (*tkts).value=v;

  (*tkts).number=n;

  printf(“----%s和%s的之间往返票各生成%d张,票价为%d(随机

  “,stns.sName,n,v);

  returnt-;

  //答题不易,如采纳的,请不要无故删除问题。

  求一份大一c语言考试试卷,加答案

  附件上传失败...C语言期末考试题及答案()、构成C语言的基本单位是___B____。过程?函数?语句?命令?、设x为整型变量,不能正确表达数学关系:《x《的c语言表达式是__B___。x》&&x《?x==||x==||x==||x==?!(x《=)&&(x《)?、在C语言中,逻辑运算符的优先级从高到低的排列顺序为__D___。&&、||、!?||、&&、!?&&、!、||?!、&&、||?、下面语句中,正确的是__D___。printf(“%c

  “,“student“;?printf(“%c

  “,“c“;?printf(“%s

  “,&a;?printf(“%s

  “,“hello“;?、对于for(表达式;;表达式可以理解为__B___。for(表达式;;表达式?for(表达式;;表达式?for(表达式;表达式;表达式?for(表达式;表达式;表达式?、执行下面程序段的结果是__B___。main(){intx=,a=,b=;switch(x){case:b++;case:a++;case:a++;b++;}printf(“a=%d,b=%d“,a,b);}a=,b=?a=,b=?a=,b=?a=,b=?、执行下面程序段的结果是__D___。intx=;do{printf(“%d”,x--;}while(x;打印出?打印出?不打印任何结果?陷入死循环?、设x=,y=;z=,执行下面一段程序后z的结果是__C___。If(x》yif(y》zx=y;elsez=y;????、如果一个函数被说明为static,那么__B___。该函数只能被main函数调用?该函数能被当前文件的函数调用,但不能被其他文件的函数调用?该函数不能被当前文件的函数调用,可以被其他文件的函数调用?任何文件的函数都可以调用该函数?、下面关于局部变量的描述中,错误的是__D___。函数的局部变量的有效范围只能在本函数?函数的形式参数也是局部变量?局部变量的名称不能和函数同名称?不同的函数中不能定义相同名称的局部变量?、下列初始化字符数组的语句中,错误的是__A___。charstr=“hello“;?charstr={’h’,’e’,’l’,’l’,’o’,’’};?charstr={“hi“};?charstr=““;?、引用数组元素时,数组下标可以是__D___。整型常量?整型变量?整型表达式?以上均可?、已知:charstr,*p=str;下面的语句中正确的是__B___。str=“ABC“;?p=“ABC“;?*str=“ABC“;?*p=“ABC“;?、下面语句中,错误的是___D__。inti;int*p;p=&i?inti,*p;p=&a?inti,*p=&a?inti,*p;*p=i;?、下面对于结构体类型的描述正确的是__A___。结构体类型的大小为各成员变量所占内存的总和?结构体类型变量与简单数据类型变量的引用规则一致。?结构体类型的大小为其成员中所占内存空间最大的变量的大小?结构体类型的大小为其最后一个成员中所占内存空间的大小?、C语言规定:在一个源程序中,main函数的位置____C____。必须在最开始?必须在系统调用的库函数的后面?可以任意?必须在最后?、表达式/*sqrt(.)/值的数据类型是___C____。int?float?double?不确定?、在c语言中,char型数据在内存中的存储形式是___D___。补码?反码?原码?ASCII码?、阅读以下程序,当输入的数据形式为:,,《CR》时,正确的输出结果为___D___。main(){intx,y,z;scanf(“%d%d%d“,&x,&y,&z);printf(“x+y+z=%d

  “,x+y+z);}x+y+z=?x+y+z=?x+z=?不能确定?、有如下程序voidmain(){floatx=.,y;if(x《.)y=.;elseif(x《.)y=./x;elsey=.;printf(“%f

  ”,y);}该程序的输出结果是(C。.?.?.?.?、判断char型变量s是否为小写字母的正确表达式是__C____。’a’《=s《=’z’?(s》=’a’)&(s《=’z’)?(s》=’a’)&&(s《=’z’)?(’a’《=s)and(’z’》=s)?、执行以下语句后,y的值为___A___。intx,y,z;x=y=z=;++x||++y&&++z;???不确定值?、有如下程序段:intnumber=;while(number++《=)printf(“%d

  ”,number++);则正确的执行结果是___C___。????、有如下程序voidmain(){intn=;while(n》){n--;printf(“%d”,n);}}该程序段的输出结果是__B___。????、要使以下程序段输出个整数,请在空格中填入一个整数。for(i=;i《=___B___;printf(“%d

  “,i+=));????、设函数fun的定义形式为:fun(charch,floatx){…}则以下对函数fun的调用语句中正确的是___B___。fun(“abc”,)?t=fun(‘D’,)?fun(‘ab’,)?fun(‘’,)?、函数求sum(intn)的功能是计算自然数到n的和,即++…+n。Main(){printf(“Thesum=%d

  “,sum());}intsum(intn){ints=,i;for(i=;i《=n;i++)_____B_____}请从备选答案中选择一答案,补全程序。s=s+n;returns;?s=s+i;returns;?returns;?returns+=I;?、设函数fun的定义形式为intfun(inta,));}则程序的运行结果为___C___。????、若有说明:inta;则对数组元素的正确引用是___D____。a?a?a()?a?、以下不正确的定义语句是___B___。doublex={.,,,,,,,.};?inty={,,,,,};?charc={’’,’’,’’,’’,’’};?charc={’x’,’xa’,’x’};?、下面程序的运行结果是___B____。#include“stdio.h“main(){charstr)!=’’;k++){switch(c){case’I’:++k;break;cSWA?SW*?SW*A?SW?、以下能正确进行字符串赋值操作的是___D___。chars={““};?chars={’’,’’,’’,’’,’’,‘’};?char*s;*s=““;?char*s=““;?、以下程序段的运行结果是___C___。Chara=“program“,*p;p=a;while(*p!=’g’){printf(“%c“,*p-);p++;}PROgram?PROGRAM?PRO?proGRAM?、若有说明:char*pc={“aaa“,“bbb“,“c“,“ddd“};,则以下叙述正确的是__C____。*pc代表的是字符串“aaa“的首地址?*pc代表的是字符’a’的首地址?pc代表的是字符串“aaa“的首地址?pc代表的是字符’a’的首地址?、下列程序的运行结果是___B___。#include《stdio.h》#include《string.h》voidf(char*s,intn){chara,*q,*q;q=s;q=s+n-;while(q《q){a=*q++;*q=*q--;*q=a;}}main(){charb=“ABCDEFG“;f(b,sGAGGAGA?AGAAGAG?GFEDCBA?AGADAGA?、定义如下的结构体描述同学信息structStudent{unsignedlongid;charname;}s;假设此同学的序号为,姓名为黎明,班级为冶金班,则描述正确的为___C__。id=;name=黎明;class=冶金班;?id=;name=”黎明”;class=”冶金班”;?s.id=;s.name=”黎明”;s.class=”冶金班”;?s.id=;s.name=黎明;s.class=冶金班;?、用来描述C程序中注释的是__C___。//??**?、下列变量中合法的定义是__A___。short_a=-?longif=xabcL?double_d=.e?floata=.e.?、当c的值不为时,能够将c的值赋给变量a和b的是__C___c=b=a?(a=c||(b=c?(a=c&&(b=c?a=c=b?、设有以下程序段,执行后的输出结果是___B__intx=,y=;printf(“%d“,(x,y;??,?编译出错C语言期末考试题及答案()、若执行下面的程序时从键盘输入,则输出是__B__main(){inta;scanf(“%d”,&a);if(a++》)printf(“%d

  ”,++a);elseprintf(“%d

  “,a--);}????、执行下面程序段的结果是__D___intx=;do{printf(“%d”,x--;}while(x;打印出?打印出?不打印任何结果?陷入死循环?、执行与句:for(n=;n++《;);后,变量n的值是__C__。???不定?、以下关于循环的描述中,错误的是__D___。可以用for语句实现的循环一定可以用while语句实现?可以用while语句实现的循环一定可以用for语句实现?可以用do…while语句实现的循环一定可以用while语句实现?do…while语句与while语句的区别仅仅是关键字while的位置不同?、下面的描述错误的是__C__。函数可以有多个形式参数?函数可以没有返回值?函数内可以嵌套定义函数?函数可以被其他函数调用?、函数返回值的类型是由__A__决定的。定义函数时指定的返回类型?函数中return语句的表达式类型?主调函数的实际参数类型?主调函数的返回值类型?、定义了一维int型数组a后,下面错误的引用是__B__。a=;?a=;?a=*;?a;?、定义了int型二维数组a前的数组元素个数为__B__。????、下面语句中,错误的是__D__。inti;int*p;p=&i?inti,*p;p=&a?inti,*p=&a?inti,*p;*p=i;?、已知int型二维数组a的地址不能表达为__C__。&a?a+?*a+?*(a+)+?、C语言中,种基本数据类型的存储空间长度的排列顺序为___A___。charchar=intcharchar=int=longint《=float、假设所有变量均为整型,则表达式(a=,b=,b++,a+b)的值是___B___。????、若有说明语句:charc=’’;则变量c___A___。包含个字符?包含个字符?包含个字符?说明不合法,c的值不确定?、若x,y均定义为整型,z定义为double型,以下不合法的scanf函数调用语句是___C___。scanf(“%d%lx,%le“,&x,&y,&z);?scanf(“%d*%d%lf“,&x,&y,&z);?scanf(“%x%*d%o“,&x,&y,&z);?scanf(“%x%o%.f“,&x,&y,&z);?、若输入字符串:abcde《回车》,则以下while循环体将执行___A___次。while((ch=getchar())==’e’)printf(“*“);次?死循环?次?次?、执行下面的程序段后,k的值是___C___。k=;n=;do{k*=n%;n/=;}while(n);????、下面程序段中循环的执行次数是___B___。a=;b=;do{b+=;a-=+b;}while(a》=);????、下面程序段的运行结果是__D____。x=;do{printf(“*“);x--;}while(!x==);*?***?没有输出?**?、下面程序段的运行结果是___B___。i=;s=;a=;do{a=a+s*i;s=-s;i++;}while(i《=);printf(“%d“,a);?-???、有如下程序voidmain(){inta=,b=-,c=;if(a)if(b《)c=;elsec++;printf(“%d

  “,c);}该程序的输出结果是___A___。????、程序中对fun函数有如下说明voidfun();下面说明是错误的是___B___。fun函数无返回值?fun函数的返回值可以是任意的数据类型?fun函数没有形式参数?void可以省略?、函数求sum(intn)的功能是计算自然数到n的和,即++…+n。main(){printf(“Thesum=%d

  “,sum());}intsum(intn){ints=,i;for(i=;i《=n;i++)_____B_____}请从备选答案中选择一答案,补全程序。s=s+n;returns;?s=s+i;returns;?returns;?returns+=i;?、有以下程序intf(intx,inty){returnx》y?x:y;}intf(intx,inty){returnx》y?y:x;}main(){inta=,b=,c=,d=,e,f,g;e=f(f(a,b),f(c,d));f=f(f(a,b),f(c,d));g=a+b+c+d-e-f;printf()__A___,,?,,?,,?,,?、若有说明:inta={,,,,,,};则数组a第一维的大小是___B___。???无确定值?、判断字符串s是否大于字符串s,应当使用___D____。if(s》s)?if(strcmp(s,s))?if(strcmp(s,s)》)?if(strcmp(s,s)》)?、当运行以下程序时,从键盘输入:AhaMAAha《CR》《CR》表示回车,则下面程序的运行结果是___A____。#include“stdio.h“main(){chars==c)ahAMa?AhAMa?AhAMaahA?ahAMaahA?、以下程序执行后a的值为___C____。main(){inta,m=,k=,*p=&ka=p!=&mprintf(“%d

  “,a);}-????、以下能正确读入字符串的程序段是____C___。char*p;scanf(“%s“,p);?charstr;scanf(“%s“,&str);?charstr,*p;p=str;scanf(“%s“,p);?charstr);?、若有定义:inti,x的值赋给变量i的语句是___B___。i=x?i=*(*(x+))?i=*(*(x+)+)?i=*(x+)?、下面程序的运行结果是____A___。#include《stdio.h》#include《string.h》fun(char*s){chart,*a,*z;a=s;z=s+strlen(s)-;while(a++《z--){t=*a++;*a=*z--;*z=t;}}main(){char*p;p=“aabdddfg?afcdebg?gbedcfa?gfedcba?、用来描述C程序中注释的是__C___//??**?、对于“xy

  \’“字符串的长度是__B___????、已知:intx=;执行语句x-=x+x;后x的值是__A___-??-??、下列描述中,正确的是__A___所有的输入/输出都是通过调用库函数处理的?所有的输入/输出都是通过输入/输出语句实现的?getchar和putchar可以省略#include?在输入/输出格式中的*表示跳过数据的含义?、设x=,y=;z=,执行下面一段程序后z的结果是__C___if(x》yif(y》zx=y;elsez=y;????、执行下面程序段的结果是__D___intx=;do{printf(“%d”,x--;}while(x;打印出?打印出?不打印任何结果?陷入死循环?、以下关于switch语句和break语句的描述正确的是__D___在switch语句中必须使用break语句?break语句只能用于switch语句体中?break语句只能用于循环语句中?在switch语句中可以使用break语句?、与语句while(!x等价的语句是__A___while(x==?while(x!=?while(x!=?while(~x?、下面的描述错误的是__C___?函数可以有多个形式参数??函数可以没有返回值??函数内可以嵌套定义函数??函数可以被其他函数调用?、下面关于局部变量的描述中,错误的是__D___?函数的局部变量的有效范围只能在本函数??函数的形式参数也是局部变量??局部变量的名称不能和函数同名称??不同的函数中不能定义相同名称的局部变

  c语言的题大一上学期的

  很简单:从字符串的两头分别向中间遍历,每遍历一个字符就比较是否相同,如果一直相同,显然是回文。如果出现不相同的,则左右分别尝试跳过一个字符再比较,如果再次出现不相同,显然就要输出N了,如果后续的都相同,那就是回文。

  大一c语言考试题(急

  C源程序文件的扩展名是(.C);编译后生成的文件名后缀是(.OBJ);经过连接后生成文件名后缀是(.exe);在VC++.中用Run命令运行当前程序时,运行的程序扩展名是(.exe)。、结构化程序的三种基本结构是(顺序、选择、循环)。、整型常量有三种表示方法,它们是(十进制整数)、(八制整数)、(十六整数)。、表达式.+/+%的值是(.);/和%的值各是(和)。、表达式%*的值是();/*的值是();*%的值是()。、设intx=;执行x+=x-=x*x后,x的值是(-)。、表达式k=,k+=k-=k+的值是(-)。、语句“printf(“%x,%o“,,);“的输出结果是(,)。、设shortx,y;y=(x=,x+,++x,x++*);则x,y的值各是(,)。、设intx,y,z,t;x=y=z=;t=++x||++y&&++z;则y的值是()。、条件《=x《或x《=的C语言表达式是(x》=&&x《||x《=)、设a=,b=,c=,d=;表达式a》b?a:c《d?a:d的值是()。、在C程序中,用()表示逻辑值“真”。、表示“x≥y≥z”的C表达式是(x》=y&&y》=z)。、设x为int型变量,请写出一个关系表达式((x%==)),用以判断x同时为和的倍数时,关系表达式的值为真。、设ch是字符型变量,判断ch为英文字母的表达式是:(ch《=’z’&&ch》=’a’||ch》=’A’&&ch《=’Z’)。、在C语言中参数的传递总是采用(单向)传递。、如果return表达式;中”表达式”的类型与函数类型不一致,则以(函数类型)的类型为准自动转换;如果实际参数的类型与形式参数的类型不一致,则以(形式参数)的类型为准自动转换。、函数形式参数在(调用)时分配内存,(调用结束)时释放内存。、系统总是为数组分配(连续)的一块内存。、字符串的结束标志是(ASCII码的)。、TC系统为任何指针变量分配的内存是()字节。、若有定义:doublex;则x数组中行下标的下限为(),列下标的上限为()。、若有定义intx=,*p;则使p指向变量x的赋值语句为(p=&x)。、在C语言程序中,在函数内部定义的变量称为(局部变量)。、chara={“”,””};则(前者)占用内存多。、structst{charnum;floatave;}a,*p;则变量a和p在内存各占(和)字节。、unionun{inti;charc;};structst{intv;doublet;unionunk;}w,*pw;pw=&w变量w占用()字节;通过w访问v);通过w访问成员c的形式是(w.k.c);通过pw访问v,*(pw-》v));通过pw访问成员c的全部形式有((pw-》k.c))。(实验验证,pw-》k-》c这种书写有错误直接用.也是错误)、设fp是文件指针,要把字符变量ch的内容写入文件,可用的语句有(fputc(ch,fp);fwrite(&ch,,,fp);)。、fputs(str,fp)函数的功能是(将数据str写入fp文件流中)。{题不能用fputs(&ch,fp);由于ch只有一个字符,如果用这句的话,会因为没有字符串结束标志而写入很长的数据。从实验中得出。}涉及到穷举的题目,像、可能没有列举完全其他题目都是经过vc++.验证过的。

  求一张C语言的期末考试卷,我是大一的新生,想看看试卷的大概格式和内容

  本试卷共页,共大题,考生在作答前应先检查是否有缺页、白页,以防漏答。答题前,请先填写学号、姓名、专业及班级。一、单项选择题(共题,每题分,共分。在备选答案中选择一个最佳答案。多选、错选、不选不得分、不是C语言基本数据类型的是()。A、指针类型B、整型C、字符型D、实型、设有:inta=,b=,c=,x,y;表达式&&(x=a)&&(y=b)的值为(。A、B、C、D、、设有语句inta=;则执行了语句a+=;后,变量a的值为(。A、B、-C、D、、执行以下程序段后,输出的y值为(voidmain(){inta={,,,,};inty,*p;p=&a;y=*p;printf(“%d”,y);}A、B、C、D、、有定义语句:floata;则分配给数组a的内存空间为(字节。A、B、C、C、、以下描述错误的是(。A、break语句可用于while语句。B、break语句和continue语句的作用是一样的。C、在循环语句中使用break语句是为了跳出循环,提前结束循环。D、在循环语句中使用continue语句是为了结束本次循环,而不终止整个循环。、C语言中规定,if语句的嵌套结构中,else总是()。A、与最近的if配对B、与第一个if配对C、按缩进位置相同的if配对D、与最近的且尚未配对的if配对、说明语句“int(*p)();”的含义是(。A、p是一个指向一维数组的指针变量。B、p是指针变量,指向一个整型数据。C、p是一个指向函数的指针,该函数返回一个int型数据。D、以上都不对。、以下对二维数组c的正确声明是(。A、intc;B、intc(,);C、intc()();D、intc;、下述程序段执行后输出结果为()。intx=,y=;printf(“%d“,(x,y));A、B、C、,D、编译出错二、填空题(共题,共空,每空分,共分。将答案填在题中横线上、C语言提供的三种逻辑运算符是&&、||和!;、函数的返回值是通过函数中的return语句获得的。、在“inta的值为____;、对于“int*pa;“pa是一个具有个元素的_数组指针_,每个元素是一个指向int型变量的__指针__;、单向链表的尾节点next指针应赋值__NULL___;、在语句for(x=,y=;x》y;y++)中循环体执行的次数为。、inta的地址为。三、程序填空题(共题,共空,每空分,共分、以下程序完成计算-/+/-/+/+……前n项和,请填空。#include《stdio.h》intmain(){inti,n,flag;floatsum;scanf(“%d“,&n);flag=;sum=;for(i=;i《=n;i++){sum+=(float)flag/i;flag=-flag;}printf(“%.f

  “,sum);}、以下程序的功能是从键盘输入n个整数,统计其中正数、、负数的个数,请填空。#include《stdio.h》voidmain(){inta,i,count,count,count;count=count=count=;for(i=;i《=n;i++){scanf(“%d”,&a);if(a》)count++;elseif(a==)count++;elsecount++;}printf(“正数:&d个,零:%d个,负数:%d个

  ”,count,count,count);}四、运行程序结果题(共题,每题分,共分、写出程序运行结果。voidmain(){intx=,y=,t;int*p,*p;p=&xp=&yt=*p;*p=*p;*p=t;printf(“x=%d,y=%d

  “,x,y);}运行结果为:程序有错,不能运行!或写:x=,y=、写出程序运行结果。#include《stdio.h》intmax(inta,intb){intc;c=a》b?a:b;return(c);}intmin(inta,intb){intc;c=a《b?a:b;return(c);}voidmain(){inta=,b=;printf(“max=%d

  “,max(a,b));printf(“min=%d

  ”,min(a,b));}运行结果为:程序有错,不能运行!或写:max=min=、写出程序运行结果。#include《stdio.h》voidmain(){inta={,,,,,,,,};inti,j,sum=;for(i=;i《;i++)for(j=;j《;j++)if(i==j)sum=sum+a;printf(“sum=%d

  ”,sum);}运行结果为:程序有错,不能运行!或写:sum=、写出程序运行结果。voidmain(){intn,f;n=;while(n《=){f=f*n;n+=;}printf(“f=%d

  ”,&f);}运行结果为:程序有错,不能运行!或写:f=不确定五、程序设计题(共题,每题分,共分、将一个数组按逆序存放,如元素、、、、,按逆序存放后为、、、、。、求出!+!+!+…+!的和并输出。#include《stdio.h》floatfact(intn){floatf;if(n==||n==)f=;elsef=fact(n-)*n;return(f);}voidmain(){floatsum;inti;sum=;for(i=;i《=;i++)sum+=fact(i);printf(“sum=%f

  大一C语言题目是这样的:

  确实溢出了,因为只需要最后位,因此求指数时先乘以a后再对求余数就可以了#include《stdio.h》intmain(){inta,n,p,i;scanf(“%d%d“,&a,&n);p=a;for(i=;i《=n;i++)p=(p*a)%;printf(“%d

  “,p);return;}

  谁有大一C语言考试题快考试了,跪求题库··

  单项选择题(每小题分,共分

  个C程序的执行是从___A__。

  A、本程序的main函数开始,到main函数结束

  B、本程序的main函数开始,到本程序文件的最后一个函数结束

  C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

  D、本程序文件的第一个函数开始,到本程序main函数结束

  C语言程序的基本单位是___C___。

  请选出可用作C语言用户标识符的一组标识符___B___。

  A、voidB、a_bC、ForD、a

  define_-abcDO

  WORDIFasesizeof

  C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。

  以上内容参考:百度百科-c语言

  大一期末考C语言试题求解答

  第一题:#include《stdio.h》

  void?main()

  for(;i《;i++)

  printf(“请输入第%d个数“,i+);

  scanf(“%d“,&a);

  for(i=;i《;i++)

  for(i=;i《;i++)

  if(i%==)printf(“

  printf(“%d?“,b);

  第二题:#include《stdio.h》

  void?main()

  char?a;int?i=;

  printf(“请输入一串字符按回车结束“);

  scanf(“%s“,a);

  if(a《=’Z’)

  printf(“%c“,a);

  if(a==)break;

  }?printf(“

  第三题:(以两名学生为例,其他只要改变对应的值即可,照着框架来即可#include《stdio.h》

  void?main()

  int?a,i,j;

  for(i=;i《;i++)

  for(j=;j《;j++)

  printf(“请输入第%d个学生,第%d门成绩“,i+,j+);

  scanf(“%d“,&a);

  int?sum,csum=;

  printf(“%c第门课%c第门课%c第门课%c第门课%c第门课%c总分

  for(i=;i《;i++)

  printf(“第%d个学生“,i);

  for(j=;j《;j++)

  printf(“%c%d“,,a);

  printf(“%c“,);

  sum=sum+a;

  csum=csum+sum;

  printf(“%c%d“,,sum);

  printf(“班级总分?“);

  for(j=;j《;j++)

  for(i=;i《;i++)

  temp=temp+a;

  printf(“%c%d“,,temp);

  printf(“%c“,);

  printf(“%c%d

  第四题:#include《stdio.h》

  void?main()

  int?a,i=,j,temp;

  for(;i《;i++)

  printf(“请输入第%d个数“,i+);

  scanf(“%d“,&a);

  for(j=;j《=;j++)

  for?(i=;i《-j;i++)

  for(i=;i《;i++)

  printf(“%d?“,a?);

  学习是要用心的,多动脑,多思考学到的东西才是自己的。喔,对了给分哟!!!!!

  大一计算机C语言编程题,急求答案,谢谢解答!

  #include?“stdio.h“void?main(){?int?i,?N;??float?m=,n=,t,s=;?scanf(“%d“,?&N);?for(i=;i《=N;i++)??{??t=m+n;???s=s+t/n;??m=n;??n=t;?}???printf(“%.f

您可能感兴趣的文章:

相关文章