C语言程序设计课堂练习_第1页
C语言程序设计课堂练习_第2页
C语言程序设计课堂练习_第3页
C语言程序设计课堂练习_第4页
C语言程序设计课堂练习_第5页
已阅读5页,还剩132页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

会计学1C语言程序设计课堂练习●单项选择题

某C程序由一个主函数main()和一个自定义函数max()组成,则该程序

____.

A)总是从max()函数开始执行

B)写在前面的函数先开始执行

C)写在后面的函数先开始执行

D)总是从main()函数开始执行C语言规定,一个C源程序的主函数名必须为____.

A)program

B)include

C)main

D)functionDC安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第一章概述

返回目录第1页/共137页●单项选择题

下列说法正确的是____.

A)在书写C语言源程序时,每个语句以逗号结束

B)注释时,'/'和'*'号间可以有空格

C)无论注释内容的多少,在对程序编译时都被忽略

D)C程序每行只能写一个语句C语言源程序文件的后缀是____,经过Compile后,生成文件的后缀是____,经过Link后,生成文件的后缀是____.

A).obj

B).exeC).c

D).docCCAB安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第一章概述

返回目录第2页/共137页●单项选择题

VisualC++6.0IDE的编辑窗口的主要功能是____.输出窗口的主要功能是____.调试器(Debug)的主要功能是____.

A)建立并修改程序

B)将C源程序编译成目标程序

C)跟踪分析程序的执行

D)显示编译结果信息(如语法错误等)ADC安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第一章概述

返回目录第3页/共137页●单项选择题

在VisualC++6.0开发环境下,C程序按工程(project)进行组织,每个工程可包括____C/CPP源文件,但只能有____main函数。

A)1个 B)2个

C)3个 D)1个以上(含1个)DA安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第一章概述

返回目录第4页/共137页●单项选择题

调试程序时,如果某个语句后少了一个分号,调试时会提示错误,这种情况一般称之为____.而某个“计算2的平方”的程序在调试时没有提示出错,而且成功执行并计算出了结果,只是结果等于5,这种情况一般称之为____. A)语法错误 B)正常情况

C)编译器出错 D)逻辑设计错误AD安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第一章概述

返回目录第5页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第三章基本数据类型与运算符●单项选择题

C语言中最基本的非空数据类型包括

____.A)整型、浮点型、无值型

B)整型、字符型、无值型

C)整型、浮点型、字符型

D)整型、浮点型、双精度型、字符型C语言中运算对象必须是整型的运算符是____.

A)%

B)/

C)=

D)<=DA

返回目录第6页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第三章基本数据类型与运算符●单项选择题

若已定义x和y为int类型,则执行了语句x=1;y=x+3/2;后y的值是

____.

A)1

B)2

C)2.0

D)2.5若有以下程序段,inta=1,b=2,c;c=1.0/b*a;则执行后,c中的值是

____.

A)0

B)0.5

C)1

D)25)能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是____.

A)a>=10ora<=0

B)a>=0|a<=10C)a>=10&&a<=0

D)a>=10‖a<=0BAD

返回目录第7页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第三章基本数据类型与运算符●单项选择题

下列字符序列中,不可用作C语言标识符的是

____.

A)xyd233

B)No.1

C)_sd

D)xyz在printf()函数中,反斜杠字符'\'表示为

____.

A)\’

B)\0

C)\n

D)\\8)设先有定义:inta=10;则表达式a+=a*=a的值为____.

A)10

B)100C)1000

D)2009)设先有定义:inta=10;则表达式(++a)+(a--)的值为____.A)20

B)21C)22

D)19BDDC

返回目录第8页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第三章基本数据类型与运算符●单项选择题

10)设先有定义:inty=3,x=3,z=1;则语句:

printf(“%d%d\n”,(++x,y++),z+2);

的输出结果为____.

A)34

B)42C)43

D)3311)假定x、y、z、m均为int型变量,有如下程序段:

x=2;y=3;z=1; m=(y<x)?y:x; m=(z<y)?m:y;则该程序运行后,m的值是

____.A)4

B)3C)2

D)1DC

返回目录第9页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第三章基本数据类型与运算符●单项选择题

以下选项中合法的字符常量是____.

A)"B"

B)'\010'

C)68

D)D设x=3,y=4,z=5,则表达式((x+y)>z)&&(y==z)&&x||y+z&&y+z的值为____.

A)0

B)1

C)2

D)314)如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为____.

A)1

B)2C)3

D)415)设intm=1,n=2;则m++==n;的结果是____.A)0

B)1C)2

D)3BBAA

返回目录第10页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第三章基本数据类型与运算符●填空题

1.表达式10/3的结果是___________;10%3的结果是______。2.执行语句:inta=12;a+=a-=a*a;后的值是___________。3.以下语句的输出结果是___________。

shortb=65535;printf("%d",b);31-264-1

返回目录第11页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第三章基本数据类型与运算符●填空题

4.以下程序的执行结果是_____________________。#include<stdio.h>main(){ inta,b,x; x=(a=3,b=a--); printf("x=%d,a=%d,b=%d\n",x,a,b);}x=3,a=2,b=3

返回目录第12页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第三章基本数据类型与运算符●填空题

5.以下程序的执行结果是___________。#include<stdio.h>main(){ floatf1,f2,f3,f4; intm1,m2; f1=f2=f3=f4=2; m1=m2=1; printf("%d\n",(m1=f1>=f2)&&(m2=f3<f4));}0

返回目录第13页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第三章基本数据类型与运算符6.以下程序的执行结果是___________。#include<stdio.h>main(){ floatf=13.8; intn; n=(int)f%3; printf("n=%d\n",n);}●填空题

n=1

返回目录第14页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●单项选择题

结构化程序模块不具有的特征是____.

A)只有一个入口和一个出口

B)要尽量多使用goto语句

C)一般有顺序、选择和循环三种基本结构

D)程序中不能有死循环C语言中,逻辑“真”等价于____.

A)整数1 B)整数0

C)非0数 D)TRUE3)以下4条语句中,有语法错误的是____.

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

B)if(a<b)m=b;

C)if((a=b)>=0)m=a;

D)if((a=b;)>=0)m=a;BCD

返回目录第15页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●单项选择题

4)若i,j均为整型变量,则以下循环____. for(i=0,j=2;j=1;i++,j--) printf("%5d,%d\n",i,j);

A)循环体只执行一次 B)循环体执行二次

C)是无限循环 D)循环条件不合法5)以下程序段,执行结果为____. a=1; do {a=a*a; }while(!a);A)循环体只执行一次 B)循环体执行二次

C)是无限循环 D)循环条件不合法CA

返回目录第16页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●单项选择题

6)C语言中while与do-while语句的主要区别是____.

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

B)do-while允许从外部跳到循环体内

C)while的循环体至少无条件执行一次

D)while的循环控制条件比do-while的严格7)语句while(!a);中条件等价于____.

A)a!=0

B)~a

C)a==1

D)a==0AD

返回目录第17页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●单项选择题

8)以下程序的运行结果为____.#include<stdio.h>main(){ inti=1,sum=0; while(i<=100) sum+=i; i++; printf("1+2+3+...+99+100=%d",sum);}A)5050 B)1

C)0

D)程序陷入死循环D

返回目录第18页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●单项选择题

9)以下程序的运行结果为____.#include<stdio.h>main(){ intsum,pad;

sum=pad=5; pad=sum++; pad++; ++pad; printf("%d\n",pad);}A)7 B)6

C)5

D)4A

返回目录第19页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●单项选择题

10)以下程序的运行结果为____.#include<stdio.h>main(){ inta=2,b=10;

printf("a=%%d,b=%%d\n",a,b);}A)a=%2,b=%10 B)a=2,b=10C)a=%%d,b=%%d D)a=%d,b=%dD

返回目录第20页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●单项选择题

11)为了避免嵌套的if-else语句的二义性,C语言规定else总是____.

A)与缩排位置相同的if组成配对关系

