《2021重庆工学自考考试模拟卷(6).docx》由会员分享,可在线阅读,更多相关《2021重庆工学自考考试模拟卷(6).docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2021重庆工学自考考试模拟卷(6)本卷共分为1大题50小题,作答时间为180分钟,总分100分,60分及格。一、单项选择题(共50题,每题2分。每题的备选项中,只有一个最符合题意) 1.要调用字符串长度测试函数strlen_时,在#include命令行中应包含_ Astdioh Bstringh Cmathh Dctypeh 2.有以下程序_ main() int x=102,y=012; printf(/0/02d,%2d\n,X,y); 执行后输出结果是 A10,01 B02,12 C102,10 D02,10 3.有以下定义_ #includestdioh char a10,*
2、b=a; 不能给数组a输入字符串的语句是 Agets(a) Bgets(a0) Cgets(a0); Dgets(b); 4.有以下程序_ main() char *p10=abc,aabdfg,dcdbe,abbd,cd; printf(%d\n,strlen(p4); 执行后输出结果是 A2 B3 C4 D5 5.有以下程序_ #includestdioh main() unsigned char a,b; a=43; b=43; printf(%d%d\n,a,b); 执行后输出结果是 A7 0 B0 7 C1 1 D43 0 6.下面程序的功能是输出以下形式的金字塔图案
3、: #includestdioh main() int i,j; for(i=1;i=4;i+) for(j=1;j=4-i;j+)printf(); for(j=1;j=_;j+)printf(*); printf(\n); 在下划线处应填入的是( ) Ai B2*i-1 C2*i+1 Di+2 7.在C语言程序中,下列磁盘文件名错误的是_ Aabc.dat Bc:abc.dat C\tc\abc.dat Da:\abc.dat 8.包含用户类型符FILE的定义的头文件是_ Astring.h Bfile.h Cstdio.h Dstdlib.h 9.定义存储
4、在内存堆栈区的变量的存储类型符是_ Aextern Bstatic Cregister Dauto 10.下列关于C程序的描述不正确的是_ AC程序是由C语句组成的语句序列 BC程序由若干个函数构成 C主函数可以调用其他任何函数 DC程序的执行可以从任何函数开始 11.以下符合C语言语法的实型常量是_ A1.2E0.5 B3.14.159E C5E-3 DE15 12.设整型变量a的值是6,执行下列语句后a的值是_ switch(a%2) case 0:a-=2; case 1:a+=1; default:a=6; A4 B5 C6 D7 13.设有定义chara=2,b=5;求表达式ab2的
5、值(假定现有计算机字长为16) _ A-32 B32 C-23 D23 14.有以下程序段_ int n,t=1,s=0; scanf(%d,n); dos=s+t;t=t-2;while(t!=n); 为使此程序不陷入死循环,从键盘输入的数据应该是 A任意正奇数 B任意负偶数 C任意正偶数 D任意负奇数 15.有以下程序段_ main() int x=0,y=5,z=3; while(z-0+x5)y=y-1; printf(%d,%d,%d\n,x,y,z); 程序执行后的输出结果是 A3,2,0 B3,2,-1 C4,3,-1 D5,-2,-5 16.设变量已正确定义,则以下能正
6、确计算f=n!的程序段是_ Af=0: for(j=1;j=n;j+)f*=j; Bf=1; for(j=1;jn;j+)f*=j; Cf=1; for(j=n;j1;j+)f*=j; Df=1 for(j=n;j-2;j-)f*=j; 17.有以下程序_ main() int i,n=0; for(i=2;i5;i+) do if(i%3)continue; n+; while(!i); n+; printf(n=%d\n,n); 程序执行后的输出结果是 An=2 Bn=3 Cn=4 Dn=5 18.有以下程序_ #includestdioh char fun(char x,char
7、 y) if(x)return y; main() inta='9',b='8',c='7'; printf(%c\n,fun(fun(a,b),fun(b,c): 程序的执行结果是 A7 B8 C9 D函数调用出错 19.有以下程序_ #includestdioh int a=2; int f(int*A) return(*A)+; main() int s=0; int a=5; s+=f(a); s+=f(a); printf(%d\n,s); 执行后输出结果是 A10 B9 C7 D8 20.若x是整型变量,pb是基本类型
8、为整型的指针变量,则正确的赋值表达式为_ Apb=x Bpb=x C*pb=x D*pb=*x 21.设有数组定义:char array=china;,则数组array所占用的空间为_ A4个宁节 B5个字节 C6个字节 D7个字节 22.如果打开文件时,选用的文件操作方式是wb+则下列说法中正确的是_ A要打开的文件必须存在 B打开文件后只能渎数据 C文件打开后删除原内容再写 D打开文件后只能写数据 23.设有int a=10,11,12,*p=a0;,则执行完*p+;*p+=1;后a0,a1,a2的值依次是_ A10,11,12 B11,12,12 C10,12,12 D11,11,12
9、24.有以下程序_ main() int i,s=0; for(i=1;i10;i+=2)s+=i+1; printf(%d\n,s); 程序执行后的输出结果是 A自然数19的累加和 B自然数110的累加和 C自然数19中的奇数之和 D自然数110中的偶数之和 25.下列关于C语言的描述正确的是_ AC语言是面向硬件的高级语言 BC语言是面一种面向对象的程序设计语言 CC语言是一种结构化程序设计语言 DC语言的前身是汇编语言 26.C语言的基本数据类型包括_ A字符型和数值型 B字符型和逻辑型 c整型和实型 D指针型和数据型 27.已知有以下定义(假定现有计算机字长为16) int a
10、=0x48,b=0xf0; ab的值为( ) A184 B183 C290 D287 28.若有以下定义: char s20=programming,*ps=s; 则不能代表字符o的表达式是( ) A*(ps+2) Bs2 Cps2 D*ps+=2 29.若有说明语句:int I,;则以下关于x、*x、x0、x00的描述正确的是_ Ax、*x、x0、x00均表示元素x00的地址 B只有x、*x表示元素x00的地址 C只有x0、xOL0表示元素x00的地址 D只有x00表示元素的地址 30.若有下列类型说明语句: char w;int x;float y;double z; 则表达式w*x+z-
11、y的结果的数据类型是( ) Achar Bint Cfloat Ddouble 31.下列程序正确的运行结果为_ #includestdioh main() int a=2,6,8,10,14,18); int *ptr-=a0,a1,a2,a3,a4); int i; for(i0;i5;i+) ai=ai/2+ai printf(%d\n,*(*(ptr+2); printf(%d\n,*(*ptr); A12 21 B21 12 C12 3 D3 12 32.以下函数的功能是_ ABC(ps) char *ps; char *P; p=ps; while(*p+); re
12、turn(p-ps); A比较两个字符串的大小 B求字符串的长度 C将字符串ps复制到P中 D以上三种说法都不对 33.若x、y是int型变量,则执行以下语句后的x值是_ #includestdioh main() int x,y; for(y=1,x=1;y50;y+) if(x=10)break; if(x%2=1) x+=5; x-=3; A3 B6 C7 D10 34.执行下列语句后b的值为_ int a,b,C,l=4,m=6,n=8; int *p1=1,*p2=m,*p3; a=p1=1;b=3*(-*p1)/(*p2)+7; c=*(p3=n)=*p1*(*p2); A4 B5
13、 C7 D8 35.若有以下说明,则在seanf函数调用语句中对结构体变量成员引用方式不正确的是_ struct pub char name20; int age; int sex; pub5,*P; Ascanf(%s,pup0name); Bscanf(%d,pup0age); Cscanf(%d,p-sex); Dscanf(%d,*Page); 36.设有以下定义 int a43=1,2,3,4,5,6,7,8,9),10,11,12; int *ptr3=a0,*p=a0; 则以下能正确表达数组元素a12的表达式是( ) A*(*ptr+1)2) B*(*(p+5) C*(*ptr+
14、1)+4) D*(*(p+1)+2) 37.执行以下程序段后s的值为_ int a=5,64,4,8,9,5,8; int s=0; int k; for(k=0;k8;k+=2) s+=*(a+k): A17 B22 C27 D32 38.不能把字符串Hello!符给数组b的语句是_ Achar b10='H','e','l','l','o','!'; Bchar b10;b=Hello!; Cchar b10;strcpy(b,Hello!); Dchar b10=Hello!; 39.下列选项
15、中合法的数组定义是_ Aint a=string; Bint a5=0,1,2,3,4,5; Cchar a=sting; Dchar a=0,1,2,3,4 40.汇编程序的功能是_ A将汇编语言程序转换成目标程序 B将汇编语言程序转换成高级语言程序 C将高级语言程序转换为目标程序 D将汇高级语言程序转换为编语言程序 41.设int x=1;a=9,b=6,c=9,d=8;执行语句: if(ab)if(cb)if(bd)x=2;else x=6; 后x的值是( ) A1 B2 C6 D不确定 42.设int a10,*p=a; 则对数组的正确引用是( ) Aap Bpa C*(p+2) Dp
16、+2 43.若内部变量在离开了定义所在的函数或复合语句后,仍在生存期内。则该变量是 _ Aauto变量 Bregister变量 C局部变量 Dstatic变量 44.下列运算符,优先级最低的是_ A B! C- D+= 45.对于文件打开方式rb+描述正确的是_ A可读写文本文件 B只读文本文件 C可读写二进制文件 D只读二进制文件 46.设int a=1,b=2,c=4;经过表达式(c=a!=b)(a=b)(c=b)运算后,a、b和c的值分别是( ) A1,2,0 B1,2,1 C1,2,2 C1,2,347.若x=100;,则表达式x+100? x+20:x+10的值是_ A110 B12
17、0 C130 D101 48.若定义了int m,n=0,*p1=m;,则与m=n等价的语句是_ Am=*p1 B*p1=*n C*p1=*n D*p1=*n 49.若有宏定义:#define MOD(x,y)x%y 则执行下面语句后的输出结果是 int a=13,b=96; printf(%d\n,MOD(b,a);( ) A1 B2 C5 D6 50.设有如下程序段 char str=Hello!; char *ptr; ptr=str; 执行完以上程序段后*(ptr+6)的值为( ) A'o' B'\0' C'\o D'o'第11页 共11页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页