一、填空题(每空 1 分,共20 分)
1.程序的三种基本结构为(顺序)、(选择)和(循环)。
2.在C语言中,用(;)表示语句的结束。
3.语句printf("%%d%d",123);将输出:(“%d123 )。
4.逻辑运算的结果值是(0 )或( 1 )。
5.数组 int a[3][4];共定义了( 12 )个数组元素。
6.在C语言中,正确的标识符是由(数字、字母、下划线)组成的,且由(字母和下划线)开头的。
7.一个算法应具有的特点有:(有穷性)、(确定性)、有零个或多个输入、有一个或多个输出、有效性。
8.在程序执行过程中,其值不发生改变的量称为(常量),其值可变的量称为(变量)。
9.若有定义:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是(-16)。
10.在三种正规循环中,当条件表达式的值为(0 )时,就结束循环。
11.C语言中函数的参数分为(形式参数)和(实际参数)。12.当函数的数据类型省略时,默认的数据类型为(int型或者整数型)型。13.按变量地址访问变量的方法叫(直接访问),通过存放变量地址的变量去访问变量的方法叫(间接访问)。
14.若有定义:int [3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是(0 ),a[2][1]得到的初值是( 6 )。
15.文件包含的一般形式为(#include <;文件名> )。
16.宏定义中宏名一般用大写字母表示,容易做到(一改全改)。
17.结构体是一种(构造)数据类型用途是把(不同类型)的数据组合成一个整体。18.位运算的运算对象只能是(整型)或(字符型)数据,而不可以是其他类型的数据。19.(文件)是存储在外部介质上数据的集合,是操作系统数据管理的单位。
20.设有“int x=2,y”说明,则逗号表达式“y=x+5,x+y”的值是(9 )。21.变量Y满足以下两条件中的任意一个:①能被4整除,但不能被100整除;②能被400整除。请用逻辑表达式表示所给条件((Y%4==0&&Y%100!=0) ‖(y%400==0) )。22.表达式7+8>2 && 25 %5的结果是(0 )。
23.行语句“x=(a=3,b=a——)”后,x,a,b的值依次为( 3 )、( 2 )、( 3)。24.C语言中,
变量的存储类别共有四种,即(整型)、(实型)、(字符型)和(无字符型)。
25.C语言中,用关键字(int )定义基本整型变量,用关键字(floate),定义单精度实型变量,用关键字( char )定义字符型变量。
26.表达式3*20/4%10的计算结果是( 5 )。
27.复合语句是将多个语句用( {} )括起来组成一个语句。
28.程序中使用putchar( )函数和getchar( )函数,在程序的开头必(加#include
<stdio.h>)。
29.C语言的预处理语句以(# )开头。
40.C语言的表达式与语句的区别在于(句尾有无分号结束)。
41.C语句(没有)(有、没有)输入、输出语句。
42.表达式10/3*9%10/2的值是( 3 )。
43.设有“int x=1”,则“x>0?2*x+1:0”表达式的值是( 3 )。
44.goto语句为(无条件转向语句),当程序执行到该语句时,转向指定位置执行。45.return语句的功能是使程序控制从被调用函数返回到(调用函数)中。46.(指针)是一个变量的地址,专门存放变量地址的变量叫(指针变量)。47.若有定义:double x[3][5];则x 数组中行下标的下限为(0 ),列下标的上限为(4 )。48.C语言提供的预处理功能主要有(宏定义)、(文件包含处理)、和条件编译。49.用结构体变量的成员作函数参数时是(值)传递,用指向结构体变量或数组的指针作函数参数时是(地址)传递。
50.位运算是指对一个数据的某些(二进制位)进行的运算。
51.C语言中根据数据的组织形式,可以将文件分为(文本文件)和(二进制文件)。
二、单选题(每题 2 分,共40 分)
(说明:将认为正确答案的序号填在每小题后面的括号内)
1.设int x=1,y=1;表达式(!x++ || y——)的值是( B )。
A、0
B、1
C、2
D、-1
2.main( )
{ int n;
n=(6*4,n+6),n*2;
printf(“%d\n”,n);
} 此程序的输出结果是(C )。
A、30
B、24 C.、60 D、48
3.若有如下定义,则( C )是对数组元素的正确的引用。
int a[10] ,*p ;
p=a ;
A、*&a[10]
B、a[11]
C、*(p+10)
D、*p
4.已知ch是字符型变量,下面不正确的赋值语句是( A )。
A、ch='a+b';
B、ch='\0';
C、ch='7'+'9';
D、ch=5+9;
5.已知x=43,ch='A',y=0则表达式(x>=y&&ch<'B'&&!Y)的值是( C )。
A、0B、语法错C、1D、"假"
6.执行以下程序段后,变量a,b,c的值分别是( C )。
int x=10,y=9;
int a,b,c;
a=(--x= =y++)?--x:++y;
b=x++;
c=y;
A、a=9,b=9,c=9
B、a=8,b=8,c=10
C、a=9,b=10,c=9
D、a=1,b=11,c=10
7.已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为( D )。main()
{int a;float f;
printf("\nInput number:");
输入语句
printf("\nf=%f,a=%d\n,f,a);
}
Input number: 4.52<CR>
A、scanf("%d,%f",&a,&f);
B、scanf("%f,%d",&f,&a)
C、scanf("%d%f",&a,&f);
D、scanf("%f%d",&f,&a);
8、下列属于整型常量的是( A )。
A、12
B、12.0
C、-12.0
D、10E10
9、不属于字符型常量的是( C )。
A.‘A’B、‘a’C、“A”D、‘b’
10、下列表达式为关系表达式的为( B )。(其中a为一整型变量)
A.3+4*5 B、a==10 C、a>0?a:-a D、a=1
11、下面不正确的赋值语句是(B )。
A、a=a+1
B、a= =b
C、a+=b
D、a=1
12、下列对数组定义不正确的语句是( D )。
A.int m[5];B、char b[ ]={‘h’,‘e’};
C、int a[10]={1,6,8,4};
D、char p[ ];
13、设有数组定义:char array[]=“China”;则数组所占的存贮空间为( C )。
A.4个字节
B. 5个字节
C. 6个字节
D. 7个字节
14、执行下列语句后,a的值是( D )。
int a=8;
a+=a-=a*a;
A.-240 B、64 C、112 D、-112
15. 指出下面正确的输入语句( B )。
A. scanf(“a=b=%d”,&a,&b);
B. scanf(“%d,%d”,&a,&b);
C. scanf(“%c”,c);
D. scanf(“%f\n”,&f);
16.下面的变量说明中正确的是( D )。
A.int:a,b,c;
B.int a;b;c;
C.int a,b, c
D.int a,b,c;
17. C语言用( C )表示逻辑“真”值。
A.True
B. t 或y
C. 非零值
D. 整型值0
18.若x=5,y=4 则y*=x+5;y的值为( A )。
A. 40
B. 20
C. 15
D. 30
19.根据C语言的语法规则,下列(A )个是不合法标识符。
A.while
B. Name
C. Rern5
D. _exam
20.C语言中以追加方式打开一个文件应选择( D )参数。
A.“r”
B.“w”
C.“rb”
D.“a”
21.Break语句的正确的用法是( B )。
A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。
B. 在多重循环中,只能退出最靠近的那一层循环语句。
C. 跳出多重循环。
D. 只能修改控制变量。
22.两个指针变量的值相等时,表明两个指针变量是( B )。
A. 占据同一内存单元。
B. 指向同一内存单元地址或者都为空。
C. 是两个空指针。
D. 都没有指向。
23.字符串指针变量中存入的是( A )。
A.字符串的首地址。
B. 字符串
C.第一个字符
D. 字符串变量。
24. 以下描述不正确的是( A )。
A. 不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。
B. 在定义函数时,必须指定形参的类型。
C. 形参和实参之间可以是值传递。
D. 数组名可以作为参数进行传递。
printf函数和scanf函数的格式说明都使用什么字符开始25 表达式“1?(0?3:2):(10?1:0)”的值为( C )。
A.3
B. 2
C. 1
D. 0
26. 为表示关系x≥y≥z,应使用C语言表达式( A )。
A.(x>=y)&&(y>=z)
B. (x>=y)AND (y>=z)
C.(x>=y>=z)
D. (x>=z)&(y>=z)
27. 以下说法中正确的是( C )。
A. C语言程序总是从第一个定义的函数开始执行。
B. 在C语言程序中,要调用的函数必须有main()函数中定义。
C. C语言程序总是从main()函数开始执行。
D. C语言程序中的main()函数必须放在程序的开始部分。
28.以下if语句语法正确的是(D )。
A、if(x>0)
printf("%f",x)
else printf("%f",- -x);
B、if(x>0)
{x=x+y;printf("%f",x);}
else printf("%f",-x);
C、if(x>0)
{x=x+y;prinrf("%f",x);};
else printf("%f",-x);
D、if(x>0)
{x=x+y;printf("%f",x)}
else printf("%f",-x);
29.为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与( B )配对。
A、缩排位置相同的if
B、其之前最近的且还没有配对的if
C、之后最近的if
D、同一行上的if
30.一个C程序的执行是从( C )。
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
31.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )。
A.必须为字母
B.必须为下划线
C.必须为字母或下划线
D.可以是字母,数字和下划线中任一种字符
32.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(8 )。
A.7
B.8
C.6
D.2
33.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是(C )。
A. 0
B. 4
C. - 4
D. 2
34.语言规定,在一个源程序中,main函数的位置( C )。
A、必须在最开始
B、必须在系统调用的库函数的后面
C、可以任意
D、必须在最后
35.若x,i,j和k都是int型变量,则执行下面表达式后x的值为( C )。
x=(i=4,j=16,k=32)
A、4
B、16
C、32
D、52
36.在C语言中,要求运算数必须是整型的运算符是( D )。
A、/
B、++
C、!=
D、%
37.逻辑运算符两侧运算对象的数据类型( C )。
A、只能是0或1
B、只能是0或非0正数
C、只能是整型或字符型数据
D、可以是任何类型的数据
38.设有int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d)后n的值为( D )。
A、1
B、2
C、3
D、0
39.以下程序的运行结果是( D )。
main()
{int k=4,a=3,b=2,c=1;
printf("\n%d\n",k<a?k:c<b?c:a);
}
A、4
B、3
C、2
D、1
40.x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)一5;后,x 、y 和z的值是( A )。
A、 x=10
B、 x=10
C、 x=10
D、 x=10
y=15 y=10 y=10 y=5
z=10 z=10 z=15 z=10
41.当a=1,b=3,c=5,d=4,执行完下面一段程序后x的值是( B )。
if(a<b)
if(c<d)x=1;
else
if(a<c)
if(b<d)x=2;
else x=3;
else x=6;
else x=7;
A、1
B、2
C、3
D、6
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论