中传媒答案C语言程序设计.docx

上传人:wux****ua 文档编号:8974006 上传时间:2020-04-02 格式:DOCX 页数:28 大小:40.17KB
返回 下载 相关 举报
中传媒答案C语言程序设计.docx_第1页
第1页 / 共28页
中传媒答案C语言程序设计.docx_第2页
第2页 / 共28页
中传媒答案C语言程序设计.docx_第3页
第3页 / 共28页
点击查看更多>>
资源描述
一、单选题 (共5题,70.0分) 1、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()。 input x,y,z; scanf(%d%d%d,&x,&y,&z); scanf(%d%d%d,x,y,z); read(%d%d%d,&x,&y,&z); 标准答案 :B 2、设有定义“int a3,b,*p&a;”,则下列语句中使b不为3的语句是( )。 试题分析:定义有int a3,b,*p&a;对b赋值的表达式有*&a、*p、a 、*a. 引用变量a的值有两种方法,一是直接引用a,二是通过a的指针间接引用a. 对于后者,又有多种表达方法,通过指向a的指针p,间接引用a的内容,如*p. 或通过求地址运算符由变量a得到其指针&a,再由这指针表达式间接引用a的内容,如* &a.所以表达式*&a、*p和a都能引用变量a的值,而使b的值为3. 而表达式b=*a是错误的,因为a不是指针变量,不能对它施行取内容运算符所以解答是Db* &a; b* p; ba; b*a; 标准答案 :D 3、设x和y为int型变量,则执行下面的循环后,y的值为( )。 for(yl,xl;y50;y) if(x10)break; if(x2=1)x5;continue; x -3; 试题分析:for循环语句的初始化部分置变量x和y的初值为1,循环条件是(y50),每次循环后变量y的值增1,控制循环最多执行50次。循环体有三个语句:首先在发现变量x的值大于等于10时,结束循环;接着是当变量x除2的余数为1(即变量x是奇数)时,让变量X值增5,让x变成偶数,并直接进入下一轮循环;如变量x是偶数,则从变量x减去3,让变量x变成奇数。由上述分析知,每两次循环使变量x的值增加2.第一次循环后,变量x的值变成6.第二次循环后,变量x的值变成3. 第三次循环后,变量x的位变成8.第四次循环后,变量x的值变成5.第五次循环后,变量x的值变成10.第六次循环时,因变量x的位大于等于10,直接跳出循环,这次循环是非正常结束,对变量y的修正只执行了5次。所以循环结束后,变量y的值增至6.正确的解答是C2 4 6 8 标准答案 :C 4、若与文件型指针中相关联的文件的当前读位置已到了文件的末尾,则函数feof(fp)的返回值是( )。 试题分析:当调用fopen函数时,系统将为实参文件设定一个存放文件读写控制信息的控制块。该控制块记录有关文件持征、使用方式,当前读写位置等文件状态,并将该控制块的指针返回,作为文件指针变量的值。以后程序通过该指针调用函数时,系统能访问到这个控制块,利用该文件控制块中的控制信息,正确完成文件的读或写。所以文件指针并不真正指向文件当前读写位置,但通过文件指针,系统能在文件控制块中访问文件的当前读写位置。若某文件与文件指针中相关联着,该文件的当前读写位置在文件的末尾时,函数调用feof(fp)的返回值是一个非零值。所以正确解答是C0 -1 非零值 NULL 标准答案 :C 5、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C10个指向整型变量的指针 指向10个整型变量的函数指针 一个指向具有10个元素的一维数组的指针 具有10个指针元素的一维数组 标准答案 :C1、在标准C语言中,链表和数组一样是一种静态数据类型( )。 正确 错误 标准答案 :B 2、在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型()。 正确 错误 标准答案 :B1、C语言中文件的存取方式是( )。 顺序存取 随机存取 顺序存取、随机存取均可 顺序存取、随机存取均不可 标准答案 :C 2、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C10个指向整型变量的指针 指向10个整型变量的函数指针 一个指向具有10个元素的一维数组的指针 具有10个指针元素的一维数组 标准答案 :C 3、在以下一组运算符中,优先级最高的运算符是( )。 试题分析:常规运算符的优先级自高到低的排列顺序是算术运算符、移位运算符、关系运算符。按位运算符、逻辑运算符、条件运算符、赋值运算符、逗号运算符。所以问题所给的四个运算符按优先级自高到低的排列顺序是,。所以解答是C % 标准答案 :C 4、不是C语言提供的合法关键字是( )。 试题分析:因C语言的关键字表中没有begin,它不是C语言的关键字。switch begin case default 标准答案 :B 5、若有以下定义,则不能表示a数组元素的表达式是( )。int a101,2,3,4,5,6,7,8,9,10,*pa; 试题分析:上述代码定义了有10个元素的整型数组a,和定义指针变量p,并让p指向数组元素a0.所以代码*p是引用a0.由于数组a只有10个元素,最后一个元素是a9,表达式a10是错误的。数组名a可以作为a的首元素的指针,表达式*a就是a0 ,是对数组a的首元素a0的引用。指针p的值是a,表达式p-a的值是0,所以apa就是a0.所以解答是B*p a10 *a ap-a 标准答案 :B1、else语句中,配对规则是else总是与最近的未配对的if配对( )。 正确 错误 标准答案 :A 2、在标准C语言中,函数中只能有一个return 语句()。 正确 错误 标准答案 :B1、设有定义“int a3,b,*p&a;”,则下列语句中使b不为3的语句是( )。 试题分析:定义有int a3,b,*p&a;对b赋值的表达式有*&a、*p、a 、*a. 引用变量a的值有两种方法,一是直接引用a,二是通过a的指针间接引用a. 对于后者,又有多种表达方法,通过指向a的指针p,间接引用a的内容,如*p. 或通过求地址运算符由变量a得到其指针&a,再由这指针表达式间接引用a的内容,如* &a.所以表达式*&a、*p和a都能引用变量a的值,而使b的值为3. 而表达式b=*a是错误的,因为a不是指针变量,不能对它施行取内容运算符所以解答是Db* &a; b* p; ba; b*a; 标准答案 :D 2、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C10个指向整型变量的指针 指向10个整型变量的函数指针 一个指向具有10个元素的一维数组的指针 具有10个指针元素的一维数组 标准答案 :C 3、设有int i010,j=10;则执行“printf(”%d,%dn“,+i,j-);”的输出是()。 试题分析:变量i 和j 的初值分别为八进制数010和十进制数10,函数调用Printf(“%d,%dn”,+i,j)中,+i的值是变量i增1后的值,原来值是八进制数010,等于十进制数8,输出9.j的值是变量j减1之前的值,输出10.格式字符申中的逗号是普通字符照原样输出。所以问题给出的格式输出函数调用将输出9,10.正确的解答是Bll,10 9,10 010,9 10,9 标准答案 :B 4、设x、y、z、t 均为int 型变量,则执行以下语句后,t的值为()。xyz1;t+x|+y+z; 试题分析:语句序列“xyzl ;t +x|+y&+z;”使变量x的值为1,变量t 是赋一个逻辑表达式的值。在C语言中,由逻辑与和逻7辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量+x的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1.正确解答为C不定值 2 l 0 标准答案 :C 5、标准库函数fputs(pl,p2)的功能是( )。 试题分析:标准函数调用fputs(p1,p2)完成的功能是将由字符指针pl 所指的字符串内容输出到与文件指针p2相关联的文件中,即将从pl所指的内存中的字符串内容输出到p2所指向的文件中。所以正确解答是C从pl指向的文件中读一个字符串存入p2指向的内存 从p2指向的文件中读一个字符串存入pl指向的内存 从pl指向的内存中的一个字符串输出到p2指向的文件 从p2指向的内存中的一个字符串输出到pl指向的文件 标准答案 :C1、在标准C语言中,链表和数组一样是一种静态数据类型( )。 正确 错误 标准答案 :B 2、在标准C语言中,字符串是以0结束的,故字符串的长度也包括0()。 正确 错误 标准答案 :B1、设有定义“int a3,b,*p&a;”,则下列语句中使b不为3的语句是( )。 试题分析:定义有int a3,b,*p&a;对b赋值的表达式有*&a、*p、a 、*a. 引用变量a的值有两种方法,一是直接引用a,二是通过a的指针间接引用a. 对于后者,又有多种表达方法,通过指向a的指针p,间接引用a的内容,如*p. 或通过求地址运算符由变量a得到其指针&a,再由这指针表达式间接引用a的内容,如* &a.所以表达式*&a、*p和a都能引用变量a的值,而使b的值为3. 而表达式b=*a是错误的,因为a不是指针变量,不能对它施行取内容运算符所以解答是Db* &a; b* p; ba; b*a; 标准答案 :D 2、设x、y、z、t 均为int 型变量,则执行以下语句后,t的值为()。xyz1;t+x|+y+z; 试题分析:语句序列“xyzl ;t +x|+y&+z;”使变量x的值为1,变量t 是赋一个逻辑表达式的值。在C语言中,由逻辑与和逻7辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量+x的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1.正确解答为C不定值 2 l 0 标准答案 :C 3、利用fread(buffer,size,count,fp)函数可实现的操作是( )。 从fp指向的文件中,将count个字节的数据读取到buffer指出的数据区中 从fp指向的文件中,将size*count个字节的数据读取到buffer指出的数据区中 以二进制形式读取文件中的数据,返回值是实际从文件读取块的个数count 若文件操作出现异常,则返回实际从文件读取数据块的个数 标准答案 :C 4、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C10个指向整型变量的指针 指向10个整型变量的函数指针 一个指向具有10个元素的一维数组的指针 具有10个指针元素的一维数组 标准答案 :C 5、使用“scanf(”x=%f,y%f“,x,&y)”,要使x,y均为1.25,正确的输入是()。 试题分析:函数调用scanf(“x%f,y=%f,x,&y)以普通字符x=开头,输入时也要先输入x。接着是一个浮点数输入格式,所有能构成一个浮点数1.25 的字符序列都能满足要求。接着是普通字符列”,y“,在输入的浮点数之后也要有字符列”,y“。最后又是浮点数输入格式,同样所有能构成一个浮点数1.25的字符序列都能满足要求。问题给出的供选择答案中只有x=1.25,y1.25是能满足上述要求的。所以正确选择是C1.25,1.25 1.25 1.25 x1.25,y1.25 X1.25 y1.25 标准答案 :C1、在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型()。 正确 错误 标准答案 :B 2、在标准C语言中,链表和数组一样是一种静态数据类型( )。 正确 错误 标准答案 :B1、标准库函数fputs(pl,p2)的功能是( )。 试题分析:标准函数调用fputs(p1,p2)完成的功能是将由字符指针pl 所指的字符串内容输出到与文件指针p2相关联的文件中,即将从pl所指的内存中的字符串内容输出到p2所指向的文件中。所以正确解答是C从pl指向的文件中读一个字符串存入p2指向的内存 从p2指向的文件中读一个字符串存入pl指向的内存 从pl指向的内存中的一个字符串输出到p2指向的文件 从p2指向的内存中的一个字符串输出到pl指向的文件 标准答案 :C 2、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C10个指向整型变量的指针 指向10个整型变量的函数指针 一个指向具有10个元素的一维数组的指针 具有10个指针元素的一维数组 标准答案 :C 3、若有以下定义,则不能表示a数组元素的表达式是( )。int a101,2,3,4,5,6,7,8,9,10,*pa; 试题分析:上述代码定义了有10个元素的整型数组a,和定义指针变量p,并让p指向数组元素a0.所以代码*p是引用a0.由于数组a只有10个元素,最后一个元素是a9,表达式a10是错误的。数组名a可以作为a的首元素的指针,表达式*a就是a0 ,是对数组a的首元素a0的引用。指针p的值是a,表达式p-a的值是0,所以apa就是a0.所以解答是B*p a10 *a ap-a 标准答案 :B 4、设x、y、z、t 均为int 型变量,则执行以下语句后,t的值为()。xyz1;t+x|+y+z; 试题分析:语句序列“xyzl ;t +x|+y&+z;”使变量x的值为1,变量t 是赋一个逻辑表达式的值。在C语言中,由逻辑与和逻7辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量+x的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1.正确解答为C不定值 2 l 0 标准答案 :C 5、C语言规定:在一个源程序中,main函数的位置( )。 必须在最开始 必须在系统调用的库函数的后面 可以任意 必须在最后 标准答案 :C1、结构体变量在内存中所占的字节数是由其各个成员所占字节的总和( )。 正确 错误 标准答案 :A 2、在标准C中并不区分英文字符的大小写( )。 正确 错误 标准答案 :B1、在标准C中,while后表达式只能是逻辑或关系表达式( )。 正确 错误 标准答案 :B 2、在标准C语言中,函数的返回值是通过return语句获取的,故若在函数中没有return就不会传回值()。 正确 错误 标准答案 :B1、若有说明:“ int i,j7,*p&i;”,则与“ ij;”等价的语句是( )。 试题分析:指针变量p指向变量i时,表达式i=*p等价于ii;表达式*p*&j等价于ij;而表达式i&j企图将整型变量的指针赋给整型变量,这是错误的;表达式i=* *p也是一种错误的表达式。p是指针,*p是p所指变量j,* *p是企图将整型变量j 当作指针,并想通过j 间接引用某个变量。所以解答是Bi*p; *p* &j; i=&j; i* *p; 标准答案 :B 2、C语言中提供的合法关键字是( )。 swith cher case default 标准答案 :D 3、C语言中可处理的文件类型是( )。 文本文件和数据文件 文本文件和二进制文件 数据文件和二进制文件 数据代码文件 标准答案 :B 4、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C10个指向整型变量的指针 指向10个整型变量的函数指针 一个指向具有10个元素的一维数组的指针 具有10个指针元素的一维数组 标准答案 :C 5、设整型变量a、b、c 均为2,表达式a+b+c+ 的结果是( )。 试题分析:与上一小题解答的理由相同,表达式a+b+c+被系统理解成:(a+)+(b+)+c+)。表达式“变量+”的值是变量的原来值,所以在变量a、b.c均为2的前题下,执行上述表达式,得到结果为6.所以解答是A6 9 8 表达式出错 标准答案 :A1、在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。 整型常量 整型表达式 整型常量或整型表达式 任何类型的表达式 标准答案 :C 2、下列选项中,合法的C语言关键字是( )。 试题分析:a的值为3,写成8位二进制数形式是00000011,b的值为6,写成8位二进制数形式是00000110.表达式c(ab)2,先计算a与b的按位加,得到结果00000101,将这结果向左移2位,得到二进位的位串信息是00010100.所以解答是Dvar cher integer define 标准答案 :D 3、有以下程序:main()intx=0xFFFF;printf(%dn,x-);执行后的输出结果是()。 32767 FFFE -1 -32768 标准答案 :C 4、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C10个指向整型变量的指针 指向10个整型变量的函数指针 一个指向具有10个元素的一维数组的指针 具有10个指针元素的一维数组 标准答案 :C 5、标准库函数fputs(pl,p2)的功能是( )。 试题分析:标准函数调用fputs(p1,p2)完成的功能是将由字符指针pl 所指的字符串内容输出到与文件指针p2相关联的文件中,即将从pl所指的内存中的字符串内容输出到p2所指向的文件中。所以正确解答是C从pl指向的文件中读一个字符串存入p2指向的内存 从p2指向的文件中读一个字符串存入pl指向的内存 从pl指向的内存中的一个字符串输出到p2指向的文件 从p2指向的内存中的一个字符串输出到pl指向的文件 标准答案 :C1、在标准C中,赋值表达式可以出现在表达式的任何位置( )。 正确 错误 标准答案 :A 2、在标准C语言中,可以使用scanf函数输入包括空格在内的字符()。 正确 错误 标准答案 :B1、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C10个指向整型变量的指针 指向10个整型变量的函数指针 一个指向具有10个元素的一维数组的指针 具有10个指针元素的一维数组 标准答案 :C 2、标准库函数fputs(pl,p2)的功能是( )。 试题分析:标准函数调用fputs(p1,p2)完成的功能是将由字符指针pl 所指的字符串内容输出到与文件指针p2相关联的文件中,即将从pl所指的内存中的字符串内容输出到p2所指向的文件中。所以正确解答是C从pl指向的文件中读一个字符串存入p2指向的内存 从p2指向的文件中读一个字符串存入pl指向的内存 从pl指向的内存中的一个字符串输出到p2指向的文件 从p2指向的内存中的一个字符串输出到pl指向的文件 标准答案 :C 3、设x、y、z、t 均为int 型变量,则执行以下语句后,t的值为()。xyz1;t+x|+y+z; 试题分析:语句序列“xyzl ;t +x|+y&+z;”使变量x的值为1,变量t 是赋一个逻辑表达式的值。在C语言中,由逻辑与和逻7辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量+x的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1.正确解答为C不定值 2 l 0 标准答案 :C 4、若有以下定义,则不能表示a数组元素的表达式是( )。int a101,2,3,4,5,6,7,8,9,10,*pa; 试题分析:上述代码定义了有10个元素的整型数组a,和定义指针变量p,并让p指向数组元素a0.所以代码*p是引用a0.由于数组a只有10个元素,最后一个元素是a9,表达式a10是错误的。数组名a可以作为a的首元素的指针,表达式*a就是a0 ,是对数组a的首元素a0的引用。指针p的值是a,表达式p-a的值是0,所以apa就是a0.所以解答是B*p a10 *a ap-a 标准答案 :B 5、以下叙述不正确的是( )。 一个C源程序可由一个或多个函数组成 一个C源程序必须包含一个main函数 C程序的基本组成单位是函数 在C程序中,注释说明只能位于一条语句的后面 标准答案 :D1、结构体变量在内存中所占的字节数是由其各个成员所占字节的总和( )。 正确 错误 标准答案 :A 2、C语言允许直接访问物理地址( )。 正确 错误 标准答案 :A 1、设有代码“int a3;”,则执行了语句“a+=a-= a*a;”后,变量a的值是( )。 试题分析:由于赋值运算符的结合性自右至左,语句“a+=a-=a*a;”的执行是先计算a*a,得到值9,再计算a-a*a,使a的值为-6,接着计算a+a,使a的值为-12.所以解答是D3 0 9 -12 标准答案 :D 2、一维数组元的定义方式为:类型说明符 数组名( )。 常量表达式 整型表达式 整型表达式或整型常量 整型常量 标准答案 :D 3、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C10个指向整型变量的指针 指向10个整型变量的函数指针 一个指向具有10个元素的一维数组的指针 具有10个指针元素的一维数组 标准答案 :C 4、若与文件型指针中相关联的文件的当前读位置已到了文件的末尾,则函数feof(fp)的返回值是( )。 试题分析:当调用fopen函数时,系统将为实参文件设定一个存放文件读写控制信息的控制块。该控制块记录有关文件持征、使用方式,当前读写位置等文件状态,并将该控制块的指针返回,作为文件指针变量的值。以后程序通过该指针调用函数时,系统能访问到这个控制块,利用该文件控制块中的控制信息,正确完成文件的读或写。所以文件指针并不真正指向文件当前读写位置,但通过文件指针,系统能在文件控制块中访问文件的当前读写位置。若某文件与文件指针中相关联着,该文件的当前读写位置在文件的末尾时,函数调用feof(fp)的返回值是一个非零值。所以正确解答是C0 -1 非零值 NULL 标准答案 :C 5、若a,b均为int型变量,x,y均为float型变量,正确的输入函数调用是()。 scanf(“%d%d”.&a,&b); scanf(“%d%f”,&a,&b); scanf(“%d%d”,a,b); scanf(“%f%f”,x,y); 标准答案 :B1、在标准C中,整型变量与字符变量是可以通用的( )。 正确 错误 标准答案 :A 2、在C语言中输入数据时可以指定数据的精度()。 正确 错误 标准答案 :B1、设有定义“char a10=”abcd“,*p=a;”,则*(p4)的值是( )。 试题分析:若有char a10“abcd”,*pa,则指针变量p 指向a0. 在表达式*(p4)中,p4指向a4,*(p4)就是a4.由于用字符串“abcd” 给字符数组a赋初值,a4的值是字符串结束标记符0。所以解答是C“abcd” d 0 不能确定 标准答案 :C 2、若执行fopen函数时发生错误,则函数的返回值是( )。 地址值 0 1 EOF 标准答案 :B 3、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C10个指向整型变量的指针 指向10个整型变量的函数指针 一个指向具有10个元素的一维数组的指针 具有10个指针元素的一维数组 标准答案 :C 4、C语言程序的基本单位是( )。 程序行 语句 函数 字符 标准答案 :C 5、设整型变量i 的值为3,则计算表达式i-i后表达式的值为( )。 试题分析:有些运算符只有一个字符,也有许多运算符由两个字符组成。特别是有些字符既可是单个字符的运算符,又能组成双字符的运算符。编译系统在识别源程序时,通常是尽量多地读八字符,能组成多字符单词的先尽量组成多字符单词。所以表达式i-i,被编译器理解为(i-)-i.另外,当表达式中某变量有后缀自增和自减运算时,先按变量的原值计算表达式,然后再对变量进行自增和自减运算。同样地,当表达式中某变量有前缀自增和自减运算时,先对变量进行自增和自减运算,然后再按变量的新值计算表达式。按这个约定,求表达式(i-)-i是计算i-i 的值为0,然后再对i 作自减运算。这样,表达式(i-)-i的值为0.所以解答是A0 l 2 表达式出错 标准答案 :A1、在标准C中,while和do while的功能完全相同( )。 正确 错误 标准答案 :B 2、C中函数调用时,函数参数求值顺序是从右到左的()。 正确 错误 标准答案 :B1、在C语言中,下列说法中错误的是( )。 试题分析:每个C函数的定义分两部分,函数说明部分和函数体,所以叙述 A是正确的叙述。C语言中,函数可以递归调用,主函数可以调用程序中的任何函数,当然可以调用任何非主教的其它函数,所以叙述B是一个正确的叙述。同样理由,叙述C也是正确的。C语言规,C程序只有一个主函数,并总是从主函数开始执行,不能从非主函数开始执行。所以,说程可以从任何函数开始执行是错误的。所以解答是D。函数定义可以分为两个部分:函数说明部分 主函数可以调用任何非主函数 任何非主函数可以调用其它任何非主函数 程序可以从任何函数开始执行 标准答案 :D 2、设x和y为int型变量,则执行下面的循环后,y的值为( )。 for(yl,xl;y50;y) if(x10)break; if(x2=1)x5;continue; x -3; 试题分析:for循环语句的初始化部分置变量x和y的初值为1,循环条件是(y50),每次循环后变量y的值增1,控制循环最多执行50次。循环体有三个语句:首先在发现变量x的值大于等于10时,结束循环;接着是当变量x除2的余数为1(即变量x是奇数)时,让变量X值增5,让x变成偶数,并直接进入下一轮循环;如变量x是偶数,则从变量x减去3,让变量x变成奇数。由上述分析知,每两次循环使变量x的值增加2.第一次循环后,变量x的值变成6.第二次循环后,变量x的值变成3. 第三次循环后,变量x的位变成8.第四次循环后,变量x的值变成5.第五次循环后,变量x的值变成10.第六次循环时,因变量x的位大于等于10,直接跳出循环,这次循环是非正常结束,对变量y的修正只执行了5次。所以循环结束后,变量y的值增至6.正确的解答是C2 4 6 8 标准答案 :C 3、若有说明:“ int i,j7,*p&i;”,则与“ ij;”等价的语句是( )。 试题分析:指针变量p指向变量i时,表达式i=*p等价于ii;表达式*p*&j等价于ij;而表达式i&j企图将整型变量的指针赋给整型变量,这是错误的;表达式i=* *p也是一种错误的表达式。p是指针,*p是p所指变量j,* *p是企图将整型变量j 当作指针,并想通过j 间接引用某个变量。所以解答是Bi*p; *p* &j; i=&j; i* *p; 标准答案 :B 4、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C10个指向整型变量的指针 指向10个整型变量的函数指针 一个指向具有10个元素的一维数组的指针 具有10个指针元素的一维数组 标准答案 :C 5、C语言中文件的存取方式是( )。 顺序存取 随机存取 顺序存取、随机存取均可 顺序存取、随机存取均不可 标准答案 :C1、在标准C语言中,函数的参数可任意类型的数据包括结构体和共用体( )。 正确 错误 标准答案 :B 2、在标准C中,变量可以先使用再定义( )。 正确 错误 标准答案 :B 1、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型元素的一维数组的指针。所以解答是C10个指向整型变量的指针 指向10个整型变量的函数指针 一个指向具有10个元素的一维数组的指针 具有10个指针元素的一维数组 标准答案 :C 2、在C语言中,下列说法中错误的是( )。 试题分析:每个C函数的定义分两部分,函数说明部分和函数体,所以叙述 A是正确的叙述。C语言中,函数可以递归调用,主函数可以调用程序中的任何函数,当然可以调用任何非主教的其它函数,所以叙述B是一个正确的叙述。同样理由,叙述C也是正确的。C语言规,C程序只有一个主函数,并总是从主函数开始执行,不能从非主函数开始执行。所以,说程可以从任何函数开始执行是错误的。所以解答是D。函数定义可以分为两个部分:函数说明部分 主函数可以调用任何非主函数 任何非主函数可以调用其它任何非主函数 程序可以从任何函数开始执行 标准答案 :D 3、fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )。 只写 追加 读或读写 B和C都正确 标准答案 :C 4、设有定义“char a10=”abcd“,*p=a;”,则*(p4)的值是( )。 试题分析:若有char a10“abcd”,*pa,则指针变量p 指向a0. 在表达式*(p4)中,p4指向a4,*(p4)就是a4.由于用字符串“abcd” 给字符数组a赋初值,a4的值是字符串结束标记符0。所以解答是C“abcd” d 0 不能确定 标准答案 :C 5、设x、y、z、t 均为int 型变量,则执行以下语句后,t的值为()。xyz1;t+x|+y+z; 试题分析:语句序列“xyzl ;t +x|+y&+z;”使变量x的值为1,变量t 是赋一个逻辑表达式的值。在C语言中,由逻辑与和逻7辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量+x的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1.正确解答为C不定值 2 l 0 标准答案 :C1、在C语言中,定义结构体变量时可以省略关健字struct( )。 正确 错误 标准答案 :B 2、C语言是一种结构化程序设计语言( )。 正确 错误 标准答案 :A1、若x,y均为double型变量,正确的输入函数调用是()。 scanf(“%f%f”,&x,&y); scanf(“%d%d”,&x,&y); scanf(“%lf%lf”,&x,&y); scanf(“%lf%lf”,x,y); 标准答案 :A 2、设x、y、z、t 均为int 型变量,则执行以下语句后,t的值为()。xyz1;t+x|+y+z; 试题分析:语句序列“xyzl ;t +x|+y&+z;”使变量x的值为1,变量t 是赋一个逻辑表达式的值。在C语言中,由逻辑与和逻7辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量+x的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1.正确解答为C不定值 2 l 0 标准答案 :C 3、C语言中文件的存取方式是( )。 顺序存取 随机存取 顺序存取、随机存取均可 顺序存取、随机存取均不可 标准答案 :C 4、设有代码“int(*ptr)10;”,其中的ptr是( )。 试题分析:代码“int(*ptr)10;”的分析过程是,因圆括号,括号内的ptr先与字符*结合,字符*修饰标识符ptr是一种指针;接着与后面的一对方括号结合,表示是这样的一种指针,是指向一维数组的;再有方括号中的10,说明这种数组有10个元素。至此,ptr是指向含10个元素的一维数组的指针。最后,是最前面的int,表示数组元素是int类型的。所以,ptr是一个指向具有10个int型
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!