当前位置:文档之家› C考试系统题库1

C考试系统题库1

目录

目录 (1)

单元练习题一C语言基础知识 (3)

一、判断题 (3)

二、单项选择题 (4)

三、读程序选择题 (7)

四、程序填空题 (8)

五、编程题............................................................................................. 错误!未定义书签。单元练习题二C语言程序结构 .. (9)

一、判断题 (9)

二、单项选择题 (9)

三、读程序选择题......................................................................... 错误!未定义书签。

四、程序填空题 (17)

五、编程题..................................................................................... 错误!未定义书签。单元练习题三数组.. (21)

一、判断题 (21)

二、单项选择题 (22)

三、读程序选择题................................................................................. 错误!未定义书签。

四、程序填空题 (28)

五、编程题............................................................................................. 错误!未定义书签。单元练习题四函数.. (33)

一、判断题 (33)

二、单项选择题 (34)

三、读程序选择题 (40)

四、程序填空题..................................................................................... 错误!未定义书签。

五、编程题............................................................................................. 错误!未定义书签。单元练习题五预处理................................................................................... 错误!未定义书签。

一、判断题..................................................................................... 错误!未定义书签。

二、单项选择题............................................................................. 错误!未定义书签。

三、读程序选择题................................................................................. 错误!未定义书签。

四、程序填空题..................................................................................... 错误!未定义书签。

五、编程题............................................................................................. 错误!未定义书签。单元练习题六指针.. (45)

一、判断题 (45)

二、单项选择题 (46)

三、读程序选择题................................................................................. 错误!未定义书签。

四、程序填空题 (54)

五、编程题............................................................................................. 错误!未定义书签。单元练习题七结构体与共用体 (58)

一、判断题 (58)

二、单项选择题 (60)

三、读程序选择题................................................................................. 错误!未定义书签。

四、程序填空题 (68)

五、编程题............................................................................................. 错误!未定义书签。单元练习题八文件.. (72)

一、判断题 (72)

二、单项选择题 (73)

三、读程序选择题 (77)

四、程序填空题 (77)

五、编程题............................................................................................. 错误!未定义书签。

第一章C语言基础知识

(C语言概述、算法、数据类型运算符表达式、位运算)一、判断题

R1.在C语言中,逗号运算符的优先级最低。

2.在C语言可执行程序的开始执行点是程序中第一个函数。

3.“5ch”是合法的变量名。

R4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。

5.当输入数据时,必须指明变量的地址,如scanf("%f",&f)

N6.表达式i++与++i在任何场合功能完全相同。

7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。Float a; int b=1;a=b;

R8.C语言程序中,语句以逗号结尾。()

9.在C 程序中,APH 和aph 代表不同的变量。( )

10. a-=7等价于a=a-7。( )

N11. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按原字符长从左向右全部输出。( )

12.如果x>y为真或ay)&&(a

13.C语言程序的变量必须先定义再使用。( )

14.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b 中的值将丢失。( )

15.程序的执行总是从main函数开始,在程序的最后一个函数中结束。( )

N16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。()

17.运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符()

18.对应float类型的变量,也可以用等号“==”进行数值的判断。()

19.表达式:1 && 3.14 和 1 & 3 的值一样大。()01&11=1

20. 为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。()

21、任何C程序都是从main函数开始和结束;

22. 在C程序中,使用分号“;”表示语句的结束。()

23. C程序中的必须要有至少一个main的函数,可以有多个。()

24. 在C程序中,无论是整数还是实数,都能准确无误的表示。()

25. 在C程序中,赋值运算符的优先级最低。()

26. 当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。()

27. 在C程序中,变量可以一边定义一边使用。()

28. C程序中的注释部分可有可无,可以省略。()

29.字符型变量可以存放多个字符。( )

30.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。( )

5.在C程序中,无论是整数还是实数,都能被准确无误地表示。( )

1.一个C程序的执行是从本程序的main函数开始,到main函数结束。()

3.()

4.运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符()

二、单项选择题

R1、以下标识符中,不能作为合法的C用户定义标识符的是:( )

A .a3_b3 B.void C._123 D.abc

R2、C语言规定:在一个源程序中,main函数的位置()。

A.必须在最后

B.必须在系统调用的库函数的后面。

C.必须在最开始。

D.可以任意

R3、下列说法中正确的是()。

A. C程序书写时,不区分大小写字母

B. C程序书写时,一行只能写一个语句

C. C程序书写时,一个语句可分成几行书写

D. C程序书写时每行必须有行号

4、已知ch是字符型变量,下面不正确的赋值语句是()。

A.ch = 5 + 9 ;

B.ch= ' a' + b ';

C. ch = ' \ 0 ';

D. ch= '7' + '6' ;

5、若有定义:int a = 7; float x = 2.5 , y = 4.7 ; 则表达式

x + a % 3 * (int) (x + y) % 2/4 的值是()。

A. 2.750000

B. 0.00000

C. 3.500000

D. 2.500000

6.已知ch是字符型变量,下面正确的赋值语句是()。

A.ch = '123' ;

B. ch=' \08 ';

C. ch =' \xff ';

D.ch =" \ ";

1. 以下标识符中,不能作为合法的C用户定义标识符的是:____________。

A)a3_b3 B)void C)_123 D)abc

