2013——2014年第一学期C语言期末考试试卷
一选择题 (每题2分 共30分)
1. C语言中的标示符只能由字母、下划线和数字三种字符组成,且第一个字符(C)
A 必须为大写 B 必须为下划线 C 必须为字母或者下划线 D 可以是字母、下划线和数字中的任一种字符。 2 以下不能用作用户标示符的是:(D)
A If B Switch C gets D case 3 下列哪一个字符不是字符常量(D)
A ‘a’ B ‘?’ C ?:? D “C ”
4 下列形式的常数中,C程序不允许出现的是(B) A .45 B E3.6 C 25.6E-2 D .0.235 5 C 语言中,运算对象必须是整型数的是(A) A % B / C %和/ D * 6 下列变量说明中正确的是(D)
A char:a b c; B char a;b;c; C int x; z; D int x,z;
7 假设所有的变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B) A 7 B 8 C 6 D 2
8 C语言规定,在一个源程序中,main函数的位置(C) A 必须在最开始
B 必须在系统调用的库函数的后面 C 可以任意 D 必须在最后
9 以下不正确的叙述是(D)
A 在C程序中,逗号运算符的优先级别最低 B 在C 程序中,APH和aph是两个不同的变量
C 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入中,而b中的值不变。
D 当从键盘的输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
10. 已知各变量的类型说明如下: int k, a, b, w=5; float x=1.42;
则以下不符合C语言语法的表达式是(A)
A x%(-3) B w+=2 C k=(a=2,b=3,a+b) D a+=a-=(b=4)*(b=3) 11设有语句a=3;则执行语句a+=a-=a*a 后,变量a的值是(D) A 3 B 0 C 9 D -12
12 在C语言中,如果下面的变量都是int类型,则输出的结果是(A) sum=pad=5; pad=sum++; pad++; ++pad; printf(“%d”,pad);
A 7 B 6 C 5 D 4 13 以下程序的输出结果是(A) #include
{int a=2, c=5;
printf(“a=%%d,b=%%d\\n”,a,c);}
A a=%2, b=%5 B a=2,b=5 C a=%%d, b=%%d D a=%d, b=%d 14 下面程序的输出结果是(D) main()
{ int x=10,y=10;
printf(“%d %d\\n”,x--,y--); }
A 10 10 B 9 9 C 9 10 D 10 9
15 下列可以用作用户自定义变量名的是(C) A 1 B a1 C int D 45
二、填空题 (每题2分,共20分)
1、一个C源程序中至少应包含一个 main 函数。 2.C语言源程序的基本单位是( )。
3、C程序设计的三种基本结构是顺序结构、选择结构、循环结构。
4、a是整型变量,则执行表达式a=25/3%3后a的值为___2__。
5 、C语言标识符由 字母、数字和下划线 来构造。
6、若int x=5;while(x>0)printf(“%d”,x--);的循环执行次数为 5 。 7、在C语言中,一个函数一般由两个部分组成,他们是__函数名______和___函数体_____。 8、设C 语言中,int 类型数据占4个字节,则short 类型数据占2个字节 9、设有 int x=11; 则表达式 (x++ * 1/3) 的值是(3)。 10、若有int i=10,j=2; 则执行完i*=j+8;后i 的值为
三 判断对错,对的划“√”,错的划“×”(每题2分,共10分)
1、C语言程序总是从main()函数开始执行。( T ) 2、执行程序段int a=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf(“%d %d %d\\n”,k,a,b);后的输出结果是004。( T ) 3、C语言程序由函数组成,它的主函数必须在其它函数之前定义,函数内可以嵌套定义函数。( F )
4、用C语言实现的算法可以没有输出但必须要有输入。( F ) 5、C语言本身有输入输出语句。( F )
6、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是整形。( T )
7在Turbo C中,整型数据在内存中占2个字节。( 错 ) 8字符常量的长度肯定为1.(T)
9 int i=20;switch(i/10){case 2:printf(\的输出结果为A。( 错 ) 10 break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。( 对 )
三、写出下列程序的运行结果(共20分,每题4分)
11、程序1
#include
void main() {
int a=12,b=12;
printf(“%d,%d\\n”,--a,++b); }
程序执行后的输出结果是: 12、程序2
#include
int a=5,b=4,c=3,d=2; if(a>b>c)
printf(“%d\\n”,d);
else if((c-1>=d)==1)
printf(“%d\\n”,d+1); else
printf(“%d\\n”,d+2);
}
程序执行后的输出结果是: 13、程序3
#include
int x=0,y=5,z=3;
while(z-->0&&++x<5)
y=y-1;
printf(“%d,%d,%d\\n”,x,y,z); }
程序执行后的输出结果是:
14 以下程序的运行结果是___111_____。 void increment() { int x=0; x+=1; printf(\ } void main() { increment(); increment(); increment(); }
15以下程序的运行结果是___2_____。 max(int x, int y) { int z;
z=(x>y)?x:y; return(z); }
void main() { int a=1,b=2,c; c=max(a,b); printf(\}
四、编程题(每题10分 共20分)
16、编写一个程序。实现输入一个小写字母,程序输出它对应的大写字母。(提示:小写字母的ASCII码值比大些字母大32)
17、编写一个程序,计算100+101+102+…+300的值。
相关推荐: