组名作为参数时其数据传递方式为单向值传递。( )
8.C语言的一个重要特点是能够直接处理物理地址,其指针类型数据就是用来存放变量地址的。( ) 9.字符串是C语言中一种基本数据类型,字符串总是以‘\\n’作为结束标志。( ) 10.C程序的三种结构化程序设计方法分别顺序结构、选择结构和循环结构,由这三种结构组成的程序可以解决任何复杂的问题。( ) 三、程序填空题(本大题12分,每小题2分)
1.下面程序的功能是利用函数调用求两整数的最大公约数和最小公倍数,请填空。 main( )
{ int a, b ,c,d;
scanf(“%d, %d”, &a, &b ) ; c = gongyue( a, b ) ; (1) ; printf(“gongyue=%d,gongbei=%d\\n”, c,d ) ; } gongyue( int num1, int num2 ) { int temp, x, y ; if (__ (2) __)
{ temp=num1; num1=num2 ; num2=temp ; } x=num1 ; y=num2 ; while(__ (3) _____) { temp=x%y ; x=y ; y = temp ; } return (y) ; }
2.下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行3个元素输出数组b。请填空。
main( )
{ int a[10],b[10], I; for(I=0;I<10; I++) scanf(“%d”,&a[I]) ;
for(I=1; (4) ; I++) b[I]= (5) ; for(I=1;I<10;I++) { printf(“=”,b[I]); if ( (6) ) printf(“\\n”); } }
四、写出下面程序的执行结果(本大题24分,每小题4分) 1.main( ) { int i;
for(i=1;i<=5;i++)
switch(i%5)
{ case 0: printf(“*”) ; break; case 1: printf(“#”) ; break; default: printf(“\\n”); case 2: printf(“&”); } } 2. main( )
{ char a[5][5],i,j; for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(i= =0||i= =j)
a[i][j]='*'; else a[i][j]=' '; for(i=0;i<5;i++) {for(j=0;j<5;j++) printf(\
printf(\ } }
3. main( )
{ int i=5 ;
printf(“%d\\n”, sub(i) ); } sub( int n) { int a;
if(n==1) a=1; else a= n+sub(n-1); return(a); }
4.int f(int x,int y)
{ return((y-x)*x); } main()
{ int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5)); printf(\} 5. main( )
{ int a = 2, b = 3, c ;
c = a ;
if ( a>b ) c = 1 ; else if ( a == b ) c = 0 ; else c = -1 ; printf ( “%d\\n”, c ) ;
}
6.# include
main ( )
{ int a[ ]={1,2,3,4,5,6},﹡p; for (p=&a[5];p>=a;p﹣﹣)
printf(〞%d〞, ﹡p); printf(〞\\n〞); }
五、编程题(共27分)
1.编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为?A?;80~89分为 ?B?;70~79分为?C?;60~69分为?D?;60分以下为 ?E?。
2.有一个5*5二维数组,试编程求周边元素及对角线元素之和,并输出该数组中值最小的元素。
3.编写一个程序,用12个月份的英文名称初始化一个字符指针数组,当键盘输入整数为1到12时,显示相应的月份名,键入其它整数时显示错误信息。
模拟试题五
一、选择题(本大题30分,每小题2分) 1.下列说法正确的是 。
A) 在执行C程序时不是从mian函数开始的
B) C程序书写格式严格限制,一行内必须写一个语句
C) C程序书写格式自由,一个语句可以分写在多行上
D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号
2.设有以下定义,则能使值为3的表达式是: 。 int k=7, x=12;
A)x%=(k%=5) B)x%=(k-k%5) C)x%=k D)(x%=k)-(k%=5)
3.以下选项中是C语言的数据类型的是: 。
A)复数型 B)逻辑型 C)双精度型 D)集合型
4.下面能正确表示变量a在区间[0,5]或(6,10)内的表达式为: 。
A)0<=a || a<=5 ||6
B)0<=a&&a<=5 || 6
5.已知字母A的ASCII码为十进制65,下面程序段的运行结果为: 。
char ch1,ch2;
ch1= ?A?+5-3; ch2= ?A?+6-3; printf(“%d, %c\\n”, ch1,ch2);
A)67, D B)B, C
C)C, D D)不确定值
6.根据定义和数据的输入方式,输入语句的正确形式为: 。 已有定义:float a1, a2; 数据的输入方式: 4.523
3.52
A)scanf(“%f %f ”, &a1,&a2);
B)scanf(“%f ,%f ”, a1, a2);
C)scanf(“%4.3f ,%3.2f ”, &a1,&a2); D)scanf(“%4.3f %3.2f ”, a1,a2); 7.在C语言中,多分支选择结构语句为:
switch(c)
{ case 常量表达式1:语句1; ……
case 常量表达式n-1:语句n-1; default 语句n;}
其中括号内表达式c的类型: 。
A)可以是任意类型 B)只能为整型 C)可以是整型或字符型 D)可以为整型或实型 8.以下能对二维数组a进行正确说明和初始化的语句是: 。
A)int a( )(3)={ ( 1, 0, 1 ), ( 2, 4, 5 ) } B)int a[2][]={ { 3, 2, 1 }, { 5, 6, 7 } } B)int a[][3]={ { 3, 2, 1 }, { 5, 6, 7 } } D)int a(2)( )={ ( 1, 0, 1 ), ( 2, 4, 5 ) }
9.下面有关形参的说明语句中正确的是: 。
A)形参在被调函数中定义,当被调定义完后形参就将占用内存空间,并将获得值。 B)形参只有在发生函数调用时才会被分配内存空间,才会获得值,且调用结束后又会消失。
C)形参将会在程序编译阶段获得内存空间和值,且在整个程序运行过程中都将保持。 D)以上说法都不正确。
10.以下程序的输出结果是: 。
main( )
{ int I=012, j=12, k=0x12;
printf(“%d,%d,%d\\n”,I, j, k );
A)10, 12, 18 B)12, 12, 12 C)10, 12, 12 D)12, 12, 18 11.以下叙述中不正确的是 。
A) C语言中的文本文件以ASCII码形式存储数据
B) C语言中对二进制位的访问速度比文本文件快 C) C语言中,随机读写方式不使用于文本文件 D) C语言中,顺序读写方式不使用于二进制文件
12.以下程序的运行结果是: 。
main( ) { int n=4; while(n--)
printf (“-”,--n);}
A)2 0 B)3 1 C)3 2 1 D)2 1 0
13.以下程序的功能是:按顺序读入10名学生的4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
main() {int n,k;
float score,sum,ave; sum=0.0;
for(n=1;n<=10;n++) {for(k=1;k<=4;k++)
{scanf(\ave=sum/4.0;
printf(\} }
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库c语言综合练习题及答案(4)在线全文阅读。
相关推荐: