典型试题详解.docx

上传人:b****9 文档编号:25987192 上传时间:2023-06-17 格式:DOCX 页数:37 大小:41.87KB
下载 相关 举报
典型试题详解.docx_第1页
第1页 / 共37页
典型试题详解.docx_第2页
第2页 / 共37页
典型试题详解.docx_第3页
第3页 / 共37页
典型试题详解.docx_第4页
第4页 / 共37页
典型试题详解.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

典型试题详解.docx

《典型试题详解.docx》由会员分享,可在线阅读,更多相关《典型试题详解.docx(37页珍藏版)》请在冰豆网上搜索。

典型试题详解.docx

典型试题详解

典型试题详解

1.以下叙述正确的是________.

A)构成C程序的基本单位是函数.

B)可以在函数中定义另一个函数.

C)main()函数必须放在其他函数之前.

D)所有被调用的函数一定要在调用之前进行定义.

2.一个C程序中________。

A)main函数必须出现在所有函数之前

B)main函数可以在任何地方出现

C)main函数必须出现在所有函数之后

D)main函数必须出现在固定位

3.以下叙述中正确的是________.

A)C语言比其他语言高级.

B)C语言可以不用编译就能被计算机识别执行.

C)C语言以接近英国国家的自然语言和数学语言为语言的表达形式.

D)C语言出现最晚,具有其他语言的一切优点.

4.C语言中用于结构化程序设计的三种基本结构是___.

A)顺序结构、选择结构、循环结构

B)if、switch、break

C)for、while、do-while

D)if、for、continue

第1章基本概念习题

1.一个C语言源程序中()

A)必须有一个主函数.B)可以有多个主函数.

C)必须有主函数和其他函数D)可以没有主函数。

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

A)C程序总是从第一个定义的函数开始执行.

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

C)C程序总是从main()函数开始执行.

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

3.以下叙述不正确的是.

A)一个C源程序必须包含一个main函数

B)一个C源程序可由一个或多个函数组成.

C)C程序的基本组成单位是函数.

D)在C程序中,注释说明只能位于一条语句的后面.

4.以下叙述正确的是

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

B)在C程序中,main函数必须位于程序的最前面

C)C语言本身没有输入输出语句

D)C程序的每行中只能写一条语句.

5.下列四组选项中,均不是C语言关键字的选项是。

A)defineIFtypeB)getccharprintf

C)includecasescanf

D)whilegopow

6.下列四组选项中,均是不合法的用户标识符的选项是。

A)WP_0doB)b-agotoint

C)floatla0_A

D)-123abcTEMP

7.下列四组选项中,均是不合法的用户标识符是。

A)WP_0do

B)b-agotoint

C)floatla0_A

D)-123abcTEMP

二、程序分析题

1.写出下列程序的输出结果。

main()

{printf("\n");

printf("Goodmorning,everyone!

\n");

printf("Goodmorning,Mr.Zhong!

\n");

}

三、填空题

1.C程序是由构成的,其中有且只能有一个函数,该函数名为。

2.用高级语言编写的程序称为程序,它要经过程序一次翻译产生程序然后执行,或经过程序翻译一句执行一句的方式执行。

3.C语言源程序文件名的后辍是,经过编译后,生成文件的后辍是,经过连接后,生成文件的后辍是。

四、编程题

1.编写一个C程序,输入a,b,c三个实数值,计算并输出基平均值ave=(a+b+c)/3.

2.请参照例题,编写一个C程序,输出以下信息。

*********************************************

Hello,World!

*********************************************

3C语言以函数为程序的基本单位,有什么优点?

4.如何给C源程序加注释?

5.C语言中,表达式和表达式语句有什么关系?

6.在C语言的编辑状态下,如何实现块的定义、复制、移动和删除?

7.在C语言的编辑状态下如何获取帮助?

8.在C语言的编辑状态下如何打开功能菜单?

习题--算法

1名词解释:

程序、数据、数据结构、数据类型。

2什么叫算法?

它具有哪些特点?

3程序设计的一般步骤是什么?

4结构化程序设计的方法有哪些特点?

1.算法具有五个特性,以下选项中不属于算法特性的是________。

A)有穷性

B)简洁性

