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);

}