C语言程序设计(青岛职业技术学院)知到智慧树答案_第1页
C语言程序设计(青岛职业技术学院)知到智慧树答案_第2页
C语言程序设计(青岛职业技术学院)知到智慧树答案_第3页
C语言程序设计(青岛职业技术学院)知到智慧树答案_第4页
C语言程序设计(青岛职业技术学院)知到智慧树答案_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目一单元测试项目二单元测试项目三单元测试项目四单元测试项目五单元测试项目六单元测试项目七单元测试项目八单元测试项目九单元测试项目十单元测试项目十一单元测试1【单选题】(20分)C语言是一种(

)正确答案:DA.机器语言B.低级语言C.汇编语言D.高级语言2【单选题】(20分)下列各项中,不是C语言的特点是()。正确答案:CA.能实现汇编语言的大部分功能B.数据类型丰富,可移植性好C.有较强的网络操作功能D.语言简洁、紧凑,使用方便3【单选题】(20分)下列叙述错误的是(

)。正确答案:CA.C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写B.C程序中的每条语句都用一个分号作为结束符C.C程序中的每条命令都用一个分号作为结束符D.C程序中的变量必须先定义,后使用4【单选题】(20分)一个C程序的执行是从(

)。正确答案:CA.本程序的main函数开始,到本程序文件的最后一个函数结束B.本程序文件的第一个函数开始,到本程序main函数结束C.本程序的main函数开始,到main函数结束D.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束5【单选题】(20分)以下叙述不正确的是(

)。正确答案:AA.在C程序中,注释说明只能位于一条语句的后面B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.一个C源程序可由一个或多个函数组成1【单选题】(2分)已知定义整形变量a,b,c的值分别是2、3、4,运算表达式a*=16+(b++)-(++c)以后,a值为(

)正确答案:DA.30B.29C.31D.282【单选题】(2分)在C语言中,要求参加运算的数必须是整数的运算符是(

)。正确答案:CA.++B.&&C.%D.!3【单选题】(2分)合法的c标识符是(

)。正确答案:CA.a>bB.$sC.h1D.5dm4【单选题】(2分)执行下列程序后,显示的结果是()main(){inta;printf(“%d正确答案:B”,(a=3*5,a*4,a+5));}A.65B.20C.15D.105【单选题】(2分)sizeof(float)的结果是()正确答案:CA.2B.1C.4D.86【判断题】(2分)赋值运算符有右结合性,因此表达式x=y=z等价于x=(y=z)()正确答案:BA.错B.对7【单选题】(2分)下列转义字符不正确的是()。正确答案:DA.\tB.\”C.\’’D.\+8【判断题】(2分)对于int

n=3;执行n+=n-=n*n;后n的值是9。正确答案:AA.错B.对9【判断题】(2分)在C语言中8.9e1.2是不正确的实型常量。正确答案:BA.错B.对10【判断题】(2分)对任一变量一旦被指定为某一确定类型后,该变量在程序运行时所占存储空间的多少和所能参加的运算类型便已确定了。正确答案:AA.对B.错11【判断题】(2分)若x为整型变量、j为实型变量,当执行语句:x=(int)j;后,j也变为整型变量。正确答案:AA.错B.对12【判断题】(2分)“!”的优先级可以比“/”高。正确答案:AA.对B.错13【判断题】(2分)两个char

型数据相加,其结果为char型。正确答案:AA.错B.对14【判断题】(2分)若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28。正确答案:AA.错B.对15【判断题】(2分)执行floatf=9.8;intI;i=(int)f;语句后,变量f被转换成整型变量。正确答案:AA.错B.对16【判断题】(2分)以下各数均不是合法的八进制数:256、03A2、-0127。正确答案:AA.错B.对17【判断题】(2分)C语言程序中,任何英语单词均可以作标识符。正确答案:AA.错B.对18【判断题】(2分)赋值运算符有右结合性,表达式x=y=z等价于z=x=y()正确答案:BA.对B.错19【判断题】(2分)C语言中不区分大小写英文字母。正确答案:BA.对B.错20【判断题】(2分)当运算符两边数据类型不一致,运算会出现错误正确答案:BA.错B.对21【判断题】(2分)0x173是正确的十六进制常数。正确答案:BA.错B.对22【判断题】(2分)将一个整型数据赋值给一个字符型变量的时候,可能丢失数据()正确答案:AA.对B.错23【单选题】(2分)下面程序的输出是________#include<stdio.h>int

main(){intk=11;printf("k=%d,k=%o,k=%x",k,k,k);return1;}正确答案:AA.k=11,k=13,k=bB.k=11,k=13,k=13C.k=11,k=12,k=11D.k=11,k=013,k=0xb24【单选题】(2分)在下列选项中,不正确的赋值语句是_______.正确答案:DA.++t;B.n1=(n2=(n3=0));C.k=i=j;D.a=a+b=1;25【单选题】(2分)下面程序的输出的是_________.#include<stdio.h>voidmain(){intx=10,y=3;printf("%d",y=x/y);}正确答案:CA.1B.0C.3D.不确定的值26【单选题】(2分)已知字母A的ASCII码为十进制的65,下面程序的输出是_________.#include<stdio.h>voidmain(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c",ch1,ch2);}正确答案:BA.B,CB.67,DC.不确定的值D.C,D27【单选题】(2分)sizeof(char)的结果是()正确答案:BA.2B.1C.4D.828【单选题】(2分)sizeof(int)的结果是正确答案:AA.4B.1C.2D.829【单选题】(2分)若有以下定义和语句:inta=010,b=0x10,c=10;printf("%d,%d,%d",a,b,c);则输出结果是________.正确答案:CA.8,8,10B.10,10,10C.8,16,10D.8,10,1030【单选题】(2分)已知有double型变量x=2.5,y=4.7,整型变量a=7,则表达式

x+a%3*(int)(x+y)%2/4的值是________.正确答案:BA.2.4B.2.5C.0D.2.7531【单选题】(2分)假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x;

m=(m<y)?m:y;