B)与在其之前未配对的if组成配对关系

C)与在其之前未配对的最近的if组成配对关系

D)与同一行上的if组成配对关系12)对于for(表达式1;;表达式3)可理解为____.

A)for(表达式1;0;表达式3)

B)for(表达式1;1;表达式3)

C)for(表达式1;表达式1;表达式3)

D)for(表达式1;表达式3;表达式3)CB

返回目录第21页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●程序填空题

1.下面程序的功能是计算n!。#include<stdio.h>main(){ inti,n; longp; printf("Pleaseinputanumber:\n"); scanf("%d",&n); p=_____________; for(i=2;i<=n;i++) ________________; printf("n!=%ld",p);}1p=p*i;或p*=i;

返回目录第22页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●程序填空题

2.下面程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高和最低成绩,当输入负数时结束输入。#include<stdio.h>main(){floatscore,max,min;printf("Pleaseinputonescore:\n");scanf("%d",&score);max=min=score;while(_____________){if(score>max)max=score;if(______________)min=score;printf("Pleaseinputanotherscore:\n");scanf("%d",&score);}printf("\nThemaxscoreis%f\nTheminscoreis%f",max,min);}score>=0score<min

返回目录第23页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●程序填空题

3.下面程序的功能是:计算y=的值。要求从键盘上输入x的值,精度控制在0.00001内。#include<stdio.h>#include<math.h>main(){floatx,y=0,fz=-1,fm=1,temp=1;printf("Pleaseinputthevalueofx:\n");scanf("%f",&x);while(_____________){fz=___________;fm=fm+2;temp=fz/fm;y+=temp;}printf("\ny=%f",y);}fabs(temp)>0.00001-fz*x

返回目录第24页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●程序填空题

4.下面的程序完成两个数的四则运算。用户输入一个实现两个数的四则运算的表达式,程序采用switch语句对其运算进行判定后执行相应的运算并给出结果。#include<stdio.h>main(){ floatx,y; charop; printf("PleaseinputExpression:"); scanf("%f%c%f",&x,&op,&y); ___________ { case'+': printf("%g%c%g=%g\n",___________); ___________;switch(op)x,op,y,x+ybreak

返回目录第25页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●程序填空题

case'-': printf("%g%c%g=%g\n",x,op,y,x-y); break; case'*': printf("%g%c%g=%g\n",x,op,y,x*y); break; case'/': if(___________________________) printf("DivisionError!\n"); else printf("%g%c%g=%g\n",x,op,y,x/y); break; default:printf("ExpressionError!\n"); }}(y>=-1e-6)&&(y<=1e-6)

返回目录第26页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●程序填空题

3.6习题三●程序填空题

case'-': printf("%g%c%g=%g\n",x,op,y,x-y); break; case'*': printf("%g%c%g=%g\n",x,op,y,x*y); break; case'/': if(___________________________) printf("DivisionError!\n"); else printf("%g%c%g=%g\n",x,op,y,x/y); break; default:printf("ExpressionError!\n"); }}(y>=-1e-6)&&(y<=1e-6)此处填y==0.0不妥原因:无论是float还是double类型的变量,都有精度限制。所以一定要避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。假设浮点变量的名字为y,应当将

if(y==0.0) //隐含错误的比较转化为:if((y>=-EPSINON)&&(y<=EPSINON))其中EPSINON是允许的误差(即精度)。

返回目录第27页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

1.给出三角形的三边a、b、c,求三角形的面积。(应先判断a、b、c三边是否能构成一个三角形)。#include<stdio.h>#include<math.h>main(){

floata,b,c,area,p;

scanf("%f,%f,%f",&a,&b,&c);

p=(a+b+c)/2;

if(a+b>c&&a+c>b&&b+c>a)

{

area=sqrt(p*(p-a)*(p-b)*(p-c));

printf("Area=%6.2f\n",area);

}

elseprintf("Error\n");}

返回目录第28页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

2.输入四个整数,要求将它们按由小到大的顺序输出。#include<stdio.h>main(){

