




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言专升本测试卷(一)(总分100分,考试时长90分钟)一、单项选择题(每小题2分,共40分)1、若程序中有宏定义行:#defineN100,则以下叙述中正确的是.A、宏定义行中定义了标识符N的值为整数100B、在编译程序对C源程序进行预处理时用100替换标识符NC、对C源程序进行编译时用100替换标识符ND、在运行时用100替换标识符N2、有如下程序段int*p,a=l,b=2;p=&b;a=*p+a;执行该程序段后,a的值为A、2B、3C、4D、编译出错3、下列赋值语句错误的是。A、Ai==0;i=i+l:i+=l:4、有以下程序main()(inti;for(i=0;i<3;i++)switch(i)(printfi);printfi);printfi);执行后输出的结果是—011122B、012C、012020D、1205、可以作为自定义标识符的是oA、2xbreakC、m-nD、m_n6、若各选项中所有变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是oA、main() { x=fun(2,10); } floatfun(intA,intb){……}TOC\o"1-5"\h\zB、floatfun(intA,intb){ }main(){ x=fun(i,j); }C、floatfun(intint);main(){ x=fun(2,10); } floatfun(intA,intb){ }D、main(){floatfun(inti,intj); x=fun(i, j); }floatfun(intA,intb){……}7、能正确表示逻辑关系〃a>=10或aV=0〃的c语言表达式是。A、a>=10ora=10B、a>=0|a<=10C、a>=10&&a<=0D、a>=10||a<=08、已知3个字符为:a、z和8,按它们的ascii码值升序排序,结果是。A、8,a,ZB、a,8,ZC、a,Z,8D、8,Z,a9、程序必须在有限的步骤、有限的时间内执行完毕,指的是算法的()特点A、确定性B、有穷性C、可行性D、输入10、下面关于编译预处理命令,正确的是oA、#definecharCHARB、#DefineE0.0000034##defineFALSE0#defineDIM2611、设inta[10],*p=a;数组元素a[4]的正确引用是。*(p+4)B、p+4C、*p+4D、a+412、关于strcmpO函数,下列描述中错误的是。A、strcmpO函数用于比较两个字符串的内容是否相等B、如果两个字符串的内容相同,strcmpO函数返回0C、strcmpO函数是可变参数的函数D、strcmpO函数只能接收字符指针作为参数,并不接收单个字符13、对于存储同样一组数据元素而言,oA、顺序结构比链接结构多占存储空间B、顺序结构与链接结构相比,更有利于对元素的插入、删除运算C、顺序结构比链接结构易于扩充空间D、顺序结构占用整块空间而链接结构不要求整块空间14、下列说法正确的是oA、main函数必须放在C程序的最后面B、main函数必须放在C程序的最前面C、main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D、main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的15、下列程序的输出结果是.char *pl="abcd”, *p2="abcd", str[50]="xyz";strcpy(str+2,strcat(pl+2,p2+l));printfstr);A^xyabcABabcABzABabczxycdBCD16、下面程序段的输出结果是.x=3;doy二x一;if(1y){printf(〃*");continue;}printf("#");)while(x=2);A、##B,##*C、死循环D、输出错误信息17、设有以下说明语句:typedefstructstu(inta;floatb;}stutype;则下面叙述中错误的是。A、struct是结构类型的关键字B、structstu是用户定义的结构类型C、a和b都是结构成员名D、stutype是用户定义的结构体变量名18、下面程序的输出是#include<stdio.h>voidmain(){intk=l1;printf("k=%d,k=%o,k=M\n”,k,k,k);)A,k=ll,k=12,k=llB、k=ll,k=13,k=13C、k=ll,k=013,k=0xbD、k=ll,k=13,k=b19、下列关于字符串的说法中错误的是oA、在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符'\0'作为字符串结束标志B、''0'作为标志占用存储空间,计入串的实际长度C、在表示字符串常量的时候不需要人为在其末尾加入''0'D、在C语言中,字符串常量隐含处理成以'\0'结尾20、有以下程序#include<studio.h>Sinclude<string.h>structa(inta;charb[10];doublec;);voidf(structat);main()(structaa={1001,Hzhangda”,1098.0};f(a);pringt("%d,%s,%6.lf\nn,a.a,a.b,a.c);)voidf(structat)(t.a=1002;strcpy(t.b,"changrong");t.c=1202.0;)程序运行后的输出结果是OA^1001,ZhangDa,1098.0B、1002,ChangRong,1202.0C、1001,ChangRong,1098.0D、1002,ZhangDa,1202.0二、判断题(每小题2分,共20分)()1、若有定义intx=1,y=2;则表达式x==y是将y的值赋值给x。()()2、函数若无返回值,则它一定无形参。()3、函数的实参传递到形参有两种方式:值传递和地址传递。()4、在循环中使用break语句或者continue语句,其作用是相同的。()5、字符串常量是由一对双引号括起来的字符序列。()6、当多个函数发生多层嵌套调用时,最后被调用的函数却最先结束。()7、用字符串常量给数组赋初值时,如果提供的字符个数大于数组长度,则系统报错。()8、c语言中sizeof是函数,而不是运算符。()9、符号"a"和'a'的区别是"a"是字符串常量,占2个字节;而'a'是字符常量,占1个字节。()()10、要使用标准输入、输出函数,正常情况下应该在文件的开头加上以下内容:#include<graphics.h>或#include'graphics.h"。三、编程题(每小题分,共40分)1、编写程序:从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+ (共n项)的和。例a=2,n=4,则sum=2+22+222+2222。(本题10分)2、编写程序:计算sum=l-l/3+l/5T/7+…+1/19(本题14分)3、统计结构体数组中性别(sex)为'M'的变量的个数。要求:①数组元素依次赋初值为:{1,"Andy",'M'}、{2,"Mike",'F'}、{3,"Rose",'M'}。②结构体定义如下:structStudent{intnum;charname[30];charsex;};(本题16分)参考答案一、单项选择题1、B2、B3、B4、A【解析】当执行switch语句时,首先计算紧跟其后一对括号中的值,然后在语句体内寻找与该值吻合的case标号。若相等,则执行该标号后开始的各语句,包括在其后的所有case和default后的语句,直到switch语句体结束。5、D【解析】主要考查的知识点为自定义标识符。[要点透析]A项以数字开头,B项为保留字,C项含有非字母、数字、下划线的字符,只有D项是正确的。6、A7、D【解析】在C语言中,逻辑运算符有与&&、或||、非!,关系运算符有大于〉、小于V、大于等于>=、小于等于<=、等于==,根据逻辑关系很容易看出,符合条件的选项为D。8、D【解析】在ASCII码袁中,根据码值由小到大的排列顺序是:控制符、数字符、大写英文字母、小写英文字母。9、B10、D【解析】无参宏定义的一般格式中define标识符语言符号字符串,其中:“define”为宏定义命令;”标识符为所定义的宏名,通常用大写字母表示,以便于与变量区别;“语言符号字符串”可以是常数、表达式、格式串(格式串是用双引号括起来的字符串)等,选项ABC错误,选项D正确;本题答案为Do11、A12、C【解析】strcmpO函数的参数是两个字符串13、D【解析】顺序结构的存储空间就是存放数据信息的空间,不需要附加空间,而链接结构节点(即元素)的存储空间包括两部分:一部分存放数据信息,一部分存放指针信息,因此A选项是错误的:在顺序结构中,要插入、删除元素需移动其他元素;而在链接结构中,插入、删除元素不需要移动其他元素。因此,选择项B是错误的;顺序结构中,存储空间必须事先定义,在运算过程中难以扩充:链接结构中,元素之间通过指针链接,空间易于扩充。因此选择项C也是错误的;顺序结构中,元素之间的关系通过存储单元的邻接关系来表示,其存储空间必须占用整块空间:链接结构中,节点之间的关系通过指针来表示,不要求整块空间。因此,D是正确答案。14、D【解析】每个C程序有且只有一个主函数(main),且程序必须从main。函数开始执行。别外main()函数可以放在程序中的任意位置。15、D16、C17、C18、D19、B【解析】'\0'作为标志占用存储空间,但是不计入串的实际长度。当给一个字符型指针赋值时,赋给这个指针的是这个字符串的地址。20、A二、判断题1、错误2、错误3、正确4、错误5、正确6、正确1、正确8、错误9、正确10、错误三、编程题1、#include"stdio.h"main()(inta,ncount=l,sn=0,tn=0;scanf("%d%d//,&a,&n);while(count<=n)tn=tn+a;sn=sn+tn;a=a*10;++count;)printf("%d〃,sn);)2、#include<stdio.h>main()(inti;floatsum=0,k=-l;for(i=l;i<=19;i=i+2){sum=sum+l.0/i*k;k=-k;)printfsum);getchO;)3、#include<stdio.h>structStudent{intnum;charname[30];charsex;);intFun(structStudent*s,intn)(intnum=0;inti;for(i=0;i<n;i++)(if(s[i].sex=='M')(num++;intmain()(structStudents[3]={1,〃Andy〃,'M',2, 'F',3,〃Rose〃,'M'};printf(*%d,z,Fun(s,3));return0;C语言专升本测试卷(二)(总分100分,考试时长90分钟)一、单项选择题(每小题2分,共40分)1、下面程序段的功能是ttinclude<stdio.h>main()(charsi;sl=putc(getc(stdin),stdout);)A、从键盘输入一个字符给字符变量siB、从键盘输入一个字符,然后再输出到屏幕C、从键盘输入一个字符,然后在输出到屏幕的同时赋给变量siD、在屏幕上输出stdout的值2、在c中,合法的字符常量是o'084''\x43''ah'D、“0”3、现有定义inta;doubleb;floatc;chark;则表达式a/b+c-k值的类型为A、intdoublefloatchar4、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=3则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为。A、0B、1C、2D、35、以下程序中,while循环的循环次数是main()(inti=0;while(i<10)if(i<l)continue;if(i==5)break;i++;)A、1B、10C、6D,死循环,不能确定次数6、有以下程序:fun(intx,inty){staticintm=0,i=2;i+=m+l;m=i+x+y;returnm;)main()(intj=l,ni=l,k;k=fun(j,m);printf("%d,'k);k=fun(j,m);printf("%d'n",k);)执行后的输出结果是=A,5,5B、5,1111,1111,57、下列选项中不会引起二义性的宏定义是oA、#defineS(x)X*xB、#defineS(x)(x)*(x)#defineS(x)(x*x)#defineS(x)((x)*(x))8、有数组:chara[]="thisisanegg”;。请问该数组到底占了几个字节?A,11B、12C、14D、159、以下选项中,当x为大于1的奇数时,值为0的表达式是oA、x%2==lB、x/2x%2!=0x%2==010、执行下列程序时输入:123〈空格>456〈空格>789V回车),输出结果是main()(chars[100];intc,i;scanf("%c",&c);scanf("%d",&i);scanf("%s”,s);printf("%c,%d,%s\n*,c,i,s);A、1,456,789B、1,23,456C、1,23,456,789D、123,456,78911、以下叙述中正确的是oA、字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组B、charca[3][4]={"A","BB","CCC"};是不合语法的C、charca[][5]={〃A","BB","CCC"};是不合语法的D、char*ca[3]={"A",〃BB","CCC"};是不合语法的12、以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。Sinclude〈string.h>voidf(charp[][10],intn)(chart[20];inti,j;for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)if(strcmp(pEi],p[j])<0)(strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);main()(charp[][10]={"abc","aabdfg","abbd","dcdbe","cd"};f(p,5);printf(,z%d\n/z,strlen(p[O]));)程序运行后的输出结果是oA、6B、4C、5D、313、运行以下程序后,如果从键盘上输入chinaA、2,0B、5,0C、5,5D、2,514>有如下程序段int*p,a=6,b=2;p=&a;a=*p+b;执行该程序段后,a的值为A、6B、8C、7D、编译出错15、有以下程序:#include<stdio.h>main()(charcl=,T,c2=,2';cl=getchar();c2=getchar();putchar(cl);putchar(c2);)当程序运行时输入aV回车)后,下列叙述中正确的是—A、变量cl被赋予字符a,c2被赋予回车符B、程序将等待用户输入第2个字符C、变量cl被赋予字符a,c2中仍是原有字符2D、变量cl被赋予字符a,c2中将无确定值16、下面程序段的运行结果是.for(i=l;i<=5;)printfi);i++;123451234C、15D、无限循环17、若有以下说明语句:structdate(intyear;intmonth;intday;}brithday;则下面的叙述不正确的是.A、struct是声明结构体类型时用的关键字B、structdate是用户定义的结构体类型名C、brithday是用户定义的结构体类型名D、year,day都是结构体成员名18、下列程序段输出结果是oa=l;b=10;do(b-=a;a++;)while(b--<0);printf(""a,b=%d,a,b);A、a,b=7,5B、a,b=2,8C、a,b=2,2D、a,b=81219、下列对字符数组进行初始化的语句中,是正确的。A、chars1[]="abed";B>chars2[3]="xyz”;C>chars3[][3]={ ,‘x','y'}D、chars3口[3]={"xyz","mnp"};20、若有定义:structkeyword{charkey[20];intid;)kw[]={"void",1,"char",2,"int",3,"float”,4,"double”,5};则printf("%c,%d\n”,kw[3].key[0],kw[3].id);语句的输出结果为oA、i3B、n3C、f4D、14二、判断题(每小题2分,共20分)()1、如果在共用体中有若干个不同类型的成员,在每一瞬间只有一个成员起作用,实际上是最后一个存放成员起作用。()2、在同一种类型中,变量值越大,它所占内存的字节数越多。()()3、指针数组的每一个元素都是指针变量,且都指向相同的数据类型。()4、在循环过程中,使用break语句和continue语句的作用是一样的()5、字符串可以存储在字符数组中,也可以存储在字符型指针变量中()6、函数定义在先、调用在后时,vc++允许省略函数声明。()7、如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素。()8、在标准c语言中,所有函数在调用之前都要进行声明。()9、在标准c语言中,函数的定义和调用一样都是不可以嵌套的。()10、若不希望其他源文件引用本文件中定义的全局变量,可在定义全局变量时加上statico三、编程题(每小题分,共40分)1、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。(本题10分)2、编写程序输入三位数(100—999),然后按数字逆序输出。(例:输入123/,输出321)o(本题14分)3、题目描述完成一个对候选人得票的统计程序。假设有3个候选人,名字分别为Li,Zhang和Fun。使用结构体存储每一个候选人的名字和得票数。记录每一张选票的得票人名,输出每个候选人最终的得票数。结构体可以定义成如下的格式:structperson{charname[20];intcount;}leader[3]={“Li”,0,“Zhang”,0,“Fun”,0);输入第一行有一个整数n,表示以下有n张选票信息将会输入。保证n不大于100。以后的n行中,每一行包含一个人名,为选票的得票人。保证每一个人名都是Li,Zhang和Fun中的某一个。输出有三行,分别为Li,Zhang和Fun每人的得票数。格式为首先输出人名,其后输出一个冒号,最后输出候选人的得票数。请注意行尾输出换行。样例输入10LiLiFunZhangZhangFunLiFunZhangLi样例输出Li:4Zhang:3Fun:3(本题16分)参考答案一、单项选择题1、C2、B3、B【解析】双目运算中两边运算量类型转换规律: 在a/b的时候,a、b的类型不一致,根据类型转换规则,把整型转换成double类型,之后的加、减类似。转化规则为char,short->int->unsigned->long->double*-float04、D5、D6、B【解析】本题的fun()函数中定义的变量m和i是静态局部变量,第1次调用fun()函数时m=0、i=2,执行i+=m+l后,i的值变为3,再执行m=i+x+y后,m的值变为5,所以第1次输出的整数是5。第2次调用fun()函数时m=5、i=3,执行i+=m+l,i变为9,再执行m=i+x+y,m变为11,所以第2次输出的整数是11。故本题应该选择B。7、D8、D9、D【解析】因为x的值为大于1的奇数,所以x除以2的余数等于1,因此,选项A)、C)中表达式的结果为真,不为0;对于选项B)来说,x除以2的商不会等于0;选项D)中表达式的结果为假,即等于0。10、B【解析】第一个输入语句只接收一个字符'1';第二个输入语句接收一个整数23,遇到空格停止;第三个输入语句接收一个字符串"456'',遇到空格停止。11、A【解析】本题考查字符串数组的相关知识,选项BCD都是合语法的。12、C13、C【解析】输入“c”时,运行default和case'0'的代码;输入“h”时,运行case'h'、default和case'0'的代码;输入"i"时,运行default和case'。的代码;输入“n”时,运行default和case'。的代码;输入“a”时,运行case'a'、case'h'、default和case'O'的代码。14、B15、A16、D17、C18、B19、A【解析】BCD选项都不合字符数组的定义。20、C【解析】kw[3].Key[0]是第4个元素中key数组的第1个字符即f;kw[3].ID是第4个元素中成员ID值;二、判断题1、正确2、错误3、正确4、错误5、错误6、正确7、正确8、错误9、错误10、正确三、编程题1、#includevoidmain()(inti,sum=0;for(i=l;i<=99;i=i+2)sum=sum+i*(i+1)*(i+2);printf(,z%d\n/z,sum);)2、#include<stdio.h>voidmain(){intn,ge,shi,bai;printf("请输入一个三位正整数:”);scanf("%d",&n);if((n<100)||(n>999))printf("输入数据有误!\n");else{ ge=n%10;shi=n/10%10;bai=n/100;printf("此数的逆序输出结果为:%d%d%d\nz/,ge,shi,bai);))#include<stdio.h>#include<string.h>structperson{charname[20];intcount;}leader[3]={"Li",0,"Zhang”,0,"Fun”,0);intmain(){inti,j,n;charleader_name[20];scanf&n);for(i=1;i<=n;i++){scanf(〃%s〃,leader_name);for(j=0;j<3;j++)if(strcmp(leader_name,leader[j].name)==0)leader[j].count++;)for(i=0;i<3;i++)printf(/z%s:%d\nz/,leader[i].name,leader[i].count);returnO;C语言专升本测试卷(三)(总分100分,考试时长90分钟)一、单项选择题(每小题2分,共40分)1、下列选项中,不能正确定义c语言整型常量是?A、32LB、51000C、-1.2D、5672、表示关系xV=yV=z的c语言表达式为oA、(x<=y)&&(y<=z)B、(x<=y)and(y<=z)C、(x<=y<=z)D、(x<=y)&(y<=z)3、有如下定义类型语句,若从键盘输入数据,正确的输入语句是ointx;chary;charz[20];A、scanfC%d%c%c",&x,&y,&z);B、scanf("%d%c%s”,&x,&y,&z);C、scanf(*%d%c%c*,&x,&y,z);D、scanf(*%d%c%s*,&x,&y,z);4、if语句的基本形式为:if(表达式)语句,其中"表达式"oA、可以是任意合法的表达式B、必须是逻辑表达式C、必须是逻辑表达式或关系表达式D、必须是关系表达式5、若有程序段:x=99;while(x-2)x—;则循环结束时,x=。A、99B、2C、1D、06、以下函数调用语句中实参的个数为。exce((vl,v2),(v3,v4,v5),v6);A、3B、4C、5D、67、以下各标识符中,合法的是。A、A&M_sumfloatD、2x18、有字符数组a[80]和b[80],则正确的输出语句是oA^puts(a,b);B、printf("%s,%s”,a口,b口);C、putchar(a,b);D、puts(a),puts(b);9、以下标识符中,不能作为合法的c用户定义标识符的是oA、ForprintfWORDsizeof10、下列合法的字符型常量是oA、'\xl3'B、'\081'C、’65'D、"\n\11、设pl和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是oA、k=*pl+*p2B、p2=k;C、pl=p2;D、k=*pl*(*p2);12、关于函数返回值类型和返回值表达式的类型的描述中,错误的是。A、函数返回值类型决定了返回值表达式的类型B、函数返回值的类型是在定义函数时确定的,在函数调用时不能改变C、函数返回值的类型就是返回值表达式的类型D、函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成函数返回值类型13、若以下选项中的变量已正确定义,则正确的赋值语句是oA、xl=26.8%3;l+2=x2;C、x3=0xl2;D、x4=1+2=3;14、定义如下变量和数组:inti,x[3]定]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是A、159B,147C、357D、36915、有以下程序main(){inta=l,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);〃短路问题printf("%d,%d\n”,k,m);)程序运行后的输出结果是OA、0,0B、0,1C、1,0D、1,116、有如下程序main()(intx=3;do(printf("刎",x―);)while(!x);)该程序的执行结果是oA、321B、3C、不输出任何内容D、陷入死循环17、定义共用体的关键字是.unionenumstructtypedef18、下述程序段的运行结果是omain()(staticinta[3][3]={{1,2,3},{4,5,6},{7,8,9}};intb[3][2],i,j;for(i=0;i<3;i++)(for(j=0;j<3;j++)(b[i][j]=a[j][i]+a[i][j];printfC'%5d'',b[i][j]);)printf(''\n'');2472610181410182319、若定义staticinta[2][2]={1,2,3,4},则a数组的各数组元素分别为A、a[0][0]=ka[0][l]=2,at[l][0]=3,a[l][1]=4B、a[0][0]=Ka[0][1]=3,a[l][0]=2,a[l][l]=4C、a[0][0]=4,a[0][1]=3>a[l][0]=2,s[l][l]=lD、a[0][0]=4,a[0][l]=2、a[l][0]=3>a[l][l]=l20、以下叙述中正确的是oA、使用typedef定义新类型名后,新类型名与原类型名实际上是等价的B、结构体类型中的各个成分均不能是数组或指针C、结构体类型的变量,不能在声明结构体类型组成时一起定义D、元素为结构体类型的数组,只能在声明过结构体类型之后,单独进行定义二、判断题(每小题2分,共20分)()1、模运算符%,仅用于整型变量或整型常量。()2、将int型变量x转换为float型应:float(x);()3、函数返回值的类型是由在定义函数时所指定的函数类型()4、while语句的一般形式如下,当表达式的值为"真"时,循环执行,直到表达式的值为"假”,循环中止并继续执行while的下一条语句。()5、使用strcpy(字符数组,字符串)函数时,字符数组长度必须足够大。()6、c程序是从函数开始执行的。()7、二维数组元素在内存中的存放顺序是按列主顺序存放()8、当函数的实参与形参同名时,它们将共占内存单元。()()9、在标准c语言中,使用函数strcpy时可以将'0'一起复制到目标串中()10、在一个文件中定义的全局变量其作用域还可以扩展到其他文件。三、编程题(每小题分,共40分)1、编写程序:判断输入字符的字母的个数,以*结束输出。(本题10分)2、输出9*9乘法表。(本题14分)3、计算n名学生成绩的平均分并通过函数返回。要求:结构体代码如下:structStudentScore{doublescore;);(本题16分)参考答案一、单项选择题1、C2、A【解析】C语言中没有关键词and,逻辑与运算符是&&,不是and,因此,选项B是错误的;而&是c语言的按位与运算,因此选项D是错误的:选项C是数学表达式,也是不对的。3、D4、A【解析】本题考查if表达式。if(表达式)中的表达式可以为任何合法的表达式,一般情况下为逻辑、条件表达式,需要注意的是,当等号(==)误写为赋值号(=)时不会报错的,但是其值恒为1。5、B6、A7、B8、D9、D10、A【解析】C语言的字符常量是用单引号(')括起来的一个字符,也可以用以一个“\”开头的字符序列来表示字符常量。其中形式\ddd表示1到3位8进制数所代表的字符;形式\xhh表示1到2位16进制数所代表的字符。在本题中'\xl3'表示回车符,是一个字符常量;而'\081'用8进制数所代表的字符形式不正确,因为8进制数所表示的字符中不会出现数字“8";’65'单引号(即撇号)括起来的不是一个字符,而是一个十进制数字;"\n"是用双引号括起来的一个字符,表示一个字符串,而不是字符常量。11、B12、C13、C14、C15、C16、B【解析】本题x赋初值为3,当执行printf("%d”,x-);时,由于x-的作用是先运算x,再将x的值减1,所以,printf输出的x值为3,等输出后,x的值减1变为2,继续执行,判断条件!x为假,循环只被执行一次。17、A18、B19、A20、A【解析】本题考查typedef的使用方法,typedef对已存在的类型使用一个新的名字,结构体类型中的成分可以是数组和指针,所以B选项错误,结构体类型的变量可以在声明结构体的时候一起定义,C选项错误,D选项中可以一起定义。二、判断题1、正确2、错误3、正确4、正确5、正确6、正确7、错误8、错误9、正确10、正确三、编程题1、#include<stdio.h>main(){charch;inti=0;ch=getchar();while(ch!='*')if(ch>=,a&&ch<=,z>||ch>=,a*&&ch<=,z){i++;ch=getchar();)printf(〃%d\n”,i);)2、#include<stdio.h>voidmain()(inti=l;for(i;i<=9;i++)(intj=l;for(j;j<=i;j++)printfC%d*%d=%d”,i,j,i*j);)printf('\n");))3、doubleFun(structStudentScore*a,intn){inti;doublesum=0.0;for(i=0;i<n;i++)(sum+=a[i].score;)returnsum/n;)intmain()(structStudentScorea[100];intn;〃学生数量inti;printf(〃请输入学生数量:”);scanf("%d",&n);for(i=0;i<n;i++)(printf("请输入第%d个学生的成绩:”,i+1);scanf&a[i].score);}printfFun(a,n));return0;)请输入学生数量:3请输入第1个学生的成绩:90请输入第2个学生的成绩:100.0请输入第3个学生的成绩:8090.000000C语言专升本测试卷(四)(总分100分,考试时长90分钟)一、单项选择题(每小题2分,共40分)1、下列属于条件运算符的是。A、:B,&&C、>>D、+2、下列()是合法标识符。A、_bookB、5filesC,+staticD、-3.141593、以下选项中属于c语言数据类型的是oA、复数型B、逻辑型C、双精度型D、集合型4、有如下程序main(){intx=l,a=5,b=5;switch(x)(case0:b一一;a—;a一一;)printfC'a=%d,b二%d\n”,a,b);}该程序的输出结果是OA>a=3,b=4B>a=3,b=3C、a=4,b=5D>a=4,b=45、下列for循环语句的执行次数是ofor(intx=0,y=0;(y!=0)&&(x<4);x++)A、无限次B、一次也不执行C、执行一次D、执行三次6、c语言源程序的基本单位是oA、过程B、函数C、子程序D、标识符7、运行下面程序后,输出是.#include<stdio.h>voidmain()(intk=-3;if(k<=0)printf("****\n");elseprintf}####****C,####****D、有语法错误不能通过编译8、c语言中,数组名代表oA、数组全部元素的值B、数组首地址C、数组第一个元素的值D、数组元素的个数9、在c语言中,数字029是一个()A、八进制数B、十进制数C、十六进制数D、非法数10、以下不能正确进行字符串赋初值的语句是A、charstr[5]="good!”;B、charstr[kgood!”;char*str="good!”;D、charstr[5]={'g','o','o','d'};11、若二维数组a有m行n歹U,则下面能够正确引用元素a[i][j]的为—*(a+j*n+i)*(a+i*n+j)C、*(*(a+i)+j)D、*(*a+i)+j12、已定义以下函数intfun(int*p)(return*p;)则fun函数返回值足A、不确定的值B、一个整数C、形参p中存放的值D、形参p的地址值13、设c语言中,int类型数据占2个字节,则long类型数据占—A、1个字节B、2个字节C、4个字节D、8个字节14>有以下函数intfun(char*s)(char*t=s;while(*t++);return(t-s);}该函数的功能是oA、比较两个字符串的大小B、计算S所指字符串占用内存字节的个数C、计算S所指字符串的长度D、将S所指字符串复制到字符串t中15、以下程序运行后的输出结果是main(){charc;intn=100;floatf=10;doublex;x=f*=n/=(c=50);printf(纵d%f\n”,n,x);)A,220.000000B、100,20.000000240.00000010040.00000016、有以下程序:#include<stdio.h>mainO{intx=8;for(;x>0;x一)(if(x%3)(printf("%d,",x一);continue:)printf(z/%d,",-x):})程序的运行结果是OA、7,4,2B、8,7,5,2C、9,7,6,4D、8,5,4,217、在c语言中,系统为一个结构体变量分配的内存是—A、各成员所需内存量的总和B、结构体第一个成员所需的内存量C、成员中占内存量最大者所需的容量的整数倍D、结构体中最后一个成员所需的内存量18、以下程序的输出结果是。main()(intx=3,y=0,z=0;if(x=y+z)printf(',*** ;elseprintf1####'');)####****C、1D、419、以下对二维数组a的正确说明是A、inta[3][]B、floata(3,4)C^doublea[l][4]D、floata(3)(4)20、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是structstu(inti;intname;}St,*p;p=&st;A、siB、*i(*.iD、p->i二、判断题(每小题2分,共20分)()1、C语言在判断一个表达式是否为真时,以非0值代表"真",以0值代表”假〃()2、在c语言的数据类型中,float的含义是单精度浮点型,double的含义是双精度浮点型。()3、预处理命令不是c语言的组成部分。()4、break语句只能用在循环语句中。()5、c语言约定''0'计入字符串的长度。()6、c语言规定,函数返回值的类型是由return语句中表达式类型所决定的。()()7、一个数组是由连续的一块内存单元组成的,指针变量就是这块连续内存单元的首地址()8、用strcat(字符串1,字符串2)连接两个字符串函数时,将字符串1后面的''0'取消,只在新串的最后保留一个‘\0'。()9、当函数定义在后、调用在先时,vc++允许省略函数声明。()10、fseek函数一般用于文本文件。三、编程题(每小题分,共40分)1、编写程序,使用循环结构输出下列图形:(本题10分)2、编写程序:删除一个字符串中的指定字母,如:字符串"aca”,删除其中的a字母。(本题14分)3、编写程序:用结构体数组,学生信息由学号、姓名,成绩组成,数据如下:201513135157张三901)使用结构体数组,将学生的数据按成绩从高到低排序显示到屏幕上2)将学生中不及格学生的姓名显示出来3)写一个函数,获取成绩低于平均分的学生记录并返回低于平均分的学生人数(本题16分)参考答案一、单项选择题1、A【解析】:为条件运算符;&&为布尔逻辑运算符;>>为位运算符;+为算术运算符。2、A3、C【解析】C语言的数据类型分为基本类型、构造类型、指针类型、空类型四大类,其中,基本类型分为整型、字符型、实型三类。实型又称浮点型,包括单精度型和双精度型两种。4、A5、B6、B7、D8、B9、D10、A11、C12、D13、C14、B【解析】循环语句while(*t++);执行完时,指针变量t就指向了字符串结束符'\0'之后的位置,所以语句return(t-s);返回的就是字符串s所用内存的字节个数。15、A【解析】对于C语言中的赋值运算符,必须遵循以下规则:赋值运算符的优先级别只高于逗号运算符,比其他任何运算符的优先级都低,并且具有自右向左的结合性。因此先得到变量c的值为50,变量n经过计算结果为2,最后通过变量f的值10和n的值2相乘得到变量x的值,为20.000000o因此选项A)正确。16、D【解析】本题考查for循环语句。x=8,for循环条件为真,8%3=2,不等于0,则if条件表达式为真,执行第一个输出语句,先输出x的值8,然后将x的值减1,此时x=7。然后执行continue语句结束本次循环。执行x—表示式,得x=6,for循环条件为真.6%3=0,则if条件表达式为假,执行第二个输出语句,先将x的值减1得x=5,然后输出x的值5。执行x—表示式,得x=4,for循环条件为真,4%3=1,不等于0,则if条件表达式为真,执行第一个输出语句,先输出X的值4,然后将X的值减1,此时x=3。然后执行continue语句结束本次循环。执行x—表示式,得x=2,for循环条件为真,2%3=2,不等于0,则if条件表达式为真,执行第一个输出语句,先输出x的值2,然后将x的值减1,此时x=l。执行X—表示式,得x=0,for■循环条件为假,循环结束。17、C18、A19、C20、B【解析】本题主要考查结构指针:p=&st,访问结构体的成员,可以通过结构变量访问,即st.i,也可以用等价的指针形式即(*p).i和p->i。二、判断题1、正确2、正确3、正确4、错误5、错误6、错误7、错误8、正确9、错误10、错误三、编程题1、****************ttincludevoidmain()inti,j,k;for(i=0;i<5;i++)(for(j=0;j<4-i;j++)printf("");for(k=0;k<4;k++)printf("*");printf("\n〃);)printf("\n");)2、#include<stdio.h>#include<stdlib.h>#include<string.h>//删除字符串中指定字母函数char*deleteCharacters(char*str,char*charSet)(inthash[256];if(NULL==charSet)returnstr;for(inti=0;i<256;i++)hash[i]=0;for(inti=0;i<strlen(charSet);i++)hash[charSet[i]]=1;intcurrentindex=0;for(inti=0;i<strlen(str);i++)(if(!hash[str[i]])str[currentIndex++]=str[i];)str[currentIndex]='\0';returnstr;)intmain()(chars[2]= //要删除的字母chars2[5]=〃aca";//目标字符串printf(,z%s\n,z,deleteCharacters(s2,s));return0;)3、ttinclude<stdio.h>ttdefineNUM3structstudentchar*sno=newchar[20];char*name=newchar[20];intscore;boolfail=false;);voidstuSort(student*stu)(studenttmp;for(inti=0;i<NUM;i++)(for(intj=0;j<NUM;j++){if(stu[j].score<stu[i].score){=stu[j].name;tmp.sno=stu[j].sno;tmp.score=stu[j].score;stu[j].name=stu[i].name;stu[j].sno=stu[i].sno;stu[j].score=stu[i].score;stu[i].name=;stu[i].sno=tmp.sno;stu[i].score=tmp.score;for(inti=0;i<NUM;i++)(printf(/z%s%s%d\n,z,stu[i].sno,stu[i].name,stu[i].score);}voidstuFail(student*stu)intnumOfStu=0;for(inti=0;i<NUM;i++)(if(stu[i].fail==true){printfstu[i],name);)else(numOfStu++;))if(numOfStu==NUM)(printf“nofail");))voidstuAvg(student*stu){intstuScore=0;doublestuAvg=0;intent=0;for(inti=0;i<NUM;i++)(stuScore+=stu[i].score;)stuAvg=stuScore/NUM;for(inti=0;i<NUM;i++)(if(stu[i].score<stuAvg)(ent++;printf(,z%d\n/z,ent);intmain()student*stu=newstudent[NUM];for(inti=0;i<NUM;++i)(printf(〃输入学号:〃);scanf(〃%s〃,stu[i].sno);printf(〃输入姓名:〃);scanfstu[i].name);printf(〃输入功课成绩:〃);scanf&stu[i].score);}stuSort(stu);stuFail(stu);stuAvg(stu);delete[]stu;stu=NULL;return0;C语言专升本测试卷(五)(总分100分,考试时长90分钟)一、单项选择题(每小题2分,共40分)1、以下叙述中错误的是oA、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输出C、算法正确的程序可以有零个输入D、算法正确的程序对于相同的输入一定有相同的结果t=a*=a>b?a:b;2、下列程序段的输出结果为。inta=7,b=9,tprintf(飞d”,t);t=a*=a>b?a:b;A、7B、9C、63D,493、以下不正确的if语句形式是oif(x>y&&x!=y);if(x==y)x+=y;C、if(x!=y)scanf&x)elsescanf&y);D,if(x<y){x++;y++;}4、以下程序的输出结果是o#include<stdio.h>main()(inta=4,b=3,c=2,d=l;printfa<b?a:d<c?d:b);)A、1B、3C、2D、45、有以下程序#include<stdio.h>main()inti,j;for(i=3;i>=-l;i-)for(i=l;j<=2;j++)printfi+j);printf;})程序的运行结果是oA,234345B、432543C,233445D、4534236、有以下函数intaaa(char*s){char*t=s;while(*t++);t-=l;return(t-s):)以下关于aaa函数的功能叙述正确的是。A、求字符串s的长度B、比较两个串的大小C、将串s复制到串tD、求字符串S所占字节数7、若有说明:int*pl,*p2,m=5,n;以下均是正确赋值语句的选项是opl=&m;pl=&m;p2=&n;*pl=*p2;pl=&m;p2=pl;pl=&m;*p2=*pl;8、若有以下说明:charsl[]={"tree"},s2[]={"flower”};,则以下对数组元素或数组的输出语句中,正确的是A,printf(/,%s%s,/,si[5],s2[7]);B、printf("%c%c”,si,s2);C、puts(si);puts(s2);D、puts(si,s2);9、当代计算机之所以能自动地连续进行数据处理,主要是由于A、采用了开关电路B、采用了半导体器件C、具有存储程序的功能D、采用了二进制数10、下列关于串的叙述中,哪一条是正确的()A、串是由至少1个字符组成的有限序列B、串中字符的数目就是串的长度C、空串就是由空格构成的串D、串只能顺序存储11、有以下程序main(){charp[]={'a','b','c'},q[10]={,a,'b','c};printf(/z%d%d\n”,strlen(p),strlen(q));)以下叙述中正确的是oA、在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B、由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3C、由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3D、由于p和q数组中都没有字符串结束符,故长度都不能确定12、printf函数中用到格式符%-6s,其中数字6表示输出的字符串占用6歹U。如果字符串长度小于6,则输出按方式.A、从左起输出该字符串,右补空格B、从右起输出该字符串,左补空格C、0D、输出错误信息13、若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[l]地址的表达式为()。A、p+1B、a+1C、a++D、++p14、下面程序输出数组中的最大值,由s指针指向该元素.voidmain()inta[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;for(p=a,s=a;p-a<10;p++)if()s=p;printf("themax:%d”,*s):)则在if语句中的判断表达式应该是。A、p>sB、*p>*sC、a[p]>a[s]D、p-a>p-s15、阅读以下程序:main()(intx;scanf&x);if(x—<5)printf("%d"'x);elseprintfx++);)程序运行后,如果从键盘上输人5,则输出结果是oA、3B、4C、5D、616、若变量已正确定义,以下while循环正常结束时,累加到pi的最后一项item的值满足。A、item的绝对值小于0.0001B、item的绝对值大于0.0001C、item的绝对值大于等于0.0001D、item的绝对值小于等于0.000117、若有以下语句:typedefstructs(intg;charh;}t;以下叙述中正确的是。A、可用S定义结构体变量B、可用T定义结构体变量C、S是struct类型的变量D、T是structS类型的变量18、有以下程序:voidfun(charc)(if(c>'x')fun(c-l);printf("枇",c);)main()(fun('z');)程序运行后的输出结果是oA、xyzwxyzC、xzyD、zvx19、以下对一维数组c进行正确的定义初始化的语句是oint c [10] =0;int c [10] ={0}*10;C、int c [1] ={0,0,0,0,0,0,0);D^ int c [10] ={0};20、相同结构体类型的变量之间,可以oA、相加B、赋值C、比较大小D、地址相同二、判断题(每小题2分,共20分)()1、表达式语句和表达式没有什么区别。()2、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。()3、实参向形参进行数值传递时,数值传递的方向是单向的,即形参变量值的改变不影响实参变量的值。()4、do-while语句的一般形式如下,第一次进入循环时,首先执行循环体语句,然后再检查循环控制条件,即计算表达式,若值为"真〃,继续循环,直到表达式的值为"假",循环结束,执行do-while的下一条语句。do循环体语句)while(表达式);()5、c语言标准输出操作中,putchar()函数可以输出显示一个字符串。()6、在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。()7、指针变量可以指向数组,但不允许指向数组元素。()8、c语言每个函数的返回值都是int型的。()9、字符常量与字符串是两种不同的常量。()10、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件。三、编程题(每小题分,共40分)1、从键盘输入圆的半径,计算并输出圆面积与周长,要求结果保留两位小数。(本题10分)2、编写程序:求0—7所能组成的奇数个数。比如:1位数为奇数的个数42位数为奇数的个数283位数为奇数的个数224 (本题14分)3、给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。输入格式:输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名基本工资浮动工资支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。输出格式:按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。输入样例:3zhao24040075qian36012050zhou56015080输出样例:zhao565.00qian430.00zhou630.00(本题16分)参考答案一、单项选择题1、B2、C3、C4、A【解析】条件表达式的格式为:"ab:c",它的功能是:当a为真时,表达式的值等于b的值;当a为假时,表达式的值等于c的值。因为条件运算符的结合方向为“自右向左”。因此,当表达式中嵌套使用条件表达式时,应先计算右边的条件表达式,再计算左边的条件表达式。题中应先计算“dVcd:b”的“dVc”关系表达式的值,因为d-lVc=2为真,所以取第一个表达式的值,即d的值作为整个表达式的值。接着计算“aVba:d",a=4Vb=3为似,取第二个表达式的值,即d的值作为整个表达式的值。5、D【解析】本题考查的是for循环的嵌套。外层循环变量i从3递减到1,内层循环变量j从1递增到2,具体运行过程如下:i-3:j=l,满足条件jV=2,输出i+j=3+l=4;j=2,满足条件j<=2,输出i+j=3+2=5;j=3,不满足条件jV=2,退出内层循环,执行“printf("\n");"语句,换行。执行『-,此时i=2,满足条件i>=l;i=2:j=l,满足条件jV=2,输出i+j-2+l=3:j=2,满足条件j<=2,输出i+j=2+2=4;j=3,不满足条件jV=2,退出内层循环,执行“ptintf("\n");"语句,换行。执行i-,此则i=L满足条件i>=l;i=l:j=l.满足条件jV=2,输出i+j=l+l=2;j=2,满足条件jV=2,输出i+j=l+2=3;j=3,不满足条件jV=2,退出内层循环,执行"printf("\n");”语句,换行。执行i",此时i=0,不满足条件i>=l,结束外层循环。6、A7、C8、C9、C【解析】计算机是一种智能机器,是因为它采用了存储程序原理,能自动执行程序完成算术运算和信息处理。10、B【解析】串(或字符串)是由零个或多个字符组成的有限序列,零个字符的串是空串,串中字符的数目就是串的长度,串的存储方式有顺序存储和链式存储两种。串的基本运算有连接、赋值、求长度、全等比较、求子串、找子串位置以及替换等。11、B12、A
二、二、BABADB判断题错误正确正确正确错误正确错误错误正确10、正确三、编程题1、#includevoidmain()intr;floatpi=3.14159;floatc,s;printf(“请输入半径r:");scanf("%d”,&r);s=pi*r*r;c二2*pi*r;printf("面积二%.2f,周长=%.2f\n〃,s,c);2、#include<stdio.h>intmain(intagrc,char*agrv[])longsum=4,s=4;〃sum的初始值为4表示,只有一位数字组成的奇数个数为4个intj;for(j=2;j<=8;j++)(printf("%d位数为奇数的个数%ld\n”,j-1,s);if(j<=2)s*=7;elses*=8;sum+=s;)printfC/%d位数为奇数的个数%ld\n”,j-1,s);printf("奇数的总个数为:%ld\n,z,sum);//system("pause");return0;)3、ttinclude<stdio.h>structmessage(chara[9];doublebasic;doublefu;doubleoutput;);structmessaged[100];intmainO(intN;doublef[100];scanf(〃%d〃,&N);for(inti=0;i<N;i++)(scanf(z,%s%lf%lf%lf,z,d[i].a,basic,fu,output);f[i]=d[i].basic+d[i].fu-d[i].output;)for(inti=0;i<N;i++)printf("%s%.2f\n〃,d[i].a,f[i]);return0;)C语言专升本测试卷(六)(总分100分,考试时长90分钟)一、单项选择题(每小题2分,共40分)1、将十进制257转换成十六进制数是oA、11B、101C、F1D、FF2、下面判断正确的是oA、char*a="china";等价于char*a;*a="china”;B^charstr[5]=*china,z;等价于charstr[]=*chinazz;C、char*S=*china*;等价于char*S;S="china”;D^charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]=*abc*;3、在下面关于指针的说法中,错误的一条是.A、变量的指针就是变量的地址B、可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量C、一个指针变量只能指向同一个类型的变量D、指针变量中只能存放地址(指针)4、设a、b、e、d、m>n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值是。A、0B、1C、2D、35、以下叙述中错误的是oA、C语言是一种结构化程序设计语言B、结构化程序由顺序、分支、循环三种基本结构组成C、使用三种基本结构构成的程序只能解决简单问题D、结构化程序设计提倡模块化的设计方法6、以下函数调用语句中含有实参个数为.func((expl,exp2),(exp3,exp4,exp5));A、1个B、2个C、4个D、5个7、在下面的条件语句中(其中si个s2表示c语言语句),只有0在功能上与其他三个语句不等价。if(a)SIelseS2if(a==0)S2elseSIif(a!=0)SIelseS2if(a==0)SIelseS28、下面程序的输出结果是omain()(inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23);int(*p)L4]=a,i,j,k=0;for(i=0;i<3;i++)for(j=0;j<2;j++)k=p[i][j];printf("%d\n",k);)A、17B、18C、19D、239、以下叙述中错误的是oA、用户所定义的标识符允许使用关键字B、用户所定义的标识符应尽量做到"见名知意”C、用户所定义的标识符必须以字母或下划线开头D、用户定义的标识符中,大、小写字母代表不同标识10、以下不能将s所指字符串正确复制到t所指存储空间的是owhile(*t=*s){t++;s++;)B、for(i=0;t[i]=s[i];i++);C、do{*t++=*s++;)while(*s);D、for(i=0,j=o;t[i++]=s[j++];);11、已知p,pl为指针变量,a为数组名,j为整型变量,下列赋值语句中不正确的是。A、p=&j,p=pl;p=a;p=&a[j];p=10;12、c语言程序的三种基本结构是。A、循环结构转移结构顺序结构B、递归结构循环结构转移结构C、嵌套结构递归结构顺序结构D、顺序结构选择结构循环结构13、以下运算符中优先级最低的是。A、&&B、&C、IID、I14、若有函数max(a,b),为了让函数指针变量p指向函数max,当调用该函数时,正确的赋值方法是o(*p)max(a,b)*pmax(a,b)C、p=max(a,b)D,*p=max(a,15、下面程序运行时,输入12345678回车,结果0main()(inta,b;scanf(级2d%*2d%2d”,&a,&b);printf(a+b);}A,46B、5768D、出错16、若i、j已定义为int型,则以下程序段中内循环的总的执行次数是一for(i=5;i>0;i-)for(j=0;j<4;j++)A、20B、24C、25D、3017、若有下面的说明和定义,则sizeof(structaa)的值是。structaa{intrl;doubler2;floatr3;unionuu{charul[5];longu2[2];}ua;}mya;A、30B、29C、24D、2218、以下程序的输出的结果是intx=3;main()(inti;for(i=l;i<x;i++)incre();}increO(staicintx=l;x*=x+l;printf("%d",x);)A、33B、22C、26D、2519、以下定义:int(*p)[4]中,标识符p是=A、一个指向整型变量的指针B、一个指针数组名C、一个指针,它指向一个含有4个整型元素的一维数组D、说明不合法20、表达式*((int*)(p+l)+2)的值时.staticstruct(intx,y[3];)a[3]={{1,2,3,4),{5,6,7,8),{9,10,11,12}},*p;p=a+1;A、3B、7C、10D、11二、判断题(每小题2分,共20分)()1、c语言中浮点型常量指数表示形式中,字母e或e之前必须有数字。()2、在C语言程序中,凡是没有出现存储类说明符的变量都是自动类的。()3、当#include后面的文件名用双引号””括起,仅搜索当前目录。()4、选择结构(if语句)和循环结构都可以使用嵌套形式()5、比较两个字符串是否相等不能通过条件运算符“==〃。()6、局部变量只有当它所在的函数被调用时才会被使用,当函数调用结束时局部变量还会一直存在。()7、对以下定义的二维数组table,其行下标的取值范围是[0,2],列下标的取值范围是[0,1],数组元素分别是:table[0][0]、table tabletable[1][1]>table[2][0]和table[2][1],可以表示一个3行2列的矩阵。inttable[3][2];()8、c语言函数返回类型的默认定义类型是voido()9、c程序中如果对一维数组的全部元素都赋初值,则定义数组时必须指定数组长度。()10、fseek函数一般用于文本文件。三、编程题(每小题分,共40分)1、请编一个函数intfun(inta),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0oa的值由主函数从键盘读入。(本题10分)2、请编写一个函数proc(),它的功能是:求出1〜m(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。例如,若传给m的值为70,则程序输出:7111421222833354244495556636670注意:部分源程序给出如下。请勿改动mainO函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。试题程序:^defineN100voidproc(intm,int*a,int*n)voidmainO(intarr[N],n,k;system("cls");proc(70,arr,&n);for(k=0;k<N;K++)i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国制动鼓镗床行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 中国螺杆空压机市场调查研究及行业投资潜力预测报告
- 中国视频服务器系统行业市场调查研究及投资潜力预测报告
- 自动恒温运风焗炉行业深度研究分析报告(2024-2030版)
- 2025年中国热力发电站行业市场深度研究及投资战略咨询报告
- 2025年胶粘剂市场分析现状
- 工程勘察报告电力工程勘察与设计
- 药品价格培训课件
- 2025年高处坠落事故现场处置方案范文(二)
- 中国高端水产养殖市场全面调研及行业投资潜力预测报告
- JJF(津) 5003-2024 汽车制造专用加注机校准规范
- 2025年绍兴市部分市属国有企业招聘笔试参考题库含答案解析
- 团队建设与团队管理培训
- 国家开放大学本科《行政法与行政诉讼法》期末纸质考试总题库2025春期考试版
- 中华人民共和国内河交通安全管理条例
- 铝粉供应合同协议3篇
- GB/T 44914-2024和田玉分级
- 2025 年海南省中考语文试题:作文试题及范文
- 电机学知到智慧树章节测试课后答案2024年秋东北电力大学
- 2019北师大版高中英语单词表全7册
- 国开《当代中国政治制度》形考任务1-4参考答案
评论
0/150
提交评论