C语言第四章习题-2012.10.9更新

合集下载

c语言1-4章习题答案

c语言1-4章习题答案
}
习题3-3
#include <stdio.h>
void main()
{int a=5,b=7;
float x=67.8564,y=-789.124;
char c='A';
long n=1234567;
unsigned u=65535;
printf("%d%d\n",a,b);
printf("%3d%3d\n",a,b);
{
char c1,c2; /*定义为字符型*/
int i1,i2; /*定义为整型*/
printf("请输入两个整数i1,i2:");
scanf("%d,%d",&i1,&i2);
c1=i1; /*将整数赋值给字符变量*/
c2=i2;
printf("按字符输入结果:\n");
printf("%c,%c\n",c1,c2);
i1=c1; /*赋值给整型变量*/
i2=c2;
printf("按字符输入结果:\n");
printf("%c,%c\n",i1,i2);
printf("按整数输入出结果:\n");
printf("%d,%d\n",c1,c2);
}
习题3-8-3
#include <stdio.h>
void main()
}
习题1-6
#include <stdio.h>
void main()
{int a,b,c,max;
printf("please input a,b,c:\n");

C语言章节习题集(全)

C语言章节习题集(全)

C语言程序设计第一、二章单项选择题1.将汇编语言编写的程序翻译成目标程序的程序是()A)解释B)编译C)汇编D)目标2.不属于面向机器语言的是()A)符号语言B)二进制语言C)3.A)解释B)编译C)汇编D)二进制4.不属于高级语言的是()。

5.A)D)分支结构6、CA7A、在main()函数中定义B、C语言程序总是从第一个定义的函数开始执行C、C语言程序中,main()函数必须放在程序的开始部分D、C语言程序总是从main()函数开始执行8、以下对C语言描述中正确的是()。

A、C语言源程序中可以有重名的函数B、C语言源程序中要求每行只能书写一条语句C、C语言源程序中,注释可以出现在任何位置D、最小的C源程序中没有任何内容9、对C语言源程序执行过程描述正确的是()。

A、从main()函数开始执行,到main()函数结束B、从程序的第一个函数开始执行,到最后一个函数结束C、从mainD、填空题1.2.3.4.用C C程序”,扩展名规定为“____”。

5.C OBJ”的____。

6.C____,才能"EXE"。

7、89.选择结构是____选择某个操作来执行的—种程序结构。

10.选择结构可以分为____、双分支结构和多分支结构。

11.循环结构又可分为当型循环、____及次数型循环。

第三章数据类型、运算符与表达式单项选择题1.以下程序的输出结果是。

main(){inta=10,b=10;printf("%d,%d",a--,++b);}A)10,11B)10,10 C)9,9D)9,112.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是A)'a'&&'b'B)a<=b3.设ch是char型变量,其值为4.main();}A)003B)012 C)103D)1125.字符串“\t\n\\\045\’”的长度为。

程序设计基础-c语言-第四章数组-教材答案-科学出版社

程序设计基础-c语言-第四章数组-教材答案-科学出版社

程序设计基础-c语言-第四章数组-教材习题及其答案1.0编程将一个一维数组的值按逆序重新存放#include<stdio.h>void main(){int i_data[10];int m,i_temp;printf("给定10个数,用空格分隔:");scanf("%d %d %d %d %d %d %d %d %d %d",&i_da ta[0],&i_data[1],&i_data[2],&i_data[3],&i_data[4],&i_d ata[5],&i_data[6],&i_data[7],&i_data[8],&i_data[9]);for(m=1;m<=10/2;m++) //有意写成10/2 已解决任意一维数组的逆序问题,为什么此处用m=1;m<=10/2,而不能m=0;m<10/2{ i_temp=i_data[m-1]; //下面三条语句是典型的两数交换的方法i_data[m-1]=i_data[10-m];i_data[10-m]=i_temp;}for(m=0;m<10;m++){ printf("%d ",i_data[m]);}printf("\n");}2.0 编程求Fibonacci数列的前二十项。

FIBONACCI数列的定义F0=0,F1=1,Fn=Fn-1+Fn-2#include<stdio.h>void main(){int F[20];int m,n,i_blanknum;for(m=0;m<20;m++){ switch(m){ case 0:F[0]=0;break;case 1:F[1]=1;break;default: F[m]=F[m-1]+F[m-2];}}printf("Fibonacci数列的前20项是:\n"); for(m=0;m<20;m++){ printf("%d ",F[m]);}printf("\n");//下面输出项,这是我加的效果for(m=0;m<20;m++){ printf("%d",m+1); //输出项的编号//计算该项数据占几位i_blanknum=1;//每个数据间占一个空格n=F[m];do{ i_blanknum=i_blanknum+1;n=n/10;}while(n!=0);//减去该项编号数据占的位数n=m+1;do{ i_blanknum=i_blanknum-1;n=n/10;}while(n!=0);//输出空格while(i_blanknum>0){ printf(" ");i_blanknum--;}}printf("\n");}2.0在一个从小到大排列的数组中查找X,若x存在就将其测出,若不存在将其添加。

