4.在C语言的if语句中,用作条件判断的表达式只能是关系和逻辑表达式。( ) 5.在C语言中break和continue都是循环中途退出语句,其中break语句用来跳出一层循环结构;continue语句用来结束一次循环。( ) 6.C语言中while和do-while循环的主要区别是while语句的循环体至少会被执行一次,而do-while语句的循环体则可能一次也不执行。( )
7.数组首地址不仅能通过数组中第一个元素的地址表示,也可以通过数组名来表示。( ) 8.在C语言中,只有在两个字符串所包含的字符个数相同时,才能比较大小。如字符串“That”与“The”就不能进行大小比较。( )
9.函数的返回值类型是由函数的类型和return语句中表达式的类型共同决定的,当这两类型不一致时最终起决定作用的是return中表达式的类型。( ) 10.定义指针变量时指定的类型称为基类型,基类型是指针变量所指向变量的类型,因此指针变量被定义之后都只能指向某一类型的变量。( )
三、程序填空题(本大题12分,每小题2分)
1.输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。请填空: main( ) { char ch;
scanf(“%c”,&ch);
if ( (1) ) ch=ch+32;
else if(ch>?a?&&ch
printf(”%c\\n”,ch); }
2. 以下程序是求矩阵a , b的和,结果存入矩阵c中并按矩阵形式输出。请填空: main( )
{ int a[3][4] = { { 7, 5, -2, 3 },{ 1, 0, -3, 4 },{ 6, 8, 0, 2 } }; int b[3][4] = { { 5, -1, 7, 6 },{ -2, 0, 1, 4 },{ 2, 0, 8, 6 } }; int i, j, c[3][4]; for ( i=0; i<3; i++ )
for ( j=0; j<4; j++ )
c[i][j] = ___(3)____ ; for ( i=0; i<3; i++ )
{ for ( j=0; j<4; j++ ) printf ( “=”, c[i][j] ) ; ____(4)___ ; }
}
3.以下程序使用递归法求n!,请填空:
float fac( int n) { float f;
if(n<0) {printf(“n<0” data error); f=-1;} else if(n==0||n==1) f=1; else f= (5) ; return( f ); } main( )
{ int n; float y;
printf(“input a integer number”);
scanf(“%d”,&n); y= (6); printf(“%d! = .0f”, n, y ); }
四、写出下面程序的执行结果(本大题24分,每小题4分) 1.main( )
{ float a=3.14, b=3.14159; printf(“%f, %5.3f\\n”,a,b); } 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==4)
a[i][j]='*'; else a[i][j]=' '; for(i=0;i<5;i++)
{for(j=0;j<5;j++)
printf(\
printf(\ } }
3.main( )
{ int x, i ;
for( i=1,x=1; i<=50; i++ ) { if(x>=10) break;
if(x%2==1) { x+=5;continue;} x - = 3;}
printf(“%d\\n”, i ); }
4.func( int x, int y)
{ int z;
z=a+b; return(z); }
main( )
{ int a=6, b=7, c=8, r; r=func( ( a--, b++, a+b), c--)
printf(“%d”, r) ; }
5.#include
increment(); increment(); } void increment(void) {
static int x = 8; x ++;
printf(\
}
6. #include
{ static char a[]=\char *p1,*p2; int k;
p1=a; p2=b; for(k=0;k<=7;k++)
if (*(p1+k)==*(p2+k)) printf(\ printf(\ }
五.编程题(共30分)
1.有一函数,其函数关系如下,试编程求对应于每一自变量的函数值。
x2 (x<0)
y = -0.5x+10 (0?x<10)
x-2.若有如下公式:
x (x?10)
?26?
112 +
122 +
132+。。。。。。。+
1n2
试根据上述公式编程计算? 的近似值
(精确到10)。
3.编一程序,首先将一个包含10个数的数组按照升序排列,然后将从一指定位 置m开始的n个数按照逆序重新排列,并将新生成的相互组输出。要求使用指 针控制方法实现上述功能。
-6
模拟试题四
一、选择题(本大题30分,每小题2分) 1.在C语言中,反斜杠符是 。 A)\\n
B)\\t
C)\\v
D)\\ \\
2.表达式 18/4*sqrt(4.0)/8值的数据类型为 。
A)int B)float C)double D)不确定
3.设整型变量a值为9,则下列表达式中使b的值不为4的表达式 。 A)b=a/2 B)b=a%2 C)b=8-(3,a-5) D)b=a>5?4:2
4.已知变量C1为字符型变量,下面不正确的赋值语句是: 。 A)C1 = ?abc? B)C1= ?\\0? C)C1 = ?7?+ ?9? D)C1= 7 + 9
5.以下程序的输出结果是: 。(注:▂表示空格) main( )
{ printf(“\\n*s1=%8s*”, “china”); printf(“\\n*s2=%-5s*”, “chi”) ; }
A)*s1=china▂ ▂ ▂* B)*s1=china▂ ▂ ▂* *s2=chi* *s2=chi▂ ▂*
C)*s1=▂ ▂ ▂china* D)*s1=▂ ▂ ▂china*
*s2=▂ ▂chi * *s2=chi▂ ▂*
6.设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是: 。 A)‘a’+ ?b? B)a<=b
C)a||b+c&&b-c D)!( (a
7.已知 int x=10,y=20,z=30;以下语句执行后变量x、y、z的值分别为: 。 if (x>y||x
{ z=x; x=y; y=z;}
A)x=10, y=20, z=30 B)x=20, y=30, z=30 C)x=20, y=30, z=10 D)x=20, y=30, z=20
8.下列字符串赋值语句中,不能正确把字符串C program赋给数组的语句是: 。 A)char a1[]={?C?, ? ?, ?p?, ?r?, ?o?, ?g?, ?r?, ?a?, ?m?} B)char a2[10]; strcpy(a2, “C program”); C)char a3[10]; a3= “C program”; D)char a4[10]={ “C program”}
9.用scanf函数输入一个字符串到数组str中,下面正确的语句是: 。 A)scanf(“%s”,&str); B)scanf(“%c”,&str[10]); C)scanf(“%s”, str) ; D)scanf(“%s”,str[10]); 10.C语言规定,C程序的各函数之间 。 A)允许嵌套调用,但不允许嵌套定义; B)不允许嵌套调用,但允许嵌套定义; C)不允许嵌套调用,也不允许嵌套定义;
D)允许嵌套调用,也允许嵌套定义;。 11.若有如下定义和语句:
char s[12]= “a_book!”; printf(“%d”,strlen(s) ); 则输出结果是: 。
A)12 B)10 C)7 D)6 12.下面程序的运行结果是: 。
#include
{ int y=10;
do { y--; } while(--y) ; printf(“%d\\n”,y--); }
A)-1 B)1 C)8 D)0 13.下面函数调用语句中实参的个数为: 。
func((exp1,exp2),(exp3,exp4,exp5))
A) 1 B) 2 C) 4 D) 5
14.有如下语句 int a=10,b=20,*p1,*p2; p1=&a; p2=&b; 如图1所示;若实现如图2所示的存储结构,可选用的赋值语句是: 。
p1 p2 p1 p2
a b a b 10 20 10 20 图1 图2
A)*p1=*p2 B)p1=p2 C)p1=*p2 D)*p1=p2 15.以下对结构体类型变量的定义中不正确的是 。
A) #define STUDENT struct student B) struct student
STUDENT { int num; { int num; float age;
float age; }std1; }std1;
C) struct D) struct { int num; { int num;
float age; float age; } student; }std1; struct student std1; 二、判断题(本大题10分,每小题1分)-
1.在每个C文件中都必须并且只能有一个main函数。( )
2. 在C语言中,整型数据与实型数据在任何情况下都可以通用。( ) 3. 在C语言程序中,happy是正确的标识符。( )
4.在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。( ) 5. C语言规定,简单变量做实参时,与其对应的形参之间是双向的值传递。( ) 6.数组在定义时要求指定数组类型,数组名及数组长度,其中表示数组长度的表达式可以是任意类型的常量表达式。( ) 7.在发生函数调用时,主~被调函数中的参数可以是简单变量,也可以是数组名,当采用数
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库c语言综合练习题及答案(3)在线全文阅读。
相关推荐: