南开大学理科《C语言程序设计》2020-2021学年第一学期期末考试试卷(A卷)任课教师学院姓名学号题号一二三四五合计成绩一、单项选择(每空1分,共20分)(注意选项填写到题末相应横线上)1、下面语句的输出结果为()charch=70;cout<<ch;A.70B.fC.报错D.F2、若整型变量a、b、c、d、m和n的值均为2,表达式a=(m==a>b)&&(n=c<d)运算后,a、m和n的值分别是()A.0、2、2B.0、2、0C.1、2、0D。0、0、03、以下程序段执行后的输出结果为()for(inti=0,m=l;i<4;i++)for(intj=0;j<i;j++)m+=l;cout<<m;A.16B.17C.6D.74、下列标识符中,合法的标识符为()A.3classB.Good_boysC.Hel1o!D.No.15、已知数字字符’0’的ASCII值为48,若有以下程序,则程序运行后的输出结果是()。#include<iostream.h>voidmain(){chara=’1’,b=’2’;cout<<b++<<”,”;cout<<b-a<<endl;}A.3,2B.50,2C.2,2D.2,506.用new运算符创建一个含10个元素的一维整型数组的正确语句是()A.int*p=newa[10};B.int*p=newfloat[10];C.int*p=newint(10];D.int*p=newint[10]={1,2,3,4,5};7、有以下程序,程序运行后的输出结果是()#include<iostream.h>voidmain(){intk=5;while(--k)k=3;cout<<k;}A.1B.0C.4D.死循环8、以下选项中,值为1的表达式是()A.1-‘0’B.1-‘\0’C.’1’-0D.’\0’-‘0’9、以下叙述中不正确的是()A.在不同的函数中可以使用相同名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效10、对int*pa[5]的描述,正确的是()A.pa是一个指向数组的指针,所指向的数组是5个int型元素B.pa是一个指向某数组中的第5个元素的指针,该元素是int型变量C.pa[5]表示某个数组的第5个元素的值D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针11、下列对结构及其变量定义错误的是()。A.structMyStructB.structMyStruct{{intnum;intnum;charch;charch;};}my;MyStructmy;C.structD.struct{{intnum;intnum;charch;charch;}my;};structmy;12、以下不能作为函数重载判断依据的是()A.参数个数B.参数类型C.函数名字D.返回类型13、考虑函数原型voidtest(inta,intb=7,char=’*’),下面的函数调用中,不合法的调用是()A.test(5)B.test(5,8)C.test(6,,’#’)D.test(0,0,’#’)14、在一个被调用函数中,关于return语句使用的描述,错误的是()A.被调用函数中可以不用return语句B.被调用函数中可以使用多个return语句C.被调用函数中,如果有返回值,就一定要有retum语句D.被调用函数中,一个return语句可返回多个值给调用函数15、变量s的定义为char*s="Helloworld",要使指针p指向s所指向的同一个字符串,则应选取()A.char*p=s;B.char*p=&s;C.char*p;p=*s;D.char*p;p=&s;16、以下叙述中错误的是()A.对于double型数组,不可以直接用数组名对数组进行整体输入或输出B.数组名代表的是数组所占存储区的首地址,其值不可改变C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D.可以通过赋初值的方式确定数组元素的个数17、若有定义inta[]={10,20,30},*p=a;当执行p++后,下列说法错误的是()A.p向高地址移了一个字节B.p向高地址移动了一个存储单元C.p向高地址移了四个字节D.p与a+1等价18、若定义了函数double*function(),则函数function的返回值为()A.实数型B.实数的地址C.指向函数的指针D.函数的地址19、以下选项中,不能作为合法常量的是()A.1.234e04B.1.2340.4C.1.234e+4D.1.234e020、以下叙述中,正确的是()A.for循环只能用于循环次数已知的情况B.for循环与do-while循环一样,都是先执行循环体后判断条件C.for循环体内不能出现while语句D.无论哪种循环,都可以从循环体内转移到循环体外二、填空题(每空1分,共12分(注意把答案镇写在题末相应横线上)1、与十进制数186等值的十六进制数是。2、若X=10001101B,Y=10011010B,则X^Y的值为。3、以下程序段的输出结果为。intp[]={1,2,3,4,5,6,7,8},i=0,j=0;while(i++<6)if(p[i]%2)j+=p[i];cout<<j;4、若整型变量a、b、c、d中的值依次为1、4、3、2。则条件表达式a<b?...