2.C语言中,运算对象必须是整型的运算符是__________。

A) % B) / C) %和/ D) *

7. 在C 程序中,用___________表示逻辑值“真”。

A)1 B)非0 的数C)非1 的数D) 大于0 的数

N8.设int c=5和int a; a=2+(c+=c,c+8,++c), 则a=__________

A) 15 B) 14 C) 13 D) 16

9.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符________。

A)必须为字母或下划线。B)必须为下划线。

C)必须为字母D)可以是字母、数字和下划线中的任一种字符。

10. 若变量已正确定义并赋值,表达式____________不符合C语言语法。

A)a*b/c; B)3.14%2 C)2, b D)a/b/c

11. 下列说法中正确的是___________。

A) C程序书写时,不区分大表达式小写字母

B) C程序书写时,一行只能写一个语句

C) C程序书写时,一个语句可分成几行书写

D) C程序书写时每行必须有行号

12.为表示数学关系x≥y≥z,正确的C语言表达式是__________。

A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)

C) (x>=y>=z) D) (x>=y)&(y>=z)

13.不合法的八进制数是________

A) 0 B) 028 C) 077 D)01

14、以下不能定义为用户标识符是

A Main

B _0

C _int

D sizeof

15.若x=5,y=4 则y*=x+5;等价于y=y*(x+5) y的值为()。

A. 40

B. 20 C B. 15 D. 30

16、组成C语言程序的基本单位是()。

A) 过程 B) 子程序

C) 函数 D) 主程序和子程序

17.下列哪个标识符是C语言合法的标识符()。

A) a*b B) -xyz

C) ba2 D) 5i

N18.若有定义:int a=7; float x=2.5, y=4.7; 则表达式x+a%3*(int)(x+y)/4的值是()。

A) 2.75 B) 3.5

C) 2.5 D) 0

19.设int m=1,n=2;则++m= =n的结果是()

A、0

B、1

C、2

D、3

N20. 若变量已定义并赋值,下列符合C语法的表达式是:()

A、a:=b+1

B、a=b=c+2

C、int 18.5%3

D、a=a+7=c+b

R(3)在C程序中,设一表达式中包含有int,long, unsigned和char类型的变量和数据,则表达式最后的运算结果类型是( )

A.int

B.char

C.unsigned

D.long

R21.C语言中基本的数据类型包括__________。

A) 整型、实型、逻辑型B) 整型、实型、字符型

C) 整型、字符型、逻辑型D) 整型、实型、逻辑型、字符型

N22. 若定义x和y为double类型,则表达式:x=2,y=x+5/2的值是__________

A) 4 B) 4.5 C) 4.0 D) 3.0

23. 在以下运算符中,优先级最高的运算符是__________

A) ? : B) ++ C) && D) +=

24.C语言中基本的数据类型不包括__________。

A) 整型B)字符串型

C)字符型D)实型

25. 若定义int x=7,y=5,z;则表达式:z=x+5/2*y的值是__________

A) 7 B) 7.5 C) 17 D) 19.5

6.以下说法中正确的是()

A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main()函数中定义

C、C语言程序总是从main()函数开始执行

D、C语言程序中的main()函数必须放在程序的开始部分

(1)设int a=2,b;则执行b=a&&1;语句后,b的结果是( )

A.0

B.1

C.2

D.3

N(2)逗号表达式(a=3*5,a*4),a+15的值是( )

A.15

B.60

C.30

D.75

7. 若已经定义了一个字符型变量为a,下面哪个表达式的含义跟其余表达式不同:

A) a!=0 B) a!=’\0’C) a D) !a

8. 在以下运算符中,优先级最高的运算符是__________

A) , B) [] C) && D) +=

9. 在C语言中,逻辑值“真”用__________表示。

A) true B) 大于0的数C) 非0的整数D) 非0的数

10. 表达式__________是满足:当c的值为1、3、5三个数中任意一个时值为“真”,否则值为“假”的表达式

A) (c=1)||(c=3)||(c=5) B) (c!=1)&&(c!=3)&&(c!=5)

C) (c==1)&&(c==3)&&(c=5) D) (c==1)||(c==3)||(c==5)

1.C语言中,int类型数据占2个字节,则long类型数据占()

A、1个字节

B、2 个字节

C、3个字节

D、4个字节

1.下列字符串是合法的标识符的是( )。

A、_HJ

B、9_student

C、long

D、LINE 1

2.下列说法中正确的是( )。

A、 C程序书写时,不区分大小写字母

B、 C程序书写时,一行只能写一个语句

C、 C 程序书写时,一个语句可分成几行书写

D、 C程序书写时每行必须有行号

3.在C语言中,要求参加运算的数必须是整数的运算符是( )。

A、/

B、!

C、%

D、= =

4.C语言中,逻辑“真“等价于( )。

A、大于零的数

B、大于零的整数

C、非零的数

D、非零的整数

6.假设在程序中a,b,c均被定义为整型,并且已赋大于1的值,则下列能正确表示

代数式1/abc的表达式是( )。

A、1/a*b*c

B、1/(a*b*c)

C、1/a/b/(float) c

D、1.0/a/b/c

1.下列合法的字符常量是()。

A、'\084'

B、'\x43'

C、'ab'

D、"\0"

2.在C语言提供的合法的关键字是()

A、switch

B、cher

C、Case

D、sturct

3.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是

A、2

B、1

C、2.0

D、2.5

三、程序填空题

1以下程序不用第三个变量实现两个数对调的操作。

#includ “stdio.h”

main()

{

int a,b;

scanf("%d,%d",&a,&b);//5,10

a=;(三个字符)

b=;(三个字符)

a= a-b;

printf("%d,%d",a,b);

}

2、选择程序的运行结果。

main ( )

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

z = ++x||++y;

printf("x=%d\n", x);

printf("y=%d\n", y); /*输出结果(三个字符) */

a=-1; b=-2; c=++a&&b++;

printf("b=%d\n", b); /*输出结果 (三个字符)*/ }

3以下程序的结果为_______

main()

{

unsigned int a=3, b=10;

printf("%d\n",a<<2|b>>1); /*输出结果<14> */

printf("%d\n",a<<2&b>>1); /*输出结果<0> */

}

4 若x=3,y=z=4,则下列表达式的值是。

(1) (z>=y>=x)? 1:0

/*值为<0> */

(2) z>=y&&y>=x

/*值为<1> */

5已知float x=4.3,int y;执行语句y=(int)x后,x为型(填写小写英文字母),且y=<4>(填写阿拉伯数字);

6表达式’c’&&’d’的值为<1>(填写阿拉伯数字),’c’&&’d’||!(3+4)的值为<1>(填写阿拉伯数字)。

7若x为int类型,则与逻辑表达式“x”等价的表达式是, 与逻辑表达式“!x”等价的表达式是

8 表示“整数x的值大于5”时逻辑值为“真”的表达式是5>,逻辑值为“假”的表达式是

9已知字母A的ASCII码为十进制数65,且设ch为字符型变量,则表达式ch=‘A’-‘4’+‘9’的值为(一个字符常量);若定义:char c=‘\72’;则变量c中包含的字符个数为<1>(数字)。

10、C语言所提供的基本数据类型的整型类型包括:<短整型>、整型、<长整型>。(按每种类型所占字节数,从小到大排列)

第二章C语言程序结构

(顺序程序设计、选择结构程序设计、循环控制)一、判断题

1.do-while语句中的条件为非0时,就结束该循环。

2.在switch-case语句中,不是每个case后都要使用break语句。()

3.Break语句只能用于循环结构中。()

48. 未给变量赋初值,只是运行结果不正确,不会有其他不良影响。()

5、switch语句中,可以不使用break语句;

6、for语句中,三个表达式都可以省略;

7(7)在for循环中使用break语句的目的是使流程跳出循环体,终止当前循环8. continue语句只能用于循环语句中。()

9.while语句中的条件为0时,就结束该循环。

10.在循环体内使用break语句或continue语句的作用相同。()

在C语言中,逻辑值“真”用表示。

11) 1 12) 大于0的数13) 非0的整数14) 非0的数

在循环语句的循环体中,continue语句的作用是()。

15) 立即终止整个循环 16) 继续执行continue语句之后的循环体

17) 结束本次循环 18) 结束本次循环并跳出循环

语句while(!e);中,条件!e等价于( )

19.e==0 20 .e!=0 21.e!=1 22.e==1

设int c=5和int a; a=2+(c+=c++,c+8,++c), 则a=__________

23) 15 24) 14 25) 13 26) 16

c=c+c++

若要表示if( a不等于0 )这一关系式,则能正确表示这一关系的表达式为if ( )

27) a<>0 28) !a 29) a=0 30) a

二、单项选择题

N1、以下不是死循环的语句是_______。

for( ; ; x+i );

while (1) {x++;}

for( i=10; ; i- -) sum+= i ;

for( ; (c=getchar()) != …\n? ; ) printf(“%c” , c) ;

2.设有程序段

int k = 10 ;

while ( k = 0 ) k = k - 1 ;

以下描述正确的是()。

A. 循环体语句一次也不执行。

B. 循环是无限循环。

C. while 循环语句执行十次。

D. 循环体语句执行一次。

N3.对下述程序,正确的判断是()。

main( )

{ int a,b;

scanf ("%d,%d",&a,&b);

if(a>b)a=b; b=a;

else a++; b++;

printf("%d,%d",a,b);

}

A. 有语法错误不能通过编译

B. 若输入4,5则输出5,6

C. 若输入5,4则输出4,5

D. 若输入5,4则输出5,5

R4.以下程序

main()

{

int i=010,j=10,k=0x10;

printf("%d,%d,%d\n",i,j,k);

}有语法错误不能通过编译

输出结果是( )

A.8,10,16

B.8,10,10

C.10,10,10

D.10,10,16

R5. 若变量已正确说明为int类型,要给a,b,c输入数据,以下语句正确的是__________

A) read(a,b,c); B) scanf(“%d%d%d”,a,b,c);

C) scanf(“%D%D%D”,&a,%b,%c); D) scanf(“%d%d%d”,&a,&b,&c);

R6.已知在ASCII字符集中,字符0的ASCII值为48,下面程序的输出结果为__________。

main()

{

char x,y;

x=’0’;y=’9’;

pirntf(“%d,%d\n”,x,y);

}

A)因输出格式不合法,输出错误信息B)48,57

C)0,9 D)48,58

7. 语句for(k=0;k<5;++k)

{

if(k= = 3)continue;

printf(“%d”,k);

}的输出结果为_________。

A)012 B) 0124 C) 01234 D) 没有输出结果

8.为表示关系x>=y>=z,应使用C语言表达式___________。

A)(y<=x)&&(y>=z) B)(x>=y)AND(y>=z)

C)(x>=y>=z) D)(x>=y)&(y>=z)

6. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和___________等价。

A、k=(a>b)?1:0;

B、k=a>b;

C、k=a<=b;

D、a<=b ? 0 : 1;

9.以下程序的输出结果是__________

void main()

{

int a = 2,b = 5;

printf(“a=%%%d,b=%%%d”,a,b);

}

A) a=%2,b=%5 B) a=2,b=5

C) a=%%d,b=%%d D) a=%d,b=%d

N10.以下程序的输出结果是__________

void main()

{ int x=10,y=10;

printf(“%d %d\n”,x--,--y);

}

A) 10 10 B) 9 9 C) 9 10 D) 10 9

11.若要表示if( a不等于0 )这一关系式,则能正确表示这一关系的表达式为 if (__________)

A) a<>0 B) !a C) a=0 D) a

R12对于循环语句while(1);下面()是正确的

A、死循环

B、循环一次

C、不进入循环体

D、编译有错

13.下面程序的输出是(假设 int 数据是 2 个字节)

void main()

{ int a = 32768;

printf(“a=%d\n”,a);

}

A) a=32768 B) a=32767 C) a=-32768 D) a=-1

14.表达式__________是满足:当c的值为1、3、5三个数中任意一个时值为“真”,否则值为“假”的表达式

A) (c=1)||(c=3)||(c=5) B) (c!=1)&&(c!=3)&&(c!=5)

C) (c==1)&&(c==3)&&(c=5) D) (c==1)||(c==3)||(c==5)

N15.以下程序段的输出结果是_____

int x=3;

do

{ printf("%3d",x-=2;}

while (!(--x));

A) 1 B) 3 0

C) 1 -2 D) 死循环

16、数字字符0的ASCII值为48,若有以下程序

main()