m=(m<z)?m:z;则该程序段执行后,m的值是_______.正确答案:AA.1B.4C.3D.232【单选题】(2分)有以下程序,其中k的初值为八进制数#include<stdio.h>main(){intk=011;printf("%d",k++);}程序运行后的输出结果是________正确答案:DA.11B.12C.10D.933【单选题】(2分)sizeof(‘a’)的值是()正确答案:BA.2B.1C.4D.834【单选题】(2分)有以下定义语句,编译时会出现编译错误的是_______正确答案:DA.chara=’-’B.chara=’’;C.chara=’a’;D.chara=’aa’;35【单选题】(2分)以下选项中,不正确的C语言浮点型常量是_______正确答案:AA.2e4.2B.0.12C.160.D.0.036【单选题】(2分)如果a是一个三位数,则以下可以求出其十位数的表达式是()正确答案:BA.a/10B.a/10%10C.a%10/10D.a%1037【单选题】(2分)以下合法的标识符是_______。正确答案:DA.intB.3ceC.stu#D._a1238【单选题】(2分)已知int

x=023,表达式++x的值是_______。正确答案:CA.18B.19C.20D.1739【单选题】(2分)已知int

x=10,表达式x+=x-=x-x的值是_______。正确答案:BA.30B.20C.40D.1040【单选题】(2分)在C语言中,字符型数据在计算机内存中,以字符的_______形式存储。正确答案:CA.原码B.BCD码C.ASCII码D.反码41【单选题】(1分)如果a是一个三位数,则以下可以求出其个位数的表达式是()正确答案:CA.a/10%10B.a/10C.a%10D.a%10/1042【单选题】(1分)如果a是一个三位数,则以下可以求出其百位数的表达式是()正确答案:BA.a/10B.a/100C.a%100D.a%10/1043【单选题】(1分)正确答案:BA.a*e/c/b*3B.3*a*e/b*cC.3*a*e/b/cD.a/b/c*e*344【单选题】(1分)要为字符型变量a赋初值,下列语句中哪一个是正确的_______。正确答案:DA.chara=*;B.chara="3";C.chara=%;D.chara=‘3’;45【单选题】(1分)字符串"ABC"在内存占用的字节数是_______。正确答案:DA.8B.6C.3D.446【单选题】(1分)若有说明语句:charc=':';则变量c在内存占用的字节数是_______。正确答案:CA.4B.2C.1D.347【单选题】(1分)下列运算符优先级最高的是()正确答案:CA.乘*B.减-C.单目运算符-D.加+48【单选题】(1分)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是_______。正确答案:DA.2B.2.5C.1D.2.049【单选题】(1分)sizeof(double)的结果值是_______。正确答案:DA.4B.出错C.2D.850【单选题】(1分)以下用户标识符中,合法的是_______。正确答案:CA.a+bB.intC.nitD.12351【单选题】(1分)表达式18/4*sqrt(4.0)/8值的数据类型是_______。正确答案:CA.不确定B.floatC.doubleD.int52【单选题】(1分)一下运算符,运算优先级别最低的是()正确答案:CA.逻辑运算符B.关系运算符C.逗号运算符D.算术运算符53【单选题】(1分)在C语言中,赋值运算的说法错误的是(

)正确答案:BA.整型数据赋值给字符型数据时,只赋值低八位B.数据类型不同无法进行赋值运算C.实型数据赋值给整型数据时,舍去小数部分D.整型数据赋值给实型数据时,添加小数部分054【单选题】(1分)下列哪一项不属于字符型变量可以存放的数据(

)正确答案:CA.65B.‘a’C.12.5D.‘?’55【单选题】(2分)以下说法错误的是()。正确答案:AA.C语言算术表达式和数学上的书写是一致的B.圆括号可以嵌套使用C.C语言算数表达式中,不用方括号和花括号D.圆括号必须成对出现56【判断题】(2分)表达式1/4+2.75的值是3。(

)正确答案:AA.错B.对57【单选题】(2分)下列转义字符不正确的是()。正确答案:DA.’\0’B.’\’C.’\\’D.’\053’1【单选题】(20分)以下选项中(

)是正确的复合语句。正确答案:BA.{a=1,b=2};B.{a=1,b=2;}C.[a=1,b=2;]D.{a=1,b=2}2【单选题】(20分)以下语句的输出结果是()printf("%2d",25876);正确答案:AA.25876B.258C.2587D.253【单选题】(20分)若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是(

)正确答案:DA.10.0<回车>22.0

33.0<回车>B.10

22<回车>33<回车>C.10<回车>22<回车>33<回车>D.10.0,22.0,33.0<回车>4【单选题】(20分)调用getchar和putchar函数时,必须包含的头文件是(

)。正确答案:BA.以上都不对B.stdio.hC.defineD.stdlib.h5【单选题】(10分)printf()函数中常用的格式字符,不包括(

)正确答案:BA.fB.zC.cD.d6【单选题】(10分)“putchar(98);”这一C语句输出的结果为()正确答案:CA.98B.BC.bD.C7【判断题】C语言标准格式输入函数scanf()的参数表中要使用变量的地址值。正确答案:AA.对B.错8【判断题】表达式语句和表达式没有什么区别。正确答案:BA.对B.错9【判断题】C语言标准输入操作中,gets()函数一次只可读取一个字符。正确答案:BA.对B.错10【判断题】C语言程序中可以有多个函数,但只能有一个主函数。正确答案:BA.错B.对11【判断题】C语言标准输出操作中,putchar()函数可以输出显示一个字符串。正确答案:AA.错B.对12【判断题】C语言标准格式输出函数printf()的参数表是由若干个表达式组成。正确答案:AA.对B.错13【判断题】putchar()函数用于向终端输出一个字符。正确答案:BA.错B.对14【单选题】以下叙述中正确的是正确答案:DA.用C程序实现的算法可以没有输出但必须要有输入B.用C程序实现的算法必须要有输入和输出操作C.用C程序实现的算法可以既没有输入也没有输出D.用C程序实现的算法可以没有输入但必须要有输出15【单选题】在C语言中,执行下面两个语句后,输出的结果为(

)。charc1=97,c2=98;printf("%d%c",c1,c2);正确答案:CA.97

98B.a

98C.97

bD.a

b16【单选题】下列语句中符合C语言语法的赋值语句是正确答案:BA.a=7+b,b++,a+7B.a=7+b,c=a+7;C.a=7+b+c=a+7;D.a=7+b++=a+7;17【单选题】在C语言语言中,退格符是(

)正确答案:BA.\fB.\bC.\tD.\n18【单选题】putchar()函数可以向终端输出一个正确答案:AA.字符或字符型变量值B.字符串C.整型变量表达式值D.实型变量值19【单选题】以下选项中不是C语句的是(

)。正确答案:BA.;B.++tC.k=i=j;D.{a/=b=1;b=a%2;}20【单选题】有定义语句:int

a=5,b,不能给b赋2的赋值语句是(

)。正确答案:CA.b=2%a;B.b=5;b=2;C.b=b+2;D.b=a/2;21【单选题】已有定义inta=-2;和输出语句printf("%8lx",a);以下正确的叙述是(

)。正确答案:DA.整型变量的输出形式只有%d一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度D.%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的22【单选题】字符串”helloworld”的存储长度是()正确答案:DA.13B.12C.10D.1123【单选题】若变量已正确说明为char类型,scanf("%c%c",&a,&b);若要使a=‘h’,b=’c’,则正确的输入是()。正确答案:DA.hcB.h,cC.hcD.hc24【单选题】使用scanf("a=%d,b=%d",&a,&b)为变量a,b赋值。要使a,b均为50,正确的输入是(

)。正确答案:CA.a=50

b=50B.50,50C.a=50,b=50D.50

5025【单选题】调用putchar()函数时,以下说法正确的是()正确答案:BA.使用putchar()函数时不需要包含”stdio.h”文件B.putchar()函数只能输出单个字符C.putchar()函数可以接收用户输入D.putchar()函数能够输出字符串26【单选题】以下叙述中不正确的是()。正确答案:DA.在C语言中,整数可以以十进制、八进制或十六进制的形式输出B.使用putchar函数可以不要输出项C.使用putchar函数时,必须在之前包含头文件stdio.hD.调用printf函数时,必须要有输出项27【单选题】如果有scanf("%d%d",&a,&b),为a、b赋值错误的输入是()正确答案:AA.2,3B.2(空格)

3C.2(tab键)3D.2(换行)328【单选题】用getchar()函数可以从键盘读入一个(

)。正确答案:DA.整型变量表达式值B.实型变量值C.字符串D.字符或字符型变量1【单选题】(20分)若要求在if后的圆括号中表示a不等于0的关系,能正确表示这一关系的表达式是()。正确答案:AA.!aB.aC.a<>0D.a=02【单选题】(20分)以下程序段,运行后的输出结果是()charm='b';if(m++>'b')

printf("%c正确答案:A",m);elseprintf("%c",m--);A.cB.dC.bD.a3【单选题】(20分)设a=1,b=2,c=3,d=4,则表达式a<b?b:c<d?a:b的结果为()。正确答案:DA.3B.1C.4D.24【单选题】(20分)下列叙述中正确的是()。正确答案:CA.break语句只能用于switch语句B.在switch语句中必须使用defaultC.在switch语句中,不一定使用break语句D.break语句必须与switch语句中的case配对使用5【单选题】(20分)以下程序段的输出结果是()。inta=13,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}}printf("%d",m);正确答案:DA.2B.4C.1D.36【判断题】逻辑表达式的值只能为1或0。正确答案:BA.错B.对7【判断题】在switch语句中,每一个的case常量表达式的值可以相同。正确答案:AA.错B.对8【判断题】在switch语句中,多个case可以共用一组执行语句。正确答案:BA.错B.对9【单选题】下列关于运算符优先顺序的描述中正确的是()。正确答案:DA.逻辑运算符<关系运算符<算术运算符<赋值运算符B.关系运算符<算术运算符<赋值运算符<逻辑与运算符C.算术运算符<关系运算符<赋值运算符<逻辑与运算符D.赋值运算符<逻辑与运算符<关系运算符<算术运算符10【单选题】能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()。正确答案:DA.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B.(x>=1)||(x<=10)||(x>=200)||(x<=210)C.(x>=1)||(x<=10)&&(x>=200)||(x<=210)D.(x>=1)&&(x<=10)||(x>=200)&&(x<=210)11【单选题】在C语言中,设有如下定义:

int

a=1,b=2,c=3,d=4,m=2,n=2;

则执行表达式:(m=a>b)&&(n=c>d)后,n的值为(

)。正确答案:CA.0B.3C.2D.112【单选题】设有如下定义:

int

a=2,b;

则执行b=a&&1;语句后,b的结果是(

)。正确答案:BA.2B.1C.0D.313【单选题】设a=3,b=4,c=5,则表达式!(a>b)&&!c||1的结果是(

)。正确答案:DA.0B.2C.4D.114【单选题】能正确表示a和b同时为正或同时为负的逻辑表达式是(

)。正确答案:DA.(a>=0&&b>=0)&&(a<0&&b<0)B.(a+b>0)&&(a+b<=0)C.(a>=0||b>=0)&&(a<0||b<0)D.a*b>015【单选题】以下程序段的输出结果是(

)。inta=10,b=50,c=30;if(a>b)a=b;b=c;c=a;printf("a=%db=%dc=%d",a,b,c);正确答案:DA.a=50b=30c=50B.a=50b=30c=10C.a=10b=50c=10D.a=10b=30c=1016【单选题】有如下程序intmain(){floatx=2.0,y;if(x<0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf(“%f”,y);return0;}该程序的输出结果是()。正确答案:BA.0.000000B.0.500000C.1.000000D.0.25000017【单选题】以下不可以用在switch语句的括号中作为表达式的选项是(

)正确答案:CA.字符常量B.整型常量C.实型常量D.整型表达式18【单选题】有如下程序段:intx=1,y=1;intm,n;m=n=1;switch(m){case0:x=x*2;case1:{switch(n){case1:x=x*2;case2:y=y*2;break;case3:x++;}}case2:x++;y++;case3:x*=2;y*=2;break;default:x++;y++;}执行完成后,x和y的值分别为()。正确答案:DA.x=2y=2B.x=2y=1C.x=7y=7D.x=6y=619【单选题】以下程序的输出结果是()intmain(){inta=1,b=3,c=5,d=4,x;if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;printf(“x=%d”,x);return0;}正确答案:CA.1B.3C.2D.620【单选题】在C语言中,设x=1,y=2,执行表达式

(x>y)?x++:++y以后x和y的值分别为()。正确答案:DA.2和3B.1和2C.2和2D.1和321【单选题】以下不属于C语言逻辑运算符的是(

)。正确答案:DA.||B.&&C.!D.?1【单选题】(20分)若i为整型变量,则以下循环执行的次数是()。(单选)for(i=0;i<=5;i++)printf("%d",i++);正确答案:DA.6次B.2次C.5次D.3次2【单选题】(20分)下面的程序对输入的每一个数字出现的次数进行计数,下划线处应填入的正确语句为#include"stdio.h"intmain(){inti,ch,n[10];for(i=0;i<10;++i)n[i]=0;while((ch=getchar())!='\n')if(ch>='0'&&ch<='9')________;for(i=0;i<10;++i)printf("数字%d出现的次数是:%d",i,n[i]);}正确答案:DA.n[i]++B.n[ch]++C.i++D.n[ch-‘0’]++3【单选题】(20分)下列程序段的输出结果是()。intx=3;do{printf(“%3d”,x-=2);}while(!(--x));正确答案:DA.1B.0C.-2D.1-24【单选题】(20分)若x是int型变量,且有下面的程序片段:for(x=5;x<8;x++)printf((x/2)?(“**%d”):(“##%d”),x);该程序片段的输出结果是()。正确答案:AA.**5**6**7B.**5##6**7##8C.**5##6**7D.##5**6##7**85【单选题】(20分)C语言中(

)。正确答案:DA.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环B.不能使用do-while语句构成的循环C.do-while语句构成的循环必须用break语句才能退出D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环6【判断题】break语句只能用于循环语句中。正确答案:AA.错B.对7【判断题】continue语句可以用于switch结构中。正确答案:BA.对B.错8【判断题】在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式的值应该能够为0正确答案:BA.错B.对9【判断题】三种循环(while语句、for语句、do-while语句)都可以用来处理同一个问题,一般它们可以相互代替。正确答案:AA.对B.错10【判断题】for(i=0,k=-1;k=1;k++,i++)printf("*");循环体一次也不执行。正确答案:AA.错B.对11【判断题】for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');输出为######。正确答案:AA.对B.错12【单选题】对下面程序段描述正确的是______.intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);正确答案:BA.程序段循环无数次B.运行程序段后输出1C.程序段中的控制表达式是非法的D.运行程序段后输出013【单选题】下面程序段的输出结果是______.x=3;do{y=x--;if(!y){printf("*");continue;}printf("#");}while(x=2);正确答案:AA.死循环B.##*C.输出错误信息D.##14【单选题】下面程序的输出结果是_______.#include<stdio.h>void

main(){intn=4;while(n--)printf("%d",n--);}正确答案:CA.20B.321C.31D.21015【单选题】以下程序运行后的输出结果是________.#include<stdio.h>voidmain(){inti=10,j=0;do{j=j+1;

i--;}while(i>2);printf("%d",j);}正确答案:DA.50B.51C.52D.816【单选题】下面程序的输出结果是________.main(){inti,k=0,a=0,b=0;for(i=1;i<=4;i++){k++;if(k%2==0){a=a+k;continue;}b=b+k;a=a+k;}printf("k=%da=%db=%d",k,a,b);}正确答案:DA.k=4a=10b=3B.k=5a=10b=4C.k=3a=6b=4D.k=4a=10b=417【单选题】下面程序的输出结果是_______.#include<stdio.h>voidmain(){inty=9;for(;y>0;y--){if(y%3==0){printf("%d",--y);continue;}}}正确答案:CA.741B.963C.852D.87542118【单选题】有以下程序#include<stdio.h>main(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j>3)break;m=i*j;}}printf("m=%d",m);}程序运行后的输出结果是_______.正确答案:AA.m=1B.m=2C.m=4D.m=519【单选题】有以下程序#include<stdio.h>main(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf(“%d”,c);}程序运行后的输出结果是_______正确答案:BA.5B.3C.7D.920【单选题】for(i=1;i<9;i+=1);该循环共执行了_______次。正确答案:BA.10B.8C.7D.921【单选题】inta=2;while(a=0)a--;该循环共执行了_______次。正确答案:AA.0B.3C.2D.122【单选题】执行完循环

for(i=1;i<100;i++);后,i的值为_______。正确答案:BA.101B.100C.99D.10223【单选题】以下

for语句中,书写错误的是_______。正确答案:CA.i=1;for(;i<5;i++);B.for(i=1;i<5;i++);C.for(i=1;i<5;i++)D.for(i=1;i<5;)i++;24【单选题】_______语句,在循环条件初次判断为假,还会执行一次循环体。正确答案:BA.forB.do-whileC.whileD.以上都不是25【单选题】有以下程序段,其运行结果是_______inti=5;do{if(i%3==1)if(i%5==2){printf("*%d",i);break;}i++;}while(i!=0);正确答案:AA.*7B.*3*5C.*5D.*2*626【单选题】i、j已定义为int类型,则以下程序段中内循环体的执行次数是_______。for(i=5;i;i--)for(j=0;j<4;j++){…}正确答案:CA.24B.30C.20D.2527【单选题】以下不构成无限循环的语句或语句组是_______。正确答案:CA.n=0;

while(1){n++;}B.for(n=0,i=1;;i++)n+=i;C.n=0;

do{++n;}while(n<=0);D.n=10;

while(n);{n--;}28【单选题】若有定义“intA[3][4]”,则能表示数组元素A[1][1]的是(

)正确答案:CA.*(A+1)[1]B.*(A+5)C.*(&A[1][1])D.(A[1]+1)29【单选题】有以下程序段,其运行结果是_______。inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}正确答案:DA.2

33

44

5B.2

3

43

4

5C.4

3

25

4

3D.4

53

42

31【单选题】(10分)以下不能对一维数组a进行正确初始化的语句是()正确答案:BA.inta[10]={10*1};B.inta[10]={};C.inta[10]={0,0,0,0,0};D.inta[]={0};2【单选题】(10分)在C语言中,引用数组元素时,其数组下标的数据类型允许是()正确答案:DA.整型常量B.任何类型的表达式C.整型表达式D.整型常量或整型表达式3【单选题】(10分)对以下说明语句,理解正确的是(

)。inta[10]={6,7,8,9,10};正确答案:AA.将5个初值依次赋给a[0]到a[4]B.将5个初值依次赋给a[6]到a[10]C.因为数组长度与初值的个数不相同,所以此语句不正确D.将5个初值依次赋给a[1]到a[5]4【单选题】(10分)以下说法错误的是()正确答案:CA.数组名的命名规则应符合标识符的命名规则B.同一个数组的元素,其数据类型必须相同C.同一段程序中,数组名可以和其他变量名相同D.定义数组的时候,不能用变量作为数组下标5【单选题】(20分)strcmp()函数比较两个字符串的大小,以下错误的是()正确答案:BA.字符串1>字符串2,返回值大于0B.以上说法都不对C.字符串1==字符串2,返回值为0D.字符串1<字符串2,返回值<06【单选题】(20分)以下函数不可以处理字符串是(

)。正确答案:CA.strcmp()B.strcpy()C.sqrt()D.strcat()7【单选题】(20分)关于strcpy(参数2,参数2)函数,以下说法错误的是(

)正确答案:DA.参数1必须写成数组名称B.参数2可以是字符串常量C.参数1必须是字符数组,而且必须定义得够大,能容纳参数2D.参数2必须写成数组名称8【判断题】数组名的命名规则与标识符命名规则相同,不能用数字开头。()正确答案:AA.对B.错9【判断题】在对数组全部元素赋初值时,可以省略行数,但不能省略列数正确答案:BA.错B.对10【判断题】数组元素通常也称为下标变量。必须先定义数组,才能使用下标变量。正确答案:AA.对B.错11【判断题】C语言中,字符串常量存放在字符数组中要有一个结束符,该结束符是0。正确答案:AA.错B.对12【判断题】C语言允许用字符串的方式对数组作初始化赋值。正确答案:BA.错B.对13【判断题】在对数组全部元素赋初值时,不可以省略行数,但能省略列数正确答案:AA.错B.对14【单选题】对二维数组的正确说明是正确答案:AA.inta[][3]={1,2,3,4,5,6};B.inta[][]={1,2,3,4,5,6};C.inta[2][]={1,2,3,4,5,6};D.inta[2,3]={1,2,3,4,5,6};15【单选题】以下关于数组的描述正确的是正确答案:BA.数组的大小是可变的,但可以有不同的类型的数组元素;B.数组的大小是固定的,但所有数组元素的类型必须相同;C.数组的大小是可变的,但所有数组元素的类型必须相同;D.数组的大小是固定的,但可以有不同的类型的数组元素;16【单选题】在定义inta[5];之后,对a的引用不正确的是()正确答案:AA.a[5]B.a[1]C.a[3]D.a[0]17【单选题】以下对一维数组a进行不正确初始化的是正确答案:CA.inta[]={0};B.inta[10]={};C.inta[10]=(0,0,0,0);D.inta[10]={10*2};18【单选题】以下能对一维数组a[3]全部赋值为2的语句正确的是()正确答案:AA.a[3]={2,2,2}B.a[0]=2;a[1]=2;C.a[3]={2}D.a[2]=2;19【单选题】以下说法错误的是()正确答案:DA.数组初始化可以只给部分元素赋初值B.可以给数组元素逐个赋值C.赋值语句不能给数组整体赋值D.可以给数组整体赋值20【单选题】如果有定义int

a[5];则以下正确的赋值语句是(

)。正确答案:BA.a[5]=10;B.a[0]=10;C.a=10;D.scanf("%d",&a);21【单选题】若有说明:inta[][2]={{0,0},{1}};则下面正确的叙述是()。正确答案:CA.只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到确定的初值B.数组a共有3个数组元素C.二维数组a的第一维大小为2D.数组a的每个元素都可得到初值022【单选题】若有说明inta[3][4];则a数组元素的非法引用是()。正确答案:CA.a[0][2*1]B.a[4-2][0]C.a[0][4]D.a[1][3]23【单选题】以下能对二维数组a进行正确初始化的语句是(

)。正确答案:AA.inta[][3]={{1,2,3},{4,5,6}};B.inta[2][4]={{1,2,3},{4,5},{6}};C.inta[][3]={{1,0,1},{},{1,1}};D.inta[2][]={{1,0,1},{5,2,3}};24【单选题】设有数组定义:chararr[]="China";则数组arr所占空间为()。正确答案:DA.5个字节B.4个字节C.7个字节D.6个字节25【单选题】若有以下语句,则正确的描述是()。chara[]="toyou";charb[]={'t','o','y','o','u'};正确答案:CA.a数组和b数组的长度相同B.a数组长度小于b数组长度C.a数组长度大于b数组长度D.a数组等价于b数组26【单选题】下面叙述正确的是(

)。正确答案:AA.字符串”That”小于字符串”The”B.字符个数多的字符串比字符个数少的字符串大C.字符串”STOP”与”STOP”相等D.两个字符串所包含的字符个数相同时,才能比较字符串27【单选题】在定义inta[5][4];之后,对数组元素的引用正确的是正确答案:CA.a[5][0]B.a[0,0]C.a[0][0]D.a[2][4]28【单选题】在执行inta[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是正确答案:CA.1B.2C.4D.529【单选题】在定义inta[3][4][2];后,第10个元素是()正确答案:BA.a[2][2][1]B.a[1][0][1]C.a[2][1][2]D.a[2][0][1]30【单选题】在C语言中,strlen函数的功能以下说法正确的是()正确答案:CA.比较字符串大小B.求字符串长度(包含'\0')C.求字符串长度(不包含'\0')D.复制字符串31【单选题】有字符数组a[80],b[80],则正确的输出语句是正确答案:CA.puts(a,b);B.printf(“%s,%s”,a[],b[]);C.puts(a);puts(b);D.putchar(a,b);32【单选题】以下不能正确进行字符串赋初值的语句是正确答案:CA.char*str="good!";B.charstr[]="good!";C.charstr[5]="good!";D.charstr[5]={''g'',''o'',''o'',''d''};33【单选题】已有定义:chara[]="xyz",b[]={''x'',''y'',''z''};,以下叙述中正确的是()。正确答案:DA.上述说法都不对B.数组a和b的长度相同C.a数组长度小于b数组长度D.a数组长度大于b数组长度34【单选题】在C语言中,能实现字符串连接的函数是(

)正确答案:DA.strlen()B.strcmp()C.strcpy()D.strcat()35【单选题】在C语言中,有:charstr[]="abcd";printf(%d",strlen(str));上面程序片段的输出结果是(

)正确答案:CA.12B.3C.4D.636【单选题】在C语言中,不能把字符串"Hello!"赋给数组b的语句是(

)。正确答案:DA.charb[10];strcpy(b,"Hello!");B.charb[10]="Hello!";C.charb[10]={''H'',''e'',''l'',''l'',''o'',''!''};D.charb[10];b="Hello!";37【单选题】函数调用:strcat(strcpy(str1,str2),str3)的功能是正确答案:BA.将串str2连接到串str1之后再将串str1复制到串str3中B.将串str2复制到串str1中后再将串str3连接到串str1之后C.将串str1复制到串str2中后再连接到串str3之后D.将串str1连接到串str2之后再复制到串str3之后38【单选题】不能把字符串:Hello!赋给数组b的语句是正确答案:DA.charb[10]="Hello!";B.charb[10];strcpy(b,"Hello!");C.charb[10]={'H','e','l','l','o','!',0};D.charb[10];b="Hello!";1【单选题】(20分)以下叙述中错误的是()正确答案:AA.函数的参数是数组时,必须指定数组大小B.函数的参数可以是数组C.函数的参数可以是数据的地址D.函数的参数可以是任意数据类型2【单选题】(20分)以下关于函数的说法,错误的是()。正确答案:DA.C程序必须有一个main()函数B.C程序的运行从main()函数开始C.使用“include”指令将库函数所在的头文件包含到程序中,然后才能调用库函数。D.库函数因为是编译器提供的,直接调用即可3【单选题】(20分)以下程序的输出结果是()。#include"stdio.h"intf(intx){inty;if(x==0||x==1)

return(3);y=x*x-f(x-2);return

y;}intmain(){intz;z=f(3);printf("%d正确答案:B",z);return0;}A.0B.6C.9D.84【单选题】(20分)以下程序的输出结果是()。#include<stdio.h>intfun(int

x){int

p;if(x==0||x==1)return(3);p=x-fun(x-2);returnp;}intmain(){printf("%d正确答案:B",fun(7));return0;}A.7B.2C.0D.35【单选题】(20分)以下属于函数定义的组成部分的是()正确答案:BA.函数体B.其他选项全都是C.返回类型D.函数名E.形式参数列表6【判断题】函数的实参传递到形参有两种方式值传递和地址传递。正确答案:BA.错B.对7【判断题】如果函数定义出现在函数调用之前,可以不必加函数声明。正确答案:BA.错B.对8【判断题】函数的实参可以是常量,变量或表达式。正确答案:BA.错B.对9【单选题】以下叙述中正确的是()。正确答案:BA.用户自己定义的函数只能调用库函数B.C语言源程序总是由一个或多个函数组成C.不同函数的形式参数不能使用相同名称的标识符D.在C语言的函数内部,可以定义局部嵌套函数10【单选题】若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(

)。正确答案:AA.函数调用可以作为一个函数的形参B.函数调用可以出现在表达式中C.函数调用可以作为独立的语句存在D.函数调用可以作为一个函数的实参11【单选题】以下程序的输出结果是()。#include

<stdio.h>void

funA(int

n)

{n++;}intmain(){

int

a=1;funA(a);

printf("%d

",a);funA(a);

printf("%d",a);return0;}正确答案:AA.1

1B.2

2C.2

1D.1

212【单选题】有以下程序,程序运行后的输出结果是(

)。#include

<stdio.h>intnew_div(double

a,double

b){

returna/b+0.5;

}intmain(){

printf("%d",new_div(7.8,3.1));return0;}正确答案:AA.3B.1C.2D.013【单选题】在一个C语言程序中,下列说法正确的是(

)。正确答案:CA.main函数必须出在固定位置B.main函数必须出现在所有函数之前C.main函数可以出现在其它函数之外的任何位置D.main函数必须出现在所有函数之后14【单选题】以下叙述中正确的是(

)。正确答案:AA.调用函数时,函数名必须与被调用的函数名完全一致B.函数调用时,不必区分函数名称的大小写C.在函数体中只能出现一次return语句D.函数名允许用数字开头15【单选题】以下说法错误的是()。正确答案:BA.库函数由编译器提供,无需用户定义。B.如果函数没有返回值,返回类型空着。C.用户可以根据需要自定义函数。D.如果函数没有返回值,返回类型为void。16【单选题】有以下程序#include<stdio.h>intmain(){

intfindmax(int,int,int),m;┋m=findmax(a,b,c);┋}intfindmax(intx,inty,intz){

}则以下叙述正确的是(

)。正确答案:CA.在main函数内、外重复定义了findmax函数B.在main函数中定义了findmax函数C.在main函数中声明了findmax函数D.在main函数中两次调用了findmax函数17【单选题】设有函数定义:voidsub(intk,charch){…

}则以下对函数sub的调用语句中,正确的是(

)。正确答案:DA.sub(4,"a");B.n=sub(3,'a');C.sub(2,'97');D.sub(1,97);18【单选题】下列叙述中错误的是(

)。正确答案:AA.主函数中定义的变量在整个程序中都是有效的。B.复合语句中定义的变量只在该复合语句中有效。C.在其它函数中定义的变量在主函数中也不能使用。D.形式参数也是局部变量。19【单选题】凡是函数中未指定存储类别的局部变量,其隐含的存储类型是(

)。正确答案:AA.自动(auto)B.静态(static)C.寄存器(register)D.外部(extern)20【单选题】下面程序的输出结果是(

)。#include<stdio.h>intmain(){intx=10;{intx=20;printf("%d,",x);}printf("%d",x);return0;}正确答案:AA.20,10B.10,20C.20,20D.10,1021【单选题】以下程序的输出结果是()。#include<stdio.h>intfun(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return

m;}intmain(){int

k=4,m=1,p;p=fun(k,m);printf("%d,",p);p=fun(k,m);printf("%d",p);return0;}正确答案:BA.8,20B.8,17C.8,8D.8,1622【单选题】下面程序的输出结果是(

)。intmain(){inta=2,i;for(i=0;i<3;i++)printf("%4d",f(a));return0;}f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}正确答案:AA.789B.777C.7911D.7101323【单选题】函数返回值的类型是由(

)决定的。正确答案:AA.定义函数时,所指定的函数类型B.调用该函数的主调函数类型C.return语句的表达式类型D.调用函数时临时24【单选题】若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是(

)。正确答案:CA.同名的实参和形参占同一存储单元B.函数的实参和其对应的形参共占同一存储单元C.函数的形参和实参分别占用不同的存储单元D.形参只是形式上的存在,不占用具体存储单元25【单选题】有如下函数定义:#include

<stdio.h>int

fun(int

k){if(k<1)

return

0;else

if(k==1)

return

1;else

return

fun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是(

)。正确答案:DA.2B.1C.5D.31【单选题】(10分)下列程序的输出结果是()。main(){intk=4,m=5,n=7;int*pk=&k,*pm=&m,*p;*(p=&n)=*pk*(*pm);printf(“%d正确答案:C”,n);}A.7B.21C.20D.52【单选题】(10分)对于类型相同的指针变量,不能进行的运算是()。正确答案:DA.=B.-C.==D.+3【单选题】(10分)以下程序的输出结果是()#include<stdio.h>intmain(){

charstr[100]="ABCDEFG",*p=str;inti;for(i=0;*p!='\0';p++,i++);printf("%d",i);return0;}正确答案:CA.100B.99C.7D.84【单选题】(10分)已知有以下的说明,inta[]={8,1,2,5,0,4,7,6,3,9};那么a[*(a+a[3])]的值为()。正确答案:CA.4B.7C.0D.55【单选题】(20分)有以下程序:main(){charstr[][10]={“China”,“Beijing”},*p=str;printf(“%s正确答案:B”,p+10);}该程序运行后的输出结果是()。A.ngB.BeijingC.ingD.China6【多选题】(20分)下列关于指针定义的描述正确的有()。正确答案:ABCDA.指针变量的命名规则与标识符相同B.指针变量的类型与它所指向的变量类型一致C.在定义指针时,”*”号表示指针变量的指向D.指针变量是一种变量,该变量是用来存放某个变量的地址值的7【多选题】(20分)设有定义语句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组中6个元素中的值,下列选项中能完成此操作的语句有()。正确答案:ABCA.for(i=0;i<6;i++)printf(“%2d”,*p++);B.for(i=0;i<6;i++)printf(“%2d”,*(p+i));C.for(i=0;i<6;i++)printf(“%2d”,*(p++));D.for(i=0;i<6;i++)printf(“%2d”,(*p)++);8【判断题】inti=3,*p;p=&i;printf("%d",*p);是正确的。正确答案:AA.对B.错9【判断题】C程序中,函数调用时用数组名作为函数的实参,则传递给形参的是数组的首地址值。正确答案:AA.对B.错10【判断题】在C程序中,函数的形式参数是指针类型时,调用时对应的实参也必须是地址量。正确答案:BA.错B.对11【判断题】对同一类型的两个指针变量而言,一个变量向另外一个变量赋值的结果是使得两个指针指向同一个对象。正确答案:BA.错B.对12【判断题】将一维数组a的第i个元素的地址赋给指针变量p的语句是p=&a[i-1];正确答案:AA.对B.错13【判断题】char*p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。正确答案:BA.对B.错14【判断题】inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则p+5相当于a[5]

。正确答案:BA.对B.错15【判断题】有如下说明:int

a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8)。正确答案:BA.错B.对16【判断题】若有inta[3][4];*(a+1)+2表示a[1][2]元素的地址。正确答案:AA.对B.错17【判断题】指针变量作为函数形参,仍然遵循单向值传递的传送规则,传递的值是地址值()正确答案:AA.对B.错18【判断题】若有定义:inta[5],*p;,则操作p=a;是合法的操作。正确答案:BA.错B.对19【判断题】若有定义:inta[5],*p;,则操作p=&a[2];是合法的操作。正确答案:AA.对B.错20【判断题】若有定义:inta[5][5],*p;,则操作p=a;是合法操作。正确答案:BA.对B.错21【判断题】如果有inta[5];int*p=a;则p可以被赋值,但a不可以。正确答案:BA.错B.对22【判断题】若有定义:inta[5][5],(*p)[5];,则操作p=a[0];是合法操作。正确答案:AA.错B.对23【判断题】凡是整型变量可以参加的运算,指针变量都可以参加。正确答案:AA.错B.对24【判断题】对于指向同一个数组的两个变量而言,两个指针变量相减的操作是有意义的。正确答案:AA.对B.错25【判断题】对数组各元素的存取完全可以不用下标变量而用指针来代替。正确答案:AA.对B.错26【单选题】下列关于指针概念的描述中,错误的是(

)正确答案:BA.指针中存放的是某变量或对象的地址值B.指针的类型是它所存放的数值的类型C.指针的值是可以改变的D.指针是变量,它也具有一个内存地址值27【单选题】已知:inta[5],*p=a;则与++*p相同的是(

)。正确答案:BA.*++pB.++a[0]C.*p++D.a[0]28【单选题】已知:inta[]={1,2,3,4,5},*p=a;在下列数组元素地址的表示中,正确的是(

)。正确答案:CA.*p++B.&(p+1)C.&p[2]D.&(a+1)29【单选题】若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则(

)不是对a数组元素的正确引用(其中0≤i<10)。正确答案:AA.*(*(a+i))B.*(&a[i])C.a[p-a]D.p[i]30【单选题】下列语句组中,正确的是(

)正确答案:CA.chars[7];s="Olympic";B.chars[7];s={"Olympic"};C.char*s;s="Olympic";D.char*s;s={"Olympic"};31【单选题】若有定义int(*pt)[3];,则下列说法正确的是(

)正确答案:BA.定义了基类型为int的三个指针变量B.定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组C.定义了一个名为*pt、具有三个元素的整型数组D.定义了基类型为int的具有三个元素的指针数组pt32【单选题】有以下程序#include<stdio.h>intf(intt[],intn);main(){inta[4]={1,2,3,4},s;s=f(a,4);printf("%d",s);}intf(intt[],intn){if(n>0)returnt[n-1]+f(t,n-1);elsereturn0;}程序运行后的输出结果是(

)正确答案:CA.4B.14C.10D.633【单选题】有以下程序#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d”,m,n,*p,*q);}程序运行后的输出结果是(

)正确答案:CA.2,1,1,2B.1,2,1,2C.1,2,2,1D.2,1,2,134【单选题】若有定义语句:inta[4][10],*p,*q[4];且0≤i<4,则错误的赋值是(

)正确答案:CA.p=&a[2][1]B.q[i]=a[i]C.p=aD.p=a[i]35【单选题】有以下程序#include<stdio.h>#include<string.h>main(){charstr[][20]={“One*World”,“One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s”,p);}程序运行后的输出结果是(

)正确答案:BA.9,One*DreamB.10,One*DreamC.10,One*WorldD.9,One*World36【单选题】下列函数的功能是(

)fun(char*a,char*b){while((*b=*a)!=’\0’){a++,b++;}}正确答案:AA.将a所指字符串赋给b所指空间B.使指针b指向a所指字符串C.检查a和b所指字符串中是否有’’D.将a所指字符串和b所指字符串进行比较37【单选题】设有定义:char