C 课后习题答案第四章

C  课后习题答案第四章
case 'b' : cout << '$' ; break ;
case 'c' : cout << '*' ; break ;
case 'd' : continue ;
}
cout << '#' << endl ;
}
}
答案:
$#
*#
*#
%
7.#include <iostream.h>
void main()
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
int isPrime(int);
void createAry(int[], int);
void outAry(const int[], int);
void main()
cout << f( a, 3, 3 ) << endl ;
}
int f( int a[][3], int row, int col )
{int i, j, t=1 ;
for( i=0; i<row; i ++ )
for( j=0; j<col; j++ )
{a[i][j] ++ ;
if( i == j ) t*= a[i][j] ;
}
void createAry(int a[], int n)
{ srand( time(0) );

C语言程序设计教程第四章练习题解析

C语言程序设计教程第四章练习题解析
4对:在C++中在复合语句中定义变量为合法,但在C语言中就是非法得
12、C语言程序得基本单位就是( )、
A.程序行
B、语句
C、函数
D、字符
答案:C
解析:函数就是C语言程序得基本单位
13、C语言中决定函数返回值得类型得就是()、
A、return语句中得表达式类型
B、调用函数得主调函数类型
C。调用函数时临时
intd=1;
intfun(intp)
{
staticintd=5;
d+=p;
printf("%d ",d);
return d;
}
voidmain()

ﻩint a=3;
ﻩprintf("%d \n",fun(a+fun(d)));

A.699
B、66 9
C、61515
D、6 615
答案:C
解析:首先调用fun(d),将全局变量d=1带入,此时fun()函数内得静态局部变量d得值就是1,d+=p后d得值就是6,输出d得值,返回d得值;
A、当调用时,会调用内部函数
B、当调用时,会调用外部函数
C.当调用时,会调用两次,先调用内部函数再调用外部函数
D、都不调用,会报错
答案:A
解析:当内部函数与外部函数重名时,会优先调用内部函数
6、在C语言中,声明外部函数需要添加得关键字就是()
A、extern
B、static
C、this
D.auto
答案:A

ﻩintd=5;
ﻩd+=p++;
ﻩprintf(”%d”,d);
}

(完整版)C语言各章练习题

(完整版)C语言各章练习题

目录第一章程序设计和C语言 (2)第二章最简单的C程序设计 (2)第三章选择结构程序设计 (4)第四章循环结构程序设计 (7)第五章数组 (11)第六章函数 (14)第七章指针 (18)第一章程序设计和C语言一、选择题:1.一个C程序的执行是从( )A、本程序的main函数开始,到main函数结束B、本文件第一个函数开始,到本文件的最后一个函数结束C、本程序的main函数开始,到本文件的最后一个函数结束D、本文件的第一个函数开始,到本文件的main结束2.以下说法不正确的是()A、一个C源程序可由一个或多个函数组成B、一个C程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面3.C语言规定:在一个源程序中,main函数的位置()A、必须在开始B、必须在系统调用的库函数的位置C、可以任意D、必须在最后4.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( )A、program.bak和program.objB、program.obj和program.exeC、program.exl和program.cD、program.bak和prgram.exe第二章最简单的C程序设计一、选择题1.是合法的用户自定义标识符的( )A、ah-spksB、doubleC、<ctrl>D、_myapple2.以下正确的C语言标识符是()A、%xB、a+bC、a123D、test!3.以下不能定义为用户标识符的是( )A、V oidB、b_2C、intD、name4.以下选项中可作为C语言合法整数的是( )A、11010(B)B、0583C、x2b2D、0xafb5.VC++6.0中的短整型数值在计算机中占用的字节个数是( )A、1B、2C、3D、46.设short int型的数据长度为2个字节,则unsigned short 类型数据的取值范围是()P34A、均为2个字节B、0至65535C、-3276至32767D、-256至255 7.以下选项中可作为C语言合法常量的是()(指数E或e前必须有数字,后面必须有整数)A、-80.0B、-080C、-8e1.2D、-80.0e8.在VC++6.0编译环境下,下列式中,值不为4的表达式是()P34,double为8字节A、sizeof(unsigned long)B、sizeof(long)C、sizeof(unsigned int)D、sizeof(double)9.设有说明语句:char a=’\123’;则变量a( )一个ascii字符A、包含1个字符B、包含2个字符C、3个字符D、说明不合法10.设x为一数字字符,则其所对应的十进制数值为()。

C语言第4章 习题解答

C语言第4章 习题解答
y1= (x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
请填空。
/*文件路径名:e4_2_1\main.c */
#include <stdio.h>/*标准输入/输出头文件*/
#include <math.h>/*数学函数首部文件*/
doubleFun(double x) { return x*x - 2 * x + 6; }
解析:面向对象技术有三个重要特性:封装性、继承性和多态性;而类比性不属于面向对象的特征。
答案:C
12.对于一个正常运行的C程序,以下叙述中正确的是。
A)程序的执行总是从main函数开始,在main函数结束
B)程序的执行总是从程序的第一个函数开始,在main函数结束
C)程序的执行总是从main函数开始,在程序的最后一个函数中结束
printf("%d\n", s);/*输出s */
return 0;/*返回值0,返回操作系统*/
}
程序运行后的输出结果是。
A)24B)28C)32D)36
解析:main()函数在开始时,s=a=4,其中的a为全局变量。
第1次循环时,i=0,f(i)=f(0),将0传递给形参n,首先执行if语句中的条件“n%2”;条件为假,则执行else下的复合语句“{ int a = 7; t += a++; }”,可知t=0+7=7,使用return返回t=7+(a++)=7+5=12,a运算完后自增1,变为6,这里的a为函数f()内,复合语句之外的a,返回主函数后s=4+12=16。