C)可行性

D)确定性

解答题

设计算法并用传统流程图表示出来。

1.从键盘输入一个圆的半径,计算圆的周长和面积。

2.计算1~100之间整数的和。

3.求5!

的算法用流程图表示。

4.将例2.2的算法用流程图表示。

将50个学生之中成绩在80分以上的学号和成绩输出。

5.将例2.3判定2000---2005年中的每一年是否闰年的算法用流程图表示。

6.将例2.4的算法用流程图表示。

求1-1/2+1/3-1/4+…+1/99-1/100

7.将例2.5判断素数的算法用流程图表示。

习题三

1.下列符号属于c语言用户标识符的是()

A)doB)IFC)whileD)for

2.下列数据中不合法的c实数是()

A)3e-5B).6C)5.D)4e3.5

3.下列数据中合法的C字符常数是()

A)’as’B)”a”C)’\123’D)’\’

4.表达式(int)33.0/5的结果为

A)6B)6.6C)7D)以上都不对

以下选项中可作为C语言合法整数的是()

A、10110BB、0386C、0XffaD、x2a2

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

A、1B、2C、2.0D、2.5

5.表达式(int)33.0/5.0的结果为

A)6B)6.6C)7D)以上都不对

6.表达式37/5的值为:

A)7B)7.4C)8D)以上都不对。

7.设有inta=4;b=3;c=2;printf(“%d,%d,%d”,(a,b,c),b,c);的输出结果为

A)4,3,2B)3,3,2

C)2,3,2D)以上都不对

填空:

1.设inta=3,b;则b=3*a++;的结果为。

2.结构化程序设计的三种基本结构为。

3. 表达式x+a%3*(int)(x+y)%2/4的结果为(设x=2.5,y=4.7,a=7)。

4.表达式(5<4)?

(4?

1:

0):

(0?

3:

2)的结果为。

5.C语言中标识符得命名规则为。

三、程序分析题

1.下面程序的输出结果是____。

main()

{inti=010,j=10,k=0x10;

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

}

如何表示下列各项

1)y=sinx+cosx-20x

2)X∈[1,10]

3)年份year为闰年.

4)

5)

习题4---顺序结构

选择题

1.putchar函数可以向终端输出一个。

A)整型变量表达式

B)实型变量值C)字符串D)字符或字符型变量值

2.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式;如果字符串长度小于5,则输出按方式。

A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出.C)右对齐输出该字符串,左补空格D)输出错误信息

3.设inta=3,b;则b=3*a++;的结果为。

4.现有inta,b,c;若想用scanf(“%d:

%d:

%d”,&a,&b,&c);函数使a=10,b=20,c=30;则输入数据流应为。

5.现有inta=0;if(a=0)printf(“China\n”);elseprintf(“America”);则输出结果为。

6.阅读以下程序,当输入数据的形式为:

25,13,10(注:

表示回车),则输出结果为。

main()

{intx,y,z;

scanf(“%d%d%d”,&x,&y,&z);

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

}

A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值

二、填空题

1.C的标准数学函数都包含在头文件_________中。

2.若有定义floatx=1.23444355;则“printf("%f\n",x);”的输出结果为__________。

4.标准C的输入输出是通过________________来实现的。

4.设m=3,n=7,k=9,若有语句“scanf("%dm%dn%dk",&a,&b,&c);”,则正确的输入格式为__________。

5.C的所有输入输出函数都包含在头文件_____中。

#include"stdio.h"

#include"conio.h"

main()

{

inta=1234;

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

printf("%d%d\n",a+=5,a-=3);

printf("%d\t%d\t%d\n",a*=2,a/=3,a%=100);

printf("Hello,\tworld\n");

printf("Hello,world\n");

getch();

}

编程题

1.假设m是一个三位数,写出将m的个位,十位,百位反序而成的三位数(例如:

123反序为321)的C语言表达式。

2.已知intx=10,y=12;写出将x和y的值互相交换的表达式。

思考与练习--选择结构

