程序设计基础(C)习题指导书2014版(附带答案)(7)

2019-03-28 15:33

《程序设计基础(C)》习题指导书

printf(“\\n”); }

4.对下面程序段描述正确的是( )。

A.while循环执行了10次 B.循环是无限循环

C.循环体语句一次也不执行 D.循环体语句只执行一次 int x=10;while(x=0)x=x-1; 5.以下关于for循环的正确描述是( )。 A.for循环只能用于循环次数已确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体

D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 6. 若有以下语句:

int x=3; do{

printf(\)while(!(--x));

则以上程序输出结果是( )。

A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环 7.下列循环语句中有语法错误的是( )。

A. while(x==y)5; B. while(0);

C. do{ 2;}while(x==11); D. do{ x++}while(x==1O);

8.已知char ch;执行语句\时输入:abcde<回车>后, 变量ch的值是( )。

A. ch='e' B. ch='\\n' C.ch='0' D. ch=NULL 9.下面程序的运行结果是( )。

#include main( )

{int y=10;

do{y--;}while(--y); printf(\\n\; }

A.-l B.l C.8 D.0 ㈢.程序设计题

1.求Fibonacci数列前40个数。 2.打印1000以内的所有素数。

3.利用辗转相除法计算输入的两个数m,n的最大公约数。 4.输入一个数n,输出这个数的所有因子。 5.编程打印如下图形(行数n由键盘输入): * * * * * *

* * * *

6.利用近似公式e≈1/1!+1/1!+??+l/n!,计算自然对数的底e的近似值(n从键盘输入,n<10)。

7.编写程序求1000以内的所有完全数。(说明:一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数,例如:6=l+2+3,6为完全数。

8.每个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果个数达到不超过l00的最大值。编写程序,求每天平均花多少钱?

第 31 页 共 64 页

《程序设计基础(C)》习题指导书

? 提高篇

㈠.填空题

1.以下程序段的输出结果 8*6*4*2*0回车8*6*4*2*0 。

for(i=0;i<3;i++,i++) { for(j=10;j>0;j--) { if((j+i)%2){ j--;printf(“*%d ”,j);continue;} --j;--j;printf(“%d ”,j);} printf(“\\n”);}

2.以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空:

main()

{ float x,amax,amin; scanf(“%f”,&x);amax=x;amin=x; while( x>0 )

{ if(x>amax)amax=x; if( x

3.以下程序段的输出结果 。

a=10;y=0;

do { a+=2;y+=a; printf(“a=%d,y=%d\\n”,a,y); if(y>50)break;}while(a=14); 答案: a=2,y=12 a=16,y=28 a=16,y=44 a=16,y=60 ㈡.选择题

1.阅读程序.写出程序的输出结果( )。

#include main() {

char i,j:

for(i='0',j='9';i

A. 01234567890 B. 0918273645 C.9876543210 D. 以上三个答案均不对

2222

2.求取满足式l十2十3十······十n≤1000的n.正确的语句是( )。 A. for(i=1,s=0;(s=s+i*i)<=l000;n=i++) B.for(i=1,s=0;(s=s+i*i)<=l000;n=++i) C.for(i=1,s=0;(s+++i*i)<=l000;n=i) D.for(i=1,s=0;(s=s+i*i++)<=l000;n=i) 3.下列程序段中是死循环的是( )。

A.int n=1;while(!n)n++; B.int n=1;do { n--;}while(n);

第 32 页 共 64 页

《程序设计基础(C)》习题指导书

C.int n=1;do { n++;}while(n); D.for(n=5;n<1;);

4.以下能正确计算1╳2╳3╳?╳10的程序段是( )。 A.do { k=1;n=1;n=n*k;k++;}while(k<=10); B.do { k=1;n=0;n=n*k;k++;}while(k<=10); C.k=1;n=1;do { n=n*k;k++;}while(k<=10); D.k=1;n=0;do { n=n*k;k++;}while(k<=10); 5.若x是int型变量,以下程序段的输出结果是( )。 A.**3 B.##3 C.##3 D.**3##4 ##4 **4 **4##5 **5 **5 ##5

for(x=3;x<6;x++)printf((x%2)?(“**%d”) :(“##%d\\n”),x); 6.以下程序的输出结果是( )。

A.*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$ main() { int i;

for(i=1;i<=5;i++) { if(i%2)printf(“*”);else continue; printf(“#”);} printf(“$\\n”); } ㈢.程序设计题

1.设100以内能被3整除的所有数之和为s1,能被4整除的数为s2,判断s1和s2的大小。

2.试编程序,找出1至99之间的全部同构数。同构数是这样一组数:它出现在平方数的右边。例如:5是25右边的数,25是625右边的数,5和25都是同构数。

2xsin(x)3.使用梯形法计算?0edx的值。

4.利用二分法计算x3+x*sin(x)-2=0在区间(0,2)的近似解。 5.编写程序求解下式中各字母所代表的数字。

P E A R - A R A P E A

第五章 数组及其应用

一.知识点

1.数组的概念与定义; 2.数组的初始化; 3.数组元素的引用;

4.字符数组的定义、使用、字符串处理函数; 5.数组数据的一般处理方式。

二.习题 ? 基础篇

㈠.填空题

1.若有定义:double w[10];则w数组元素下标的上限是 9 ,下限是 0 。 2.以下程序的输出结果是 12 。

main()

{ int arr[10],i,k=0;

第 33 页 共 64 页

《程序设计基础(C)》习题指导书

for(i=0;i<10;i++) arr[i]=i;

for(i=0;i<4;i++) k+=arr[i]+i; printf(“%d\\n”,k); }

3.以下程序的输出结果是 -850,2,0 。

main()

{ int i,j,row,col,m;

int arr[3][3]={{100,200,300},{28,72,-30},{-850,2,6}}; m=arr[0][0];

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

for(j=0;j<3;j++) if(arr[i][j]

4.在C语言中,二维数组元素在内存中的存放顺序是 先行后列 。

5.若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为 i*m+j+1 。 6.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是 0 ,a[2][1]得到的初值是 6 。

7.若有说明char s[20];如果想从键盘上把字符串“This is a book.”输入到数组s中,应当调用的函数是 gets() ;函数调用语句的形式是 gets(s); 。

8.若有char str1[20]={“a good”},str2[ ]={“ student”};能把str2中的字符串接到str1中的字符串后面的函数调用语句是 strcat(str1,str2); 。

9.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值为______ 0_____。 10.若有定义int a[2][5],则整型数组a包含有 _____10 _____个元素。

11.若有说明:int a[ ][3]={1,2,3,4,5,6,7};则a数组第一维的大小是____ 3____。 12.若二维数组a有m列,则在a[i][j]前的元素个数为____ _i*m+j_____。 14.下面程序段的运行结果是 ab 。 char c[5]={'a','b','\\0','c','\\0'}; printf(\

15.下面程序段的运行结果是 C 。 char a[7]=\ char b[4]=\ strcpy(a,b);

printf (\

16.判断字符串s1是否大于字符串s2应当使用语句 if(strcmp(s1,s2)>0) 。 ㈡.选择题

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

A.不确定的值 B.3 C.2 D.1 main()

{ int n[2]={0},i,j,k=2; for(i=0;i

for(j=0;j

2.以下对一维数组a的正确说明是( )。 A.char a(10); B.int a[ ];

C.int k=5,a[k]; D.char a[ ]={‘a’,‘b’,‘c’}; 3.若有说明语句:int a[2][4];则对a数组元素的正确引用是( )。

A.a[0][3] B.a[0][4] C.a[2][2] D.a[2][2+1] 4.以下能对二维数组y进行正确初始化的语句是( )。

第 34 页 共 64 页

《程序设计基础(C)》习题指导书

A.int y[2][ ]={{ 1,0,1 },{ 5,2,3 }};

B.int y[ ][3]={{1,2,3},{4,5,6}}; C.int y[2][4]={1,2,3},{4,5},{6};

D.int y[ ][3]={{1,0,1,0},{ },{1,1}};

5.若有说明语句:int y[ ][4]={0,0};则下面不正确的叙述是( )。 A.数组y的每个元素都可以得到初值0;

B.二维数组y的行数为1; C.该说明等价于int y[ ][4]={0}; D.只有元素y[0][0]和y[0][1]可得到初值0,其余元素均得不到初值0;

6.若有说明语句:int a[ ][3]={1,2,3,4,5,6,7,8};则a数组的行数为( )。 A.3 B.2 C.无确定值 D.1 7.若有以下语句,则正确的描述是( )。 char x[ ]=“12345”;char y[ ]={‘1’,‘2’,‘3’,‘4’,‘5’}; A.x数组与y数组的长度相同 B.x数组长度大于y数组长度 C.x数组长度小于y数组长度 D.x数组等价于y数组 8.下面程序段的运行结果是( )。

A.‘a’‘b’ B.ab C.ab c D.abc char c[5]={‘a’,‘b’,‘\\0’,‘c’,‘\\0’};printf(“%s”,x); 9.有两个字符数组a、b,则以下能正确为a、b进行赋值的语句是( )。

A.gets(a,b); B.scanf(“%s%s”,&a,&b); C.getchar(a);getchar(b); D.gets(a);gets(b);

10.有字符数组s1[80]和s2[80],则以下能正确对s1、s2进行输出的语句是( )。

A.puts(s1,s2); B.printf(“%s,%s\\n”,s1,s2); C.putchar(s1,s2); D.puts(s1),puts(s2); 11.下面描述正确的是( )。

A.两个字符串所包含的字符个数相同时,才能比较字符串; B.字符个数多的字符串比字符个数少的字符串大

C.字符串“STOP ”与“STOP”相等 D.字符串“That”小于字符串“The” 12.以下对字符数组的描述中错误的是( )。

A.字符数组中可以存放字符串 B.字符数组中的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D.不可以用关系运算符对字符数组中的字符串进行比较 13.语句printf(“%d\\n”,strlen(“school”));的输出结果是( )。

A.7 B.6 C.存在语法错误 D.不定值

14.有语句char s1[10],s2[10]={“books”};则能将s2的值正确赋给s1的语句是( A.s1={“books”}; B.strcpy(s1,s2); C.s1=s2; D.strcpy(s2,s1);15.若有说明:int a[3][4]; 则对a数组元素的正确引用是( )。

A. a[2][4] B. a[1,3] C. a[1+1][0] D. a(2)(1) 16.若有说明:int a[]「4]={0,0};则下面不正确的叙述是( )。

A.数组a的每个元素都可得到初值0 B.二维数组a的第一维大小为1 C.因为二维数组0中第二维大小的值除以初值个数的商为1,故数组a行数为1 D.只有元素a[0]「0」和a[0]「1」可得初值0,其余元素均得不到初值0 17.若有说明:int a[3]「4];则数组a各元素( )。

A.可在程序的运行阶段得到初值0 B.可在程序的编译阶段得到初值0 C.不能得到确定的初值 D.可在程序的编译或运行阶段得初值0 ㈢.判断题

1.数组的长度是固定的。( )?

第 35 页 共 64 页


程序设计基础(C)习题指导书2014版(附带答案)(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年高考成语复习分类[五]特殊用法类[六]谦辞敬辞类(精校WORD

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

马上注册会员

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