C语言第四章习题

C语言第四章习题

练习4-1一、选择题1.已知:char c='A'; int i=1, j;,执行语句j=!c&&i++;,则i和j的值是( )。

A.1,1 B.1,0 C.2,1 D.2,02.已知:int x=1, y=2, z;,则执行z=x>y?++x:++y;,则z的值为( )。

A.1 B.2 C.3 D.43.已知:int a=4, b=5, c;,则执行表达式c=a=a>b后变量a的值为( )。

A.0 B.1 C.4 D.54.已知:char ch='A';,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch;的值是( )。

A.'A' B.'a' C.'Z' D.'z'5.若w=1, x=2, y=3, z=4;,则条件表达式w>x?w:y<z?y:z的结果为( )。

A.4 B.3 C.2 D.16.已知:int w=3, x=10, z=7;,则执行下面语句后的结果为( )。

printf("%d",x>10?x+100:x-10);printf("%d",w++||z++);printf("%d",!w>z);printf("%d",w&&z);A.0111 B.1111 C.0101 D.01007.已知:a=b=c=1且a、b、c均为int型变量,执行以下语句:++a||++b&&++c;则变量a值为( ①),b值为( ②)。

①A.不正确B.0 C.2 D.1②A.1 B.2 C.不正确D.08.执行下面语句后x的值为( )。

int a=14, b=15, x;char c='A';x=((a&b)&&(c<'a'));A.TRUE B.FALSE C.0 D.19.要判断char型变量m是否是数字,可以使用下列表达式( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

练习4-1一、选择题1.已知:char c='A'; int i=1, j;,执行语句j=!c&&i++;,则i和j的值是(C B )。

A.1,1 B.1,0 C.2,1 D.2,02.已知:int x=1, y=2, z;,则执行z=x>y?++x:++y;,则z的值为( C )。

A.1 B.2 C.3 D.43.已知:int a=4, b=5, c;,则执行表达式c=a=a>b后变量a的值为( A )。

A.0 B.1 C.4 D.54.已知:char ch='A';,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch;的值是( B )。

A.'A' B.'a' C.'Z' D.'z'5.若w=1, x=2, y=3, z=4;,则条件表达式w>x?w:y<z?y:z的结果为(B )。

A.4 B.3 C.2 D.16.已知:int w=3, x=10, z=7;,则执行下面语句后的结果为( C )。

printf("%d",x>10?x+100:x-10);printf("%d",w++||z++);printf("%d",!w>z);printf("%d",w&&z);A.0111 B.1111 C.0101 D.01007.已知:a=b=c=1且a、b、c均为int型变量,执行以下语句:++a||++b&&++c;则变量a值为(C ①),b值为( ②B A)。

①A.不正确B.0 C.2 D.1②A.1 B.2 C.不正确D.08.执行下面语句后x的值为(D )。

int a=14, b=15, x;char c='A';x=((a&b)&&(c<'a'));A.TRUE B.FALSE C.0 D.19.要判断char型变量m是否是数字,可以使用下列表达式( A B )。

A.0<=m&&m<=9 B.'0'<=m&&m<='9'C."0"<=m&&m<="9" D.前面三个答案均是错误的10.能正确表示“当x取值在[1..10]和[200..210]范围内为真,否则为假”的表达式是( C )。

A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B.(x>=1)||(x<=10)||(x>=200)||(x<=210)C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)11.设x、y和z是int型变量,且x=3, y=4, z=5,则下面表达式中值为0的是( D )。

