版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长春工程学院C语言程序设计专升本测试卷(一)总分:100分 考试时间:90分钟注意事项:>题目包括三大部分,单项选择题,判断题,编程题,请按要求在规定时间内作答。>考试中途不能无端离场,否则视为放弃。考试过程中如遇问题请及时向监考老师反馈。一、单项选择题(每小题2分,共40分)1、以下说法错误的是.A、C语言中的常量是指在程序运行过程中经常被用到的变量B、C语言中的常量是指在程序运行过程中其值不能被改变的量C,C语言中的常量可以用一个符号名来代表D、C语言中的常量可以用宏来定义【答案】A【解析】C语言中的常量是指在程序运行过程中其值不能被改变的量,它可以用宏来定义,用一个符号名代表,选项A错误,选项BCD正确,本题答案A2,下列()是合法标识符。_book5files+staticD、-3.14159【答案】A3、经过以下语句定义后,表达式z+=x>y?++x:++y的值为。intx=l,y=2,z=3;A、2B、3C、6D、5【答案】c4、当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是.A、k%2k%2==l(k%2)!=0!k%2==l【答案】D5、下列while循环的次数是owhile(inti=0)i―;A、0B、1C、5D、无限【答案】A6、与实际参数为实型数组名相对应的形式参数不可以定义为.oA、floata[];float*a;floata;float(*a)[3];【答案】C7、设有定义:floata=2,b=4,h=3;以下c语言表达式与代数式l/2(a+b)计算结果不相符的是O(a+*h/2(l/2)*(a+*h(a+*h*l/2h/2*(a+【答案】D【解析】的运算优先级高于“/”的运算优先级,因此,在选项D)中,计算结果为0.25o8、以下程序的输出结果是»charch[5]={'a','b','\0','c','\0'};printf(H%sM,ch);A、aB、bC、abD、abc【答案】c【解析】字符串总是以''0'作为串的结束符。有了'\0'标志后,就不必再用字符数组的长度来判断字符串的长度了。9、下面关于指针的说法中错误的是»A、在指针定义的同时可以对其进行初始化B、指针根据其所指向变量的类型的不同,所占用内存大小也不同C、指针中存放的是内存单元的地址D、相同类型的指针之间可以相互赋值【答案】B【解析】指针是一种用来存放其他变量地址的数据类型,它的声明形式为:〈类型〉+〈变量名〉,可以在声明的时候对其进行初始化。由于其存放的是内存单元的地址,所以大小一般都是4个字节。10、以下正确的字符串常量是."\\"'abc'OlympicGamesD、'A'【答案】A11、以下程序的运行结果是.#include<stdio.h>main()(inta[]={l,2,3,4,5,6,7,8,9,10,ll,12);int*p=a+5,*q=null;♦q=8(p+5);printf(H%d%d\nw,*p,*q);)A、运行后报错B、66C、611D、55【答案】A【解析】本题的考查点是通过指针引用数组元素。程序中没有给q分配存储单元,只是给它赋了一个NULL,所以程序的运行结果是:611NULLpointerassignment,也就是运行后报错。12、以下程序的输出结果是o#include<stdio.h>intm=13;intfun(intx,inty){intm=2;return(x*y-m);)main()(inta=7,b=6;printf(h%dw,fun(a,b)/m);A、1B、3C、7D、10【答案】B【解析】本题考查的是函数调用时的参数的作用域。在函数调用时,当全局变量和局部变量的名称相同时,在局部变量的作用域内,局部变量起作用,因而在fun函数内m的应该等于2,main中的m为13,所以返回值为7X6-2=40,而fun(a,b)/m值为40/13=3。13、结构化程序设计主要强调的是oA、程序的规模B、程序的易读性C、程序的执行效率D、程序的可移植性【答案】B14、以下正确的说法是oA、定义函数时,形参的类型说明可以放在函数体内B,return后边的值不能为表达式C、如果函数值的类型与返回值类型不一致,以函数值类型为准D、如果形参与实参类型不一致,以实参类型为准【答案】C【解析】选项A)中定义函数时,形参的类型说明应该放在形参表列内说明。老版本C语言中,对形参类型的声明是放在函数定义的第2行,也就是不在第1行的括号内指定形参的类型,而在括号外单独指定。选项B)中return后面的值可以是一个表达式。选项D)中实参与形参的类型应相同或赋值兼容。如果实参为整型而形参为实型,或者相反,则按不同类型数值的赋值规则进行转换,以形参类型为准。15、以下程序的输出结果是。^include<stdio.h>#defineFUDGE(y)2.84+y#definePR(a)printf(w%dH,(int)(a))#definePRINT1(a)PR(a);putchar('\n')main(){intx=2;PRINT1(FUDGE(5)*x);}A、11B、12C、13D、15【答案】B16、运行下面程序时,若从键盘输入数据为"123",则输出结果是.^include"stdio.hnvoidmain(){intnum,i,j,k,place;scanf(H%dM,&num);if(num>99)place=3;elseif(num>9)place=2;elseplace=l;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch(place)case3:printf("%d%d%d\nw,k,j,i);break;case2:printf(M%d%d\nw,k,j);break;case1:printf(M%d\nM,k);A、123B、1,2,3C、321D、3,2,1【答案】c17、当定义一个结构体变量时,系统分配给它的内存是—A、各成员所需内存量的总和B、结构中第一个成员所需内存量C、结构中最后一个成员所需内存量D、成员中占内存量最大者所需的容量【答案】A18、阅读下面的程序#include<stdio.h>voidmain()(inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d,,i,j,m,n);)程序的运行结果是.A、8,10,8,10B、9,11,8,10C,9,11,9,10D,9,10,9,11【答案】C19、有语句charstrl[10],str2[10]={Mchinan};则能将字符串china赋给数组strl的正确语句是一 。strl={Mchinaw);strcpy(strl,str2);strl=str2;strcpy(str2,strl);【答案】B20、下列选项中属于c语言构造类型的是.A、指针类型B、空类型C、枚举类型D、数组类型【答案】D【解析】构造类型数据是由基本类型数据按一定规则组成的。C语言中的构造类型数据只有3种,它们是数组类型、结构体类型和共用体类型。故应该选择Do二、判断题(每小题2分,共20分)()1、在标准C语言中,数组的下标必须是常量,不允许是表达式。【答案】错误()2、变量被定义后,它不仅有一个确定的地址值,而且还会有一个确定的本身值。【答案】错误()3,文件指针和位置指针都是随着文件的读写操作在不断改变。【答案】错误()4、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。【答案】错误()5、使用strcpy(字符数组,字符串)函数时,字符数组长度没有限制。【答案】错误()6,c程序是从函数开始执行的。【答案】正确()7、数组定义后,数组名的值是一个地址,可以被修改。【答案】错误()8、若函数的返回值与return表达式类型不一致时,以return表达式类型为准。【答案】错误()9、若有说明语句char*p="itismine"则p变量中存放的是整个字符串【答案】错误()10、c程序的执行是从程序文件的第一个函数开始,到最后一个函数结束.()【答案】错误三、编程题(每小题分,共40分)1、编写程序:输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。(本题10分)【答案】Sinclude<stdio.h>ttdefinePI3.14intmain(void)(doubler,area,girth;printf(wpleaseinputr:\n,f);scanf(H%lfM,&r);if(r>=0){area=PI*r*r;girth=2*PI*r;printf(wtheareais%.2f\nw,area);printf(Hthegirthis%.2f\nw,girth);}elseprintf(HInputerror!\n'r);return0;2、编写程序:从键盘上输入两个正整数x,y,求它们的最大公约数例如:如果从键盘上输入24,36,程序的输出应为:maxis:12()(本题14分)【答案】#include<math.h>Winclude<conio.h>Sinclude<stdio.h>main()intx,y,t,i;printf("pleaseentertwonumbers:");scanfC%d,%d",&x,&y);if(x<y)(t=x;x=y;y=t;■t=x%y;while(t)(x=y;y=t;t=x%y;■printf("maxis:%d",y);)3、有以下学生信息,使用结构体数组存储这些信息structstudent{intnum;〃学号intcomputer;〃计算机成绩}s[5]={{101,75},{103,80},{104,85},{106,90}};再输入一条新记录,插入到结构体数组中,让5条记录按计算机成绩升序有序。【输入形式】2个数据都使用空格分隔【输出形式】分五行输出数据,每行数据均使用空格分隔【输入样例】10288【输出样例】每行数据均使用一个空格分隔,分五行输出1017510380104851028810690(本题16分)【答案】^include<stdio.h>^include<stdlib.h>structstudent|intnum;〃学号intcomputer;〃计算机成绩}s[5]={{101,75},{103,80},{104,85},{106,90}},tamp;intmain()迪_inti,j;scanf(w%d%dw,&s[4].num,&s[4].computer);ford=1;i<5;i++){|for(j=0;j<5-i;j++)if(s[j].computer>s[j+1].computer)tamp=s[j];s[j]=s[j+l];s[j+l]=tamp;for(j=0;j<5;j++)printf(H%d%d\nM,s[j].num,s[j].computer);长春工程学院C语言程序设计专升本测试卷(二)总分:100分 考试时间:90分钟注意事项:题目包括三大部分,单项选择题,判断题,编程题,请按要求在规定时间内作答。考试中途不能无端离场,否则视为放弃。考试过程中如遇问题请及时向监考老师反馈。一、单项选择题(每小题2分,共40分)1、在C语言中,要求参加运算的数必须时整数的运算符是OA、/B、*C、%D、=【答案】C2、下面四个选项中,均是不合法的用户标识符的选项是oA、AP_0dofloatlaO _Ab-agoto int_123tempint【答案】C3、设a为int型变量,执行下列赋值语句后,a的取值分别为()a=125.534;a=20.0/3;a=20%3;a=(int)125%521%4;a=5<<2;A、125,6.666666,2,1,1B、125,6,2,1,1C、125.534,6.666666,2,1,20D、125,6,2,1,20【答案】D4、若a和b均是整型变量并已正确赋值,正确的switch语句是oA、switch(a+b); B、switch(a+b*3.0) C、switcha D、switch(a%b)【答案】D【解析】【命题目的】考查switch语句的用法。【解题要点】switch后的括号部分只能返回这几种类型的值:int,byte,short和charo【错解分析】选项A)switch(a+b);中多了一个匕”号,注意观察。选项switch(a+b*3.0)中括号的值不能为浮点型。选项C)switcha中switch后的判断部分必须用括号括起来。5、定义如下变量:intn=10;则下列循环的输出结果是while(n>7)printf(H%d\nn,n);}A、1098B、987C、10987D、9876【答案】B6、若定义语句:intb[]={1,2,3,4,5},*p=b;则表达式*p++的值是OA、1B、2C、b[0]的地址D、b[l]的地址【答案】A7、若有定义charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为。floatcharC、intD、doub1e【答案】D8、有以下程序#include<string.h>main(){charp[]={'a','b','c'),q[10]={'a','b','c');printf("%d%d\n",strlen(p),strlen(q));)以下叙述中正确的是oA、在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B、由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C、由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D、由于p和q数组中都没有字符串结束符,故长度都不能确定【答案】A【解析】在给p和q数组赋初值时,系统会自动添加字符串结束符,从题目中可以看出数组p和q都有3个字符,所以长度均为3。9,若ch为char型变量,k为int型变量(已知字符a的ascii十进制代码为97),则以下程序段的执行结果是och='a';k=12;printf("%x,%o,",ch,ch,k);printf("k=%%d\n",k);A、因变量类型与格式描述符的类型不匹配,输出无定值B、输出项与格式描述符个数不符,输出为零值或不定值61,141,k=%dD,61,141,k=%12【答案】C10、下面描述正确的是OA,两个字符串包含的字符个数相同时,才能比较字符串B、字符个数多的字符串比字符个数少的字符串大C,字符串"STOP"与"STOP■"相等D、字符串"That"小于字符串"The"【答案】D11、设inta[10],*p=a;数组■元素a[4]的正确引用是A、*(p+4)B、p+4*p+4D、a+4【答案】A12、关于函数参数,说法正确的是oA、实参与其对应的形参各自占用独立的内存单元B、实参与其对应的形参共同占用一个内存单元C、只有当形参与实参同名时才占用同一个内存单元I)、形参是虚拟的,不占用内存单元【答案】A13、将空格符赋给字符变量c,正确的赋值语句是c='\0'c=NULLC、c=0c=32【答案】D14、有以下程序^include<stdio.h>#include<stdlib.h>intfun(intn)(int*p;p=(int*)malloc(sizeof(int));*p=n;
return*p;main()inta;a=fun(10);printf("%d\n",a+fun(10));)程序的运行结果是OA、B、10C、B、10C、D、20出错【答案】C15、有以下程序:fun(inta[],intm,intn){inti;for(i=m;i<n;i++)a[i+l]=a[i]+3;returna[i+l];}voidmain()inti,a[6]=2,4,6,8,10,12;fun(a,2,5);for(i=0;i<6;i++)printf(w%dw,a[i]);}程序运行后输出的结果是A、2469131524691215249121518249121415【答案】B16、下列4个关于c语言的结论中错误的是.A、可以用dowhile语句实现的循环一定可以用while语句实现B,可以用for语句实现的循环一定可以用while语句实现C、可以用while语句实现的循环一定可以用for语句实现D,do-while语句与while语句的区别仅是关键字“while”出现的位置不同【答案】D17、以下关于逻辑运算符两侧运算对象的叙述中正确的是。A、只能是整数。或1B、只能是整数0或非0整数C、可以是结构体类型的数据D、可以是任意合法的表达式【答案】D【解析】本题考查的是逻辑运算符。C语言中,逻辑运算符的两个运算分量可以是任意合法的表达式。故本题应该选择D)。18、有以下程序#include<stdio.h>voidfun(char*a,char*b)(while(*a==,*')a++;while(*b=*a)(b++;a++;})main()(char*s="****a*b****”,t[80];fun(s,t);puts(t);)程序的运行结果是oA、*****a*bB、a*bC、a*b****D、ab【答案】c19、设有数据定义语句"inta[200];",下列数组元素引用中下标不越界的是。a[_l]a[201]a[0]a[200]【答案】C20、定义file*fp;则文件指针fp指向的是。A、文件在磁盘上的读写位置B、文件在缓冲区上的读写位置C、整个磁盘文件D、文件类型结构体【答案】B二、判断题(每小题2分,共20分)()1、表达式!(x>0y>0)等价于!(x>0)&&!(y>0).()【答案】正确()2、逻辑运算符&& !的运算顺序是!优先于&&优先于||()【答案】正确()3、指向数组元素的指针只可指向数组的首元素【答案】错误()4、以下程序段中,当i大于10或者s大于20时,循环结束。【答案】正确()5、字符常量与字符串是两种不同的常量。【答案】正确()6,main函数是c语言的主函数。【答案】正确()7,对以下定义的二维数组table,其行下标的取值范围是[0,2],列下标的取值范围是[0,1],数组元素分别是:table[0][0]、table[0][l],table[l][0],table[1][1],table[2][0]和table[2][1],可以表示一个3行2列的矩阵。inttable[3][2];【答案】正确()8、函数定义在先、调用在后时,vc++允许省略函数声明。【答案】正确()9、数组定义中,数组名后是用方括号括起来的常量表达式,不能用圆括号。【答案】正确()10、要使用标准输入、输出函数,正常情况下应该在文件的开头加上以下内容:^include<stdio.h>或#include"stdio.h"o【答案】正确三、编程题(每小题分,共40分)1、编写程序:输出100〜200之间既不能被3整除也不能被7整除的整数并统计这些整数的个数,要求每行输出8个数。(本题10分)【答案】#include<stdio.h>ttinclude<conio.h>ttinclude<stdlib.h>ttinclude<math.h>voidmain()(inti;/************foiind************/intn=0;for(i=100;i<=200;i++)(/************fourid************/if(i%3!=0&&i%7!=0)printf("%6d",i);n++;printf("\nNumbersare:%d\n",n);i '2、编写程序:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(本题14分)【答案】#include<stdio.h>intmain()(inti,j,k;printf(M\nw);for(i=l;i<5;i++){//以下为三重循环for(j=l;j<5;j++){for(k=l;k<5;k++){//确保i、j、k三位互不相同if(i!=k&&i!=j&&j!=k){printf("%d,%d,%d\n",i,j,k);【解析】有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?3、编写程序:创建一个长度为n的链表,然后反向输出该链表。(本题16分)【答案】#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedefstructLNode{int data;structLNode*next;}LNode,*LinkList;LinkListCreateList(intn);voidprint(LinkListh);intmain()|LinkListHead=NULL;intn;scanf("%d",&n);Head=CreateList(n);printf("刚刚建立的各个链表元素的值为:\ntt);print(Head);printf(M\n\nw);system(HpauseM);return0;)LinkListCreateList(intn)ILLinkListL,p,q;inti;L=(LNode*)malloc(sizeof(LNode));if(!L)return0;L->next=NULL;q=L;for(i=l;i<=n;i++)(p二(LinkList)malloc(sizeof(LNode));printf("请输入第%d个元素的值:",i);scanf("%d",&(p->data));p->next=NULL;q->next=p;q=p;■returnL;)LinkListp=h->next;while(p!=NULL){printf(H%dM,p->data);p=p->next;长春工程学院C语言程序设计专升本测试卷(三)总分:100分 考试时间:90分钟注意事项:>题目包括三大部分,单项选择题,判断题,编程题,请按要求在规定时间内作答。>考试中途不能无端离场,否则视为放弃。考试过程中如遇问题请及时向监考老师反馈。一、单项选择题(每小题2分,共40分)1、在C语言中,要求运算数必须是整型的运算符是0A、>B、++C、!=D、%【答案】D2、以下不能正确计算代数式值的c语言表达式是oA、l/3*sin(l/2)*sin(l/2)B、sin(0.5)*sin(0.5)/3C,pow(sin(0.5),2)/3D、1/3.0*pow(sin(1.0/2),2)【答案】A3、若有定义语句intb=2;则表达式(bVV2)/(3||b)的值是。A、4B、8C、0D、2【答案】B4、c语言中,关系表达式和逻辑表达式的值是oA、0B、0或1C、1D、T或'F'【答案】B5,下述关于break语句的描述中,()是不正确的。A、break语句可用于循环体内,它将退出该重循环break语句可用于switch语句中,它将退出switch语句break语句可用于对体内,它将退出if语句D、break语句在一个循环体内可以出现多次【答案】C6,若有定义:,inta[2][3];",则对a数组的第i行第j列元素的正确引用为()。A,*(*(a+i)+j)Bs(a+i)[j]C,*(a+j+j)*(a+i)+j【答案】A7、设整型变量a为5,使b不为2的表达式是ob=a/2b=6~(―a)b=a%2D、b=a>3?2:1【答案】C8、对于代码charcl[8];scanf(M%sw,cl);printf(M\n%sM,cl);在程序运行时,输入了"thisprettyboy”,则对应的运行输出显示结果是。thisprethisthisprettyboyD、数组越界,不能显示【答案】B9、c程序中的宏展开是在oA、编译时进行的B,程序执行时进行的C、编译前预处理时进行的D、编辑时进行的【答案】C10、下列关于boolean类型的叙述中,正确的是.A、可以将boolean类型的数值转换为int类型的数值B、可以将boolean类型的数值转换为字符串C、可以将boolean类型的数值转换为char类型的数值D、不能将boolean类型的数值转换为其他基本数据类型【答案】D11、以下关于数组的描述正确的是。A、数组的大小是固定的,但可以有不同的类型的数组元素。B、数组的大小是可变的,但所有数组元素的类型必须相同。C、数组的大小是固定的,但所有数组元素的类型必须相同。D、数组的大小是可变的,但可以有不同的类型的数组元素。【答案】C12、以下描述错误的是。A、实参数可以与形参个数不一致。B、C程序中,函数可以直接或间接地调用自己。C、函数调用时,函数名必须与所调用的函数名字完全一致D、函数声明语句中的类型必须与函数返回值得类型一致。【答案】A13、以下关于c语言的叙述中正确的是。A、C语言中的注释不可以夹在变量名或关键字的中间B、C语言中的变量可以再使用之前的任何位置进行定义C、在C语言算术的书写中,运算符两侧的运算数类型必须一致D、C语言的数值常量中夹带空格不影响常量值的正确表示【答案】B14、以下叙述正确的是oA、函数可以嵌套定义但不能嵌套调用B、函数既可以嵌套调用也可以嵌套定义C、函数既不可以嵌套定义也不可以嵌套调用D、函数可以嵌套调用但不可以嵌套定义【答案】D【解析】考查函数的定义及其调用。[解题要点]在C语言中,所有的函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数,即函数不能嵌套定义,但可以互相调用,但不能调用main函数。[错解分析]函数不能嵌套定义,但可以嵌套调用,故选项A)、B)和C)中的描述都错误。15、以下程序的输出结果是.^defineN10voidfun(inta[],intn,intra)(inti;for(i=m;i>=n;i―)A[i+l]=a[i];}main(){inti,a[N]={l,2,3,4,5,6,7};fun(a,2,6);for(i=0;i<4;i++)printf(M%dn,a[i]);}1223123312441234【答案】B16、下面程序段执行后输出的结果是#include<stdio.h>main(){inti;for(i=l;i<8;i++)if(i%3){printf("*");continue;})printf(B#n);}printf(H\nw);*#*♦#**#**#**#**#*♦#**I)、**#**【答案】B【解析】#include<stdio.h>main(){inti;for(i=l;i<8;i++)/*循环条件为i<8,步进值为1*/{{if(i%3){TOC\o"1-5"\h\zprintf("*");continue;}}/*如果能被3整除打印输出"*",并跳过后面的语句直接执行下次徨*/printf("#");/*如果不能被3整除打印输出"#"*/}printf("Xn"); }17、以下对枚举类型名的定义中正确的是»enuma={one,two,three};enum a{one=9 , two=-l, three} ;enum a={"one" , "two" , "three"} ;enum a{"one" , "two" , "three"} ;【答案】B18、有以下程序段intm=0,n=0;charc=1a1;scanf(M%d%c%d",&m,&c,&n);printf(M%d,%c,%d\nw,m,c,n);若从键盘上输入:20b20/,则输出结果是A、20,B,20B、20,b,2020,b,020,B,0【答案】A19、以下能正确定义一维数组的选项是oA、inta[5]={0.1,2.3.4,5);B、chara[]={0,1,2,3,4,5);C、chara二{'A','B','C');D、inta[5]="0123”;【答案】B20、下面说法正确的是.A、文件指针变量的值是文件当前正在处理的字节地址B、文件指针变量的值是文件中包含的字符个数C、文件指针的类型是一种指针类型D、文件指针的类型是结构体类型【答案】C【解析】文件指针变量的值是文件所在的地址,选项AB错误;文件指针也是一种指针,属于指针类型不是结构体类型,选项C正确,D错误;本题答案为C二、判断题(每小题2分,共20分)()1、在C语言中,当一个逻辑表达式的值为"假"时,该表达式的值一定是0()【答案】正确()2、for语句的一般形式如下,若表达式2的值为"真",则先执行循环体语句,再计算表达式3,然后继续循环。【答案】正确()3、c程序中如果对一维数组的全部元素都赋初值,则定义数组时不必指定数组长度。【答案】正确()4、break语句可以用来跳出整个循环语句【答案】正确()5、chars="CLanguage";表示s是一个指向字符串的指针变量,把字符串的首地址赋予s【答案】正确()6、在一个c语言源程序中,main函数的位置可以不位于最开始。【答案】正确()7、若有定义一维数组inta[4]的首地址为0078h,则a[l]元素的首地址是0079h(设int型数据占两个字节)。【答案】错误()8、输入操作称为写操作,将输入流中的信息存到内存时,使用写函数。【答案】错误()9、putchar函数可以向终端输出一个字符串【答案】错误()10、在c程序中,若链接过程没有发现任何错误则表示链接成功,会生成一个".obj”文件。【答案】错误三、编程题(每小题分,共40分)1、编写程序:在第一个循环中给a数组的前10个数组元素依次赋..9.10;在第二个循环中使a数组前10个元素中的值按逆序存放,变成..2.1;在最后一个循环中输出逆序存放以后的a数组前10个元素(本题10分)【答案】#include<stdio.h>main()IFinti,a[10],t;for(i=0;i<10;i++)a[i]=i+l;for(i=0;i<5;i++)腐t=a[i];a[i]=a[i]=a[9-i]; =t;■for(i=0;i<10;i++)printf("%5d",a[i]);printf("Xn");)2、编写一个函数,从传人的m个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。注意:部分源程序给出如下。请勿改动main。函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:char*proc(char(*a)[81],intnum){)voidmain()(charss[10][81],*max;intn,i=0;printf("输入若干个字符串:");gets(ss[i]);puts(ss[i]);while(!strcmp(ss[i].*****")=0)(i++;gets(ssei]);puts(ss[i]);)n=i;max=proe(ss,n);printf("\nmax=%s\n”,max);)(本题14分)【答案】char*proc(char(*a)[81],intm)char*max;inti=0:max=a[0]:for(i=O;i<m;i++)if(strlen(max)<strlen(a[i]))〃找出最长的字符串max=a[i];returnmax;〃返回最长字符串的地址)3、题目描述有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩。读入这10个学生的数据,要求输出3门课程的总平均成绩,以及个人平均分最高的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。输入共有10行,每行包含了一个学生的学号(整数)、名字(长度不超过19的无空格字符串)和3门课程的成绩(0至100之间的整数),用空格隔开。输出第一行包含了3个实数,分别表示3门课程的总平均成绩,保留2位小数,每个数之后输出一个空格。第二行输出个人平均分最高的学生的数据,与输入数据格式相同。如果有多位个人平均分最高的学生,输出按照输入顺序第一个最高分的学生数据。请注意行尾输出换行。样例输入样例输出85.6087.9090.40105EEE929394(本题16分)【答案】#include<stdio.h>#include<string.h>structpeople{intnum,a,b,c;charname[10];};intinput(structpeoplestu[]){for(inti=0;i<10;i++)scanf(M%d%s%d%d%dH,&stu[i].num,stu[i].name,&stu[i].a,&stu[i].b,&stu[i].c);intprint(structpeoplestu[]){doub1ex=0,y=0,z=0;for(inti=0;i<10;i++){x=x+stu[i].a*l.0;y=y+stu[i].b*l.0;z=z+stu[i].c*l.0;)for(inti=0;i<10;i++){if((stu[i].a+stu[i].b+stu[i],c)>=(stu[i+l].a+stu[i+l].b+stu[i+l].c)){stu[i+l]・num=stu[i]・num;strcpy(stu[i+l].name,stu[i].name);stu[i+l].a=stu[i].a;stu[i+l].b=stu[i].b;stu[i+l].c=stu[i].c;))printf(H%.2f%.2f%.2f\nw,x/10.0,y/10.0,z/10.0);printf(H%d%s%d%d%d\nw,stu[9].num,stu[9].name,stu[9].a,stu[9].b,stu[9].c);}intmain(){structpeoplestu[10];input(stu);print(stu);return0;长春工程学院C语言程序设计专升本测试卷(四)总分:100分 考试时间:90分钟注意事项:>题目包括三大部分,单项选择题,判断题,编程题,请按要求在规定时间内作答。>考试中途不能无端离场,否则视为放弃。考试过程中如遇问题请及时向监考老师反馈。一、单项选择题(每小题2分,共40分)1、C语言中的标识符第一个字符。A、必须为字母B、必须为下划线C、必须为字母或下划线D、可以是字母,数字和下划线中任一种字符【答案】C2、设有定义intx;floaty;则10+x+y值的数据类型是。A、intdoublefloatD、不确定【答案】c【解析】由算术运算符组成的表达式中,若含有不同类型的操作数,则系统隐含地将低类型转化为高类型,由低至高的顺序为int-float-double。3、若有"doublea;",则正确的输入语句是。A、scanf a);B、scanf &a);C、seanf(M%lfn,&a);D、scanf(wlew,&a);【答案】B4、以下程序的输出结果是o#include<stdio.h>main()inta=l,b=3;if((++a<0)&&!(b--<=0))printf(w%d,%d\nM,a,b);elseprintf(n%d,%d\nM,b,a);A、2,2B、1,3C、3,2D、3,1【答案】c【解析】解答本题的关键在于读懂if语句条件中的表达式。初始时a=l,b=3,所以++a=2>0,因此++aVO为假,因为是进行逻辑与(&&)运算,在&&的第一个运算对象为假的前提下不用判断第二个运算对象的真假,就可以直接得出整个表达式的值为逻辑0,所以直接执行else语句。5、有以下程序:main()(intc=0,k;for(k=l;k<3;k++)switch(k)(default:c+=k;case2:c++;break;case4:c+=2;break;}printf(M%d\nn,c);}程序运行后的输出结果是oA、3B、5C、7D、9【答案】A6、下列说法不正确的是.A、一个C语言源程序可以由一个函数组成也可以由多个函数组成B、main。中的“()”是函数的参数部分,括号内可为空,但括号不能省略C、C语言程序是以函数为基本单位的D、在C语言程序中,注释行只能位于一条语句的后面【答案】D【解析】本题涉及C语言基本的3个知识点:①C语言是以函数为基本单位的,每一个函数完成相对独立的功能,一个程序可以包括多个函数,但有且仅有一个主函数;②主函数main。的圆括号内是填写参数的,可以没有参数,但括号不可以省略:③程序的注释部分应该在"/* */”之间,它允许出现在程序的任何位置。7、下面不是c语言整型常量的是oA、081B、01C,-327680x81【答案】A【解析】本题考核整型变量的3种表示形式,选项B是一个八进制数;选项C是一个十进制数;选项D是一个十六进制数;选项A以。开始没有跟字母x,但后面的数字8并不是八进制中使用的数符,故选项A不是C语言的整型变量。inta[10];合法的数组元素的最小下标值为一A、10B、9C、1D、0【答案】D9、以下选项中合法的实型常数是一A、5E2.0B、E-3C、2E0D、1.3E【答案】C【解析】本题考查实型常数的指数表示法,可以肯定的是指数不能为小数即必须为整数。由于符号E前面必须有数字。D在指数符号后面没有数字,是错误的。10、按照c语言规定的用户标识符命名规则,不能出现在标识符中的是oA、大写字母B、连接符C、数字字符D、下划线【答案】B【解析】C语言的标识符要符合以下规定:①标识符是个以字母或下划线开头的,由字母、数字、下划线组成的字符串:②标识符不能与任意一个关键字同名:③标识符中的字母区分大小写。故本题应该选择B。11、在下面语句中,其含义为"p为指向含n个元素的一维数组的指针变量"的定义语句是intp[n]int*p();C、int*p(n);int(*p)[n]【答案】D12、以下叙述正确的是。A、在C程序中,主函数必须位于程序的最前面B、在C程序中,一行只能写一条语句C、C程序的基本结构是程序行D、C语句是完成某种程序功能的最小单位【答案】D13、以下选项中不合法的标识是。A、&aB、FORC、printD、_00【答案】A14、有以下函数intfun(char*s)(char*t=s;while(*t++);return(t-s);)该函数的功能是oA、比较两个字符串的大小B、计算S所指字符串占用内存字节的个数C,计算S所指字符串的长度D、将S所指字符串复制到字符串t中【答案】B【解析】循环语句while(*t++);执行完时,指针变量t就指向了字符串结束符'\0’之后的位置,所以语句return(t-s);返回的就是字符串s所用内存的字节个数。15、以下程序段运行结果是.intx=l,y=l,z=-l;x+=y+=z;printf(M%d\nM,x<y?y:x);A、1B、2C、4D、不确定的值【答案】A16、以下for语句中不是死循环的是oA、for(inti=0;i<l;i++);for(inti=0;i++);C、for(inti=l;i>0;++i);D、for(;;);【答案】A【解析】考查循环语句for的使用。[解题要点]for循环的一般格式为for(初始化部分;终止条件判断部分;迭代部分){循环体;}说明如下:for循环开始时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。[错解分析]在for语句中,如果省略了终止条件判断部分,开且在语句中没有break,或者是终止条件判断部分始终没有终止,都将出现死循环。[考点链接]for循环语句可由while循环语句来代替。17、若有以下说明语句:structdate(intyear;intmonth;intday;}brithday;则下面的叙述不正确的是.A、struct是声明结构体类型时用的关键字B、structdate是用户定义的结构体类型名C、brithday是用户定义的结构体类型名D、year,day都是结构体成员名【答案】C18、有以下程序:main(){chara,b,c,d;scanf("%c,%c,%d,%dw,&a,&b,&c,&d);printf(M%c,%c,%c,%c\nM,a,b,c,d);)若运行时从键盘上输入:6,5,65,66V回车>,则输出结果是oA、6,5,A,BB、6,5,65,666,5,6,5D、6,5,6,6【答案】A【解析】char型数据类型以刎的形式输入时,输入的是ASCH值。65是字符A的ASCII码值,66是字符B的ASCII值。19、以下程序的输出结果是typedefunion{longx[2];inty[4];charz[8];}mytype;mytypethem;main(){printf(,,%d\n,r,sizeof(them));)A、32B、16C、8D、24【答案】C【解析】共用体所占存储空间的大小是所有成员所占存储单元的和;共用体变量所占存储单元的大小是所有成员中占据存储空间最大的成员所占存储空间的大小。本题中字符数组成员z占8个字节的长度,长度最长,所以共用体变量them用sizeof计算长度为8。20、下面程序的输出是omain()(structcmplx(intx;inty;)cnum[2]={l,3,2,7};printf("%d\n",cnum[0].y/cnumEO].x*cnum[l].x);)A、0B、1C、3D、6【答案】D二、判断题(每小题2分,共20分)()1、使用statick定义的变量属于静态变量【答案】正确()2,十六进制数0x11的十进制数是17。【答案】正确()3、指针数组的每一个元素都是指针变量,且都指向相同的数据类型。【答案】正确()4,在c语言的嵌套循环结构中,任何一层循环中的brea语句都可以结束整个嵌套循环的执行。【答案】错误()5、用字符串常量给数组赋初值时,如果提供的字符个数大于数组长度,则系统报错。【答案】正确()6、若定义时,函数返回值类型为void,函数仍然可有return带回返回值。【答案】错误()7、在定义数组时,有时可以将该数组的维数省略。()【答案】正确()8、数组元素可以作为函数参数.【答案】正确()9、在标准c中,变量定义一定要出现在函数开始部分【答案】错误()10、编写c语言程序的流程是:新建项目、添加源文件、编写代码、运行程序。()【答案】正确三、编程题(每小题分,共40分)1、请编写函数proc(),其功能是:计算并输出下列多项式值。s=(l-l/2)+(1/3-1/4)+-+(1/(2n-l)-l/2n)例如,若主函数从键盘给n输入20后,则输出为s=0.680803。注意:部分源程序给出如下。请勿改动main。函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:^include<stdio.h>doubleproc(intn)()voidmain()(intn;doubleslim;printf("\ninputn:");scanf("%d",&n);sum=proc(n)»printfC\ns=%f\n",sum);}(本题10分)【答案】1.:doubleproc(intn)inti;doubles=0.0;//s为其和的变量for(i=l;i<=n;i++)s=s+(l.0/(2*i-l)-l.o/(2*i));//计算s=(1-1/z)+(l/3-1/4)+・・,+(l/(2nT)T/2n)returns;//最后把所得到的和返回到主函数中)2、编写程序,将用户输入的字符串中删除所有的数字,然后输出剩余的字符。(本题14分)【答案】#includevoidmain()(inti,j,nl;chara[20];printf("请输入字符串:");gets(a);nl=strlen(a);for(i=0;i='0'&&a[i]<='9')==0)printf("%c",a[i]);printfC\n");I3、输入5位同学的一组信息,包括学号、姓名、数学成绩、计算机成绩,求得每位同学的平均分和总分,然后按照总分从高到低排序。(本题16分)【答案】ftinclude<stdio.h>structmesI.intsno;charsname[20];floatgrade1;floatgrade2;floatsum;floatavg;}student[5]; /♦定义结构体变量数组*/intmain()inti,j,k;structmestemp;printf("请输入五位学生的信息\n");printf("学号\t姓名\t数学\t计算机\n");for(i=0;i<5;i++)scanf(M%d\t%s\t%f\t%fn,&student[i].sno,student[i].sname,&student[i].gradel,&student[i].grade2);student[i].sum=student[i].gradel+student[i].grade2;student[i].avg=student[i].sum/2;} /*输入每位学生间隔的信息时运用Tab键*/for(i=0;i<4;i++)(k=i;for(j=i+1;j<5;j++)if(student[kLsum<student[j].sum)k=j;temp=student[k];student[k]=studentEi];student[i]=temp;)printf("学生成绩的排序结果为:\n");for(i=0;i<5;i++)(printf("学号:%d,姓名:%s,数学成绩:%3.If,计算机成:%3.lf:%3.If,分:%3.lf\n”,student[i].sno,student[i].sname,student[i].gradel,student[i],grade2,student[i].avg,student[i].sum);} /*显示五位同学的信息*/return(0);长春工程学院C语言程序设计专升本测试卷(五)总分:100分 考试时间:90分钟注意事项:题目包括三大部分,单项选择题,判断题,编程题,请按要求在规定时间内作答。考试中途不能无端离场,否则视为放弃。考试过程中如遇问题请及时向监考老师反馈。一、单项选择题(每小题2分,共40分)1、对于条件表达式(k)(i++):(i--)来说,其中的表达式k等价于()k==0k==lk!=0k!=l【答案】C【解析】条件表达式ele2:e3的含义是el为真时,取表达式e2的值,否则取表达式e3的值,“为真”的意思就是不等于0。2、已知x=43,ch='a',y=0;则表达式x=y&&ch<'b'&&!y的值是。A、0B、语法错C、1D、"假"【答案】A3、未指定存储类别的变量,其隐含的存储类别为.autostaticexternregister【答案】A4,有以下程序:main()inta=3,b=4,c=5,d=2;if(a>b)if(b>c)printf(w%dff,d+++1);elseprintf("%d”,++d+l);printf("%d\n",d);}程序运行后的输出结果是oA、2B、3C、43D、44【答案】A【解析】本题考查嵌套if语句中else的配对。本题中else和第二个if即if(b>c)配对。由于a>b不成立,因此整个程序只输出printf("%d\n",d),即输出2。5,设i,j,k均为int型变量,则执行完下面的for循环后,k的值为for(i=0,j=10;i<=j;i++,j-)k=i+j;A、12B、10C、11D、9【答案】B6、下列叙述中正确的是。A、定义函数时,形参的类型说明可以放在函数体内B、return后边的值不能为表达式C、如果函数值的类型与返回值类型不一致,以函数值类型为准D、如果形参与实参类型不一致,以实参类型为准【答案】C【解析】定义函数时,形参的类型说明放在形参表列内说明,或放在函数定义的第二行,函数体花括号“{”之前,所以选项A错。recurn后面的值可以是一个表达式,故选项B错误。实参与形参的类型应相同或赋值兼容。如果实参为整型而形参为实型,或者相反,则按不同类型数值的赋值规则进行转换,以形参类型为准,故选项D错误。7、有定义intn=789;下列表达式结果为8的是。A,n/10%2B、(n-n%10)/100C、n%10D、n%100/10【答案】D【解析】/比%的优先级要高。注意:n/10%2的结果应是0,n/10结果为78,用78在除以2求余则得0;(n-n%10)/100的结果应是7,n%10得9,780/100得7;n%10的结果显而易见是9。8,对于int*pa[5];的描述,以下哪个选项是正确的A、pa是一个指向数组的指针,所指向的数组是五个int类型的指针B、pa是一个具有五个元素的指针数组,每个元素都是一个int类型的指针C、pa[5]表示某个数的第五个元素的值D、pa是一个指向某个数组中第五个元素的指针,该元素是int类型的变量【答案】B9,以下选项中表示一个合法的常量是(说明:符号n表示空格)a、9n9n9B、OXabC,123E0.2D、2.7e【答案】B10、下面程序段输出两个字符串中对应相等的字符。请分析程序填空。charx[]="programming";chary[]="fortran";inti=0;while(x[i]!='\0'44y[i]!='\0')if(x[i]==y[i])printf("%c",);elsei++;A,x[i++]y[++i]x[i]y[i]【答案】A11、有以下程序main()charp[]={'a','b','c'),q[10]={'a','b','c');printf("%d%d\n",strlen(p),strlen(q));)以下叙述中正确的是oA、在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B、由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3C、由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3D、由于p和q数组中都没有字符串结束符,故长度都不能确定【答案】B12、下列说法正确的是。A、在C程序中,main。函数必须位于程序的最前面B、在C程序中,一条语句只能写一行而不能写多行C、C程序是以行为基本单位的D、C语言本身没有输入输出语句【答案】D【解析】本题涉及C语言最基本的4个知识点:①C语言程序是由函数构成的,C程序的基本单位是函数;②每个C程序有且只有一个主函数main。,且程序必须从mainO函数开始执行,但是main()函数可以放在程序中的任意位置;③C语言的书写格式是自由的,一行可以写多条语句,一条语句也可以写在不同的行上:④C语言本身不提供输入输出语句,可以通过函数来实现输入和输出操作。13、以下叙述中不正确的是。A、一个好的程序应该有详尽的注释B、在C程序中,赋值运算符的优先级最低C、在C程序中,j++;是一条赋值语句D,C程序中的#include和#define均不是C语句【答案】B14、下面程序段的运行结果是.char*format="%s,a=%d,b=%d\n";inta=ll,b=10;a+=b;printf(format,wa+=bM,a,b);for,Ma+=bw,abformat,"a+=b"a+=b,a=21,b=10D、以上结果都不对【答案】C【解析】字符串常量是由双引号括起来的一串字符,每一个字符串常量都分别占用内存中一串连续的存储空间,这些连续的存储空间实际上就是字符型一维数组。15、运行下面程序后,输出是.#include<stdio.h>voidmain()(intk="3;if(k<=0)printf(M****\nw);elseprintf(M####\nw)####****####****D、有语法错误不能通过编译【答案】D16、有下列程序:main()(intk=5,n=0;while(k>0)(switch(k)(default:break;case1:n=n+k;case2:case3:n+=k;)k一;}printf(M%d\ntt,n);程序运行后的输出结果足。A、0B、4C、667【答案】D17、以下关于c语言数据类型使用的叙述中错误的是oA、若只处理“真”和“假”两种逻辑值,应使用逻辑类型B、若要保存带有多位小数的数据,可使用双精度类型C、整数类型表示的自然数是准确无误差的D、若要处理“人员信息”等含有不同类型的相关数据,应自定义结构体类型【答案】A18、以下程序的输出结果为°#include<stdio.h>intmain()(inti=l,j=l;printf(H%d%d\ntt,i,j++);}A、11B、12C、21D、22【答案】A19、定义如下变量和数组:intk;inta[3][3]={9,8,7,6,5,4,3,2,11;则下面语句的输出结果是Ofor(k=0;k<3;k++)printf('r%d,r,a[k][k]);A、753B、951C、963D、741【答案】B【解析】本题中二维数组的每个元素就是一个由三个元素构成的一维数组,根据条件for(k=0;k<3;k++)和要求的a[k][k]可以得出本题的答案应该是951o20、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是structnodechardata;structnode*next;a,b,*p=&a,*q=&b;next=q;next二&b;C、p—>next=&b;(*p).next=q;【答案】B【解析】要把结点b连接到结点a之后,必须把b的地址给a的next指针,选项A中,指针变量q保存的就是变量b的地址,选项B中的p是指针变量,应该是p->next=&b;在选项D中,用*运算符取出结构体变量,并且保存的就是b的地址,所以正确。二、判断题(每小题2分,共20分)()1、C程序设计语言是结构化语言。【答案】正确()2、c语言规定,函数返回值的类型是由retun语句中表达式类型所决定的。()【答案】错误()3、若有intk=1;while(k=l)k++;则while循环执行的次数是1次【答案】错误()4、do-while语句的一般形式如下,第一次进入循环时,首先执行循环体语句,然后再检查循环控制条件,即计算表达式,若值为"真",继续循环,直到表达式的值为"假",循环结束,执行do-while的下一条语句。do循环体语句while(表达式);【答案】正确()5、定义char*string="string?"是将字符串的值赋给指针变量string<)【答案】错误()6、用puts和gets函数可以输入或输出多个字符串。【答案】错误()7、c语言中,字符串常量存放在字符数组中要有一个结束符,该结束符是0。【答案】错误()8、在c语言中函数不可以嵌套定义,但可以嵌套调用。【答案】正确()9、当函数的类型为int型时,vc++允许省略函数声明。【答案】正确()10、文件是否打开是可以判断的。【答案】正确三、编程题(每小题分,共40分)1、要求输出国际象棋棋盘。(本题10分)【答案】程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。程序源代码:#include"stdio.h"main()ELinti,j;for(i=0;i<8;i++)for(j=0;j<8;j++)if((i+j)%2==0)printf("%c%c",219,219);elseprintf(ww);printf(M\nw);2、某班综合考评,根据参加集体活动的次数加分,规则如下:参加1次及以下:加1分;参加2至3次:加2分;参加4至7次:参加几次加几分;参加8至10次:加8分;参加10次以上:加10分。程序运行时输入某人参加活动的次数,则输出其应该加的分数;如果输入为负值,则给出相应提示。(本题14分)【答案】#include<stdio.h>voidmain()intcs,jf;printf("请输入参加活动次数:");scanf("%d”,&cs);if(cs<0)printf("你所输入的活动次数有误!\nn);else(if(cs<=l)jf=l;elseif(cs<=3)jf=2;elseif(cs<=7)jf=cs;elseif(cs<=10)jf=8;elseprintf("此人参加活动%d次,按规定应该加%d分!\n",cs,jf);3、输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照''姓名生日电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息,格式同输出。输入样例:3zhang1985040313912345678wang19821020+86ian1984061913609876543输出样例:wang19821020+86ian1984061913609876543zhang1985040313912345678(本题16分)【答案】#include<stdio.h>structmessagecharnamel[30];charname2[30];charname3[30];doubleprice;structmessaged[10];intmain()intN;scanf("%d",&N);inti,j;for(i=0;i<N;i++)scanf(M%s%s%sw,d[i].namel,d[i].name2,d[i].name3);scanf(M%lfprice);)intt,r;doublemax,min;max=min=d[0].price;for(j=0;j<N;j++)Kif(min>d[j].price)(min=d[j].price;t=j;}if(max<d[j].price)(max=d[j].price;r=j;printf(H%.21f,%s%s%s\nM,max,d[r].namel,d[r].name2,d[r].name3);printf(n%.21f,%s%s%s\nw,min,d[t].namel,d[t].name2,d[t].name3);return0;长春工程学院C语言程序设计专升本测试卷(六)总分:100分 考试时间:90分钟注意事项:题目包括三大部分,单项选择题,判断题,编程题,请按要求在规定时间内作答。考试中途不能无端离场,否则视为放弃。考试过程中如遇问题请及时向监考老师反馈。一、单项选择题(每小题2分,共40分)1、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是.A,200B、100C,100200D、输出格式符不够,输出不确定的值【答案】A2,经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为charx=65;floaty=7.3;inta=100;doubleb=4.5;2,2,2,41,2,2,41,4,4,82,4,2,8【答案】c3、以下选项中正确的定义语句是.doublea;b;doubla=b=7;doublea=7,b=7;double,a,b;【答案】c【解析】C语言规定,每个语句和数据定义以分号结束,则说明选项A是两条语句,前一条是对变量a作双精度型定义的语句,而后一个“b;”是一个缺少类型的不正确的定义形式,如果是定义多个变量,则应用逗号隔开;当定义多个变量赋同一个值时,不能用等式连写的方式,如选项B的''doublea=b=7;”应写成“doublea=7,b=7;”所以选项B错误,选项C正确;在定义语句时,类型与变量名之间应用空格分隔,而不是逗号,所以选项D错误。4、与y=(x>0?l:x<0?-l:0);的功能相同的if语句是.A、if(x>0)y=l;elseif(x<0)y="l;elsey=0;B、if(x)if(x>0)y=l;elseif(x<0)y=-l;elsey=0;y=-lif(x)if(x>0)y=l;elseif(x==0)y=0;elsey=-l;y=0;if(x>=0)if(x>0)y=l;elsey=l;【答案】A5、以下描述正确的是.A、goto语句只能用于退出多层循环。B、switch语句中不能出现continue语句。C,只能用continue语句来中止本次循环。D、在循环中break语句不能独立出现。【答案】C6、下列各定义数组的语句中不正确的是.A、inta[l][3];B,intx[2][2]={1,2,3,4};C,intx[2][]={1,2,4,6};D、intm[][3]={1,2,3,4,5};【答案】C【解析】请仔细阅读交规难度:简单7,若有以下说明:inta[10]={l,2,3,4,5,6,7,8,9,10},*p=a;则值为6的表达式是*p+6*(p+6)*p+=5D、p+5【答案】c【解析】选项A,*p+6,其值等于1+6=7;选项B,*(p+6),其值等于a[6]=7;选项C,*p+=5,其值等于*p=*p+5=l+5=6;选项D,p+5是个地址值。8,以下能正确定义二维数组的是.inta[][3];inta[][3]={2*3};inta[][3]={};inta[2][3]={{1},{2},{3,4});【答案】Bc语言中,double类型数据占。A、1个字节B、2个字节C、4个字节D、8个字节【答案】D10、下列四组字符串中都可以用作c语言程序中的标识符的是.print_3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国学导读考试试题及答案
- 2026八年级下语文古诗爱国手法鉴赏
- 公司安保巡逻制度
- 2026二年级数学下册 图形的运动深度学习
- 2026九年级上语文我看语言特色体会
- 2026三年级数学上册 时间单位的素养测评
- 2026三年级数学上册 乘法的综合应用
- 优莎娜奖金制度
- 企业文件制度
- 办公楼垃圾分类奖惩制度
- 《经济思想史》教学大纲
- 清代浙西文化代际传承:从曝书亭到拜经楼的演变探讨
- 《工程伦理》教案全套-教学设计
- 地球生气了课件
- 3 岁以下婴幼儿回应性照护指南
- 精神病学主治医师考试题库及答案
- 小学班主任工作-安全学习-《中小学生安全教育手册》
- 机械工程基础(第5版)课件 0绪论
- 2025年贵州省委党校在职研究生招生考试(中共党史)历年参考题库含答案详解(5卷)
- 电力电子技术的发展史
- (基础篇)小学数学人教版四年级下学期 分层作业 第一单元(含解析)
评论
0/150
提交评论