C语言习题(4)

2019-03-27 23:41

B. int a[]=(0,1,2,3,4,5);

C. char a={'A','B','C'};

D. char a[5]=\

20,与定义char c[]={\不等价的是

A. char c[]=\

B. char c[]={'G','O','D','\\0'};

C. char c[5]={'G','O','D','\\0'};

D. char c[3]={\

21,对于下面程序段,执行的结果是 char c[5]={?a?,?b?,?\\0?,?c?,?\\0?}; printf(“%s”,c);

A. ?a??b?

B. ab

C. ab c

D. a,b

22,设char Q='a', *p=&Q;下面说法中错误的是

A. *p='a'

B. &*p=&Q

C. &p=&Q

D. *&Q='a' 23,有以下程序 main()

{int a[]={1,2,3,4,5,6,7,8,9,0},*p; for(p=a;p<=a+9;p++)printf(\)

程序运行后的输出结果是

A. 1,2,3,4,5,6,7,8,9,0,

B. 2,3,4,5,6,7,8,9,10,1,

C. 0,1,2,3,4,5,6,7,8,9,

D. 1,1,1,1,1,1,1,1,1,1,

24,若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是

A. a,p,&*a

B. *&a,&a,*p

C. &a,p,&*p

D. *&p,*p,&a

25,设有语句:int a[10],*p =a;,则下面的语句中,不正确的是

A. p=p+1;

B. *p=*p+1;

C. a[0]=a[0]+1;

D. a=a+1;

26,当int类型长度为2字节时,则类型unsigned int的值域范围为

A. 0至255

B. -256至255

C. -32768至32676

D. 0至65535 27,有如下程序: #include int b; void f()

{ int t2; t2=b*3; b=100; } void main() { int a=2; b=4; f1(); }

叙述正确的是:

A. a和b都是静态变量。

B. a是静态变量,b是动态变量。

C. a和b都是全局变量。

D. a是局部变量,b是全局变量。

28,下面的for循环最多可执行________次。 for(x=0,y=0;(y!=99)&&(x<4);x++);

A. 4次

B. 5次

C. 99次

D. 0次

29,下列判断char类型变量C1是否为数字的表达式中,哪个表达式最简单且正确。

A. '0'<=C1<='9'

B. (C1>='0')&&(C1<='9')

C. (C1>=0)&&(C1<=9)

D. ('0'<=C1)||('9'>=C1)

30,若有以下的说明,则对初值中字符'a'的引用方式为________。 static struct { char ch; double x; char t;

}c[2][2]={{{'a',35,'b'},{'c',45,'d'},{'a',86, 'm'}}};

A. c.ch

B. c[0][1].ch

C. c[1][1].ch

D. c[0][0].ch

二,改错。

1,在C程序中,注释部分从/*开始,到*/结束。

2,switch语句中,case后面既可以跟常量,也可以跟已赋值的变量。

3,一个C语言程序中包含有多个函数时,按书写顺序从上到下执行各函数。 4,若一个函数的返回类型为void,则表示其没有返回值

5,student_name、_name、name8和name_8都是合法标识符。

6,不对自动(auto)数组进行初始化,数值型数组隐含初值为0,字符数组隐含初值空字符'\\0'

7,假设int型数组a的起始地址为2000,则元素a[3]的地址为:2000+4×2=2008。 8,结构化程序设计认为一个\好\程序主要应该是:程序短而紧凑。

9,如果知道整型变量a的地址是2000,可以直接用 int *pa=2000; 给指针变量pa赋值,使其指向变量a。

10,在C语言的if语句中,用作判断的表达式只能为逻辑表达式和关系表达式。 三,综合。 1,注意: 注意:

1.该源程序放在: d:\\ExamProg\\002\\test1.c

2.编译该程序时,请首先将程序中开头的功能说明注释掉或删除! 3.程序功能说明及源程序如下:

/*下面程序的功能是:计算并输出500以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注:只有一处错误!)*/

#include void main() {

int total=0, mc=1, k=500; int pm[10],count=0;

while( (k>=2) && mc<=10 ) {

if ((k==0) || (k==0)) {

pm[mc] = k; mc++; } k--; }

for( k=1;k<=10;k++ ) total += pm[k-1]; printf(\ }

(如果文本被遮住,请移动右边的滚动条。) 2,注意:

1.该源程序放在: d:\\ExamProg\\002\\test2.c

2.编译该程序时,请首先将程序中开头的功能说明注释掉或删除! 3.程序功能说明及源程序如下:

/*求200到1000之间的双胞胎数的对数。双胞胎数:两素数差为2称为双胞胎数。例如227和229是一对双胞胎数,它们都是素数且差为2。*/ #include

int prime(int x) {

int k;

for(k=2;k

if(__________) break; if(k==x) return 1; else return 0; }

void main( ) { int a,b,n=0;

int prime(int x); for(a=200;a<=998;a++) {

if(prime(a)==1) { b=a+2;

if(__________) n++; } }

printf(\}

(如果文本被遮住,请移动右边的滚动条。)

3,计算下面公式的值。T=1/1!+1/2!+1/3!+??+1/m! 当m=10时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!)


C语言习题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数学与应用数学本科高等代数大纲

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: