文档库 最新最全的文档下载
当前位置:文档库 › C语言程序设计习题集7-10套

C语言程序设计习题集7-10套

C语言程序设计习题集7-10套
C语言程序设计习题集7-10套

C语言程序设计试题集(第7套)

一、单项选择题(每题3分,共30分)

1、以下叙述中正确的是

A)C语言的源程序不必通过编译就可以直接运行

B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C)C源程序经编译形成的二进制代码可以直接运行

D)C语言中的函数不可以单独进行编译

2、以下符合C语言语法的实型常量是

A)1.2E0.5 B)3.14.159E C).5E-3 D)E15

3. 若a=-14,b=3,则条件表达式a

A)-14 B)-13 C)3 D)4

4、在c语言中,下面对函数不正确的描述是。

A)当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。

B)允许函数递归调用。

C)函数形参的作用范围只是局限于所定义的函数内。

D)用户自定义函数必须位于主函数之前。

5、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,a和b,当从第一列开始输入数据时,正确的数据输入方式是(注: _ 表示空格)

int a1,a2;

char c1,c2;

scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

A)10a_20_

B)10_a_20_b

C)10a20b

D)10a20_b

6.、若有说明:int a[10]; 则对a数组元素的正确引用是

A)a[10]

B)a[3.5]

C)a[5-3]

D)a[-1]

7、以下能对一维数组a进行正确初始化的语句是

A)in a[10]=(0,0.0,0,0);

B)i nt a[10]={};

C)i nt a[]={0};

D)int a[10]={10*1};

E)8、以下关于do-while循环的不正确描述是

A)do-while的循环体至少执行一次

B)d o-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C)在do-while循环体中,一定要有能使while后面表达式的值变为零("

假")的操作

D)do-while的循环体可以是复合语句

E)9、以下正确的函数形式是

A)double fun(int x,int y) { z=x+y;return z;}

B)f un(int x,y) { int z; return z;}

C)f un(x,y) { int x,y; double z; z=x+y; return z;}

D)double fun( int x,int y) {double z; z=x+y; return z; }

10.以下程序段

x=-1;

do x=x*x;

while(! x);

A)是死循环

B)循环执行二次

C)循环执行一次

D)有语法错误

二、填空题(每题2分,共20分)

1、编写C表达式:|a-b|≤10-6(1)

2、假定int m,k=10; 在执行语句m=3*k--;后,m,k的值分别是多少?(2)

3、写出用%.3f格式输出的数据2.99999e-3形式。(3)

4、假定int x;char y,z; 给定下面的输入:96 97 98

执行语句scanf(“%c%c%d”,&x,&y,&z);后,x,y,z的值分别是多少?(4)5、写出下面程序的执行结果:(5)

if(7<8)printf(“Hello”);

printf(“Threr”);

6、写出语句for(j=1;j<=10;j+=2)printf(“*”);的执行结果:(6)

7、设int list[6],j;

执行下面代码后,存储在list中的情况是什么?(7)for(j=0;j<6;++j){

list[j]=2*j+5;

if(j%2==0)list[j]=list[j]-3;

}

8、写出下面程序的输出结果:(8)

int a,b;

char s[3][4]={“---”,”---”,”---”};

for(a=2;a>=0;--a)s[a][a]=?0?;

for(a=0;a<3;++a)s[a][(a+1)%3]=?1?;

for(a=0;a<3;++a){

for(b=0;b<3;++b)printf(“%c”,s[a][b]);

printf(“\n”);

}

9、设有函数定义:

int p(int j)

{ int sum=1;

do{

if(j>0)sum*=2;

--j;

}while(j>0);

return sum;

}

语句printf(“%d”,p(6));输出什么?(9)

10、设有函数定义:

int test(int u,int v)

{ if(u==v)return u;

else if(u>v)return u+v;

else return test(u+1,v-1);

}

语句printf(“%d”,test(5,10));输出什么?(10)

三、程序分析填空题(每空2分,共20分)

1、打印如下形式的九九乘法表

main()

{ int x,y;

for(x=1; (1) ; x++)

{ for(y=1; (2) ; y++)

printf("%d*%d=%2d ",x,y,x*y);

printf("\n"); }

}

2、下面程序的功能是把以下给定的字符按其矩阵格式读入数组str1中,并输出行列号之和是3的数组元素。

void main(void)

{

char str1[4][3]={'a','b','c','d','e','f','g','h','i','j','k','i'};

int x,y,z;

for(x=0;x<4;x++)

for(y=0; (3) ;y++)

{

z=x+y;

if ( (4) ) printf("%c\n",str1[x][y]);

}

}

}

3、下面rotate 函数的功能是:将n 行n 列的矩阵A 转置为A ’,例如:

1 2 3 4 1 5 9 13 5 6 7 8 2 6 10 14 当 A= 9 10 11 12 则 A= 3 7 11 15 13 14 15 16 4 8 12 16 请填空

#define N 4

void rotate(int a[][N])

