2024年10月大一上学期c语言试题(C语言试题及答案(2))
⑴大一上学期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