模拟题
一、选择题
1.在C语言中,每个语句和数据定义是用 结束。
A)句号 B)逗号 C)分号 D)括号
2. 一个C语言程序是由 。
A)一个主程序和若干个子程序组成;
B)函数组成, 并且每一个C程序必须且只能由一个主函数;
C)若干过程组成;
D)若干子程序组成.
3.在C语言中,反斜杠符是 。
A)\n B)\t C)\v D)\ \
4. 设d为字符变量,下列表达式不正确的是 。
A)d=97 B)d=’a’ C)d=”a” D)d=’g’
5. 根据定义和数据的输入方式,输入语句的正确形式为: 。
已有定义: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);
6. 若已知a=10,b=20,则表达式!a<b的值为 。
A)10 B)20 C)1 D)0
7判断字符型变量ch为大写字母的表达式是 。
A)’A’<=ch<=’Z’ B)(ch>=’switch case判断字符串A’)&(ch<=’Z’)
C)(ch>=’A’)&&(ch<=’Z’) D)(ch>=’A’)AND(ch<=’Z’)
8.判断字符型变量ch为小写字母的表达式是 。
A)’a’<=ch<=’z’ B)(ch>=a)&&(ch<=z)
C)(ch>=’a’)||(ch<=’z’) D)(ch>=’a’)&&(ch<=’z’)
9. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
A)7和5 B)6和3 C)7和4 D)6和4
10. 已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
A)x=50, y=80, z=80 B)x=50, y=30, z=30
C)x=30, y=50, z=80 D)x=80, y=30, z=50
11.程序段如下
int k=-20;
while(k=0) k=k+1;
则以下说法中正确的是 。
A)while循环执行20次 B)循环是无限循环
C)循环体语句一次也不执行 D)循环体语句执行一次
12.程序段如下
int k=1;
while(!k==0) {k=k+1;printf("%d\n",k);}
说法正确的是 。
A)while循环执行2次 B)循环是无限循环
C)循环体语句一次也不执行 D)循环体语句执行一次
13.以下for循环是 。
for(a=0,b=0;(b!=123)&&(a<=4);a++)
A)无限循环 B)循环次数不定 C)执行4次 D)执行5次
14.在下列程序中,while循环的循环次数是 。
main( )
{ int i=0;
while(i<10)
{if(i<1) continue;
if(i==5) break;
i++;
}
......
}
A)1 B)10 C)6 D)死循环、不能确定次数
15.设有如下定义
int x=10,y=5,z;
则语句
printf("%d\n",z=(x+=y,x/y));
的输出结果是 。
A)1 B)0 C)4 D)3
16.以下程序的输出结果是 。
main()
{int x=10,y=10;
printf("%d %d\n",x--,--y);
}
A)10 10 B)9 9 C)9 10 D)10 9
17.在C语言中,引用数组元素时,其数组下标的数据类型允许是 。
A)整型常量 B)整型常量或整型表达式
C)整型表达式 D)任何类型的表达式
18.以下对一维整型数组a的正确说明是 。
A)int a(10); B)int n=10,a[n];
C)int n; scanf(“%d”,&n); int a[n];
D ) #define SIZE 10 int a[SIZE];
19、
3.以下能对一维数组a进行正确初始化的语句是 。
A)int a[10]=(0,0,0,0,0);
B)int a[10]={ };
C)int a[ ]={0};
D)int a[10]={10*1};
20.有字符数组a[80]和b[80],则正确的输出语句是 。
A)puts(a,b); B)printf(“%s,%s”,a[],b[]);
C)putchar(a,b); D)puts(a),puts(b);
21.以下不能对二维数组a 进行正确初始化的语句是 。
A)int a[2] [3] = {0};
B)int a[ ] [3]={{1,2},{0}};
C)int a[2][3]={{1,2},{3,4},{5,6}};
D)int a[ ][3]={1,2,3,4,5,6};
22.以下函数定义正确的是: 。
A) double fun(int x, int y) B) double fun(int x; int y)
C) double fun(int x, int y) ; D) double fun(int x , y)
23.C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是: 。
A)地址传递; B)单向值传递;
C)双向值传递; D)由用户指定传递方式
24.以下关于C语言程序中函数的说法正确的是: 。
A)函数的定义可以嵌套,但函数的调用不可以嵌套;
B)函数的定义不可以嵌套,但函数的调用可以嵌套;
C)函数的定义和调用均不可以嵌套;
D)函数的定义和点用都可以嵌套。
25.以下错误的描述是 。
函数调用可以
A)出现在执行语句中 B)出现在一个表达式中
C)做为一个函数的实参 D)做为一个函数的形参
26.若用数组名作为函数调用的实参,传递给形参的是 。
A)数组的首地址 B)数组第一个元素的值
C)数组中全部元素的值 D)数组元素的个数
27.以下正确的说法是 。
如果在一个函数中的复合语句中定义了一个变量,则该变量
A)只在该复合语句中有效 B)在该函数中有效
C)在本程序范围内有效 D)为非法变量
28.以下不正确的说法为 。
A)在不同函数中可以使用相同名字的变量
B)形式参数是局部变量
C)在函数内定义的变量只在本函数范围内有效
D)在函数内的复合语句中定义的变量在本函数范围内有效
29.有如下程序
long fib(int n)
{ if(n>2) return(fib(n-1)+fib(n-2));
long fib(int n)
{ if(n>2) return(fib(n-1)+fib(n-2));
else return(2);
}
main( )
{ printf(“%d\n”,fib(3)); }
该程序的输出结果是 。
A}2 B}4 C}6 D} 8
}
main( )
{ printf(“%d\n”,fib(3)); }
该程序的输出结果是 。
A}2 B}4 C}6 D} 8
30.有以下程序
voidf(int x,int y)
{ int t;
if(x<y){ t=x; x=y; y=t; }
}
main()
{ int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);
printf("%d,%d,%d\n",a,b,c);
voidf(int x,int y)
{ int t;
if(x<y){ t=x; x=y; y=t; }
}
main()
{ int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
执行后输出的结果是 。
A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,5
执行后输出的结果是 。
A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,5
31.变量的指针,其含义是指该变量的 。
A)值 B)地址 C)名 D)一个标志
二 填空题
1.函数体一般包括 和 。
2.符号常量是指 。
3.在C语言中,在习惯上符号常量名用 ,变量用 。(大写或小写)
4.C语言中的语句可分为5类,即 、 、 、 、 。
5.printf函数的“格式控制”包括两部分,他们是 和 。
6.在C语言中,对于if语句,else子句与if子句的配对约定是 。
7.在C语言中的逻辑运算符的优先级是 高于 高于
8.用C语言描述下列命题 (1)a小于b或小于c , (2)a和b都大于c
9.C的字符串常量是用 括起来的字符序列。
10.在C 语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”即 ,以便系统据此数据判断字符串是否结束。
11.break语句的功能是 。
12.break语句只能用于 (1) 语句和 (2) 语句中。
13.在C语言中,引用数组只能通过 数组元素来实现,而不能通过整体引用 来实现。
14.对与数组a[m][n]来说,使用数组的某个元素时,行下标的最大值是 ,列下标的最大值是 。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论