1
【单选题】(100分)
计算机能够直接识别的语言是()。
A. 汇编语言
B. 机器语言
C. 高级语言
第一章测试
1
【单选题】(20分)
下列表达式,值为0的是()。
A. 3/5.0
B. 3%5
C. 3/5
D. 3<5
2
【单选题】(20分)
下列变量定义中合法的是()。
A.
shortint2_num=79;
B.
doubleStu-score=98;
C. intf(x)=1;
D.
doubleAve=0.0;
3
【单选题】(20分)
若变量a是int类型,并执行了语句:a='A'+1.6;,则正确的叙述是()。
A.
a的值是字符型
B.
a的值还是整型
C.
a的值是浮点型
D.
不允许字符型和浮点型相加
4
【单选题】(20分)
若a是基本整型变量,c是单精度实型变量,输入语句()是的。
A.
scanf(\"%d%f”,&a,&c);
B.
scanf(\"d=%d,c=%f”,&a,&c);
C.
scanf(\"%d%f”,a,c);
D.
scanf(\"%d,%f”,&a,&c);
5
【单选题】(20分) 下列说法正确的是()
A.
C程序中使用变量时,可以先使用,再定义
B.
在C语言中,所有变量都必须在定义的同时初始化
C.
一条变量定义语句不可以同时定义多个变量
D.
const常量只能在定义时赋值
第二章测试
1
【单选题】(10分)
若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是():
A. (x-y)*(x-y)<100
B. fabs(x-y)<10
C.
(x-y)<-10||!(y-x)>10
D.
x-y>-10&&x-y<10
2
【单选题】(10分)
以下程序运行后的输出结果是() #include inta=5,b=4,c=3,d; d=(a>b>c); printf(\"%d\return0; } A. 5 B. 1 C. 3 D. 0 3 【单选题】(10分) 执行以下程序后的输出结果为() #include inta=1,b=0; switch(a) { case1: switch(b) { case0:printf(\"**0**\");break; case1:printf(\"**1**\");break; }break; case2:printf(\"**2**\");break; } return0; } A. **0** B. 有语法 C. **0****1****2** D. **0****2** 4 【单选题】(10分) 下面程序代码的功能是判断输入的整数能否被5或7整除,如果能够整除,则输出该整数。请将划线处代码填写完整。 #include printf(\"Inputm:\"); scanf(\"%d\ if(_______________)//能够被5或7整除 { printf(\"%d\} return0; } A. m%5==0||m%7==0 B. m%5==1&&m%7==1 C. m/5==0&&m/7==0 D. m/5==0||m/7==0 5 【单选题】(10分) 计算1-1/2+1/3-1/4+.....+1/99-1/100+...... 直到最后一项的绝对值小于1e-4为止。 代码如下,按要求在划线处填写适当的表达式或语句,使程序完整并符合题目要求。 #include #include floatterm=1,sum=0; _____(1)_________; while(fabs(term)>=1e-4)//判末项大小 { term=sign/n;//求出累加项 sum=sum+term;//累加 ______(2)__________;//改变项的符号 n++;//分母加1 } printf(\"sum=%f\return0; } A. (1):floatsign=1 (2):sign=-sign B. (1):floatsign=-1 (2):term=-term C. (1):floatsign=-1 (2):sign=-sign D. (1):floatsign=1 (2):term=-term 6 【单选题】(10分) 以下程序运行后的输出结果是()。 #include c=(a%b<1)||(a/b>1); printf(\"%d,%d,%d\return0; } A. 10,0,0 B. 10,0,1 C. 10,1,0 D. 10,1,1 7 【单选题】(10分) 从键盘输入三角形的三边长为a,b,c,按下面公式计算并输出三角形的面积。 程序代码如下,但程序运行后输出结果不正确,请找出有问题的语句。 #include #include floata,b,c; floats,area; printf(\"Inputa,b,c:\"); scanf(\"%f,%f,%f\第1处 if(a+b>c&&b+c>a&&a+c>b)//第2处 { s=1/2*(a+b+c);//第3处 area=sqrt(s*(s-a)*(s-b)*(s-c));//第4处 printf(\"area=%.2f\ } else { printf(\"Itisnotatriangle\"); } return0; } A. 第4处 B. 第1处 C. 第3处 D. 第2处 8 【单选题】(10分) 执行下列代码的结果是() #include inta=1234; printf(\"%2d\return0; } A. 程序出错,无结果 B. 1234 C. 34 D. 12 9 【单选题】(10分) 以下程序的输出结果是()。 #include intmain() { inta,b; for(a=1,b=1;a<=100;a++) { if(b>=10)break; if(b%3==1) { b+=3; continue; } } printf(\"%d\ return0; } A. 4 B. 3 C. 1 D. 2 10 【单选题】(10分) #include ints=0,a=1,n; scanf(\"%d\do { s+=1; a=a-2; }while(a!=n); printf(\"%d\return0; } 以上代码,如果从键盘给n输入的值是-5,则程序的输出结果是()。 A. 1 B. 2 C. 4 D. 3 第三章测试 1 【单选题】(10分) C语言中函数返回值的类型是由()决定的。 A. 调用函数时临时决定 B. return语句中的表达式类型 C. 定义函数时所指定的函数类型 D. 调用该函数的主调函数的类型 2 【单选题】(10分) 对于C语言的函数,下列叙述中正确的是()。 A. 函数的定义可以嵌套,但函数调用不能嵌套 B. 函数的定义和调用都不能嵌套 C. 函数的定义和调用都可以嵌套 D. 函数的定义不能嵌套,但函数调用可以嵌套 3 【单选题】(10分) 下列函数中,能够从键盘上获得一个字符数据的函数是()。 A. getchar() B. puts() C. gets() D. putchar() 4 【单选题】(10分) 以下叙述中不正确的是()。 A. 在一个函数内定义的变量只在本函数范围内有效 B. 在一个函数内的复合语句中定义的变量在本函数范围内有效 C. 在不同的函数中可以使用相同名字的变量 D. 函数中的形式参数是局部变量 5 【单选题】(10分) C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。 A. int B. double C. float D. void 6 【单选题】(10分) 下列程序的输出结果是()。 #include intMyFuntion(intn); intmain() { intentry=12345; printf(\"%5d\return0; } intMyFuntion(intPar){ intresult; result=0; do{ result=result*10+Par%10; Par/=10; }while(Par); returnresult; } A. 543 B. 12345 C. 5432 D. 54321 7 【单选题】(10分) 下列程序的输出结果是()。 #include intx1=30,x2=40; sub(intx,inty){ x1=x;x=y;y=x1; } intmain() { intx3=10,x4=20; sub(x3,x4); sub(x2,x1); printf(\"%d,%d,%d,%d\return0; } A. 10,20,40,30 B. 10,20,30,40 C. 10,20,40,40 D. 20,10,30,40 8 【单选题】(10分) 有以下程序 #include {printf(\"x=%d\} intmain() { fun(12+5); return0; } A. x=12 B. x=17 C. x=13 D. x=18 9 【单选题】(10分) 以下程序运行后的输出结果是() intf(intn) { if(n==1)return1; elsereturnf(n-1)+1; } intmain() { inti,j=0; for(i=1;i<3;i++)j+=f(i); printf(\"%d\return0; } A. 有语法错 B. 4 C. 5 D. 3 10 【单选题】(10分) 以下()不是正确的函数原型? A. intf(); B. intf(){} C. intf(inti); D. intf(int); 第四章测试 1 【单选题】(10分) 在inta[][3]={{1,4},{3,2},{4,5,6},{0}};中,a[2][1]的值是()。 A. 0 B. 6 C. 2 D. 5 2 【单选题】(10分) 以下数组定义中的是()。 A. intx[][3]={{1,2,3},{4,5,6}}; B. intx[2][3]={1,2,3,4,5,6}; C. intx[2][3]={0}; D. intx[2][3]={{1,2},{3,4},{5,6)}; 3 【单选题】(10分) 以下能正确定义二维数组的是()。 A. inta[2][3]={{1},{2},{3,4}} B. inta[3][]={}; C. inta[][3]={2*3}; D. inta[][3]; 4 【单选题】(10分) 有如下程序 #include intmain() { intn[5]={0,0,0},i,k=2; for(i=0;i 该程序的输出结果是()。 A. 2 B. 1 C. 不确定的值 D. 0 5 【单选题】(10分) 对一个含有100个元素的有序数组,用二分法查找某指定元素,最多需要比较()次? A. 8 B. 7 C. 5 D. 6 6 【单选题】(10分) 以下程序中函数Fun的功能是对b所指数组中的第m至第n个数据取累加和,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include for(______;i A. 第2行:intb[] 第5行:i=m-1 第7行:s B. 第2行:intb 第5行:i=0 第7行:s C. 第2行:intb[] 第5行:i=n-1 第7行:b[i] D. 第2行:intb[] 第5行:i=1 第7行:i 7 【单选题】(10分) 以下程序中函数Sort的功能是对a所指数组中的数据进行由大到小的排序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include for(i=0;_________;i++) for(________;j intaa[10]={1,2,30,4,5,6,7,8,9,10},i; __________; for(i=0;i<10;i++) printf(\"%d,\printf(\"\"); return0; } A. 第5行:i 第5行:i 第5行:i<=n j第6行:=i 第10行:a[i]=a[j] 第18行:Sort(10,aa) D. 第5行:i 第18行:Sort(aa[],10) 8 【单选题】(10分) 以下程序中函数Reverse的功能是对数组a中的前一半元素逆序、后一半元素逆序,再将逆序后的前、后两部分数据位置交换。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 例如:主程序中数组b中的元素为{16,22,13,41,50,62,27,18,9,10},调用函数Reverse后,数组b中元素变为 {10,9,18,27,62,50,41,13,22,16}。 #include for(i=0;________;i++) { t=a[i]; __________; a[n-i]=t; } } intmain() { intb[10]={16,22,13,41,50,62,27,18,9,10}; inti,s=0; __________; for(i=0;i<10;i++) { printf(\"%4d\} return0; } A. 第5行:i<=n/2 第8行:a[i]=a[n-i] 第17行:Reverse(b,9) B. 第5行:i<=n/2 第8行:a[n]=a[i] 第17行:Reverse(9,b) C. 第5行:i<=n/2 第8行:a[i]=a[n] 第17行:Reverse(b,9) D. 第5行:i<=n 第8行:a[n-i]=a[i] 第17行:Reverse(b,9) 9 【单选题】(10分) 假定double类型变量占用8个字节,且数组定义如下,则数组length在内存中所占字节数是()。 doublelength[10]; A. 160 B. 10 C. 80 D. 0 10 【单选题】(10分) 以下程序的输出结果是()。 #include voidswap2(intc0,intc1) { intt; t=c0; c0=c1; c1=t; } intmain() { inta[2]={3,5},b[2]={3,5}; swap1(a); swap2(b[0],b[1]); printf(\"%d%d%d%d\return0; } A. 3535 B. 3553 C. 5335 D. 5353 第五章测试 1 【单选题】(10分) 假设有下面定义语句: floata[10]; float*p=a; 则p++相当于是加上()个字节 A. sizeof(float) B. sizeof(float*) C. 1 D. sizeof(a) 2 【单选题】(10分) 以下哪个定义中的p不是指针,请选择恰当的选项(): A. 给出的三项中,p都是指针 B. char(*p)[10]; C. char*p[6]; D. char**p; 3 【单选题】(10分) 以下程序的执行结果是()。 intmain() { inta,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(-*p1)/(*p2)+7; printf(\"%d,%d\return0; } A. 0,7 B. 1,5 C. -1,7 D. 0,5 4 【单选题】(10分) 下面程序的运行结果是()。 #include intx[5]={2,4,6,8,10},*p,**pp; p=x; pp=&p; printf(“%d”,*(p++)); printf(”%d”,**pp); return0; } A. 46 B. 24 C. 22 D. 44 5 【单选题】(10分) 已有如下代码: chara[5],*p=a; 则下面选项中正确的赋值语句是() A. p=“abcd” B. a=“abcd” C. *a=“abcd” D. *p=“abcd” 6 【单选题】(10分) 以下程序的运行结果是() #include A. 5,-2 B. 5,2 C. -5,-12 D. -5,-2 7 【单选题】(10分) 如果有定义:intm,n=5,*p=&m;与m=n等价的语句是()。 A. m=&n; B. m=*p; C. m=**p; D. *p=*&n; 8 【单选题】(10分) 若有定义:int*p[3];则以下叙述中正确的是()。 A. 定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素 B. 定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针 C. 定义了一个基类型为int的指针变量p,该变量具有三个指针 D. 定义了一个名为*p的整型数组,该数组含有三个int类型元素 9 【单选题】(10分) 若已定义intnum[10];,则下面表达式中不表示num[1]的地址的是()。 A. num+1 B. num++ C. &num[0]+1 D. &num[1] 10 【单选题】(2分) 对于如下说明,语法和语义都正确的赋值是_____。intc,*s,a[]={1,3,5}; A. s[0]=a[0]; B. c=a; C. s=&a[1]; D. c=*s; 第六章测试 1 【单选题】(20分) • 有以下说明和定义语句,下面各输入语句中的是() • • • • • • #include structstudent { intage; charsex; • charname[8]; • • • }; structstudentstd; • structstudent*p=&std; • ....... • return0; • } A. scanf(\"%d\ B. scanf(\"%c\ C. scanf(\"%s\ D. scanf(\"%c\ 2 【单选题】(20分) 定义以下结构体数组 structc { intx; inty; }s[2]={1,3,2,7}; 语句printf(\"%d\的输出结果是() A. 21 B. 14 C. 2 D. 6 3 【单选题】(20分) 以下程序执行后的输出结果是 #include charname[10]; intnum; }; voidFun1(structSTUc) { structSTUb={\"LiGuo\ c=b; }; voidFun2(structSTU*c) { structSTUb={\"SunDan\ *c=b; }; intmain() { structSTUa={\"YangHan\ Fun1(a); Fun2(&b); printf(\"%d%d\ return0; } A. 20412044 B. 20422043 C. 20422044 D. 20412043 4 【单选题】(20分) 若能使程序运行后的输出结果如下: 201501 则空白处填写的表达式或语句应该是 #include structstudentstu[3]={{20,\"201501\structstudent*p=stu; ____________________ return0; } A. printf(\"%s\ B. printf(\"%s\ C. printf(\"%d\ D. printf(\"%s\ 5 【单选题】(20分) 当定义一个结构体类型的变量时,系统为它分配的内存空间是()。 A. 结构体中占内存容量最大的成员所需的容量 B. 结构中第一个成员所需的内存容量 C. 结构中各成员所需的内存容量综合 D. 结构中一个成员所需的内存容量 第七章测试 1 【单选题】(10分) 如果二进制文件a.dat已经存在,现在要求写入全新数据,应以()方式打开。 A. \"wb+\" B. \"w\" C. \"wb\" D. \"w+\" 2 【单选题】(10分) 若fopen()函数打开文件失败,其返回值是()。 A. -1 B. 1 C. ERROR D. NULL 3 【单选题】(10分) 若读文件还未读到文件末尾,feof()函数的返回值是()。 A. 非0 B. 1 C. 0 D. -1 4 【单选题】(10分) fputc(ch,fp)把一个字符ch写到fp所指示的磁盘文件中,若写文件失败则函数的返回值为()。 A. 非0 B. 1 C. EOF D. 0 5 【单选题】(20分) 阅读以下程序,对程序功能的描述中正确的是() #icnlude intmain() { FILE*in,*out; charch,infile[10],outfile[10]; printf(\"Entertheinfilename:\"); scanf(\"%s\ printf(\"Entertheoutfilename:\"); scanf(\"%s\ if((in=fopen(infile,\"r\"))==NULL) { printf(\"cannotopeninfile.\"); exit(0); } if((out=fopen(outfile,\"w\"))==NULL) { printf(\"cannotopenoutfile.\"); exit(0); } while(!feof(in)) { fputc(fgetc(in),out); } fclose(in); fclose(out); return0; } A. 程序完成将两个磁盘文件合二为一的功能。 B. 程序完成将两个磁盘文件合并并在屏幕上输出的功能。 C. 程序完成将磁盘文件的信息在屏幕上显示的功能。 D. 程序完成将一个磁盘文件中的信息复制到另一个磁盘文件中的功能。 第八章测试 1 【单选题】(20分) 若x=2,y=3,则x&y的结果是 A. 2 B. 3 C. 0 D. 5 2 【单选题】(20分) 设x=061,y=016,则z=x|y的值是 A. 00111111 B. 11000000 C. 11111111 D. 00001111 3 【单选题】(20分) 下述程序的输出结果是()。 #include A. 2 B. 1 C. 3 D. 7 4 【单选题】(20分) 以下程序中c的二进制值是()。 chara=2,b=4,c; c=a^b>>2 A. 00000011 B. 00010100 C. 00011000 D. 00011100 5 【单选题】(20分) 若x=3,y=5,则x^y的结果是 A. 2 B. 8 C. 6 D. 4 第九章测试 1 【单选题】(20分) 在一个以h为头的单向链表中,p指针指向链尾的条件是()。 A. p->.data=-1 B. p->next=NULL C. p->next=h D. p->next->next=h 2 【单选题】(20分) 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是()。 A. p->next=s->next;p->next=s; B. p->next=s;s->next=p->next; C. p->next=s;p->next=s->next; D. s->next=p->next;p->next=s; 3 【单选题】(20分) 在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行()。 A. p->next=q->next;q->next=p; B. q->next=p->next;p=q; C. q->next=p->next;p->next=q; D. p->next=q->next;p->next=q; 4 【单选题】(20分) 在一个单链表head中,若要删除指针p所指结点的后继结点,则执行()。 A. p=p->next;free(p); B. p->next=p->next->next;free(p); C. q=p->nextq->next=p->next;free(q); D. q=p->next;p->next=q->next;free(q); 5 【单选题】(20分) 若已建立下面的链表结构,指针p、q分别指向图中所示结点,则不能将q所指结点插入到链表末尾的语句是()。 A. p=p->next;q->next=p;p->next=q; B. q->next=NULL;p=p->next;p->next=q; C. p=(*p).next;(*q).next=(*p).next;(*p).next=q; D. p=p->next;q->next=p->next;p->next=q;
因篇幅问题不能全部显示,请点此查看更多更全内容