{

char a='1',b='2';

printf("%c,",b++);

printf("%d\n",b-a);

}

程序运行后的输出结果是

A 3,2

B 50,2

C 2,2

D 2,50

17、有以下程序

main()

{

int a,b,d=25;

a = d/10 & (-1);

b = a && (-1);

printf("%d,%d\n",a,b);

}

程序运行后的输出结果是

A 6,1

B 2,1

C 6,0

D 2,0

18.若定义float a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用()。

A)scanf("%f",&a); B) scanf("%5.2f",a);

C) scanf("%6.2f",&a); D) scanf("%f",a);

19.若定义int i; 则以下循环语句的循环执行次数是()。

for(i=2; i==0;)

printf("%d", i--);

A) 无限次 B) 0次

C) 1次D) 2次

20.下面程序段___

x=3;

do

{

y=x--;

if(!y){printf("x");continue;}

printf("#");

}

while(1<=x<=2);

A) 将输出## B) 将输出##*

C) 是死循环D) 含有不合法的控制表达式

21.以下程序中,while循环的循环次数是( )。

#include “stdio.h”

main( )

{int i=0;

while(i<10)

{if(i<1)continue;

if(i= =5)break;

i++;

}

}

A、1

B、10

C、6

D、死循环,不能确定次数

N 22.有以下程序:

#include “stdio.h”

int a=3;

main( )

{

int s=0;

{

int a=5;

s+=a++;

}

s+=a++;printf("%d\n",s);

}

程序运行后的输出结果是( )。

A、8

B、10

C、7

D、11

23(4)下面程序段的运行结果是( )

main ( )

{int a=11,b=10,c=0;

a/=b+(b&&c);

printf(″%d\n″a);}

A.0

B.1

C.1.1

D.11

24(5)两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是( ) main ( )

{int x;

scanf(″%d″,&x);

if(x++>5) printf(″%d″,x);

else printf(″%d\n″,x-1);}

A.7和5

B.6和3

C.7和4

D.6和4

(6)语句while(!e);中,条件!e等价于( )

A.e=0

B.e!=0

C.e!=1

D.e==0

R25下面程序的输出是______

main()

{

int k=11;

printf("k=%d,k=%o,k=%x\n",k,k,k);

}

A) k=11,k=12,k=13 B) k=11,k=13,k=13

C) k=11,k=013,k=oXb D) k=11,k=13,k=b

26(7)下面程序的运行结果是( )

main( )

{int i=1,sum=0;

lop:sum=sum+i ;

i=i+2;

if(i<6)goto lop;

printf (″sum=%d\n″,sum);}

A.sum=4

B.sum=9

C.sum=16

D.sum=25

27. 以下程序的输出结果是__________

void main(){

int a = 2,b = 5;

printf(“a=%%%d,b=%%%d”,a,b);

}

A) a=%2,b=%5 B) a=2,b=5

C) a=%%d,b=%%d D) a=%d,b=%d

28执行下面的程序后,a的值为_____

main()

{ int a,b;

for (a=1,b=1;a<100;a++)

{

if (b>=20) break;

if (b%3==1)

{ b+=3; continue; }

b-=5;

}

}

A) 7 B) 8

C) 9 D) 10

29

30.下面的程序会()

main()

{ int x=3,y=0,z=0;

if(x=y+z) printf(“****”);

else printf(“####”);

}

A、有语法错误不能通过编译

B、输出****

C、可以通过编译,但不能通过连接,因而不能运行

D、输出####

4.以下程序的输出结果是()

main()

{ int x=10,y=10,i;

for(i=0;x>8;y=++i)

printf(“%d %d”,x--,y);

}

A、10 1 9 2

B、9 8 7 6

C、10 9 9 0

D、10 10 9 1

1.下面程序的输出是______

main()

{

int k=11;

printf("k=%d,k=%o,k=%x\n",k,k,k);

}

A) k=11,k=12,k=13 B) k=11,k=13,k=13

C) k=11,k=013,k=oXb D) k=11,k=13,k=b

2.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是____

main()

{

int x;

scanf("%d",&x");

if (x++>5) printf("%d",x)

else printf("%d\n",x--);

}

A) 7和5 B) 6和3

C) 7和4 D) 6和4

3.读程序

#include”stdio.h”

main()

{ int a; float b,c;

scanf("%2d%3f%4f",&a,&b,&c);

printf("\na=%d,b=%f,c=%f\n",a,b,c);

}

若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是_____

A) a=98,b=765,c=4321

B) a=1,b=432,c=8765