inta,b,c,d,t;

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

if(a>b) {t=a;a=b;b=t;}

if(a>c) {t=a;a=c;c=t;}

if(a>d) {t=a;a=d;d=t;}

if(b>c) {t=b;b=c;c=t;}

if(b>d) {t=b;b=d;d=t;}

if(c>d) {t=c;c=d;d=t;}

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

返回目录第29页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

3.某幼儿园只收2至6岁的小孩,2~3岁编入小班,4岁编入中班,5~6岁编入大班,编制程序实现每输入一个年龄,输出该编入什么班。#include<stdio.h>main(){

intage;

scanf("%d",&age);

switch(age)

{

case2:

case3:printf("Smallclass\n");break;

case4:printf("Middleclass\n");break;

case5:

case6:printf("Largeclass\n");break;

default:printf("Error\n");

}}

返回目录第30页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

4.输入一元二次方程的三个系数a、b、c,求出该方程所有可能的根。#include<stdio.h>#include<math.h>main(){floata,b,c,d,x1,x2;

scanf("%f,%f,%f",&a,&b,&c);

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

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

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

if(fabs(c)<=1e-6)

printf("Theequation’srootisinnumerable\n.");

else

printf("None\n");

else

printf("Theequation’srootis%f\n",-c/b);

else if(fabs(d)<=1e-6)printf("x1=x2=%f\n",-b/(2*a));

返回目录第31页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

else

if(d>1e-6)

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

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

printf("Theequation’srootis");

printf("x1=%f,x2=%f\n",x1,x2);

}

else

{

x1=-b/(2*a);

x2=sqrt(-d)/(2*a);

printf("Theequation’srootis%f+I%f\n",x1,x2);

printf("Theequation’srootis%f-I%f\n",x1,x2);

}}4.输入一元二次方程的三个系数a、b、c,求出该方程所有可能的根。

返回目录第32页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

5.编程求s=1-1/2+1/3-1/4+…-1/100。#include<stdio.h>main(){ intn,flag=1; floats=0; for(n=1;n<=100;n++) { s=s+1.0*flag/n; flag=-flag; } printf("%f\n",s);}

返回目录第33页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

6.编程求1!+2!+3!+…+10!之和。#include<stdio.h>main(){

longints=0,p=1;

intn;

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

{

p=p*n;

s=s+p;

}

printf("%ld\n",s);}

返回目录第34页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

7.一个灯塔有8层,共有765盏灯,其中每一层的灯数都是其相邻上层的两倍,求最底层的灯数。解法一#include<stdio.h>main(){

ints=1,n,p=1;

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

{

p=p*2;

s=s+p;

}

printf("%d\n",765/s*p);}解法二#include<stdio.h>main(){ints=0,n,p=1,f=1,k;while(f){for(k=1;k<10&&f>0;k++)

{s=k;p=k;

for(n=1;n<8;n++){p=2*p;s=s+p;}

if(s==765)

{printf("p=%d\n",p);f=0;break;}

}

}

}

返回目录第35页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

8.一张10元票面的纸钞兑换成1元、2元或5元的票面,问共有多少种不同的兑换方法?#include<stdio.h>main(){inta,b,c,sum=0;

for(a=0;a<=10;a++)

for(b=0;b<=5;b++)

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

if(a+2*b+5*c==10)

{

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

sum++;

}

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

返回目录第36页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

9.编程打印出所有的“水仙花数”。所谓水仙花数:是指一个三位数,其各位数字的立方之和等于该数。#include<stdio.h>main(){

intn,a,b,c;

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

{

a=n/100;

b=n/10%10;

c=n%10;

if(a*a*a+b*b*b+c*c*c==n)

printf("水仙花数有:%5d\n",n);

}}

返回目录第37页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

10.如果一个数等于其所有真因子(不包括其本身)之和,则该数为完数,例如6的因子有1、2、3,且6=1+2+3,故6为完数,求2~1000中的完数。#include<stdio.h>main(){

ints,n,k;

for(n=2;n<=1000;n++)