{ int i,j,t;

for(i=0;i

for(j=0; (5) ; j++)

{ t=a[i][j];

(6);

a[j][i]=t;

}

}

4、用递归法求n!

递归公式如下:

#include

int jx(int n)

f(n)= f(n-1)*n (n>1)

1 (n=1)

{

int f;

if(n==1) (7) ;

else f= (8) ;

return f;

}

main()

{

int n,f;

printf(“Input n :”);

scanf(“%d”,&n);

f= jx(n);

printf("\n n!=%d",f);

}

5、求3*4数组中的最大值及其下标。

#include

main()

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

int i,j,row=0,colum=0,max;

max=a[0][0];

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

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

if(a[i][j]>max)

{ (9) ;

row=i;

(10) ;

}

printf("max=%d,row=%d,

colum=%d\n",max,row,colum);

}

四、编写程序(每题10分,共30分)

1.编写一个程序,提示用户输入一个用磅表示的重量,然后程序将磅转换为公斤。输出转换结果。已知1磅=454克,1公斤=1000克。

2.编写程序,判断整数n的奇偶性。n由键盘输入。如果n为0则输出“zero”,若为奇数则输出“odd”,若为偶数则输出“even”。

3.编写一个函数,计算下面公式:

f(x)=(3x+1)1/2

编写主程序,计算x从0~1000(步长为50 )的f(x)累加和,并将每次结果输出

参考答案:

一、单项选择题(每小题3分,共30分)

(1)~(5)BCADC

(6)~(10)CCBDC

二、填空题(每小题2分,共20分)

(1)fabs(a-b)<=1e-6

(2)m=30,k=9

(3)0.003

(4)x=97,y=?9?,z=?6?

(5)Hello

There

(6)*****

(7)2,7,6,11,10,15

(8)01-

-01

1-0

(9)64

(10)15

三、程序分析填空题(每空2分,共20分)

1.x<=9

2.y<=9;

3.y<3

4..z==3

5.j

6. 6.a[i][j]=a[j][i]

7.f=1

8.jx(n-1)*n

9.max=a[i][j];

10.colum=j

四、根据题目要求编写完整程序(每题10分,共30分) 1、

#include

void main()

{ float c,f;

printf(“Please enter a bang:”);

scanf("%f",&c);

f=454*c/1000;

printf("%.0fbang =%.2gji\n",c,f);

}

2、

#include

void main()

{ int a;

printf("please enter a number:");

scanf("%d",&a);

if(a==0)printf(“zero\n”);

else if(a%2==0) printf(“even \n”);

else printf(“odd \n”);

}

3、

#include

#include

double f(double x)(return sqrt(3*x+1));

void main()

{ double a=0;

int c;

for(c=0;c<=1000;c+=50){

a+=f(c);

printf(“sum(%f)=%f\n”,c,a);

}

}

C语言程序设计试题集(第8套)

一、单项选择题(30分,每题2分)

1.C语言中定义的变量只能由字母、数字和下划线三种字符组成,且第一个字符_______。

A、必须为字母或下划线。

B、必须为下划线。

C、必须为字母

D、可以是字母、数字或下划线。

2.下面4种说法,正确的是______。

A、C语言中,关系运算符有多个,其中的几个是<、>、=、!=。

B、C语言提供的三种逻辑运算符都是双目运算符。

C、C语言中不允许出现goto语句。

D、一般情况下,do-while循环和while循环可以互相代替,即都可以用来处理同一问题。

3. C语言源程序的基本单位是______。

A、语句

B、对象

C、函数

D、过程

4. 下列选项中,不能用作标识符的是_______。

A、_1234_

B、_1_2

C、int_2_

D、2_int_

5. 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是_______。

A、a≥10&& a≤0

B、a≥10‖a≤0

C、a>=10 &&a<=0

D、a>=10‖a<=0

6. 若有定义:int a=8,b=5,c; ,则执行语句c=a/b+0.4; 后,c的值为_______。

A、1.4

B、1

C、2.0

D、2

7.有以下程序段

int m=0,n=0; char c='a';

scanf("%d%c%d",&m,&c,&n);

printf("%d,%c,%d\n",m,c,n);

若从键盘上输入:10A10<回车>,则输出结果是_______。

A、10,A,10

B、10,a,10

C、10,a,0

D、10,A,0

8. 当a=5,b=3,c=2时,执行下面一段程序后,x的值为_______。

A、1

B、2

C、6

D、8

if(a

{ if(b

else x=2;

}

else

{ if(b

else x=8;

}

9.若有i=8; 执行下列程序段后,变量i的值是_______。

switch(i) {

case 7: i= i +1;

case 8: i= i +1;

case 9: i= i +1;

default: i= i +1;

}

A、8

B、9

C、10

D、11

10.若有说明语句:int a[10]; 则对a数组元素正确引用的是_______。A、a[10] B、a[3.5] C、a[0] D. a(5)

11. 以下函数的定义形式正确的是_______。

A、double fun(int a, int b)

B、fun(int a, b)

{ c=a+b; return c; }{ int c;

return c; }

C、fun(a, b)

{ int a, b ; double c;

c=a+b;

return c; }

D、double fun(int a, int b)

{ double c;

c=a+b; return c; }

12.有以下程序段

int *p, a=10, b=2;

p=&a; a= *p+b;

执行该程序段后,a的值为

A、13

B、12

C、11

D、编译出错13.判断字符串s1是否等于字符串s2,应当使用。

A、if (s1==s2)

B、if (s1=s2)

C、if (strcpy(s1,s2))

D、if (strcmp(s1,s2)==0)

14.有以下程序

main()

{int i,s=0;

for(i=1;i<10;i= i +2) s= s+(i+1);

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

}

程序执行后的输出结果是_______。

A、自然数1~9的累加和

B、自然数1~10的累加和

C、自然数1~9中的奇数之和

D、自然数1~10中的偶数之和

15. 下面4种说法,正确的是______。

A、getchar()的作用是从终端输入一个字符。

B、getchar(a)的作用是从终端输入字符a 。

C、getchar()只接收一个字符或一个整数。

D、不允许使用putchar(getchar()); 。

二.程序填空题(30分,每空3分)

1.若有程序

main()

{ int i,j;

scanf("%d,%d",&i,&j);

printf("①",i,j);

}

要求给i赋10,给j赋20,输出i=10,j=20。请填空。

2.下面程序的功能是计算:1至50中是7的倍数的数值之和,请填空。

#include

main()

{int i,sum= 0;

for(i=1; i<=50; i++)

if(② ) sum+=i;

printf("%d",sum);

}

3.找出某数组中的最大元素,输出这个元素的下标和值。请填空。

main()

{int a[5]={6,3,4,7,2},max,i;

max=0;

for(i=1; ③;i++)

if(a[max]

max=i;

printf("a[%d]=%d\n",max, ④);

}

4.一个整数数组具有8个元素。将该数组元素逆序显示。请填空。

main()

{int i,a[8];

for(i=0; ⑤;i++)

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

for( ⑥; i>=0; ⑦)

printf("%d\n",a[i]);

}

5.输入一批正负整数,统计并输出正整数的个数m、负整数的个数n,正负整数输入完毕后输入0结束输入。请填空。

main()

{ ⑧;

int m=0, n=0 ;

do

{scanf("%d",&i);

if (i>0) ⑨;

if (i<0) ⑩;}

while(i ! =0);

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

}

三.程序阅读题(20分,每题4分)

1. 写出程序运行的结果:

main( )

{ int m1=5,m2=3,x;

x=(m1>m2)?m1: m2;

printf("%d,%d,%d", x , m1, m2);

}

2. 写出程序运行的结果:

#define M 1

#define N 5

main( )

{ int a,b,c;

for (a=M, b=N; a<=b; a++)

c=a+b;

printf("%d", c);

}

3. 写出当输入5时,程序运行的结果:

main()

{ int i,j,n;

printf("Enter n\n");

scanf("%d",&n);

printf("\n");

for(i=1;i<=n;i++)

{ for(j=1;j<=i;j++)

printf("%d ",j);

printf("\n");

}

}

4. 写出程序运行的结果:

#include

main ( )

{int a=57,b=79,c;

c=max(a,b);

printf ("max=%d\n", c);

}

max(int x,int y)

{int z;

if(x>y) z=x;

else z=y;

return(z);

}

5. 写出程序运行的结果:

void prt( int *x )

{ printf("%d\n", ++*x ) ; }

main()

{ int a=25 ;

prt( &a ) ;

}

四.程序设计题(20分,每题10分)

1. 某地的出租车按如下方法收费:起步价10元,可行3公里(不含3公里);3公里到8公里(不含8公里)按每公里1.6元计算;8公里以后按每公里

2.2元计算。编写程序,输入出租车载客行驶的公里数s,计算车费money并输出。

2.阿凡提开了一家酒店。有一天,来了30个人(有男人,有女人,也有小孩),每个男人消费了30元,每个女人消费了20元,每个小孩消费了10元,30个人一共消费了500元。阿凡提想了一下,发现按每个男人消费30元、每个女人消费20元、每个小孩消费10元的消费办法,30个人消费500元的男人、女人、小孩的人数组合将会有多种。请编写一个循环结构的程序求出不同的人数组合(即求男人、女人和小孩各有多少人,答案多于一种)。参考答案:

一.单项选择题(30分,每小题2分)

1A 6B 11D

2D 7A 12B

3C 8D 13D

4D 9D 14D

5D 10C 15A

二.程序填空题(30分,每空3分)

①i=%d,j=%d或i=%d,j=%d\n或i=%2d,j=%2d或i=%2d,j=%2d\n

②i%7= =0或i/7.0==i/7

③i<5或i<=4

④ a[max]

⑤i<8或i<=7

⑥i=7

⑦i--或i=i-1

⑧ int i

⑨m=m+1或m++

⑩n=n+1或n++

三.程序阅读题(20分,每题4分)

1. 5,5,3

2. 10

3.1

1 2

1 2 3

1 2 3 4

1 2 3 4 5

4. max=79

5. 26

四.1. 本题10分。

main( )

{

float s, money ;

printf("Please input s:\n");

scanf("%f", &s);

if (s<3.0) money=10.0;

else if(s<8.0) money=10+(s-3.0)*1.6;

else money=10+5*1.6+(s-8.0)*2.2;

printf("s=%f, money=%f\n", s, money);

}

2.本题10分。

main( )

{

int i,j,k;

for(i=1;i<=30;i++)或for(i=1;i<17;i++)

for(j=1;j<=30;j++)或for(j=1;j<25;j++)

{k=30-i-j;

if(i*30+j*20+k*10==500)

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

}

}

C语言程序设计试题集(第9套)

一、单项选择题(共30分,每题2分)

1、C语言中用于结构化程序设计的三种基本结构是

A) 顺序结构、选择结构、循环结构B) if、switch、break

C) for、while、do-while D) if、for、continue

2、结构化程序设计的一种基本方法是

A)筛选法B)递归法C)归纳法D)逐步求精法

3、以下所列的C语言常量中,错误的是

A) 123L B)1.2e0.5 C)“abc”D)‘7’

4、下列选项中,合法的C语言关键字是

A) FLOAT B) doubel C) integer D) default

5、若x和y代表浮点数,以下表达式中不能正确表示数学关系|x-y|<10的是

A)fabs(x-y)<10 B)x-y>-10&& x-y<10

C) (x-y)<-10||(x-y)>10 D)(x-y)*(x-y)<100

6、设int k=3,m=9,n=5;下面表达式的值哪个是假?

A)m==k*3 B) k*(9/k) ==9 C) k*(n/k)==n D) k=n

7、有以下程序段

char c1,c2,c3;

scanf("%c%c%c",&c1,&c2,&c3);

printf("%c,%c,%c\n",c1,c2,c3);

若从键盘上输入:a,b,c<回车>,则输出结果是

A) a b c B) a b C) a,b D) a,,,b

8、若有以下程序:

main()

{ int k=2,i=2,m;

m=k+=i*=k;

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

}

执行后的输出结果是。

A) 8,6 B) 8,3 C) 6,4 D) 7,4

9、计算分段函数

A ) B) C) D)

10、设: char array [8]="China"; 则数组 array 所占的空间为 。

A)5个字节 B) 6个字节 C) 7个字节 D)8个字节

