复习题
一、单项选择题(每题1分,共30分)
1、一个C语言程序是由()。
A.一个主程序和若干子程序组成B.函数组成
C.若干过程组成D.若干子程序组成
3、用来标识变量名、符号常量名、函数名、类型名、文件名、数组名的有效字符序列称为标识符。在C
语言中,规定标识符只能有字母、数值或下划线三类字符组成,且第一个字符必须为()或()。
A.字母,数字
B.数字,下划线
C.字母,下划线
D.字母,下划线,数字
5、C语言中,主调函数携带的参数列表称为实参,而被调用函数的参数列表习惯上称为()。
A.形式参数
B.值参
C.动态参数
D.静态参数
7、下列关于switch和break语句的结论中,只有()是正确的。
A.break语句是switch语句的一部分
B.在switch语句中可以根据需要使用或不使用break语句
C.在switch语句中必须使用break语句
D.以上三个结论中有两个是正确的
9、对于数组a[m][n]来说,使用数组的某个元素时,行下标最大值是(),列下标最大值是()。
A. m,n-1
B. m-1,n-1
C. m-1,n
D. m,n
10、下面程序段的运行结果是()。
char a[7]=″abcedf″;
char b[4]=″ABC″;
strcpy(a,b);
printf(“%c”,a[5]);
A. d
B. \0
C. e
D. f
11、一维double型数组a长度为10,则实际所占内存字节数为()。
A. 20
B. 40
C. 60
D. 80
12、字符串a=“hello”,则函数调用strlen(a)的返回值为()。
A. 4
B. 5
C. 6
D. 4
13、在C语言中,&作为单目运算符时表示的是()。
A.地址与
B.取地址
C.输入地址
D.输出地址
14、对不同类型的数据有不同的格式字符。例如:()格式字符是用来输出十进制整数,()格
式字符是用来输出一个字符串。
A.c,s
B.s,d
C.d,c
D.d,s
15、do-while语句的特点是()。
A.先执行循环语句,再判断条件是否为真(成立),若成立则继续执行循环,若不成立,则结束循环。
do-while至少执行一次循环。
B. 先判断条件是否成立(为真),若不成立则执行循环。
C. 先执行循环语句,再判断条件是否为假(不成立),若不成立则继续执行循环,若成立,则结束循环。
D. 先执行循环语句,再判断条件是否为真(成立),若不成立则继续执行循环,若成立,则结束循环。
16、下面程序段的运行结果是()。
char *s=“abcde”;
s+=2;
printf(“%d”,s);
A. cde
B. 字符c
C. 字符c的地址
D. 无确定的输出结果
17、若已知a=15,b=10,则表达式!a>b的值为()。
A. 1
B. 0
C. 5
D. -5
18、若字符量′D′在内存中占用一个字节,字符串“D”则应占()个字节。
A. 2
B. 4
C. 1
D. 0
19、在C语言中,输入操作可以由库函数(    )完成,输出操作可以由库函数()完成。
A. scanf, printf
B. inputf, output
C. get, out
D. puts, gets
21、合法的数组定义是()。
A. char a[]="string";
B. inta[5]={0,1,2,3,4,5};
C. int  s="string";
D. char a[]={0,1,2,3,4,5};
22、当a=3,b=4,c=1时,表达式f=a>b>c的值是()。
A. 3
B. 0
C. 1
D. 4
23、请问:下面这个程序段的输出是()。
Int a,b,c;
a=7;b=8;c=9;
basic语言if语句if(a>b)
a=b, b=c;
c=a;
printf(“a=%d b=%d c=%d\n”,a,b,c);
A. a=7 b=8 c=7
B. a=7 b=9 c=7
C. a=8 b=9 c=7
D. a=8 b=9 c=8
24、若有char ch;则要使指针p指向该类型的定义语句为:()
A. int p
B. char p
C. char *p
D. int *p
25、有以下表达式int a[10]={19,23,14,17,37,28,49,36,},*p;p=a;则值为36的表达式为:()
A. p+7
B. *(p+7)
C. *(p)
D. *(p+1)
*26、执行printf(″%d,%o″,10,11)语句的值为()。
A. 10,10
B. 13,12
C. 10,13
D. 13,10
27、已有定义float n;char ch1;,为使n=6.5,ch1=’a’,对应的scanf语句是()。
A.scanf(“%f%c”,&n,&ch1);
B.scanf(“%f,%c”,&n,&ch1,);
C.scanf(“%f%c”, n,&ch1);
D.scanf(“%f%c”,&n,ch1);
1、以下说法中正确的是()。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
2、以下选项中,合法的C语言标识符是()。
A.1_1      B.1-1      C._11      D.1_
3、下面合法的C语言字符常量是()。
A.‘\t'      B."A"      C.65      D.A
4、字符(char)型数据在微机内存中的存储形式是()。
A.反码  B.补码    C.EBCD.IC码
5、表达式: 10!=9的值是()。
A. true        B.非零值      C.0        D.1
6、为表示关系x≥y≥z,应使用的C语言表达式是()。
A.(x>=y) && (y>=z) B.(x>=y) AND (y>=z)
C.(x>=y>=z) D.(x>=y) & (y>=z)
7、阅读下面的程序
#include<stdio.h>
void main()
{
int i,j;
scanf("%3d%2d",&i,&j);
printf("i=%d,j=%d\n",i,j);
}
如果从键盘上输入1234567<;回车>,则程序的运行结果是()。
A.i=123,j=4567      B.i=1234,j=567
C.i=1,j=2            D.i=123,j=45
8、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是()。
A.5.5        B.5        C.3        D.4.0
{
int a=12, b=12;
printf("%d,%d\n",--a,++b);
}
A.10,10    B.12,12 C.11,10      D.11,13
10、a=3,b=4,c=5,表达式a+b>c&& b==c的值是()。
A.0 B.1 C.表达式不合法D.均不对
11、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系.
A.缩排位置相同的if                    B.在其之前未配对的if
C.在其之前尚未配对的最近的if          D.同一行上的if
12、下列程序执行后的输出结果是()。
#include <stdio.h>
void main( )
{ int a=5,b=60,c;
if (a<b)
{c=a*b;printf("%d*%d=%d\n",b,a,c);}
else
{c=b/a;printf("%d/%d=%d\n",b,a,c);}
}
A.60/5=12      B.300      C.60*5=300    D.12
13、设ch是char型变量,值为‘A',则表达式ch=(ch>=‘A' &&ch<=‘Z')?ch+32:ch的值是()。A.Z        B.a          C.z          D.A
14、下面程序的运行结果是()。
#include<stdio.h>
void main()
{ int s=0,i=1;
while (s<=10)
{ s=s+i*i;
i++;
}
printf("%d",--i);
}
A.4          B.3          C.5        D.6
{ int i;
for(i=1;i<6;i++)
{ if (i%2!=0) {printf("#");continue;}
printf("*");
}
printf("\n");
}
A.#*#*#      B.>    C.*****    D.*#*#*
16、以下叙述正确的是()。
A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循环体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出时,只能使用goto语句
17、若有说明int a[3][4];,则对a数组元素的非法引用是()。
A.a[0][2*1] B.a[1][3]  C.a[4-2][0] D.a[0][4] 18、要求下面的程序运行后,显示如下结果:
2  10  4  6
1  5
2  3
2  4  7  8
5  1  3  2
则程序中的划线处应填入()。
#include <stdio.h>
void main( )
{ int a[4][4]={ ________ };
Inti,j;
for(i=0;i<4;i++)
{for(j=0;j<4;j++)  printf("%4d",a[i][j]);
printf("\n"); }
}
A.{1,5,2,3},{2,4,7,8},{5,1,3,2}
B.{2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2}
C.{5,1,3,2},{2,4,7,8},{1,5,2,3}
D.{2,1,2,5},{10,5,4,1},{4,2,7,3},{6,3,8,2}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论