{

s=0;

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

if(n%k==0)

s=s+k;

if(s==n)

printf("%5d",n);

}

printf("\n");}

返回目录第38页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

11.输出7~1000中个数位为7的所有素数,统计其个数并求出它们的和。#include<stdio.h>main(){intn,count=0,total=0,m,temp,y;

for(n=7;n<1000;n++)

{for(m=2;m<n;m++)

if(n%m==0)break;

if(n==m)

{temp=n%10;

if(temp==7)

{printf("%6d",n);

if(count%5==4)printf("\n");

count++;

total=total+n;

}

}

}

printf("\ncount=%d,total=%d\n",count,total);}

返回目录第39页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

12.将4~100中的偶数分解成两个素数之和,每个数只取一种分解结果。如100可分解为3和97、或为11和89、或为17和83等,但我们只取第一种分解即可。#include<stdio.h>main(){intx,n,k,a,b,count=0;

for(x=4;x<=100;x=x+2)

{for(a=2;a<=(x/2);a++)

{for(k=2;k<a;k++)

if(a%k==0)break;

if(a==k)

{b=x-a;

for(k=2;k<b;k++)

if(b%k==0)break;

if(b==k)

{printf("%3d=%3d+%3d\t",x,a,b);

count++;

break;

if(count%3==0)

printf("\n");

}

}

}

}}

返回目录第40页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第四章控制结构●编程题

13.一个自然数平方的末几位与该数相同时,称该数为同构数。例如252=625,则25为同构数。编程求出1~1000中所有的同构数。#include<stdio.h>main(){

intx;

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

if(x*x%10==x||x*x%100==x||x*x%1000==x)

printf("%5d",x);

printf("\n");}

返回目录第41页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●单项选择题

1.在下列数组定义、初始化或赋值语句中,正确的是___. A)inta[8];a[8]=100; B)intx[5]={1,2,3,4,5,6}; C)intx[]={1,2,3,4,5,6};D)intn=8;intscore[n];2.若已有定义:inti,a[100];则下列语句中,不正确的是____. A)for(i=0;i<100;i++)a[i]=i; B)for(i=0;i<100;i++)scanf("%d",&a[i]); C)scanf("%d",&a); D)for(i=0;i<100;i++)scanf("%d",a+i);CC

返回目录第42页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●单项选择题

3.与定义charc[]={"GOOD"};不等价的是___. A)charc[]={‘G’,’O’,’O’,’D’,’\0’}; B)charc[]="GOOD"; C)charc[4]={"GOOD"}; D)charc[5]={‘G’,’O’,’O’,’D’,’\0’};4.若已有定义:charc[8]={"GOOD"};则下列语句中,不正确的是___. A)puts(c); B)for(i=0;c[i]!=’\0’;i++)printf("%c",c[i]); C)printf("%s",c); D)for(i=0;c[i]!=’\0’;i++)putchar(c);CD

返回目录第43页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●单项选择题

5.若定义a[][3]={0,1,2,3,4,5,6,7};则a数组中行的大小是___. A)2 B)3 C)4 D)无确定值6.以下程序的运行结果是___. #include<stdio.h> voidf(intb[]) { inti=0; while(b[i]<=10) {

b[i]+=2;

i++;

} } A)271211139

B)171211137 C)171211139

D)17129137BBmain(){ inti,a[]={1,5,10,9,13,7}; f(a+1); for(i=0;i<6;i++) printf("%4d",a[i]);}

返回目录第44页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●单项选择题

7.若执行以下程序段,其运行结果是___. charc[]={'a','b','\0','c','\0'}; printf("%s\n",c); A)abc

B)‘a’‘b’

C)abc

D)ab8.数组名作为参数传递给函数,作为实际参数的数组名被处理为___. A)该数组长度 B)该数组元素个数

C)该函数中各元素的值 D)该数组的首地址11.当接受用户输入的含空格的字符串时,应使用函数__. A)scanf()B)gets()C)getchar()D)getc()DDB

返回目录第45页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●单项选择题