C) a=98,b=765.000000,c=4321.000000

D) a=98,b=765.0,c=4321.0

5.下面程序的输出是____

main()

{int x=3,y=6,a=0;

while (x++!=(y-=1))

{

a+=1;

if (y

}

printf("x=%d,y=%d,a=%d\n",x,y,a);

}

A) x=4,y=4,a=1 B) x=5,y=5,a=1

C) x=5,y=4,a=3 D) x=5,y=4,a=1

6.

7.

8.

8.

三、程序填空题

F1. 以下程序可判断输入的一个整数是否能被3或7整除,若能整除,输出“yes”,否则输出“no”。请填空。

#include “stdio.h”

void main()

{

int k;

printf(“Enter a int number:”);

scanf(“%d”,<&k>);

if()

printf(“yes\n”);

else

printf(“no\n”);

}

N2.下面程序的功能是计算1-3+5-7+……-99+101的值。

main()

{

int i,t=1,s=0;

for(i=1;i<=101;i+=2)

{

t=;

s=s+t;

t=<-t>;

}

printf("%d\n",s);

}

F3.下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。

main()

{float x,amax,amin;

scanf("%f",&x);

amax=x;

amin=x;

while(=0>)

{if(x>amax)amax=x;

if()amin=x;

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin);

}

F4.下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5。#include “stdio.h”

void main()

{

int i,s,k,count=0;

for(i=100;i<=1000;i++)

{

s=0;

k=i;

while(k)

{

s=s+k%10;

k=;

}

if()count++;

}

printf(“%d”,count);

}

F5下列程序功能是求数组中主对角线元素之和,请补充完成

main()

{ int a[3][3],i,j,s=0;

for( i=0;i<3;i++ )

for( j=0;j<3;j++)

scanf("%d",<&a[i][j]>);

for(i=0;i<3;i++)

for( j=0;j<3;j++)

if()

s+=a[i][j];

printf("s=%d\n",s);

}

R6. 下面程序的功能是:输入一个字符,如果它是一个大写字母,则把它变成小写字母,如果它是一个小写字母,则把它变成大写字母,其它字符不变,请将程序补充完整:

main()

{ char ch;

scanf(“%c”,&ch);

if (ch>=?A? && ch <=?Z?) ch=ch+32;

else if (=?a? && ch <=?z?>)

< ch=ch-32>;

printf(“%c”,ch);

}

R7. 请将用户输入的x,y,z三个整数按照从小到大的顺序排列

main()

{

int x,y,z,t;

scanf("%d,%d,%d",&x,&y,&z);

if(x>y)

{ t=y;y=x;x=t;}

if(z>)

{t=z;z=x;x=t;}

if(z>)

{t=y;y=z;z=t;}

printf("small to big: %d,%d,%d\n",x,y,z);

}

F8. 以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用i统计大于零的个数,用变量j统计小于零的整数。请填空。

void main()

{ int n,i,j;

i=0;j=0;

printf(“Enter INT numbers,with 0 to end\n”);

scanf(“%d”,&n);

while(

{ if (n>0) i=i++;

if (n<0) j=j++;

;

}

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

}

F9. 以下程序用“辗转相除法”来求出两个正整数的最大公约数。请填空。若两个数分别放在m和n中,求最大公约数的算法如下:

(1) 将两数中最大的那个放在m中,小的放在n中。

(2) 求出m被n除后的余数r。

(3) 若余数为0则执行步骤(7);否则执行步骤(4)。

(4) 把除数作为新的被除数;把余数作为新的除数。

(5) 求出新的余数r。

(6) 重复步骤(3)到(5)。

(7) 输出n,n即为最大公约数。

void main()

{ int r,m,n;

printf(“Enter m,n:”);

scanf(“%d%d”,<&m,&n>);

printf(“m=%d n=%d\n”,m,n);

if (m

{r=m;m=n;n=r;}

r=;

while(r!=0)

{m=n,n=r,r=m;}

printf(“H.C.F=%d\n,n);

}

R10. 以下程序可判断输入的一个字符是否为小写字母,如果是,则转换为对应的大写字母并输出;否则,就原样输出。请填空。

#include “stdio.h”

void main()

{ char k;

printf(“Enter a character here:”);

scanf(“%c”,<&k>);

if(=?a? && k <=?z?>)

printf(“%c\n”,k-32);

else

printf(“%c\n”,k);

}

1.程序打印如下形式的图形

*

* *

* * *

* * * *

相关主题
文本预览
相关文档 最新文档