C语言试题 (2001~2002第一学期) A卷 重庆理工大学考试试卷
考试科目:C语言试题(第二学期) A卷 共 4 页
班次 姓名 学号 成绩
一.单项选择题(每题1分,共20分)
1.在if(条件)语句执行时,当条件为 D 时C语言认为是“真”
A:TRUE; B:. T . C:0 D:非零值
2.在C语言中,要求运算数必须是整数的运算符是 C A: < B: / C: % D: ! 3.C语言程序的基本单位是______C____
A: 程序行 B: 语句 C: 函数 D: 字符 4.一个C程序的执行是从 B ;
A:子程序开始 B:main函数开始 C:第一个函数 D:第一条语句 5.以下____C______是合法的用户标识符。
A: A&B B: void C: _student D: ab*
6.设char w; int x; float y; double z;表达式w*x+z-y的值的数据类型为 D A:char B:int C:float D:double 7.C语言中,正确的字符常量是 B ; A:“C” B:‘\\n’ C:‘ABC’ D:‘1234’ 8.若a是float型变量,b是char型变量,以下输入语句合法的是 B ; A:scanf(“%6.2f%f”,&a,&b) B:scanf(“%6.2f%c”,&a,&b) C:scanf(“%6.2d%s”,&a,&b) D:scanf(“%6.2f%c”,a,b) 9、下列选项中,正确的数组定义是____C_______。
A:int 3a[3]; B:int i; scanf (“%d”,&i );char ch[i]; C:#define MAX 10 int a[MAX];
D:#define MAX 10.0 int a[MAX];
10、下面关于for语句的说法中,正确的是____D_____。
A:任何情况下,for语句中的三个表达式一个都不能少; B:for语句的循环体至少会被执行一次;
C:for语句只能用于循环次数已经确定的情况下;
D:for语句的循环体可以是复合语句。
11.如果a[1]= 3,执行b[2]=++a[1];c[3]=a[1]++;b[2]和c[3]的值是 B ;
C语言试题 (2001~2002第一学期) A卷 A:2,2; B:4,4 ; C:3,3; D:3,4 12.对于int a[ ][3]={1,2,3,4,5,6, 7, 8, 9,10}说明语句, 则有:数据元素a[1][2]+a[3][1]的值为_____D____;
A:15 B:16 C:8 D:6 13.执行下列程序后,变量i的正确结果是____D______
int i = 10; switch ( i ) {case 9: i+ = 1; case 10:i+ = 1; case 11: i+ = 1; case 12: i+ = 1; }
A:10 B:11 C:12 D:13 14.找出死循环程序段是 A
A:int i=150; B: for (i=0;i<=100; ) while (++i) ++i; { i=i0+1;
if (i>100) break; }
C: int k=0 ; D : int s=25 ; do while (s/2) { k+=2/2 ; s- -; } while (k>=10) ; 15.若有以下说明语句,
char s=‘\\092’;
则该语句___A______ A:使s的值包含1个字符;
B:说明不合法,s值不确定;
C:使s的值包含4个字符; D:使s的值包含3个字符; 16.下列有关函数的说法中错误的是_____D_______
A:C语言中的函数只具有static和extern两种类型;
B: C语言中允许函数的递归调用;
C: 调用函数时,C语言要求实参与形参的个数、类型完全一致; D:C语言函数的缺省数据类型是空类型(void型)
17. Turbo C语言中,int类型和long类型数据在内存中分别占 B 个字节; A:4,4 B:2,4 C:2,2 D:2,3 18、设有说明:
char *str[10];
C语言试题 (2001~2002第一学期) A卷 则标识符str的意义是_______
A:str是一个指向有10个元素的数组的指针; B:str是一个有10个元素的数组,数组元素的数据类型是指向char型的指针型;
C:str是一个指向char型函数的指针;
D:str是具有10个指针元素的一维指针数组,每个元素都只能指向整型变量。 19.设int a、b、c; 且a=10;b=4;a/=b;则表达式(a/b?b+a:b-a)之值是 C ; A:0 B:6; C:2; D:-2
20.在C语言中对整数进行unsigned int x; 定义时,表示x为___B_____ A: 0~32767 B: 0~65535 C: -32768~0 D: 任意值
二.填空题(每小题2分,共10分)
1、能正确表示1
int array[8];
则数组array元素下标的上限为___7_____,下限为___0____。
3、C语言的数组名是一个__指针_______常量,不能对它进行加减和赋值等运算。 4、构成数组的各个元素必须具有相同的___数据类型________。 5、下面的程序片段
y=-1;
if(x!=0)
if(x>0)y=1; else y=0;
所表示的数学函数关系是_y=____________。
三、读下列程序,给出程序的运行结果(每小题5分,共20分) 1、当输入12345*时,写出程序的执行结果。 #include “stdio.h” main( )
{reverse( );}
reverse( ) {char ch;
ch=getchar( ); if ( ch=?*?)
printf ( “%c”,ch); else
C语言试题 (2001~2002第一学期) A卷 {reverse( );
printf (“%c”,ch); }
}
程序的输出是________________
2、main ()
{ char *p,s[]=\; p=\;
printf(\; printf(\; }
strlen(char *s) { int n;
for (n=0;*s++;n++); return n; }
程序的输出是________________
3、include
main ( )
{int a=64;
printf (“%d,%o,%x”,a,a,a);} 程序的输出是_64,100,40_______________
4、main ( )
{char *p1,*p2,str[50]=“xyz” ; p1=“abcd” ; p2=“ABCD” ;
strcpy(str+2,strcat(p1+2,p2+1)); printf(“%s” ,str); }
程序的输出是________________
四.程序填空(每小题4分,共20分)
1、以下程序的功能是将从键盘上输入的小写字母转换成大写字母输出,当输入为‘#’时,结束转换,请在下划线处填上合适的语句。
相关推荐: