第一章、第二章、第三章第一题、单项选择题(每题1分,5道题共5分)1、在以下关于C语言的叙述中,正确的说法是:BA、C语言比汇编语言快B、C语言比BASIC语言快C、C语言比BASIC语言和汇编语言都快D、C语言比BASIC语言慢2、在C语言中,不正确的常量是:BA、0xf6B、0876C、.5e-6D、+3e+23、属于低级语言的计算机语言是()。BA、机器语言B、汇编语言C、Java语言D、Pascal语言4、对于链接,正确的说法为()。DA、链接是将源程序和库函数链接到一起,生成可执行程序。B、链接是将源程序、目标程序和其他源程序链接到一起,生成可执行程序。C、链接是将源程序、库函数和其他源程序链接到一起,生成可执行程序。D、链接是将目标程序、库函数和其他目标程序链接到一起,生成可执行程序。5、下列不能表示常量大写英文字母A的是()。BA、常量:‘A’B、常量:“A”C、常量:‘\x41’D、常量:‘\101’第二题、多项选择题(每题2分,5道题共10分)1、对于16位系统中,C语言中整数-8在内存中的错误存储形式是:BCDA、1111111111111000B、1000000000000000C、1000000000001000D、11111111111101112、下列关于C语言用户标识符的叙述中,不正确的叙述是:ACDA、用户标识符中可以出现下划线和中划线(减号)B、用户标识符中不可以出现中划线,但可以出现下划线C、用户标识符中可以出现下划线,但不可以放在用户标识符的开头D、用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头3、关于C语言程序的语句,正确的说法是()。BDA、一条语句只能占一行B、一行可以书写多条语句C、语句的结束标识符是句号D、建议每条语句占一行4、与汇编程序相比,C语言程序的优点包括()。ABA、更容易移植B、更容易阅读C、目标代码质量较高D、能够进行位操作5、有关结构化程序设计,正确的说法是()。BCA、每个算法都必须包含三种基本结构B、每个结构化的算法都可以归结为三种基本结构C、三种基本结构可以相互嵌套D、三种基本结构可以交叉设计第三题、判断题(每题1分,5道题共5分)1、C语言程序的基本单位是函数。√2、一个C程序的执行是从main()函数开始,直到最后一个函数结束。×3、char类型的变量只能存放一个字符。√4、int类型的数据范围不可能比float类型的大。√5、链接是将源程序、目标程序和库函数链接到一起,生成可执行程序。×第四章、第五章第一题、单项选择题(每题1分,5道题共5分)1、设x和y均为int型变量,则以下语句:x=x+y;y=x-y;x=x-y;的功能是:DA、把x和y按从大到小排列B、把x和y按从小到大排列C、x中为原来x和y的值的和D、交换x和y中的值2、已说明inta=256,执行语句printf(”%x”,a);的结果是:AA、100B、256C、0ffeD、00ff3、已有intx=2,y=7;则printf(%d,x+y==6);的输出结果是:AA、0B、3C、9D、24、设intx=10,y=3,则语句printf(“%d%d\n”,x+y,x-y);的输出结果是():CA、10,3B、13,7C、137D、1035、已知:inti;charc;floatf;以下表达式中值为整型的算数表达式是()。BA、i+fB、i*cC、c+fD、i+c+f第二题、多项选择题(每题2分,5道题共10分)ABD1、以下合法的表达式是:A、x=y=200B、5+(x=10)C、5+x=10D、y+x==102、不能正确表示条件x≥y≥z的C语言表达式是:ACDA、(x>=y)&(y>=z)B、(x>=y)&&(y>=z)C、(x>=y).AND.(y>=z)D、(x>=y>=z)3、设有说明语句:chara=ˊ\72ˊ;,则变量a包含的字符数为:BCDA、1个字符B、2个字符C、3个字符D、0个字符4、下列属于C语言标准库函数的为()。ABCEFA、sin()B、sqrt()C、log10()D、ln()E、pow()F、isalpha()5、已知“intn;”。若通过scanf函数为变量n输入值,则合法的输入格式控制符为()。ACDEA、%dB、%fC、%oD、%xE、%cF、%g第三题、判断题(每题1分,5道题共5分)1、逻辑关系“a≥10或a≤0”正确表示的C语言表达式是:a>=10ora<=0。×2、算术运算符的结合方向均为自左至右。√3、赋值运算符的优先级低于所有的算术运算符。√4、若有intx=5;,则(float)x就把x转换为float类型了。×5、强制类型转换,并不改变原表达式本身的类型。×第六章、第七章第一题、单项选择题(每题1分,5道题共5分)1、下面循环语句中inta,b;for(a=0,b=1;a<=b+2;a=a+2,b=b-1)printf(“%d”,a);,循环体的执行次数为:BA、3B、2C、1D、02、以下程序的输出结果是:main(){intx;for(x=1;x<10;x=x+1)for(x=10;x<10;x=x+1);printf(%d\n,x);}AA、11B、10C、12D、93、以下程序的输出结果是:main(){intnum=0;while(num<=2){num=num+1;printf(“%d”,num);}}BA、1234B、123C、12D、14、下列运算符中,优先级最高的是()。AA、+B、C、&&D、=5、表达式10==9的值是()。CA、trueB、2C、0D、1第二题、多项选择题(每题2分,5道题共10分)1、下列属于结构化程序设计基本结构的是:ABCDA、顺序结构、选择结构B、顺序结构、循环结构C、选择结构、循环结构D、顺序结构、选择结构、循环结构2、对于C语言的for循环来讲,下列正确的说法为:BCA、第一表达式不能放到循环前执行;B、第二表达式不能放到循环前执行;C、第三表达式不能放到循环前执行;D、第三表达式不能放到循环体中执行。3、设inta=3,b=4,c=5;,则下面的表达式中,值为0的表达式是()。ACDEA、abB、a<=bC、(a||b)>cD、a<=(b||c)E、!((a<b)&&!c||b)4、当c的值不为0时,则在下列选项中,能正确将c的值赋给变量a、b的是()。ACA、b=a=c;B、(a=c)‖(b=c);C、(a=c)&&(b=c);D、a&&(b=c);5、下列说法中正确的是()。ABCDEA、for循环完全可以用while循环替代。B、while循环完全可以用do{}while循环替代。C、while循环完全可以用for循环替代。D、do{}while循环完全可以用while循环替代。E、do{}while循环和while循环均完全可以用for循环替代。第三题、判断题(每题1分,5道题共5分)1、在C语言循环结构中,continue的作用是继续当次循环,break的作用是终止当次循环。×2、当型循环的循环体可能一次也不执行,直到型循环则至少执行一次。√3、while语句和switch语句中都可以使用break。√4、for循环的第二表达式省略,将会导致死循环。√5、三种循环可以绝对地互相嵌套。√第八章、第九章、第十章第一题、单项选择题(每题1分,5道题共5分)1、下列描述中,合法的数组定义是:DA、inta[]={String};B、inta[5]={0,1,2,3,4,5};C、chara={String};D、chara[]={0,1,2,3,4,5};2、在定义inta[2][3];之后,下列使用正确的是:DA、a(1,2)B、a[1,3]C、a[2][0]D、a[1>2][!1]3、若有定义inta[10];,则对数组a的引用正确的是()。DA、a[10]B、a[6.3]C、a(6)D、a[10-10]4、若有inta[4][5];,则数组a包含的元素个数是()。DA、25B、9C、12D、205、若有inta[][3]={1,2,3,4,5,6,7,8,9,10,11,12};,则数组a的第1维的长度为()。CA、2B、3C、4D、5第二题、多项选择题(每题2分,5道题共10分)1、下列对C语言字符数组的描述中,正确的描述是:ABCA、字符数组可以存放字符串B、字符数组中的字符串可以整体输入、输出C、不可以用关系运算符对字符数组中的字符串进行比较D、可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值2、根据定义:structperson{charname[9];intage;};structpersonc[10]={John,17,Paul,19,Mary,18,Adam,16};能打印出字母M的语句是:CDA、printf(%s,c[0].name);B、printf(%s,c[1].name[0]);C、printf(%s,c[2].name[1]);D、printf(%s,c[3].name[2]);3、若形参是简单变量形式,则对应的实参可以是:ACDA、常量B、数组名C、简单变量D、数组元素4、下列描述中,不能正确给字符数组str定义和赋值的是()。BCDA、charstr[]={abcdefghijklmn};B、charstr[10];str={abcdefghijklmn};C、charstr[10]={abcdefghijklmn};D、charstr[10];strcpy(str,abcdefghijklmn);5、在定义inta[2][3];之后,对数组a的引用错误的是()。ABCA、a(1,2)B、a[1,3]C、a[2][0]D、a[1>2][!1]第三题、判断题(每题1分,5道题共5分)1、函数中的形参和调用时的实参都是变量时,传递方式为值传递。√2、若有func((v1,v2),(v3,v4,v5),v6)调用,说明函数func有6个形参。×3、在说明一个结构体变量时系统分配给它的存储空间是该结构体中所有成员所需存储空间的总和。√4、可以在定义数组时只给一部分数组元素赋值。√5、对数组元素赋予的初值可以依次放在一对圆括号内。×第十一章、第十二章第一题、单项选择题(每题1分,5道题共5分)1、若执行fopen函数时发生错误,则函数的返回值是()BA、地址值B、0C、1D、EOF2、已知定义“intx=1,*p”,则合法的赋值表达式是()。AA、p=&xB、p=xC、*p=&xD、*p=*x3、在C语句中,&后跟指针变量名,表示该指针变量的(()。CA、值B、别名C、地址D、类型4、若有inta=3,*pa;floatf=4.5,*pf=&f;,则下列表述中,错误的是()。BA、pa=&aB、pa=&fC、pf=&fD、*pf=a+f5、若有inta[10],*p=a;,则()。CA、p++可以使p指向下一个字节B、p+=2相当于p=sizeof(a)/10C、p++可以使p指向下一个元素,即a[1]的首地址D、p+=2可以使p指向下一个元素,即a[1]的首地址第二题、多项选择题(每题2分,5道题共10分)1、C语言中的文件分类是:ADA、文本文件和数据文件B、文本文件和二进制文件C、数据文件和二进制文件D、顺序文件和随机文件2、以读写方式打开一个二进制文件fil2,fopen函数的正确的调用方式是:CDA、FILE*FP;FP=fopen(fil2,r);B、FILE*FP;FP=fopen(fil2,rb);C、FILE*FP;FP=fopen(fil2,wb+);D、FILE*FP;FP=fopen(fil2,rb+);3、若有intx=3,*px;floaty=3,*py;,则正确的赋值表达式是()。ADA、px=&xB、py=&xC、px=&yD、py=&y4、设有定义语句“intx=10,*p=&x”,则表达式的值为10的有()。BCDEA、pB、*pC、*&xD、*p=xE、x=*p5、