C语言程序设计期中试卷
- 格式:docx
- 大小:24.83 KB
- 文档页数:15
C语言程序设计期中试卷
C 语言程序设计期中试卷
一、填空题(本大题30空,每空1分共30分)
1、C 语言中的基本数据类型包括 、 、 三种。
2、C 语言中的逻辑运算符有 、 、 三种。
3、若a =4,b =5,则! a & &b 的值为 ,b&&03的值 为 。
4、设a =10,则表达式a +=a -=2*3的值为 。
5、设i =5,执行z =-i --后,z 的值为 ,i 的值为 。
6、定义一个4行5列的整型数组VB 的方法 。
7、定义int num[]={1,2,3,4,5},*p =&num[1],则表达式*p+3的值为 , *(p+3)的值为 。
8、设char str[10]="China",strlen(str)的值为 。 9、逗号表达式a =b =3,6*a 的值为 。
10、将算术表达式3
1лR2·h 书写为C 语言表达式 。 11、用宏TB 来定义3.14 。
12、循环for (i=2;i<=12;i =i+2)结束后,i 的值为 。 13、数组char b[15]表示它有 个字符元素。
14、在C 语言中没有专为存储字符串的变量,但可以用字符型数组或 存储字符串。
15、C 语言文件存储在磁盘上有两种形式,一种是按 存 储,另一种是按 存储。
16、在C 语言中,变量的存储类别有四种,它们分别是自动变量、外部变量、 和寄存器变量,其中自动变量又称为 。 17、若有int
a=10,b=5;则c=++a -b --;的值为 。 18、定义一个数组int
b[14],则b 数组一共有 个元素,数 组的最后一个元素是 。
19、若有int a[10],*p ;p=&a[2];则后面语句使用*p 时是在引 用 。
20、表达式2sin30°的C语言表达式为。
二、选择题(本大题共20小题,每题2分,共40分)
1、设i=6,则执行j=i++; j=++i后,j的值为()
A、7
B、8
C、6
D、9
2、设x=2.5,a=4,y=7,则表达式x+a%3*(int)(x+y)%2/4的值为( )
A 、3.5
B 、4
C 、2
D 、2.5
3、下面的指数形式正确的是()
A 、4.6E
B 、E+4
C 、1.23E-10 D、4.3E6.8
4、指出下列非法的赋值语句()
A 、z=(a>b)?a:b;B、I=++(I+J);C、y=y*(z+1);D、unsigned z=45.67;
5、设x=4, y=5, z=2, 则表达式(x< p="">
A 、0 B、1 C 、4 D 、5
6、下列正确的语句是()
A 、int * p; p=&(a+b);
B 、y : =(a<="" p="">
C、for(i=0 , i<=5,i++);
D、int a,b=3;
7、初始化字符数组char str[ ]=“A book”,则可确定数组的长度为()
A 、6 B 、7
C 、8
D 、9
8、函数strlen(“ab c\de\”)的值为( )
A 、6
B 、10
C 、5
D 、8
9、设i=1 ; 则循环while(i++<5)结束后,i的值为()
A 、4
B 、5 C、6 D 、7
10、初始化数组int val[3] [3]={{1},{2,3},{3}}则val[1][1]的值为()
A 、1
B 、2 C、3 D 、{2,3}
11、在C语言程序中,main函数的位置()
A.、必须作为第一个函数B、必须作为最后一个函数
C、可以任意
D、必须放在它所调用的函数之后
12、下列不合法的常量是()
A、"program"
B、- e8
C、0x35
D、123
13、C语言中的基本数据类型所占存储空间长度的大小顺序是()
A、char<=int<=float<=double<=long
B、int<=char<=float<=long<=double
C、int <= long <=float<=double<= char
D、char<=int<=float<=long<= double
14、在C语言中,要求当a的值为奇数时,表达式的值为“真”,a的值为偶数 时为“假”。以下不满足要求的表达式是()
A、a%2==1
B、!(a%2==0)
C、a%2
D、!(a%2)
15、执行语句:x=(a=3,b=a--);后,x,a,b的值依次是()
A、3,3,2
B、3,2,2
C、3,2,3
D、2,3,2
16、若有语句:char s[12]="string";则函数strlen(s)的值为()
A、6
B、7
C、11
D、12
17、在C语言中,下列说法正确的是()
A、不能使用do语句while(表达式);循环
B、do语句while(表达式);循环中,必须使用“break”语句退出循环
C、do语句while(表达式);循环中,当表达式为非零时将结束循环
D、do语句while(表达式);循环中,当表达式为零时将结束循环
18、在C语言中,若有x=15,y=40,m=100,则执行了语句:m=(x>y)?x:y;后,m的值是()
A、15
B、40
C、100
D、0.32
19、在定义int a[3][2]以后,对a的正确引用是()
A、a[0,0] B、a[3][0]
C、a[2][2]
D、a[0][0]
20、在C语言中,函数隐含的类型是()
A、auto
B、static
C、int
D、void
三、判断题(在每小题的括号中,正确的划“√”;错误的划“×”,每题1分,共20分)
()1、在关系运算符中,>=和!=运算优先级相同。
()2、递增运算符++ 可用于常量或表达式,且在运算时自右向左执行。()3、表达式i>j ? i : j等价于i>j? i : (j+1)而非(i > j ? i:j )+1。
()4、在C语言中,变量STU和stu指的是同一个变量。
()5、do-while语句在运行时至少要执行一次循环体,而while语句可能一次循环体也不执行。
()6、在C语言中,函数可以没有参数。
()7、定义a=8,b,c ; 执行b=c=x ; x=y! =z后,变量x的值为1。
()8、设int a[10] ;int *p;则p=a或p=&a[0]都是合法的表达式。
()9、在调用函数时,数据可以进行双向传递,即可由实参传给形参,也可由形参传回实参。
()10、在for循环体中,for(i=1; ;i++)语句中省略了循环条件,则循环条件将无限制地进行。
()11、C程序由一个或多个函数组成,但必须有且只能有一个名为main 的主函数。
()12、在C语言中,数据类型混合运算时,进行同型转换的方式有强制转换和非强制转换两种。
()13、在C语言中,在对全部数组元素赋初值时,必须指明数组的长度。()14、在C语言中,字符型数据也可以像整型数据那样使用,它可以用来表示一些特定范围内的整数。
()15、在C语言中,for循环一般只能用于循环次数确定的循环。
()16、在C语言中,文件是存储在外部设备(如磁盘)上的程序的集合。()17、在C语言中,关系运算中,如规定的关系成立,则其结果为数值1,反之为0,不会是其他值。
()18、考虑到运算符的优先级不同,w>x-y与w>(x-y)这两个关系式的值不同。
()19、C语言对二维数组中的各个元素在机内是按行的顺序存放的。
()20、在C语言中,所谓“指针”就是地址,一个变量的指针就是指该变量的地址。
四、阅读下列程序,写出运行结果(本大题共10小题,每题5分,共50分)
1、main( )
{ int i , z , n ;
z=1 ;
n=5;
for(i=1 ;i<=n;i++)
z=z*i ;
printf("z=%d",z) ;
}
输出:
2、main( )
{
scanf("% c",&a);
scanf("% c",&b);
printf("% c % c \",a,b);
} 输入:a b
输出:
3、main( )
{
int i ;
for(i=100; i>=0 ;i――)
if(i%13==0)
break;
printf("% d",i);
}
输出:
4、main( )
{
char * a, * p ;
a=" Turbo C " ;
p=a+4;
printf("% s \",a);
printf("% c \",*p);
}
输出:
5、mina( )
{
int a,b,c ;
scanf("% d ,% d",&a ,& b); c=min(a,b+20);
printf("Min is % d",c);
}
min(int x,int y)
z=x<="" p="" x:y="">
return(z);
}