*c;,以下选项中能够使字符型指针c正确指向一个字符串的是(

)正确答案:CA.*c=”string”;B.scanf(“%s”,c);C.charstr[]=”string”;c=str;D.c=getchar();38【单选题】有以下程序#include<stdio.h>voidfun(int*a,int*b){int*c;c=a;a=b;b=c;}main(){intx=3,y=5,*p=&x,*q=&y;fun(p,q);printf("%d,%d,",*p,*q);fun(&x,&y);printf("%d,%d",*p,*q);}程序运行后的输出结果是(

)正确答案:CA.3,5,5,3B.5,3,5,3C.3,5,3,5D.5,3,3,539【单选题】已知chars[10],*p=s;,则在下列语句中,错误的语句是(

)。正确答案:BA.p=s+5;B.s=p+s;C.*p=s[0]D.s[2]=p[4]40【单选题】已知charb[5],*p=b;,则正确的赋值语句是(

)。正确答案:CA.b=””;B.*b=”abcd”;C.p=”abcd”;D.*p=”abcd”;41【单选题】已知chars[20]=”programming”,*ps=s;则不能引用字母o的表达式是(

)。正确答案:AA.ps+2B.s[2]C.ps[2]D.ps+=2,*ps42【单选题】下列选项中,正确的语句组是(

)。正确答案:CA.chars[8];s={"Beijing"};B.char*s;s={"Beijing"};C.char*s;s="Beijing";D.chars[8];s="Beijing";43【单选题】已知char*p,*q;下面语句正确的是(

)。正确答案:AA.p+=3;B.p/=q;C.p*=3;D.p+=q;44【单选题】若说明int*p,n;则通过语句scanf能够正确读入数据n的程序段是(

)。正确答案:CA.scanf("%d",n);B.p=&n;scanf("%d",*p);C.p=&n;scanf("%d",p);D.p=&n;scanf("%d",&p);45【单选题】若有定义:intx,*pb;则以下正确的表达式是(

)正确答案:CA.pb=xB.*pb=&xC.pb=&xD.*pb=*x46【单选题】以下程序的输出结果是(

)#include<stdio.h>voidmain(){printf(“%d”,NULL);}正确答案:DA.1B.因变量无定义输出不定值C.-1D.047【单选题】如果有语句

intx,*px;

px=&x;

以下表达式,哪一项和其他项含义不同()正确答案:AA.*pxB.&xC.pxD.&(*px)48【单选题】已知指针p的指向如图所示的a[1],则表达式*++p的值是(

)。正确答案:BA.20B.30C.31D.2149【单选题】已知指针p的指向如图所示的a[1],则表达式++*p的值是(

)。正确答案:CA.30B.20C.21D.3150【单选题】若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是(

)。正确答案:DA.&*a,&a,*pointB.a,point,*&aC.*&point,*point,&aD.&a,&*point,point51【单选题】若有下面的程序段:chars[]="china";char*p;p=s;则下列叙述正确的是(

)。正确答案:CA.数组s中的内容和指针变量p中的内容相等B.s数组长度和p所指向的字符串长度相等C.*p与s[0]相等D.s和p完全相同52【单选题】已定义以下函数fun(char*p2,char*p1){while((*p2=*p1)!=’\0’){p1++;p2++;}}函数的功能是(

)。正确答案:DA.检查p1和p2两个指针所指字符串中是否有’’B.对p1和p2两个指针所指字符串进行比较C.将p1所指字符串的地址赋给指针p2D.将p1所指字符串复制到p2所指内存空间53【单选题】下面程序段中,输出*的个数是(

)。char*s="a8bc";for(;*s!='\0';s++)printf("*");正确答案:DA.7B.9C.6D.554【单选题】阅读下列程序,则执行后的结果为(

)。#include"stdio.h"intmain(){intc[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x",c[2][2],*(*(c+1)+1));}正确答案:AA.3e,6B.3E,6C.62,5D.56,555【单选题】现有inta,*b;,b=&a;,则下列运算错误的是(

)。正确答案:AA.&*aB.*&bC.&*bD.*&a56【单选题】现有如下定义语句,表示数组元素s[i]的表达式不正确的是(

)。int*p,s[20],i;p=s;正确答案:CA.*(p+i)B.*(p=p+i)C.*(s=s+i)D.*(s+i)1【单选题】(20分)若有以下语句typedef

struct

S{

int

g;

char

h;

}T;以下叙述中正确的是()。正确答案:CA.T是structS类型的变量B.可用S定义结构体变量C.可用T定义结构体变量D.S是struct类型的变量2【单选题】(20分)下列说法不正确的是()。正确答案:CA.定义结构体类型时,末尾的分号不能省略。B.使用结构体类型定义变量前,需要先定义这个类型。C.一个结构体中数据成员的类型必须相同。D.一个结构体中可以有多个不同类型的数据成员。3【单选题】(20分)有以下程序#include<stdio.h>struct

ball{char

color[10];int

dim;};intmain(){structballlist[2]={{"white",2},{"yellow",3}};printf("%s:%d",(list+1)->color,list->dim);return0;}程序运行后的输出结果是()正确答案:DA.white:2B.white:3C.yellow:3D.yellow:24【单选题】(20分)以下叙述中正确的是()。正确答案:CA.即使是同类型的结构体变量,也不能进行整体赋值B.结构体数组名不能作为实参传给函数C.结构体中可以含有指向本结构体的指针成员D.结构体变量的地址不能作为实参传给函数5【单选题】(20分)以下关于结构体的说法错误的是(

)正确答案:CA.结构体变量占据的空间不小于其各成员占据空间的总和B.结构体变量定义时可以直接初始化C.结构体变量的成员可以直接使用D.结构体变量的成员不能直接使用,需要通过”结构体变量.成员“的方式来使用6【判断题】结构体成员的类型必须是基本数据类型。正确答案:BA.对B.错7【判断题】结构体数组中可以包含不同结构体类型的结构体变量。正确答案:BA.对B.错8【判断题】结构体类型本身不占用内存空间,结构体变量占用内存空间。正确答案:BA.错B.对9【单选题】以下关于C语言数据类型使用的叙述中错误的是(

)。正确答案:CA.若要准确无误差的表示自然数,应使用整数类型B.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论