9.执行下面的程序段后,变量k中的值为___. intk=3,s[2]={1}; s[0]=k; k=s[1]*10; A)不定值 B)33

C)30

D)010.在定义

inta[5][4];

之后;对a的引用正确的是___. A)a[2][4]

B)a[5][0]

C)a[0][0]

D)a[0,0]DC

返回目录第46页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●程序填空题

1.以下程序用来检查二维数组是否对称(即:对所有i,j都有a[i][j]=a[j][i])。#include<stdio.h>main(){ inta[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,8,6,7,4}; inti,j,found=0; for(j=0;j<4;j++) { for(i=0;i<4;i++) if(___________________) { found=___________________; break; } if(found)break; } if(found) printf("不对称\n"); else printf("对称\n");}a[i][j]!=a[j][i]1

返回目录第47页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●程序填空题

2.以下程序是用来输入5个整数,并存放在数组中,找出最大数与最小数所在的下标位置,并把两者对调,然后输出调整后的5个数。#include<stdio.h>main(){ inta[5],t,i,maxi,mini; for(i=0;i<5;i++) scanf("%d",&a[i]); mini=maxi=_____【3】________; for(i=1;i<5;i++) { if(_______【4】______)mini=i; if(a[i]>a[maxi])_____【5】________; } printf("最小数的位置是:%3d\n",mini); printf("最大数的位置是:%3d\n",maxi); t=a[maxi];______【6】_______; a[mini]=t; printf("调整后的数为:"); for(i=0;i<5;i++) printf("%d",a[i]); printf("\n");}0a[mini]>a[i]maxi=ia[maxi]=a[mini]

返回目录第48页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●程序填空题

3.给定一3x4的矩阵,求出其中的最大元素值,及其所在的行列号:main(){ inti,j,row=0,colum=0,max; staticinta[3][4]={{1,2,3,4},{9,8,7,6},{10,-10,-4,4}}; _______【7】______; for(i=0;i<=2;i++) for(j=0;j<=3;j++) { _____【8】________; _____【9】_______; } printf("%d%d",row,colum);}max=a[0][0]if(a[i][j]>max){ max=a[i][j]; row=i; colum=j;}

返回目录第49页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●程序填空题

4.下述函数用于确定给定字符串的长度,请完成程序。strlen(chars[]){ inti=0; while(______【10】_______)++i; return(______【11】_______);}s[i]!=‘\0’i

返回目录第50页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●程序填空题

5.以下程序的功能是从键盘上输入若干个字符(以回车键作为结束)组成一个字符数组,然后输出该字符数组中的字符串,请填空!#include<stdio.h>main(){ charstr[81]; inti; for(i=0;i<80;i++) { str[i]=getchar(); if(str[i]==’\n’)break; } str[i]=’\0’; _____【12】________; while(str[i]!=’\0’)putchar(_____【13】________);}i=0str[i++]

返回目录第51页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●阅读程序并写出运行结果

1.写出下列程序的运行结果并分析之:#include<stdio.h>main(){ staticinta[4][5]={{1,2,3,4,0},{2,2,0,0,0},{3,4,5,0,0},{6,0,0,0,0}}; intj,k; for(j=0;j<4;j++) { for(k=0;k<5;k++) { if(a[j][k]==0)break; printf("%d",a[j][k]); } } printf("\n");}

返回目录第52页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●阅读程序并写出运行结果

2.写出下列程序的运行结果并分析之:#include<stdio.h>main(){ inta[6][6],i,j; for(i=1;i<6;i++) for(j=1;j<6;j++) a[i][j]=i*j; for(i=1;i<6;i++) { for(j=1;j<6;j++) printf("%-4d",a[i][j]); printf("\n"); }}

返回目录第53页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●阅读程序并写出运行结果

3.写出下列程序的运行结果并分析之:#include<stdio.h>main(){ inta[]={1,2,3,4},i,j,s=0; j=1; for(i=3;i<=0;i--) { s=s+a[i]*j; j=j*10; } printf("s=%d\n",s);}