A.'x'&&'y'B.x<=y C.x||y+z&&y-z D.!((x<y)&&!z||1) 12.已知x=43, ch='A', y=0;,则表达式x>=y&&ch<'B'&&!y的值是( C )。

A.0 B.语法错C.1 D.“假”13.判断char型变量c1是否为小写字母的正确表达式为( D )。

A.'a'<=c1<='z' B.(c1>=a)&&(c1<=z)C.('a'>=c1)||('z'<=c1) D.(c1>='a')&&(c1<='z')二、读程序、写结果14.下面程序的运行结果:①(17 )、②( 102 )、③(6 9)、④(0 127 )、⑤( 0,-1,0 00-1)。

#include <stdio.h>main(){ int i=16, j, x=6, y, z;j=i+++1; printf("%d\n", j); /*输出①*/x*=i=j; printf("%d\n", x); /*输出②*/x=1; y=2; z=3;x+=y+=z;printf("%d\n", z+=x>y?x++:y++); /*输出③*/x=0x02ff; y=0xff00;printf("%d\n", (x&y)>>4|0x005f); /*输出④*/x=y=z=-1;++x||++y&&++z;printf("%d%d%d\n", x, y, z); /* ⑤*/}练习4-2一、选择题1.下面程序的输出是(A )。

#include <stdio.h>main(){int x=1, y=0, a=0, b=0;switch (x){ case 1: switch (y){ case 0: a++; break;case 1:b++; break;}case 2: a++; b++; break;}printf("a=%d, b=%d\n", a, b);}A .a=2, b=1B .a=1, b=1C .a=1, b=0D .a=2, b=22.若有说明:int x ,y;,不能实现以下函数关系的程序段是( B )。

()()()⎪⎩⎪⎨⎧>=<-=000101x x x y A .if (x<0) y=-1; B .y=-1; C .y=0; D .if (x>=0) else if (x==0) y=0; if (x!=0) if (x>=0) if (x>0) y=1; else y=1; if (x>0) y=1; { if (x>0) y=1; } else y=0; else y=0; else y=-1; else y=-1;3.已知:int x, a, b;,下列选项中错误的if 语句是(A B )。

A .if (a=b) x++;B .if (a=<b) x++;C .if (a-b) x++;D .if (x) x++;4.若int i=10;,执行下列程序后,变量i 的正确结果是( D )。

switch (i){case 9: i+=1;case 10:i+=1;case 11:i+=1;default:i+=1;}A .10B .11C .12D .135.设有说明语句:int a=1, b=0;,则执行以下语句后输出为( B )。

switch (a){case 1: switch (b){ case 0: printf("**0**"); break;case 1: printf("**1**"); break;}case 2: printf("**2**"); break;}A.**0** B.**0****2** C.**0****1****2** D.有语法错误6.阅读下列程序,其运行结果是(DA )。

#include <stdio.h>main(){char c='A';if ('0'<=c<='39') printf("YES");else printf("NO");}A.YES B.NO C.YESNO D.语句错误7.下列程序的运行结果为( C )。

#include <stdio.h>main(){int a=2, b=-1, c=2;if (a<b)if (b<0) c=0;else c+=1;printf("%d\n", c);}A.0 B.1 C.2 D.38.阅读程序,其运行结果是( D C)。

#include <stdio.h>main(){int a=-1, b=1, k;if ((++a<0)&&(b--<=0)) printf("%d %d\n", a, b);else printf("%d %d\n", b, a);}A.-1 1 B.0 1 C.1 0 D.0 09.选择运行结果。

#include <stdio.h>main(){char ch;ch=getch();switch (ch){ case 65: printf("%c", 'A');case 66: printf("%c", 'B');default:printf("%s\n", "other");}}如程序可以正常运行,当从键盘输入字母A时,输出结果为(B )。

A.A B.ABother C.Aother D.编译错误,无法运行10.当a=1, b=3, c=5, d=4时,执行完成下面一段程序后x的值是( B )。

if (a<b)if (c<d) x=1;else if (a<c)if (b<d) x=2;else x=3;else x=6;else x=7;A.1 B.2 C.3 D.6二、填空题11.以下程序的输出结果是( -1 )。

main(){ int a=100, x=10, y=20, ok1=5, ok2=0;if (x<y)if (y!=10)if (!ok1) a=1;else if (ok2) a=10;a=-1;printf("%d\n",a);}12.阅读以下程序:main(){ int t, h, m;scanf("%d", &t);h=(t/100)%12;if (h==0) h=12;printf("%d:", h);m=t%100;if (m<10) printf("0");printf("%d",m);if (t<1200||t==2400) printf("AM");else printf("PM");}若运行时输入:1605<CR>,程序的运行结果是( 416PM)。

相关文档
最新文档