1.if语句的嵌套结构中,else总是与_____配对。

A)与最近的if配套B)与第一个if配套

C)按缩进位置相同的if配套D)与最近的且尚未配对的if配套.

2.判断变量a,b的值均不为0的逻辑表达式为.

3.将ch=(ch>='A'&&ch<='Z')?

(ch+32):

ch;

用if语句实现.

4.逻辑运算符两侧运算对象的数据类型()

A)只能是0或1B)只能是0或非0正数

C)只能是整型或字符型数据D)可以是任何类型的数据

5.下面是错误的if语句(设intx,a,b;)

  A)if(a=b)x++;B)if(a=

  C)if(a-b)x++;D)if(x)x++;

6.以下程序片段。

   main()

   {intx=0,y=0,z=0;

if(x=y+z)

  printf(“***”);

else

  printf(“###”);

    }

  A)有语法错误,不能通过编译B)输出:

***

  C)可以编译,但不能通过连接,所以不能运行

D)输出:

###

7.下面是错误的。

A)if语句中的表达式不限于逻辑表达式,可以是任意的数值类型。

B)switch语句与if语句可以完全相互替换。

C)switch语句的case表达式必须是常量表达式。

D)if语句、switch语句可以嵌套,而且嵌套的层数没有限制。

E)多个case可以执行相同的程序段。

习题选择结构

1.若有inta=10,b=20,c=30;则执行语句

if(a>b)a=b;b=c;c=a;后a,b,c的结果分别为。

2.判断一个年份(year)是否是润年的条件为。

3.执行以下程序段后,变量i的值为()

inti=2;

switch(i)

{case1:

i+=10;

case2:

i+=10;

case3:

i++;

default:

i++;}

A)24B)14C)12D)13

二、程序分析题

1.写出程序运行结果:

____。

#include"stdio.h"

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;}

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

}

2.下面程序的输出结果是____。

#include

voidmain()

{intk=0;

charc='A';

do{

switch(c++)

{case'A':

k++;break;

case'B':

k--;

case'C':

k+=2;break;

case'D':

k=k%2;break;

case'E':

k=k*10;break;

default:

k=k/3;

}

k++;

}while(c<'G');

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

}

三、程序填空

1.程序功能:

判断输入的整数能否被3或7整除.

#include"stdio.h"

main()

{intx,f=0;

scanf(“%d”,&x);

if

(1)

(2)

if(f==1)printf(“YES\n”);

elseprintf(“NO\n”);

}

习题循环结构

1.语句while(!

E);中的表达式!

E等价于________.

a)E==0b)E!

=1c)E!

=0d)E==1

2.程序段intk=10;while(k=1)k=k-1;循环的次数为。

3.以下程序段________.

x=-1;

do{x=x*x;

}while(!

x);

a)是死循环b)循环执行2次

c)循环执行1次d)有语法错误

4.下面程序的运行结果是______.

#include

main()

{inty=10;

do{y--;}while(--y);

printf("%d\n",y--);

}

a)-1b)1c)8d)0

5.若i为整型变量,则以下循环执行次数是_____.

for(i=2;i==0;)printf("%d",i--);

a)无限次b)0次c)1次d)2次

6.执行语句for(i=1;i++<4;);后变量i的值是______.

a)3b)4c)5d)不定

7.以下正确的描述是_______.

a)continue语句的作用是结束整个循环的执行.

b)只能在循环体内和switch语句体内使用break语句.

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

d)从多层循环嵌套中退出时,只能使用goto语句.

二、填空题

1.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。

请填空。

intn=0,c;

c=getchar();

while(____)

{

if(_____)n++;

c=getchar();

}

2.下面程序段的运行结果是_________.

i=1;a=0;s=1;

do{

a=a+s*i;

s=-s;i++;}

while(i<=10);

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

3.下面程序段的运行结果是_______.

i=1;s=3;

do{s+=i++;

if(s%7==0)continue;

else++i;

}while(s<15);

printf("%d",i);

三、程序分析题

1.写出程序运行结果:

voidmain()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++;

}

x++;

}

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

}

编程题:

打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。

1.将程序补充完整。

以下程序从输入数据中统计正整数和负整数的个数.用输入0来结束输入.变量i存放正整数个数,变量j存放负整数的个数.

voidmain()

{1i,j,n;

i=j=0;

scanf(“%d”,&n);

while

(2)

{if(n>0)(3)

if(n<0)(4)

}

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

}

2、百钱买百鸡.公鸡5元一只,母鸡3元一只,小鸡1元三只;一百元买一百只鸡,且公鸡,母鸡,小鸡都要有.有几种买法?

voidmain()

{inti,j,k,n=0;

for(i=1)

for(j=2)

{k=100-i-j;

if(3==100)

{n++;printf(i=%d,j=%d,k=%d\n”,i,j,k);}

}

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

}

2.编程输出下面的数字金字塔(1到9)。

1

121

12321

.…..

12345678987654321

习题数组

1.在C语言中,引用数组元素时,其数组下标的数据类型允许是。

A)整型常量B)整型常量或整型表达式

C)整型表达式D)任何类型的表达式

2.inta[SIZE];以下能对一维数组a进行正确初始化的语句是。

A)inta[10]=(0,0,0,0,0);B)inta[10]={};

C)inta[]={0};D)inta[10]={10*1};

3.以下对二维数组c的声明正确的是_______。

A)intc[3][];B)intc(3,4);

C)intc

(2)

(2);D)intc[3][2];

二、填空题

1.数组名定名规则和变量名相同,遵循定名规则。

2.对于一维数组的定义“类型说明符数组名[常量表达式]”,其中常量表达式可以包括和,不能包含。

3.在C语言中,引用数组只能通过数组元素来实现,而不能通过整体引用来实现。

4.现有chara[20];scanf(“%s”,a);

输入数据流为234asd,则a=。

5.若有定义intw[10]={23,54,10,33,47,98,72,80,61},*p=w;,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是。

分析下面程序的运行结果。

#include"stdio.h"

intf(intb[],intm,intn)

{inti,s=0;

for(i=m;i

returns;

}

voidmain()

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

x=f(a,3,7);

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

}

例6一个数组中有10个整型元素,求数组中所有素数之和。

#include"stdio.h"

#include"math.h"

voidmain()

{inta[10],i,sum=0;

intprime(intx);

printf(“Enter10numbers:

\n");

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

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

if(prime(a[i]))sum+=a[i];

}

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

}

输出杨辉三角形的前5行。

#defineN5

#include"stdio.h"

voidmain()

{inti,j;intx[N][N];

for(i=0;i

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

{if(j==0||i==j)x[i][j]=1;

elsex[i][j]=x[i-1][j]+x[i-1][j-1];

}

for(i=0;i

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

printf("%d",x[i][j]);

printf("\n");

}}

1、用选择法对10个整数进行从小到大排序。

2、用冒泡法对10个字符串进行从小到大(字典顺序)排序。

3、求n*n矩阵中的最大值。

4、用折半法查找整数x是否在数组a中。

习题函数

1.在C语言程序中关于函数的定义和调用的说法正确的是()

A)函数的定义可以嵌套,而函数的调用不可以嵌套。

B)函数的定义不可以嵌套,而函数的调用可以嵌套。

C)函数的定义和嵌套都可以嵌套。

D)函数的定义和调用都不可以嵌套。

2.设有inta=4;b=3;c=2;printf(“%d,%d,%d”,(a,b,c),b,c);的输出

结果为

A)4,3,2B)3,3,2C)2,3,2D)以上都不对

3.简单变量做实参时,实参与其对应的形参之间的数据传递方式是________。

A)双向值传递方式B)地址传递方式

C)单向值传递方式D)用户指定传递方式

3.以下程序的运行结果是_________

f(inta)

{intb=0;

staticintc=3;

b++;c++;return(a+b+c);}

main()

{inta=2i;

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

printf(“%d\t”,f(a));

}

习题(变量的属性)

一、选择题

1.以下正确的说法是;如果在一个函数中的复合语句中定义了一个变量,则该变量

A)只

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小学作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1