您的当前位置:首页正文

C语言综合题dy

来源:意榕旅游网
auto break case do float long char double for const else goto continue default enum if short extern int register return static unsigned struct void signed sizeof switch typedef union volatile while 一、以下是第一、二章内容(1——22题) 1、下列选项中全可用作变量名的标识符是 (A)Int _do to (B)else _123 at (C)has.2 has_2 has2 (D)2has has_ hasAt

2、下列选项中全可用作变量名的标识符是

(A)if abc_ you (B)Do _123 main

(C)a.1 a_1 get (D)Int 123 a123

3、下列不是整型(int)常量的是

(A)32768 (B)0 (C)037 (D)0xAF

4、下列正确的赋值语句是(test为字符变量): (A)'1'=test;

(B)test+'1'=test; (C)test=test+1; (D)test=\"1\";

5、i=3;

print(\"%d,-i++\") /* printf(\"%d\请问输出结果是多少,执行语句后i值是多少?

i+++j将如何运算?/*main(){int i=3,j=8;j=i+++j;printf(\"%d\\n\}*/

6、求下面输出结果: main()

{ int i=0,j=0; while(i<10)i++; while(j++<10);

printf(“i=%d,j=%d\\n”,i,j); }

7、设int a=1,b=1;则表达式b+=a++的值为

(A) 1 (B) 2 (C) 3 (D) 4

8、执行语句int a=3;后,下列表达式不为0的是: (A) 9%a (B)a>4 (C)2/a (D)2.0/a

9、在scanf函数和printf函数中用于输入输出实数的格式符是 (A)%d (B)%f (C)%ld (D)%s

10、写出输出和输出格式,空格符用“□”表示 main() {

float f=1234.567;

printf(\"%10.2f\\n%-10.2f\\n%.2f\\n\

11、下列数据类型中,全是基本数据类型是:

(A)float short unsigned (B)int void long (C)char double 数组 (D)char int 指针

12、写出输出和输出格式,空格符用“□”表示 main() {

long a=123456;

printf(\"%ld\\n%8ld\\n%-8ld\}

13、求下列输出结果: main() {

float a=9.5,b=2.1,t; if(a>b){t=a;a=b;b=t;}

printf(\"a=%3.1f,b=%3.1f\}

14、写出输出和输出格式,空格符用“□”表示 main() {

char a[]=\"CHINA\";

printf(\"%s\\n%-5.3s\\n\}

15、在scanf函数和printf函数中用于输入输出字符串的格式符是: (A)%d (B)%ld (C)%f (D)%s

16、设a为long类型变量,下列正确的语句是 (A)scanf(\"%5d \ (B)scanf(\"%-5ld\

(C)scanf(\"%ld \/*%ld中是L不是1*/ (D)scanf(\"%ld \

17、下列说法不正确的是:

(A)每个C程序必须有一个main函数 (B)C语言对大小写字母敏感 (C)C语句是以“}”为结束符

(D)以*.h为扩展名的文件称为“头文件”

18、下列说法不正确的是:

(A)每个C程序必须有一个主函数 (B)C程序总是从主函数开始执行 (C)C程序由函数构成

(D)主函数必须写在其它函数前面

19、C程序的语句是以下列符号为语句结束标志: (A)} (B); (C). (D),

20、C程序中,正确表达00&&a<100

(C)a>0||a<100 (D)a>0,a<100

21、C程序中,正确表达-1-1&&a<1 (C)a>-1||a<1 (D)a>-1,a<1

22、求下面输出结果: main()

{ int i=0,j=0; while(i<10)i++; while(j++<10); printf(“i=%d,j=%d\\n”,i,j); }

二、以下是第三、四、五章内容(1——15题)

1、C语言是一种结构化程序设计语言,由三类基本结构构成,下列不属于基本结构的是:

(A)循环结构 (B)选择结构 (C)复合结构 (D)顺序结构

2、求下类输出结果: main() {

int x,y; x=0; if(x<0) y=-x;

else if(x>=0 && x<=10) y=x--; else y=--x;

printf(\"y=%d\}

3、switch(score)

{ case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”);

default : printf(“data error!”);

}

当score为4时,输出: 。

4、下列程序输出:11?? main()

{ int i=10;

switch i /* (i)应括起来 */ { case 1: i++;

case 10: i++; /* 加break; */ default:i++; }

printf(\"%d\\n\}

5、下列哪个关键字对应的语句不能跳出循环体 (A)continue /* */ (B)break (C)goto (D)return 6、

(x1)main() x{ y2x1(1x10)float x,y;

scanf(\"%f\3x11(x10)if(x<1)

y=x;

else if(x>=10) y=3*x-11; else

y=2*x-1;

printf(\"y=%f\}

7、下面程序输出为 。 main() {

int a=100,*ip;

ip=&a; /* ip=a错 */ (*ip)=(*ip)+50;

printf(\"\\n%d\*ip); /* printf(\"\\n%d\错 */ }

8、例 int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,i; 数组元素地址的正确表示:

(A)&(a+i) (B)a++ (C)&p (D)&p[i]

9、void main()

{ int a []={5,8,7,6,2,7,3}; int y,*p=&a[1]; y=(*--p)++;

printf(“%d ”,y); printf(“%d”,a[0]);

}

10、在执行(A) 1 int a[]={1,2,3,4}; (B) 2 之后,a[3]的值是 (C)3 (D)4

11、下列说法正确的是:

(A) 函数可以嵌套定义 (B) 函数可以嵌套调用 (C) 12、函数必须有返回值下列程序求n! (D) 函数必须有参数 float fac(int n) { float f;

if(n<0)printf(\"n<0,dataerror!\\n\"); else if(n==0||n==1)f=1; else f= n*fac(n-1) ; return f; }

main( ) { int n; float y;

printf(\"input a integer number:\"); scanf(\"%d\ y=fac(n) ;

printf(\"%d!=%15.0f\}

13、求下列输出结果:

#define S(a,b) a/b main()

/*(a)/(b) */ { printf(\"%d\/*(2+4),(2+1) */输出:

14、#define wd1 40

#define nd1 wd1+10 main() {

printf(\"%d\int tab=nd1*3;

}

输出是

。 15、main()

int b=1,c=2,d=3,x,y; {

x=(b=5+b,-(--d),6-4-c);

printf(\"%d.%d.%d.%d\\n\

y=(x=0)?11:22; /* x==0 y=x=0?11:22;*/ }

输出是 。

1.

6题共24分

三、第三大部分main() {int i=11;

switch (i) /* int i=1 或 int i=2 */ { case 1:i++;break; case 11:i++; default:i++; }

printf(\"%d\\n\ printf(\"%d\\n\*/ } 结果: 。 2. main( )

{ int i=1,sum=0;

while(i<=5) /* while(i<=5); */ { sum=sum+i;

i++; /* ++i; */ }

printf(\"%d\

} 结果: 。 3. main() { int n;

for(n=1;n<120;n++) { if(n%10==0) break; printf(\"%d \ }

} 结果: 。 4.#define S(a,b) a/b main()

{ printf(\"%d\\n\

printf(\"%d\结果: 。 5. main( ) { int i ;

int f[10]={1,2};

for(i=2;i<10;i++)f[i]=f[i-2]+f[i-1];

for(i=0;i<10;i++) /* (i=4;i<7;i++) */ { if(i%5==0)printf(\"\\n\");

printf(\"%12ld\ /* \"%2d\" */ }

} 结果: 。 6. main()

{ char *p,s[]=\"This is an string.\"; p=s;

while(*p++!='\\0');

printf(\"%d\\n\printf(\"%d\\n\ */ } 结果: 。

因篇幅问题不能全部显示,请点此查看更多更全内容