模拟题1
一、单选题(本大题10小题,每题2分,共20分)
1.C语言表达式a=15,a%6的值是_______A
A.3
B.5
C.非法表达式
D.15
2.循环语句中,continue语句的作用是______A
A.结束本次循环
B.跳出子函数
C.|
D.从本循环体内跳出
E.终止程序
3.定义一个返回值为int 的无参函数cacul的正确语句是______C
A.void cacul(void);
B.void cacul(int);
C.int cacul();
D.int cacul;
4.下面运算优先级按从高到低的排列正确的是_____A
A.条件运算赋值运算逗号运算
B.算术运算逻辑运算关系运算
C.】
D.逻辑运算关系运算赋值运算
E.位运算算术运算赋值运算
5.以下叙述中,正确的是_____B
A.C程序中,main函数必须位于程序最前面
B.C语言本身没有输入和输出语句
C.在对一个C程序进行编译的过程中发现注释中的拼写错误
D.C程序中每行中只能写一个语句
6.数组age[2][4]的非法引用是________A
A.age[3][0]
B.&age[0][0]
C.>
D.age[0][1]
E.age[1][1+1]
7.变量定义int x, a=3, b=4;则语句x = ( a = 0 ) && ( b = 8 ); 执行之后各变量的值为______B
A.x =0, a=3, b=4
B.x =0, a=0, b=4
C.x =0, a=3, b=8
D.x =0, a=0, b=8
8.下列_________语句正确定义字符数组。C
A.char x[4]= "hello"
B.char x[5]= "hello"
C.&
D.char x[]= "hello"
E.char x[4+1]= "hello"
9.下面四个程序段中,不能输出23个*号的程序段是________D
A.for(int i=0;i<23;i++) putchar(‘*’)
B.for(int j=23;j>0;j--) putchar(‘*’)
C.int k=23;while (k>0) {putchar(‘*’);k--}
D.int i=0;while(i>23) {putchar(‘*’);i++;}
10.若x是整型变量,y是单精度浮点型变量,值为10,表达式x = y/4 的值是_____C 。
B. 二、程序填空题(本大题2小题,每题5分,共10分)
1、以下程序按每行5个数的格式输出1至n范围内能被7或17 整除的整数,并求出其和。
?
如输入:50
则输出:
7 14 17 21 28
34 35 42 49
Sum=247
源程序:
#include <>
void main()
{
int i, n, ct=0, sum=0;
{
scanf( "%d", &n );
for ( i=1; i<=n; i++ )
if ( ____(1)i%7==0||i%17==0 _____ )
{
printf( "%d\t", i );
_____(2)sum=sum+i_______;
ct++;
if ( ___(3)ct%5==0______ )
printf( "\n" );
}
】
printf( "\nSum=%d\n", sum );
}
2.以下程序输入10个整数到a数组,找到并输出其中最大的整数及其下标。
如输入:80 290 150 520 330 -160 -99 0 200 9
则输出:a[3]=520
源程序:
#include <>
#define N 10
int get_max_index( int a[], int n )
'
{
int i, k=0;