11、设: char string [16];以下哪个语句有效

A) string[16]=?t ?;

B) string=”John ”;

C) scanf(“%s ”,string);

D) if(string>=”Nice ”)printf(“%s ”,string);

12、以下程序的输出结果是

main()

{ int a[ ][3]={{1},{2,3},{4,5,6}};

printf(“%d%d%d \n”,a[0][2],a[1][2],,a[2][0];

}

A) 134 B) 024 C) 004 D)输出值不定

13、以下程序的输出结果是

main()

{ int a[5],k;

a[0]=5;

for(k=1;k<5;++k){

a[k]=5*k+10;

a[k-1]=a[k]-4;

}

for(k=0;k<5;++k)printf(“%3d ”,a[k]);

}

A) 5 15 25 35 45

B) 5 15 20 25 30 35

C)11 16 21 26 30

D) 11 16 21 26 31

if(x>=0)

if(x>0)y=1;

else y=0; else y=-1; y=-1; if(x!=0){ if(x>0)y=1;} else y=0; 4 y=0; if(x>=0){ if(x>0)y=1;} else y=-1; y=-1; if(x!=0) if(x>0)y=1; else y=0;

14、以下程序的输出结果是

int f( int a)

{ int b =0;

static int c =3 ;

b =b+1;

c =c+1;/

return a+b+c;

}

main()

{ int a =2,i ;

for(i =0;i<3;i++)printf(”%d”,f(a));}

}

A) 7 8 9 B) 6 6 6 C)7 7 7 D) 6 7 8

15、根据给定的声明,左侧函数声明对应右恻的函数调用正确的是 int j, a[5];

float f, flo[10];

double x, dub[4];

A)double fun( double d[]); x=fun(a);

B)void fill( double d[]); j=fill(dub);

C)void fix(float f); fix(flo[0]);

D)int hack(int x[]); j=hack(a[3]);

二、阅读程序,按题目要求补充完整(共20分,每空2分)

1、求一笔定期存款p 到期利息a ,计算公式:a=p((1+r)n-1)

设存款利率

r=

#include

main()

{ float a,r,p;

(1);

printf("Please enter p,n:");

scanf("%f%d",&p,&n);

switch(n){

(2)

}

a=p*(pow(1+r,n)-1);

printf(“a=%.2f \n”,a);

}

2、求数列前20项之和:2/1,3/2,5/3,8/5,13/8······

main()

{ int i;

2% n=1 2.8% n=3

3%

n=5

float a=2,b=1,c,term,sum=0;

i=1;

while(i<=20){

term=a/b;

sum=sum+term;

c=a+b;

(3);

(4);

++i;

}

printf("sum=%.2f\n",sum);

}

3、输入一行字符,统计出数字、和空格字符的个数。

#include

main()

{ char c;

int c1=0,c2=0;

while((c=getchar())!=…\n? )

if ((5)) c1++;

else if((6)) c2++;

printf("数字=%d,空格字符=%d\n",c1,c2);

}

4、用“选择法”对10个数排序

main()

{ int a[10]={77,32,86,12,14,64,99,3,43,21};

int start,where,i,t;

for((7)){

(8);

for(i=start+1;i<10;i++)if(a[i]

t=a[start];a[start]=a[where];a[where]=t;

}

printf("the sorted numbers:\n");

for(i=0;i<10;i++) printf("%4d",a[i]);

printf("\n");

}

5、求4×4矩阵matrix的靠边元素之和

(9)

main()

{ int matrix[N][N] ={{1,2,3,4},{2,4,6,8},{3,6,9,12},{13,14,15,16}}; int i;

(10);

for(i=0; i< N; i++) sum+=matrix[0][i]+ matrix[i][0];

for(i=1; i< N; i++) sum+=matrix[N-1][i]+ matrix[i][ N-1];

printf("\nsum=%d\n",ssum);

}

三、阅读下列程序,写出运行结果(共20分,每题4分)

1、

void printstars(int blanks,int starsline);

main()

{ int count,blanks;

blanks=5;

for(count=1; count<=6; count++) {

printstars(blanks,count);

blanks--;

}

}void printstars(int blanks,int starsline)

{ int i;

for(i=1; i<=blanks; i++)printf(" ");

for(i=1; i<=starsline; i++)printf("*");

printf("\n");

}

2、

float f(int x);

main()

{ printf("f=%.0f",f(8));

}

float f(int x)

{ float y;

if (x==1||x==2||x==3) y=1;

else y=f(x-1)+f(x-3);

return y;

}

3、

#define ROW 3

#define COL 4

main()

{ int i,j,sum;

int matrix[ROW][COL]={{1,3,5,7},{2,4,6,8},{7,8,9,10},{11,12,13,14}}; for(i=0; i

sum=0;

for(j=0; j

printf(“sum of row%d=%d\n”,i+1,sum);

}

}

4、

#include

main()

{ char a[80]="1234567890abcdefg",b[40];

int i;

for(i=0; a[2*i+1]!='\0';++i) b[i]=a[2*i+1];

b[i]='\0';

puts(b);

}

5、

#define MAX 3

int a[MAX];

void fun1(void);

void fun2(b[]);

main()

{ fun1(); fun2( a ); printf("\n");}

void fun1(void)

{ int k, t=0;

for (k=0;k<MAX;k++,t++) a[k]=t+t;

}

void fun2(b[])

{ int k;

for(k=0;k<MAX;k++) printf("%d", b[k]`);

}

四、编程(共30分,每题10分)

1、求一元二次方程ax2+bx+c=0的两个实根。设b2-4ac>0。

2、计算多项式:1!+2!+3!+4!+····,直到最后一项的值大于106为止。

3、定义函数void sort(char a[])对字符串a中字符进行排序。在主函数中输入一个字符串,并调用sort ()函数对其中字符进行排序,然后输出。

参考答案:

一、单项选择题(共30分,每题2分)

(1)-(15)ADBDCCDCDCDCCAC

二、阅读程序,按题目要求补充完整(共20分,每空2分)

(1)int n;

(2)

case 1:r=0.02;break;

case 3:r=0.028;break;

case 5:r=0.03;

(3)b=a;

(4)a=c;

(5)c<=?9?&&c>=?0?

(6)c==??

(7)start=0;start

(8)where=start

(9)#define N 4

(10)int sum=0;

三、阅读下列程序,写出运行结果(共20分,每题4分) 1、

*

**

***

****

*****

******

2、f=9

3、

sum of row1=16

sum of row2=20

sum of row3=34

4、24680bdf

5、024

四、编程(共30分,每题10分)

1、

#include”math.h”

main()

{ float a,b,c,x1,x2,d;

printf(“input a,b,c:”); scanf(“%f%f%f”,&a,&b,&c);

d=b*b-4*a*c;

x1=(-b+d)/(2*a); x2=(-b-d)/(2*a);

printf(“x1=%.2f\tx2=%.2f\n”,x1,x2);

}

2、

main()

{ long sum=0, f=1,n=1;

do {

f=f*n;

sum+=f;

n++;

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

《C语言程序设计》第三章 C语言基础 课堂笔记

页眉内容 《C语言程序设计》第三章C语言基础课堂笔记 §3.1 基本字符集、关键字和标识符 一.基本字符集 字符是C的基本元素,C语言允许使用的基本字符集: 1.26个大写字母A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2.26个小写子母a b c d e f g h I j k l m n o p q r s t u v w x y z 3.10个阿拉伯数字0 1 2 3 4 5 6 7 8 9 4.其他字符!" # % & ' ( ) * + , - . / : < = > ? [ \ ] ^ _ { | } ~ 5.空格字符以及制表符合换行符等控制字符 二.关键字(P375,附录II) C中具有固定意义的字符串。 (1) C中的关键字共32个,必须用小写字母 (2) 关键字不可用于变量名、函数名等。 auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while 三.标识符 标识符用于命名变量、类型、函数和其他各种用户定义的对象,是由字母、下划线和数字三种字符组成。 (1) 第一个字符必须为字母或下划线 (2) C对标识符的长度规定为任意,Turbo C区分32 个字符 (3) C区分大小写 (4) 不允许关键字作为标识符 §3.2 C数据类型

c语言程序设计第二章课后参考答案

第二章:C程序的基本结构 一、单项选择题 1、以下不是C语言的特点的是________。 A)语言的表达能力强B)语言定义严格 C)数据结构系统化 D)控制流程结构化 2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。 A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行 3、以下不是二进制代码文件是________。 A)标准库文件 B)目标文件C)源程序文件 D)可执行文件 4、下面个选项组中,均属于C语言关键字的一组是________。 A)auto,enum,include B)switch,typedef,continue C)signed,union,scanf D)if,struct,type 5、下面四组字符串中,都可以用作C语言标识符的是________。 A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY 6、以下不属于流程控制语句的是_________。 A)表达式语句 B)选择语句 C)循环语句 D)转移语句 7、下面描述中,不正确的是________。 A)C语言的函数体由一系列语句和注释组成。 B)注释内容不能单独写在一行上。 C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。 D)scanf和printf是标准库函数而不是输入和输出语句。 8、下面描述中,正确的是________。 A)主函数的花括号必须有,而子函数中的花括号是可有可无的。 B)一个C程序行只能写一个语句。 C)主函数是程序启动时的唯一入口。 D)函数体包含了函数说明部分。 二、填空题 1、一个完整的C程序至少要有一个________函数。(主函数) 2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。(编译系统) 3、C语言是以________为基本单位、整个程序由________组成。(函数函数) 4、常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和________函数等几个大类。(输入输出) 5、标准库函数存放在________文件中。(函数库) 6、目标程序文件的扩展名是________。(.obj) 7、程序连接过程是将目标程序、________或其它目标程序连接装配成可执行文件。(库函数) 8、因为源程序是________类型文件,所以用具有文本编辑功能的任何编辑软件程序完成编辑。(文本)

C语言程序设计习题集

目录 第一章C语言基础知识 (1) 第二章C语言程序设计的初步知识 (3) 第三章顺序结构程序设计 (5) 第四章选择结构程序设计 (9) 第五章循环结构程序设计 (12) 第六章数组 (16) 第七章函数 (19) 第八章指针 (23) 第九章结构体与共用体 (27) 第十章文件 (30) 模拟试题一 (33) 第一章答案 (39) 第二章答案 (40) 第三章答案 (40) 第四章答案 (41) 第五章答案 (42) 第六章答案 (44) 第七章答案 (45) 第八章答案 (47) 第九章答案 (48) 第十章答案 (49) 模拟试题一答案 (52)

第一章C语言基础知识 一、选择题 1.C语言规定,必须用作为主函数名。 A)Function B)include C)main D)stdio 2.是C程序的基本构成单位。 A)函数B) 函数和过程C) 超文本过程D) 子程序3.下列说法正确的是。 A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可 B)一个函数的函数体必须要有执行部分,可以没有变量定义 C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 D)以上都不对 4.下列说法正确的是。 A)main函数必须放在C程序的开头 B)main函数必须放在C程序的最后 C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执 行的 D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数 开始的 5.下列说法正确的是。 A)在执行C程序时不是从mian函数开始的 B)C程序书写格式严格限制,一行内必须写一个语句 C)C程序书写格式自由,一个语句可以分写在多行上 D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号 6.在C语言中,每个语句和数据定义是用结束。 A)句号B)逗号C)分号D)括号 7.下列字符串是标识符的是。 A)_HJ B)9_student C)long D)LINE 1 8.以下说法正确的是。 A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 9.不是C语言提供的合法关键字。 A)switch B)print C)case D)default

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言-第三章编程题

完成以下编程题,将程序源代码粘贴提交。 P.56 2.编写程序,输入圆的半径,计算并输出其周长和面积。常量pi的值取3.14159,周长和面积取小数点后2位数字。 #include #define pi 3.14159 void main() { float r,s,a; printf("请输入圆的半径"); scanf("%f",&r); s=pi*r*r; a=2*pi*r; printf("s=%.2f,a=%.2f\n",s,a); } 3.编写程序,把整数华氏温度f转换为浮点型的摄氏温度c。转换公式为c=5/9(f-32),输出要有文字说明,取2位小数。 #include void main() { int f; float c; printf("请输入华氏温度"); scanf("%d",&f);

c=5.0/9*(f-32); printf("摄氏温度为%.2f\n",c); } 4.编写程序,输入三角形的三边的边长,求三角形面积。三角形面积的计算公式为:p=(a+b+c)/2 ,S=sqrt(p(p-a)(p-b)(p-c))。 #include #include void main() { float a,b,c,S,p; printf("请输入三角形三边长\n"); scanf("%f%f%f",&a,&b,&c); p=(a+b+c)/2.0; S=sqrt(p*(p-a)*(p-b)*(p-c)); printf("S=%f\n",S); } 6.编写程序,输入一个小写字母,输出其对应的大写字母。 #include void main() { char c; printf("请输入一个小写字母\n"); scanf("%c",&c);

高级语言程序设计实验C

高级语言程序设计实验 C Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】

陕西理工大学 《高级语言程序设计(C)》 实验报告 院系: 班级: 学号: 姓名:

目录

实验一:C开发环境与顺序结构程序设计 1.实验目的: (1) 了解集成开发环境VC++的使用方法,理解相关命令的含义,掌握编辑、编译、连接以及运行调试的方法,掌握程序的基本结构,掌握输入输出的方式。 (2) 掌握程序设计的基本要素中的数据类型、变量、运算符以及表达式的运用。 (3) 学会正确使用逻辑运算符和逻辑表达式以及关系运算符与关系表达式,掌握在程序设计中灵活使用顺序结构。 2.实验环境: (1) 硬件环境 CPU: Inter Pentium(R)4 CPU 以上 内存:2GByte (2) 软件环境 操作系统:Microsoft Windows 7 编译系统:Microsoft Visual C++ 3.实验步骤: 按如图所示流程进行实验内容的 调试。 (1) 在XP操作系统中,启动VC++ 编译环境; (2) 在VC++编译界面输入C源程 序; (3) 选择编译、组建、执行命令 进行编译、链接和运行,并记录 实验数据; (4) 按以上方法依次输入其他源 程序并调试、运行和记录实验数 据。

4.实验内容: 输入并运行下列程序,查看程序运行的结果。 #include<> void main() { printf(“* * * * * * * * * *\n”); printf(“Programing in c A Labrtry Maual\n”); printf(“* * * *\n”); printf(“*\n”); } 查看程序运行的结果 #include<> void main() { int i,j,m,n; i=8; j=10; m=++i; n=j--; printf(“%d,%d,%d,%d\n”,i,j,m,n); } 找出下列程序中的错误,改正后写出程序运行结果. #include<> void main() { Int x,y=z=5,aver; x=7; AVER=(x+y+z)/3 printf(“AVER=%d\n”,aver); }

C语言程序设计习题集3

指针 一单项选择题(每题2分,共40分) 1 以下叙述中错误的就是_B__。 A 在程序中凡就是以“#”开始的语句行都就是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX就是合法的宏定义命令行 D C程序对预处理命令行的处理就是在程序执行的过程中进行的 2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的就是__B_。 A 宏定义行中定义了标识符N的值为整数100 B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义: #define N 2 #define y(n) ((N+1)*n) 则执行下列语句:z=4*(N+y(5));后的结果就是_B__。 A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果就是_A__。 #define F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果就是_C__。 #define f(x) (x*x) main() { int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_就是对指针变量p的正确说明与初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句: static int a[]={2,4,6,8} static int *p[]={a,a+1,a+2,a+3}; int **q; q=p; 则表达式**(q+2)的值就是_A__。 A 6 B 2 C 4 D 8 8 下面就是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该__C_。 A *px B a C px D &a 9 若指针px为空指针,则_B__。。

c语言程序设计第五版习题答案

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch 语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么?它由哪几部分组成? 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤? 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。

#include main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** * 思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

二级c语言程序设计习题及解答ch1-3

12)计算机能直接执行的程序是(B )。 A)源程序B)目标程序C)汇编程序D)可执行程序 13)以下叙述中正确的是( D ) A)程序设计的任务就是编写程序代码并上机调试 B)程序设计的任务就是确定所用数据结构 C)程序设计的任务就是确定所用算法 D)以上三种说法都不完整 例年真题: #include main() { Int a; A=5; /*给A变量赋值5 A+=3; 再赋值后再加3*/ Printf(“%d”,a); } (11)以下叙述中正确的是( C )。 A)C 程序的基本组成单位是语句B)C 程序中的每一行只能写一条语句 C)简单C 语句必须以分号结束D)C 语句必须在一行内写完 (11)以下叙述中正确的是( C ) A)C程序中的注释只能出现在程序的开始位置和语句的后面 B)C程序书写格式严格,要求一行内只能写一个语句 C)C程序书写格式自由,一个语句可以写在多行上 D)用C语言编写的程序只能放在一个程序文件中 (12)以下选项中,能用作用户标识符的是( C ) A)void B)8_8 C)_0_ D)unsigned 【解析】A:关键字不可以B:不以数字开头C:正确D:关键字 (13)以下选项中合法的标识符是( C ) A)1-1 B)1—1C)-11D)1— 【解析】A:不以数字开头,出现非法字符-而不是_ B:不以数字开头,非法字符C:正确D: 不以数字开头,出现非法字符 (14)以下选项中不合法的标识符是( C ) A)print B)FOR C)&a D)_00 【解析】C:出现非法字符& (15)以下选项中,能用作数据常量的是( D ) A)o115 B)0118 C)1.5e1.5D)115L

C语言详解(第五版)第二章程序设计项目答案

C语言详解(第五版)程序设计项目答案第二章 1.编写一个程序,以每英里0.35的费率计算一个售货员的里程偿还金。程序中要求与用户进行如下方式的交互。 #include #include int main(void) {float mile_1,mile_2,miles,consume,payment; printf("MILEAGE REIMBURSEMENT CALCULATOR\n"); printf("Enter begainning odometer reading>\n"); scanf("%f",&mile_1); printf("Enter endding odometer reading>\n"); scanf("%f",&mile_2); printf("Enter consume per mile>\n"); scanf("%f",&consume); miles=mile_2-mile_1; payment=miles*consume; printf("You traveled%f miles.At%f per mile,your reimbursement is%f",miles,consume,payment); system("pause"); return(0); } 2.编写一个程序,用于辅助设计水力发电大坝。提示用户输入大坝高度,以及水流量。如果水由重力所做的功有90%转化为电能,测算会有多少M瓦的功率。 #include #include int main(void) {double density,weight,gravitational_acceleration, efficiency,height,water_flow_rate,work,electricity_power; printf("Please type in the density of water>"); scanf("%lf",&density); printf("Please type in the gravitational_acceleration>"); scanf("%lf",&gravitational_acceleration); printf("Please type in the height of the water>"); scanf("%lf",&height); printf("Please type in the efficiency of the transformation\nfrom water to electricity>"); scanf("%lf",&efficiency); printf("Please type in the water_flow_rate>"); scanf("%lf",&water_flow_rate); weight=density*water_flow_rate; work=weight*height*gravitational_acceleration; electricity_power=work*efficiency/1000000; printf("The electric energy production is%fW",electricity_power); system("pause"); return0; }

高级语言程序设计C

高级语言程序设计(C)模拟题四 一、选择题(本题共20道小题,每题2分,共40分。) 1.以下有4组用户标识符,其中合法的一组是()。 A) For -sub Case B) 4d DO Size C) f2_G3 IF abc D) WORD void define 答案:C 解析:标识符的命名规则:由字母、数字、下划线组成,第一个字符必须是字母或者下划线,标示符的命名不能同C语言的关键字相同。 2. 若有下面的程序片段: int a[12]={0}, *p[3], **pp, i; for(i=0; i<3; i++) p[i]=&a[i*4]; pp=p; 则对数组元素的错误引用是 A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2) 答案:C 解析:A. pp[0]表示p[0]的地址,而pp[0]也为一个指针,它和pp用法相同,故pp[0][1]则表示a[1]的地址,正确。 B.正确。 C.数组p的最大下标为2,错误。 D. *(*(p+2)+2)表示a[10],正确。 3. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 A) a<>0 B) !a C) a=0 D) a 答案:D 解析:对if(a)而言,如果a的值不为0,则if语句括号中表达式的值不为0,if为真,选D。 4. 若已定义: int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i; 其中0≤i≤9, 则对a数组元素不正确的引用上 A) a[p-a] B) *(&a[i]) C) p[i] D) a[10] 答案:D 解析: A. a[p-a]表示a[0],正确。 B. *(&a[i])表示a[i],正确。 C. p[i]表示&a[i],正确。 D. a数组最大下标为9,错误。

(完整版)C语言程序设计练习及答案

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

c语言程序设计第三章课后答案

/*习题3 2*/ #include main() { int rate; double salary,tax; printf("enter salary:\n"); scanf("%lf",&salary); if(salary<=850) rate=0; else if(salary>850&&salary<=1350) rate=5; else if(salary>1350&&salary<=2850) rate=10; else if(salary>2850&&salary<=5350) rate=15; else rate=20; tax=rate*(salary-850)/100; printf("tax=%.2lf\n",tax); } /*习题3 4*/ #include main() { int n,i,A=0,B=0,C=0,D=0,E=0; double grade,sum=0,ave; printf("enter n:\n"); scanf("%d",&n); printf("enter n ge grade\n"); for(i=1;i<=n;i++) { scanf("%lf",&grade); sum=sum+grade; if(grade>=90&&grade<=100) A=A+1; else if(grade>=80&&grade<=89) B=B+1; else if(grade>=70&&grade<=79) C=C+1; else if(grade>=60&&grade<=69) D=D+1; else E=E+1;

C语言程序设计学习指导(第2版) 1-6

第一章概述 一、选择 1.C 2.B 3.C 4.D 5.D 6.A 7.B 8.C 9.A 10.B 11.C 12.D 13.B 14.B 第二章数据类型 一、选择 1.D 2.A 3.C 4.D 5.A 6.B 7.A 8.B 9.A 10.D 11.B 12.C 13.C 14.D 15.C 16.B 17.D 18.A 19.C 20.B 21.B 22.D 23.A 24.B 25.B 26.B 27.C 第三章运算符和表达式 一、选择 1.A 2.D 3.D 4.D 5.D 6.A 7.C 8.C 9.B 10.B 11.C 12.C 13.A 14.A 15.A 16.A 17.B 18.C 19.C 20.D 21.A 22.A 23.C 24.C 25.A 26.B 27.D 28.A 29.B 30.C 31.D 32.D 33.D 34.B 35.A 36.A 37.B 38.C 39.D 40.B 41.B 42.C 43.B 第四章输入和输出 一、选择 1.C 2.D 3.C 4.C 5.C 6.B 7.B 8.C 9.D 10.D 11.D 12.D 13.B 14.A 15.B 16.B 二、编程 1.double fun(double m) { float n; n=(5.0/9.0)*(m-32); return n; } 2. char fun(char c) {c=c+32; return c;} 3.double fun(int m) { double y=0; y=sin(m)*10; return(y); } 4.float fun ( float h ) {return (long)( h * 100 + 0.5 )/ 100.0;}

《高级语言程序设计》复习题及答案

一、选择题 1.以下叙述正确的是( ): A)在C程序中,main函数必须位于程序的最前面 B) C程序的每行只能写一条语句 C) C语言使用库函数实现输入输出操作 D)注释中的拼写错误会影响编译结果 2、以下说法中正确的是() A) C语言程序总是从第一个的函数开始执行 B) C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用的函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 3、下列选项种说法正确的是( ) A)函数由声明部分和执行部分两部分组成 B)语言中main函数一定在程序的开始部分 C)C语言程序总是从第一个定义的函数开始执行 D)C程序的每行中只能写一条语句 4、设有说明:int a;float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int) 2.6 值的类型为( )。 A)doubleB) char C) floatD) int 5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 6、以下不正确的C语言标识符是( )。 A) ABC B) abc C)a_bc D) void 7、下列运算符中优先级最高的是( ) A)< B)+ C)&& D)!= 8、以下选项中属于C语言中合法关键字的是( ) A)Float B)abc C)int D)CASE 9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 10、在C语言中,要求数据必须是整型的运算符是( ) A)/ B)+ + C)!=D) % 11、若整型变量x的值为8,则下列表达式中值为1的表达式是 A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x 12、若w=1,x=2,y=3,z=4,则条件表达式“w > x? w : y< z ? y : z”的值是( ) A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); }

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

c语言详解(第五版)第三章程序设计项目答案

c语言详解(第五版)第三章程序设计项目答案 1.假设买一辆车首付为500dollar。请计算月供。 #include #include #include int main(void) {double capital_sum,monthly_interest_rate,initial_payment,temp,payment,terms; printf("Please enter the price of the car>>"); scanf("%lf",&capital_sum); printf("Please enter the monthly interest rate>>"); scanf("%lf",&monthly_interest_rate); printf("Please enter the terms duration of loan>>"); scanf("%lf",&terms); printf("Please enter the initial_payment>>"); scanf("%lf",&initial_payment); temp=1+monthly_interest_rate; payment=(capital_sum-500)*monthly_interest_rate/(1-pow(temp,-terms)); printf("The monthly contribution is %.2f dollars.",payment); printf("The capital sum is %.2f dollars.",capital_sum); system("pause"); return 0; } 2.编写两个函数,一个显示三角形,另一个显示矩形。 #include #include #include void draw_triangle(void); void draw_rectangle(void); int main(void) {draw_triangle(); draw_rectangle(); system("pause"); return 0; } /*Draw an triangle.*/ void draw_triangle(void) { printf(" /\\ \n"); printf(" / \\ \n"); printf(" / \\ \n"); printf(" / \\ \n"); printf(" -------- \n"); } void draw_rectangle(void)

华南理工大学高级语言程序设计(C++I)试卷及答案

华南理工大学计算机学院 高级语言程序设计(C++I)试卷 学生证号:____________________ 姓名: ____________________ 注意事项:1. 本试卷共五大题,满分100分,考试时间120分钟; 2. 所有答案请写在答卷上,试卷和答卷同时提交; 一.单项选择题(每小题2分,共20分) 1.下列字符列中,合法的长整型常量是: (A) 4.18e3 (B) 0.46793 (C) 4L (D) 956738 2.设变量x,y,a,b,c,d的值为1,计算表达式(x=a!=b)&&(y=c!=d)后,变量x,y的值分别是: (A) 0,0 (B) 0,1 (C) 1,0 (D) 1,1 3.以下运算符中,优先级最低的是: (A) *= (B) ?:: (C) && (D) >= 4.在C++中,char类型数据在内存的存储形式是: (A) 原码(B) 反码(C) 补码(D) ASCII码 5.设变量定义int x = 6, y, z; 执行语句 y = z = x--; y = x == z; 后变量y的值是:(A) 0 (B) 1 (C) 5 (D) 6 6.下面的变量定义中,不正确的是: (A) char *p=”string”(B) int a[]={‘A’,’B’,’C’} (C) float *q=&b, b; (D) doudle a, *r=&a; 7.设有变量定义 doubleb[5], *p=b; 能正确表示b数组中元素地址的表达式是: (A) b (B) b+5 (C) *b[0] (D) &b 8.设有变量定义 int a[]={2,3,5,9,11,13},*pa=a, w; 执行语句w=++(*++pa); 后,变量w和*pa的值是: (A) 3和3 (B) 4和3 (C) 3和4 (D) 4和4 9.语句if(w) … ; else … ; 中的表达式w的等价表示是: (A) w==0 (B) w==1 (C) w!=0 (D) w!=1 10.设有函数说明和变量定义:int max(int x,int y); int(*p)(int,int)=max; int a, b; 以下正确调用函数的代码是: (A) *p(a,b) (B) p(a,b) (C) *(p(a,b)) (D) p(&a,&b)

相关文档
相关文档 最新文档