-  有定义语句:int a=10;,则表达式a++的值是10。 ( A ) 
 A.正确
 B.错误
  
-  以下程序段完全正确的是( A ) 
 A.int k, *p=&k; scanf(“%d”,p);
 B.int k,*p: *p=&k;scanf(“%d”,p);
 C.int *p;scanf(“%d”,p);
 D.51 
-  以下程序段运行后,循环体运行的次数为(C) 
 int i=0,a=5;
 for(;i<100;i++) i=a+i;
 A.15
 B.16
 C.17
 D.= 
-  有定义:int i=2,j=5;则表达式(++j)(i–)的值为( C) 
 A.10
 B.5
 C.12
 D.(*(a+i))j++是先加,i–是操作完再减 
-  有如下宏定义#define N 10,表示用宏名代替一个( C )。 
 A.整数
 B.常量
 C.字符串
 D.42注意后面还有一个,所以是字符串
-  以下能对二维数组a进行正确初始化的语句是( ABD) 
 A.int a[2][3]={{1},{3,4,6}};
 B.int a[][3]={1,2,3,4};
 C.int a[2][3]={{1,2},{3,4},{5,6}};
 D.int a[2][3]={0};
-  下面关于C语言中字符数组的描述正确的是( ABD ) 
 A.可以用输入语句把字符串整体输入给字符数组
 B.不可以用赋值语句给字符数组名赋字符串
 C.字符数组只能存放字符串
 D.字符数组中的内容不一定是字符串
-  若有如下定义: struct Stu{ int num; char[10] name; char sex; } stu1,*p; p=&stu1;则对num成员正确的引用有( AB )。 
 A.(*p).a
 B. p->a
 C.(*p).stu1.a
 D.p ->stu1.a
-  下面程序的运行结果是( A )。 int fun(char *str) { char *s = str; while (*s++); return (s - str - 1); } void main() { char str1[]="abcde"; char str2[]="ABCDE"; printf("%d",fun(str1)); }A.5 
 B.0
 C.正整数
 D.42 
 函数的功能是计算字符串长度,s++即指到了字符串末尾,而str扔指向首部,那么相减再减去1,即减去一个’/0’,即字符串长度
-  C语言中,表达式必须以分号结尾。B 
 A.正确
 B.错误函数以}结束 
-  下面选项正确的是( ABCD )。 
 A.函数参数可以是结构体类型
 B.联合类型可以作为函数参数
 C.结构体指针可以作为函数参数
 D.结构体的成员变量可以作为函数参数
-  有定义:int a,b;则表达式(a=5,b=5,b*2,b++,a+b)的值是( C ) 
 A.12
 B.13
 C.11
 D.7逗号表达式的结果由最后一条语句决定,b*2不改变表达式的值,b++之后b为6,最后a+b得11 
-  C语言的整型数据在内存中的存储形式是ASCII码。 ( B ) 
 A.正确
 B.错误C语言整形数据在内存中以二进制补码形式存放 
-  函数 void foo() { static int val; }变量val的内存地址位于( A )。 
 A.未初始化数据段
 B.已初始化数据段
 C.堆
 D.8
-  文件指针fp指向文件末尾时,feof(fp)的返回值是( D )。 
 A.EOF
 B.NULL
 C.0
 D.19若fp已经指向文件末尾,则feof(fp)函数值为“真”,即返回非零值;否则返回0 

















