吉大19年9月《C语言程序设计》作业考核试题1答案

以下不正确的定义语句是

A.double x[5]={2.0,4.0,6.0,8.0,10.0};

B.int y[5.3]={0,1,3,5,7,9};

C.char c1[]={′1′, ′2′, ′3′, ′4′, ′5′};

D.char c2[]={′\x10′, ′\xa′, ′\x8′};


正确答案:B


下列关于结构型、共用型、枚举型的定义语句中,正确的是( )。A.struct ss{int x}B.union uu{int x;}xx=5;C.enum ee{int x};D.struct{int x;};


正确答案:D
定义语句后必须要分号‘;’,所赋初值放在大括号里。枚举类型的基础类型定义在枚举名的后面,如果没有显式声明,则其类型为int型,无需再次声明:int x;


有如下程序

int a[10]={1,2,3,4,5,6,7,8,9,10};

int *p=&a[3],b;b=p[5];

则b的值是

A.5

B.6

C.9

D.8


正确答案:C
解析:p=&a[3]将指针指向数组a的第4个元素,p[5]指向数组a的第9个元素,而a[8]=9,所以b=9。


下述程序的输出结果是()。includevoid main(){int a[5]={1,2,3,4,5};int *p=a,**q=&p;p

下述程序的输出结果是( )。 #include<stdio.h> void main() {int a[5]={1,2,3,4,5}; int *p=a,**q=&p; printf("%d,",*(p++)); printf("%d",**q);}

A.2,2

B.1,1

C.3,4

D.1,2


正确答案:D
解析:题干中,*(p++)就是数组元素a[0],输出a[0],之后指针p的值加1,**q即是数组元素a[1]。


下面程序的文件名为t.exe,在DOS下输入的命令行参数如下:t to meet me<回车>

则程序输出的结果是

#include "stdio.h"

main(argc,argv)

int argc;char *argv[];

{int i;

printf("%d\n",argc);}

A.3

B.4

C.2

D.以上答案都不正确


正确答案:B


吉大19年9月C语言程序设计作业考核试题-0001试卷总分:100 得分:0一、 单选题 (共 10 道试题,共 40 分)1.下面程序的输出结果是 main() int a10=1,2,3,4,5,6,7,8,9,10,*p=a; printf(%dn,*(p+2);A.3B.4C.1D.2正确答案:A2.以下不正确的定义语句是A.double x5=2.0,4.0,6.0,8.0,10.0;B.int y5=0,1,3,5,7,9;C.char c1=1,2,3,4,5;D.char c2=x10,xa,x8;正确答案:B3.有如下程序 int a10=1,2,3,4,5,6,7,8,9,10; int *p=&a3,b;b=p5; 则b的值是A.5B.6C.9D.8正确答案:C4.下列各数据类型不属于构造类型的是A.枚举型B.共用型C.结构型D.数组型正确答案:A5.以下程序的输出结果是 #include stdio.hvoid reverse(int a,int n) int i,t; for(i=0;in/2;i+) t=ai; ai=an-1-i; an-1-i=t; main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0; reverse(b,8); for(i=6;i10;i+) s+=bi; printf(%dn,s);A.22B.10C.34D.30正确答案:A6.函数 rewind 的作用是A.使文件位置指针重新返回文件的开始位置B.将文件位置指针指向文件中所要求的特定位置C.使文件位置指针指向文件的末尾D.使文件位置指针自动移至下一个字符位置正确答案:A7.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A.4B.16C.32D.52正确答案:C8.设有int x=11;则表达式(x+*1/3)的值是A.3B.4C.11D.12正确答案:A9.以下程序有错,错误原因是 main() int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; . A.p和q的类型不一致,不能执行*p=*q;语句B.*p中存放的是地址值,因此不能执行*p=40;语句C.q没有指向具体的存储单元,所以*q没有实际意义D.q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果正确答案:D10.下面程序段的运行结果是 char *format=%s,a=%d,b=%dn; int a=11,b=10; a+=b; printf(format,a+=b,a,b);A.for,a+=b,abB.format,a+=bC.a+=b,a=21,b=10D.以上结果都不对正确答案:C二、 多选题 (共 5 道试题,共 20 分)1.若定义:int a230,2,4,6,8,10;以下描述正确的有A.A、*(a+1)为元素6的地址B.B、*(a1+1)的值为2C.C、*(a+1)+2的值为8D.D、a0与a相同正确答案:ACD2.设有如下定义:int (*ptr)();则以下叙述中不正确的是_。A.ptr是指向一维数组的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指向int型数据的指针正确答案:ABD3.下列描述正确的是A.由main 函数及其参数argc和* argv可以实现命令行方式B.使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中C.字符数组并不要求它的最后一个字符是‘0’D.‘A’和“A”都是字符串常量正确答案:AC4.已知:int x;,则下面的说明指针变量pb的语句_不是正确的。A.int pb=&x;B.int *pb=x;C.int *pb=&x;D.*pb=*x正确答案:ABD5.以下对C语言函数的有关描述中,错误的是:_。A.调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.程序中有调用关系的所有函数必须放在同一个源程序文件中正确答案:BCD三、 判断题 (共 10 道试题,共 40 分)1.使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”( )A.错误B.正确正确答案:B2.函数必须有返回值,否则不能使用函数A.错误B.正确正确答案:A3.使用printf和scanf函数时,必须添加#include 命令。( )A.错误B.正确正确答案:A4.宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。A.错误B.正确正确答案:B5.switch语句中,各个case和default的出现次序不影响执行结果。( )A.错误B.正确正确答案:B6.使用getchar函数可以不添加#include 命令。( )A.错误B.正确正确答案:A7.数据结构指的是数据的组织形式,数组就是一种数据结构( )A.错误B.正确正确答案:B8.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。A.错误B.正确正确答案:B9.宏名必须用大写字母表示。A.错误B.正确正确答案:A10.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。A.错误B.正确正确答案:B

以下程序的输出结果是【】。includevoid main() {int *p;p=new int;*p=200;cout<<*p;d

以下程序的输出结果是【 】。

include<iostream. h>

void main() {

int *p;

p=new int;

*p=200;

cout<<*p;

delete p;

}


正确答案:200
200


以下程序段给数组所有的元素输入数据,请选择正确答案填入。()ineludemain(){int a[10],

以下程序段给数组所有的元素输入数据,请选择正确答案填入。( ) #inelude<stdio.h> main() {int a[10],i=0; while(i<10)scanf("%d",______); ┇ }

A.a+(i++)

B.&a[i+1]

C.a+i

D.&a[i++]


正确答案:D


以下程序的输出结果是______。include void swap(int *a, int *b){ int *t;}{ int i=3,j

以下程序的输出结果是______。

include <stdio.h>

void swap(int *a, int *b)

{ int *t;

}

{ int i=3,j=5,*p=&i,*q=&j;

swap(p,q); printf("%d %d\n",*p,*q);


正确答案:


以下不正确的定义语句是

A.double x[5] ={2.0,4.0,6.0,8.0,10.0};

B.int y[5] ={0,1,3,5,7,9};

C.char c 1[ ] ={'1','2','3','4','5'};

D.char c 2 [C] ={,'\x10','\xa','\x8'};


正确答案:B
解析:在一维数组中要注意的是作为下标表达式的常量表达式的值必须是大于等于0,并且小于自身,本题中选项B) 的下标表达式的值超过了自身。


程序中有如下语句for(int i=0;i<5;i++)cout<<*(p+i<<“,”;能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。

A.int*p=a;

B.int p=a;

C.*p=a;

D.p=a;


正确答案:A
解析: 从循环语句中可以看出,是在0到4的循环中输出数组a中的前5个元素,输出的值为*(p+i),即为指针p向后移动指向的元素。所以初始化要将指针p指向数组a,即int*p=a;。

更多 “吉大19年9月《C语言程序设计》作业考核试题1答案” 相关考题
考题 设有如下定义:typedefint*INTEGER;INTEGERp,*q;则()是正确的叙述。A.p是int型变量B.q是基类型为int的指针变量C.p是基类型为int的指针变量D.程序中可用INTEGER代替int类型名参考答案:C

考题 有如下定义语句:int a[]={1,2,3,4,5};,则对语句int*p=a;正确的描述是( )。A.语句int*p=a;定义不正确B.语句int*p=a;初始化变量p,使其指向数组对象a的第一个元素C.语句int*p=a;是把a[0]的值赋给变量pD.语句iht*p=a;是把a[l]的值赋给变量p正确答案:B

考题 若有以下说明和定义 typedefint * INTEGER; INTEGER p,* q; 以下叙述正确的是A.p是int型变量B.p是基类型为int的指针变量C.q是基类型为int的指针变量D.程序中可用INTEGER代替int类型名正确答案:B解析:语句typedef int * INTEGER;定义了一个新类型名INTEGER,因此语句INTEGERp,* q;就相当于int * p,* * q;。

考题 以下不正确的定义语句是A.double x[5]={2.0,4.0,6.0,8.0,10.0};B.int y[5]={0,1,3,5,7,9};C.char cl[]={'1','2','3','4','5'};D.char c2[]={'\x10','\xa','\x8'};正确答案:B解析:在一维数组中要注意的是作为下标表达式的常量表达式的值必须是大于等于0,选项B)中定义有5个元素,但赋初值时有6个元素,所以是错误的。

考题 若有int(*p)[3]:则以下表述中正确的是 ______。A.p是一个指向具有3个元素的整型数组的指针B.p是一个指向int型变量的指针C.p是一个有3个元素的指针数组,每个元素是一个int型指针D.p是一个具有3个int型元素的一维数组正确答案:A

考题 以下不正确的定义浯句是A.double x[5]={2.0,4.0,6.0,8.0,10.0};B.int y[5]={0,1,3,5,7,9};C.char c1[]={‘1’,’2’,’3’,’4’,’5’};D.char c2[]={‘\x10’,’\xa’,’\x8’};正确答案:B解析:在一维数组中要注意的是作为下标表达式的常量表达式的值必须是大于等于0,并且小于自身,本题中选项B)的下标表达式的值超过了自身。

考题 以下不正确的定义语句是( )。A.double x[5]={2.0,4.0,6.0,8.0,10.0};B.int y[5]={O,1,3,5,7,9};C.char c1[]={'1','2','3','4','5'};D.char c2[]={'\x10','\xa','\x8'};正确答案:B解析:选项B中初值列表中的初值个数超过了数组包含的元素的个数。

考题 以下不正确的定义语句是()。A、double x[5]={2.0,4.0,6.0,8.0,10.0};B、int y[5]={0,1,3,5,7,9};C、char c1[]={‘1’,’2’,’3’,’4’,’5’};D、char c2[]={‘x10’,’xa’,’x8’};正确答案:B

考题 以下程序段给数组所有的元素输入数据,请选择正确答案填入。 include main() { int a[10以下程序段给数组所有的元素输入数据,请选择正确答案填入。 #include<stdio.h> main() { int a[10]=0; while(i<10)scan("%d"______); : : }A.a+(i++)B.&a[i+1]C.a+iD.&a[++i]正确答案:A解析: a就是数组a的首地址,而a+x是数组中第x个元素的地址,所以在四个选项中,选项B和C只能输入—个数据,选项D不能给a[0]输入数据,只有A可以完成给数组所有的元素输入数据的任务。

考题 下列各数据类型不属于构造类型的是( )。A.枚举型B.共用型C.结构型D.数组型正确答案:A解析:本题考查高级语言的数据类型。