返回目录第54页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●阅读程序并写出运行结果

4.写出下列程序的运行结果并分析之:#include<stdio.h>main(){ inta[]={0,2,5,8,12,15,23,35,60,65};

intx=15,i,n=10,m; i=n/2+1; m=n/2;

while(m!=0) { if(x<a[i]){i=i-m/2-1;m=m/2;} else if(x>a[i]){i=i+m/2+1;m=m/2;} else break; } printf("place=%d",i+1);}

返回目录第55页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●阅读程序并写出运行结果

5.写出下列程序的运行结果并分析之:#include<stdio.h>main(){ inta[]={1,2,3,4},i,j,s=0; j=1; for(i=3;i>=0;i--) { s=s+a[i]*j; j=j*10; } printf("s=%d\n",s);}

返回目录第56页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●阅读程序并写出运行结果

6.写出下列程序的运行结果并分析之:#include<stdio.h>main(){ charstr[]={"1a2b3c"}; inti; for(i=0;str[i]!='\0';i++) if(str[i]>='0'&&str[i]<='9') printf("%c",str[i]); printf("\n");}

返回目录第57页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●编程题

1.编一程序用简单选择排序方法对10个整数排序(从大到小)。排序思路为:首先从n个整数中选出值最大的整数,将它交换到第一个元素位置,再从剩余的n-1个整数中选出值次大的整数,将它交换到第二个元素位置,重复上述操作n次后,排序结束。2.编写一程序,实现两个字符串的连接(不用strcat()函数)。3.编写一个把字符串转换成浮点数的函数。4.若有说明:inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};现要将a的行和列的元素互换后存到另一个二维数组b中。试编程。5.n皇后问题:在n*n的方阵棋盘上,试放n个皇后,每放一个皇后,必须满足该皇后与其它皇后互不攻击(即不在同一行、同一列、同一对角线上),求出所有可能解。6.背包问题:有一个背包,能装入的物品总重量为S,设有N件物品,其重量分别为W1,W2,……,WN。希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。试编程求解。

返回目录第58页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第五章数组●编程题

返回目录第59页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第六章函数●单项选择题

C语言中函数形参的缺省存储类型是____.

A)静态(static)

B)自动(auto)

C)寄存器(register)D)外部(extern)函数调用语句function((exp1,exp2),18)中含有的实参个数为____.

A)0 B)1

C)2 D)3BC

返回目录第60页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第六章函数●单项选择题

下面函数返回值的类型是____. square(floatx) { returnx*x; }

A)与参数x的类型相同B)是void型

C)无法确定D)是int型C语言规定,程序中各函数之间____.

A)不允许直接递归调用,也不允许间接递归调用

B)允许直接递归调用,但不允许间接递归调用

C)不允许直接递归调用,但允许间接递归调用

D)既允许直接递归调用,也允许间接递归调用DD

返回目录第61页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第六章函数●单项选择题

一个函数返回值的类型取决于____.A)return语句中表达式的类型

B)调用函数时临时指定

C)定义函数时指定或缺省的函数类型

D)调用该函数的主调函数的类型下面叙述中,错误的是____.A)函数的定义不能嵌套,但函数调用可以嵌套

B)为了提高可读性,编写程序时应该适当使用注释

C)变量定义时若省去了存储类型,系统将默认其为静态变量

D)函数中定义的局部变量的作用域在函数内部CC

返回目录第62页/共137页安徽工业大学

计算机学院

胡宏智C语言程序设计课堂练习第六章函数●单项选择题

7)在一个源程序文件中定义的全局变量的有效范围为___.A)一个C程序的所有源程序文件

B)该源程序文件的全部范围

C)从定义处开始到该源程序文件结束

D)函数内全部范围 某函数在定义时未指明函数返回值类型,且函数中没有return语句,现若调用该函数,则正确的说法是___.A)没有返回值B)返回一个用户所希望的值

C)返回一个系统默认值D)返回一个不确定的值CD

返回目录第63页/共137页安徽工业大学

计算机学院

胡宏智C语言程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论